IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 一元线性回归 -> 正文阅读

[人工智能]一元线性回归

一元线性回归

仍以预测房价的数据集为例,
图1
在这里插入图片描述
通过观察样本数据集,根据面积和销售价格的关系,可以近似的用一条直线来表示。只要找到这条直线,就可以根据任何一个给定面积,估计出合理的房价。这是一个典型的回归问题。因为回归主要用于预测数值型数
据。即根据观测到的数据设计一种模型,描述数据之间蕴含的关系。

回归的典型例子就是通过给定的数据点,拟合出最优的曲线。在这个例子中,面积和房价之间的关系,可以近似的表示成一个直线。因此,这种模型又被称之为线性回归模型。在这种线性回归模型中,只包含一个自变量x,因此这种线性回归模型又被称之为一元线性回归。
在这里插入图片描述
那怎么根据样本(x,y)来确定模型参数 w 和 b 呢?
假设有n组样本,下标 i 为样本的序号。xi是样本属性,例如房屋面积。yi是样本标记,比如房屋的价格。
在这里插入图片描述
对于平面中的n个点,可以有无数条直线来拟合它们。
在这里插入图片描述
那么,哪条直线拟合的最好呢?

假设下图中的直线是其中一条拟合直线,这条直线上的值称为估计值。
在这里插入图片描述
估计值用公式表示为:
在这里插入图片描述
将其代入拟合误差公式:
在这里插入图片描述
综合所有的样本点来看,最佳拟合直线应该使得所有样本总的拟合误差达到最小。也就是说,最佳拟合直线应该使得所有点的残差累计值最小。

那怎样才能使得所有点的残差累计值达到最小呢?

首先,所有点的残差进行相加,其中,第i个点的残差为:
在这里插入图片描述
因此所有点的残差和为:
在这里插入图片描述
也被定义为损失函数loss。
在这里插入图片描述
这个Loss函数也被称之为损失函数或者代价函数,用来评估模型的预测值和真实值的不一致程度。

通过观察这个值:
在这里插入图片描述
可以发现,残差值是有符号的。在这条直线上方的点,它的残差值总是为正,而下方的点,它的残差值总是为负。如果将残差简单的相加,那么正的残差值和负的残差值就会相互抵消,这样做的话,有可能每个样本单独的残差都很大,而计算得到的残差的累计和却很小。这样的直线显然不满足我们的预期,因此,损失函数的值应该是一个非负的数,那么我们很容易想到可以使用绝对值来消除残差中符号的影响。

使用残差绝对值的和作为损失函数,可以避免正负误差相互抵消的问题。
在这里插入图片描述
但是,求残差和最小是一个求最值的问题,在求函数的最值时,一般要进行求导运算。而绝对值是不利于求导运算的,为了消除绝对值运算,可以将这个公式中的绝对值改为平方,使得所有样本点的残差平方和最小。
在这里插入图片描述
这里增加了一个系数1/2,目的是考虑到对平方项求导后运算方便。这个 Loss 函数称为平方和损失函数。

平方和损失函数,不仅计算方便,而且有非常好的几何意义。看下图,
它们之间的欧式距离为:
在这里插入图片描述
平方损失函数中的每一项其实都反映的是每个样本点和它的估计值之间的欧式距离的大小。因此,所找到的这条直线也就是总体上最接近这些点的直线。

损失函数的性质

除了平方和损失函数,针对不同的问题,还有其他一些损失函数,那么什么样的函数才能够作为损失函数呢?

非负性:它的每一个误差项应为非负的,从而保证样本误差不会相互抵消。

一致性:损失函数的值和误差变化趋势是一致的。即:当模型输出的估计值与样本标签y差距越大时,损失函数的值就应该越大,而当它们越接近时,函数的值就应该越小,并且不断地趋于0,也就是说应该单调有界,并且收敛于0。
在这里插入图片描述
对平方损失函数再除以样本数n,就是均方误差。在实际的编程应用中,我们经常使用到它作为衡量误差的指标。基于均方误差最小化,来进行的模型求解的方法,称为最小二乘法。
在这里插入图片描述
最小二乘法的应用并不仅仅局限于线性回归,在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧式距离之和最小。

求解过程

在模型求解阶段,所有的样本数据都是已知的,模型参数w和b是变量。不同的取值对应不同的直线,现在需要确定w和b取值为多少时,可以使得损失函数的取值达到最小。显然,这是一个求解最小值问题,我们知道求解极值点的偏导数必然为0。因此,只要分别对 w 和 b 求偏导数就可以了。
在这里插入图片描述
在这里插入图片描述
下图分别是对w和b求偏导数,
在这里插入图片描述
让他们的结果等于0。
在这里插入图片描述
求解这个方程组,就可以得到w和b的值,求得到的值就是使得损失函数达到最小值的模型参数。求解这个方程组并不困难。

求解的过程不同,得到的求解结果也自然不同,例如,下面两个结果。
在这里插入图片描述
左图为视频授课老师计算的结果,两个结果虽然形式上不同,但是两个结果是等价的,可以通过等式变换得到。显然,右图这种形式看起来更加的简洁。在后面的实例中,也会采用右图的这种解来编写程序。

对于这种求解的过程是根据严格的公式推导和计算得到的,这样得到的解也被称之为解析解。解析解是一个封闭形式的函数,即给出任意的自变量,就可以通过严格的公式求出准确的因变量。因此,解析解也被称之为封闭解或者闭式解。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-24 09:26:48  更:2022-04-24 09:30:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 9:46:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码