2.1 线性回归模型表示
m:训练样本的数目
x:输入变量
y:输出变量
(x,y):训练集中的实例
:第i个实例
h:学习算法的函数
其中:
训练样本中包含每个样本数据的“正确答案”。
h为假设的一个函数,根据输入的x值得到y值,即h是一个x到y的映射。
在机器学习中,我们将训练样本“喂”给学习算法,从而不断优化学习得到一个假设h。当输入变量只有一个时,h的表达式可能为:。此类问题为单变量线性回归问题。
2.2 代价函数
在线性模型中,我们需要为模型选择合适的参数
。参数的选择将决定我们得到的线性回归的直线对于我们训练集的准确程度,即当输入x后,所预测的y与训练集中“正确答案”的差距,我们称之为建模误差。
机器学习的目标便是选择可以使建模误差平方和最小时的模型参数,即代价函数最小。
此类代价函数也被称为平方误差函数,常用于解决回归问题。
2.3 代价函数(一)
2.4 代价函数(二)
2.5 梯度下降
梯度下降是一个用来求函数最小值的算法,我们将使用梯度下降算法来求出代价函数的最小值。其思想是:选随机选择一个参数组合,然后计算代价函数,寻找下一个能让代价函数下降最多的参数组合,一直到找到局部最小值(不一定是全局最小)。其算法为:
其中是学习率,是
偏导数。
2.6 梯度下降知识点总结
当学习率太小:迭代次数过多,需要很多次才能达到全局最低点。
当学习率太大:梯度下降法可能会直接越过最低点,甚至无法收敛。
当参数初始化就在局部最低点时,其倒数为0,学习率不变,也不会更新参数的值,保证收敛到局部最低点。
在梯度算法中,当我们接近局部最低点时,导数值会自动变的越来越小,所以算法将自动采取越来越小的幅值,没必要另外减小学习率。
2.7 线性回归的梯度下降
对线性回归问题运用梯度下降法,关键在于求出代价函数的导数,即:
当 j=0 时:
当 j=1 时:
则算法改写成: