机器学习基础笔记 | 2 – 梯度下降方法

当我们处理有两个待估计参数的线性回归的时候,大致思路是如下的。

列出代价函数(这个可能只是代价函数中的一种):

tips:所谓代价函数,我个人的理解是“理论值对实际值差价的衡量函数”,总之用某一种方法,来衡量理论值(即模型拟合出来的值)对实际值的相差距离。这个函数应该有如下特征:即差别不大的时候,惩罚很小;差别比较大的时候,惩罚较大

代价函数的两个参数变化的时候,代价函数值J也随之变化,实际上代价函数的意义就是训练模型与样本的距离值的平方,由于有一个平方,因此“更平均的小误差”更能被代价函数所接受,所有有了最小二乘法之说,就像下面这样:

tips:上面的m代表样本容量

对于一个二维的参数来说,θ_0与θ_1的变化共同影响了J(θ_0,θ_1)的值,那么这个函数画出来应该是一个三维的图像,就像这样。

h(x)与j(x)的关系如下图所示

更高阶的示意图如下

而这就给另一种解法提供了思路,即梯度下降法

梯度下降法原理

这个方法有类似于人下山,每一次只要选择一条最快下山的方向,走一段路,他就能一定下山

在数学意义上的表述是这样的:

随机从一个给定的θ_0或θ_1的值开始,求该点的导数,并使该点的值对其倒数所指的方向移动α个距离,再从新的位置重复上述步骤。

这个方法有一个特性,不同的初始值可能得到不同的结果,像这样:

结论是,如果面对有多个最优点的函数,梯度下降法就会出现多个解

梯度下降法的数学实现

其意义是“让参数往代价函数变小程度最明显的方向移动”

其中:

“:=”的符号是赋值的意思

α的值是可以自己取的,决定每次下降的步长,又称学习精度

对于两个参数的回归方程,我们有以下公式:

拓展到一般情况,我们有以下公式

均一化

对于两个参数的梯度下降来说,一定要注意其变异范围不能相差太大,否则整个图像就会畸变,导致梯度下降算法很难奏效(如上图左边的图像)

也就是,由于应用了几何原理,参数构成的图像很大程度上影响了梯度下降法的精度。

所以一旦一个参数变异程度大,另一个小的话,就要进行标准化。最方便的情况就是全部变成百分比数值,就如上图所示。

发表评论