1. 单变量线性回归的定义
2. 梯度下降算法
3. 梯度下降的线性回归
单变量线性回归的定义
线性回归是一种有监督的学习,解决的是自变量和因变量之间的关系。本次学习的是单变量线性回归。回归指的是因变量是连续性的,而如果因变量是离散型的,则是分类问题。比如房子的面积与房价之间的关系,这是回归问题。而一个人是否逾期是一个分类问题。
监督学习算法的工作方式可以用如下这张图表示:
将训练集喂给机器学习算法,输出一个假设函数 h,然后新输入一个自变 x 到假设函数内,然后输出一个因变量 y 值。
单变量线性回归指的是只有一个自变量。有如下这样一个训练集,特征为房子的大小,因变量是房价。那么对于一个新的房子的大小,我们如何根据历史的数据来预测出来该房子的价格呢?
一些标注如下:
m 代表训练集中实例的数量
x 代表特征或者输入变量
y 代表目标变量或者输出变量
(x,y) 代表训练集中的实例
根据如上数据:我们在一个xy轴上面标注这些点,然后预设一个假设函数:
选择不同的参数值,就会得到不同的直线。对于假设函数所预测出来的值和实际值之间的差距就是建模误差,也就是存在着一个代价函数。
代价函数的公式如下:
我们的目标就是减少假设函数预测数来的值和实际值之间的差距,也就是让代价函数最小。而让代价函数最小,就需要我们选择合适的参数值。
这个方法定义的J(θ)在最优化理论中称为凸(Convex)函数,即全局只有一个最优解,然后通过梯度下降算法找到最优解即可,梯度下降算法的函数如下:
梯度下降算法
在这个公式当中,
对于公式里面的偏导数,无论是正导数还是负导数,最终都会使得
如下图所示,可以自己推导:
梯度下降算法的步骤:
- 先预设一个初始的参数值
- 然后一直不断地改变这个参数值,来减小代价函数
- 直到最后代价函数达到一个最小值或者局部最优解。
梯度下降算法可以用如下的图片来解释,这样比较清楚:
还有一个有意思的问题,当我们选取的 一开始就让我们的代价函数在全局最小值,那么情况会怎么样呢?
根据梯度下降算法的公式可以知道,当
梯度下降的线性回归
在这一小节中,我们将上面的梯度下降算法和线性回归结合起来,这样就可以利用梯度下降算法来求出线性回归代价函数的全局最优解了。
参考文献:
吴恩达机器学习