机器学习(1.3)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Dove_forehead/article/details/79545476

机器学习——参数学习

Machine Learning —— Parameter Learning


梯度下降算法,可以将代价函数最小化,可用于线性回归
梯度下降算法最小化代价函数J

梯度下降——定义

Gradient Descent——Definition


代价函数:

Have some function J(θ0,θ1)
Want minθ0,θ1J(\theta_0,\theta_1)

Outline 构想:

  • Start with θ0,θ1,一般情况下初始化 θ0,θ1 都为0,即 θ0=0,θ1=0

  • Keep changing θ0,θ1 to reduce J(θ0,θ1) until we hopefully end up at minimum.一直改变参数知道达到我们预期的最小值。

梯度下降算法 Gradient descent algorithm:

图例:
这里写图片描述

参数初始化的不同可能会导致局部最小值的不同

重复直至收敛 repeat until convergence{

θj:=θjαθjJ(θ0,θ1)    (for j=0 and j=1)
}
其中 := 是赋值运算; α 是学习速率(Learning rate)。注:需要同时更新θ0,θ1

正确的同时更新步骤为:

temp0:=θ0αθ0J(θ0,θ1)

temp1:=θ1αθ1J(θ0,θ1)

θ0:=temp0

θ1:=temp1

梯度下降 原理

Gradient Descent Intution


Review:

repeat until convergence{

θj:=θjαθjJ(θ0,θ1)    (for j=0 and j=1)
}

简单实例

假设 θ0=0, 求代价函数 J() 的最小值

-偏导数变化

  • 偏导数为正数时,θ1向左边移动变化

  • 偏导数为负数时,θ0向左边移动变化
    这里写图片描述
    -α变化

θ1:=θ1αθ1J(θ1)

  • α 过小,梯度下降会很缓慢

  • α 过大,梯度下降会跳过最小值。可能会收敛失败甚至发散(diverge)
    这里写图片描述

线性回归中的梯度下降

Gradient Descent For Linear Regression


梯度下降不仅被用于线性回归,还被用于线性回归和代价函数相结合的情况

Review

Gradient descent algorithm:

repeat until convergence{

θj:=θjαθjJ(θ0,θ1)    (for j=0 and j=1)

}

Linear Regression Model:

hθ(x)=θ0+θ1x

J(θ0,θ1)=12mi=1m(hθ(x(i))y(i))2

Goal:

用梯度下降的算法最小化线性回归的代价函数

计算过程:

θjJ(θ0,θ1)=θj12mi=1m(hθ(x(i))y(i))2

=θj12mi=1m(θ0+θ1x(i)y(i))2

θ0j=0:θ0J(θ0,θ1)=1mi=1m(hθ(x(i))y(i))

θ1j=1:θ1J(θ0,θ1)=1mi=1m(hθ(x(i))y(i))x(i)

所以,梯度下降在线性回归中的算法为:

repeat until convergence{

θ0:=θ0α1mi=1m(hθ(x(i))y(i))

θ1:=θ1α1mi=1m(hθ(x(i))y(i))x(i)

}

简化公式:

repeat until convergence{

θ0:=θ0αθ0J(θ0,θ1)

θ1:=θ1αθ1J(θ0,θ1)

}

and update θ0 and θ1 simultaneously

展开阅读全文

没有更多推荐了,返回首页