概念
为了解决线性回归问题,我们也用梯度下降算法。
算法逻辑如下:
对于线性回归模型中例子,梯度下降可以如下:
算法
实际上梯度下降可有通过求导。这里的符号“:=”是赋值的含义
有两个注意点:
-
参数的更新,每次迭代中θ0和θ1是同时更新的。
-
在梯度下降中需要注意α,也就是学习速率(learn rate)。速率过大导致一直发散,速率过小导致迭代过多。这个值需要根据实际调整,具体后续分析。
-
即使学习率α固定,渐变下降也可以收敛到局部最小值
梯度下降算法最小化平方误差代价函数
基本概念
首先二者分别如下
所以可以得到下面的迭代
多特征
对于多个特征量,假设函数(hypothesis)应该变化为:
同理,新的算法为:
特征缩放
对于新的算法中,多个特征量由于各自有不同的范围,因此由这些取值可能使得收敛较慢或者没有了理想的效果。所以可以使用特征缩放来解决这个问题:
需要注意的是这里的正负1不是要求绝对的满足,这里的意思是多个特征量的值范围不要差距太大即可
均值归一化
对于特征量除了特征缩放以外还有均值归一化的方法:
这里μ的含义是特征集中特征X1的平均值,S1表示X1的特征值范围,也就是X1_max和X1_min的差值。虽然可以用标准差,但其实是一样的。同理这里的正负0.5也表示相近的值就可以。
学习率α的取值
如果α的取值过大或者过小都有可能导致代价函数不理想:
因此在实际中,ANg推荐的做法是通过取不同的α观察来比较,从中选取合适的学习率。
特征和多项式回归
选取的特征越有效,最终获取的结果就越准确,所以选择正确的特征是很重要的。但实际中可能有一些函数会很复杂,或者非线性。这个时候我们不能直接使用选取特征和对应的函数。此时可以通过拟合的方式获取符合实际的函数。并且特征也可以间接利用。
正规化方程
概念
某一些问题,使用正规化方程可以更好的得到θ。并且正规化方程可以一次性得出θ。
对于例子来说,使用正规化方程,可以得出结果。
梯度下降算法和正规化方程的选择
对于二者,最主要的区别就是梯度下降是多次得到结果,正规化方程是一次求解。所以当特征较少的情况下,使用后者更合适。前者适用于大型或者复杂的情况
此外正规化方程有一个使用前提,也就是有逆矩阵的前提下。但这个情况通常极少,可不考虑。