模型表示
以房价预测为例:
m:样本数量
x:房子尺寸
y:房子价格
训练集
↓
学习算法
↓
h 假设(hypothesis)
假设类似于一个函数的功能,即h是一个x到y的函数映射。
这里使用的是线性回归(linear regression)模型。
代价函数
代价函数:平方误差函数、平方误差代价函数等。
预测输出:h(x)
实际输出:y
代价函数:J
减少预测与实际的误差就要减少代价函数(J)的输出值。
先假设θ0=0,只有θ1,h(x),J的值与θ1关系如下图:
从J—θ1图看出 θ1 = 1,J最小,即最优模型 θ1 值应为 1
h(x),J的值与θ0,θ1关系如下图:
等高线图:
每个椭圆上J的值相等,从外往里J的值逐渐减小
梯度下降
利用梯度下降最小化代价函数J。
为了可视化,只使用θ0,θ1。
如下图所示,梯度下降会因为初始化的不同而获得不同的局部最优解。
α:称为学习速率,它在梯度下降算法中代表了我们下山时迈多大的步子。
所有维度θ需要同时更新,,若先计算了θ0而θ0更新会影响到θ1的计算。
微分项求导或偏导,其实相当于给θ一个增加或者减少的方向;而α决定了增加和减少的值。
α的大小不同,代表下降步子的大小不同,太大和太小都不好,太小更新速度慢,太大可能无法收敛或者发散。
如果初始化已经在局部最优点,那么θ不再变化,因为微分项已经为0。
当我们接近局部最低点时,导数值会变小,所以梯度下降会自动的采用较小的幅度。
梯度下降算法,可以用来最小化任何代价函数。
线性回归的梯度下降
所有维度的θ需要同时更新,若先计算了θ0而θ0更新会影响到θ1的计算。
线性回归的代价函数总是弓状函数(凸函数),只有一个全局最优。
以上过程完成梯度下降。