1. 代价函数公式

image.png

线性回归函数与代价函数
image.png

2. 理解代价函数

image.png
根据训练集(training set)建立模型,通过代价函数的计算,寻求使得代价函数值最小的参数w,b,以下为简单示例,为了简化模型,将b设为0,右图为参数w和代价函数所求值的关系图

当w=1时,代价函数的值=0
image.png

当w=0.5时,代价函数的值≈0.58
image.png

当w=0时,代价函数的值=2.3
image.png
通过在一定范围内寻找w的值,最终确定回归线性函数的值
image.png

3. 可视化代价函数

当w,b两个参数同时参与训练模型的代价函数计算,j,w,b的关系图时一个三维的:
image.png

4. 梯度下降

适用于多个参数的更为一般的函数模型
image.png
对于不是碗状的函数模型,可能存在不止一个最小值
image.png
两条路径达到的最低点都称为局部最小值,沿着某一条路径梯度下去,不会走到另外一条路径,这是梯度下降法的一个特性
Gradient Descent algorithm 公式:
image.png
α是学习率(learning rate):区间范围为0~1,一般来说是0.01,作用:控制梯度下降的幅度
α/αwJ(w,b)是对w参数的求偏导(derivative)
image.png
与上同理
梯度下降算法会重复以上两个更新步骤,直到算法收敛,以达到局部最优,计算w和b时,需要同时进行,下列左侧为正确算法,右侧时错误算法
image.png

梯度下降中导数的意义
image.png

  • 斜率为正时,w向横轴的左侧移动,w变小,j(w)变小
  • 斜率为负时,w向横轴的右侧移动,w变大,j(w)变小

学习率过小或过大造成的影响:
image.png
过小的情况下,梯度下降非常缓慢,一致成本函数j值下降过慢
过大的情况下,梯度下降过大,可能永远无法抵达到函数的最低值,甚至出现发散的情况
image.png
如果参数是的代价函数下降到了局部最小值,梯度下降将停止
image.png
越接近局部最小值,导数将变得更小,梯度下降更新将会变得更小,函数可以下降到局部最小值而不需要改变学习率α


Tired
1 声望1 粉丝

新手小白,力争成为c++大佬,c++永远滴神!!!