机器学习(1.3)

机器学习——参数学习

Machine Learning —— Parameter Learning


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

梯度下降——定义

Gradient Descent——Definition

代价函数:

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

Outline 构想:

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

  • Keep changing θ0,θ1 θ 0 , θ 1 to reduce J(θ0,θ1) 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) θ j := θ j − α ∂ ∂ θ j J ( θ 0 , θ 1 )         ( f o r   j = 0   a n d   j = 1 )
}
其中 := := 是赋值运算; α α 是学习速率(Learning rate)。 注:需要同时更新 θ0,θ1 θ 0 , θ 1

正确的同时更新步骤为:

temp0:=θ0αθ0J(θ0,θ1) t e m p 0 := θ 0 − α ∂ ∂ θ 0 J ( θ 0 , θ 1 )

temp1:=θ1αθ1J(θ0,θ1) t e m p 1 := θ 1 − α ∂ ∂ θ 1 J ( θ 0 , θ 1 )

θ0:=temp0 θ 0 := t e m p 0

θ1:=temp1 θ 1 := t e m p 1

梯度下降 原理

Gradient Descent Intution

Review:

repeat until convergence{

θj:=θjαθjJ(θ0,θ1)    (for j=0 and j=1) θ j := θ j − α ∂ ∂ θ j J ( θ 0 , θ 1 )         ( f o r   j = 0   a n d   j = 1 )
}

简单实例

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

-偏导数变化

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

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

θ1:=θ1αθ1J(θ1) θ 1 := θ 1 − α ∂ ∂ θ 1 J ( θ 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) θ j := θ j − α ∂ ∂ θ j J ( θ 0 , θ 1 )         ( f o r   j = 0   a n d   j = 1 )

}

Linear Regression Model:

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

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

Goal:

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

计算过程:

θjJ(θ0,θ1)=θj12mi=1m(hθ(x(i))y(i))2 ∂ ∂ θ j J ( θ 0 , θ 1 ) = ∂ ∂ θ j ⋅ 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2

=θj12mi=1m(θ0+θ1x(i)y(i))2 = ∂ ∂ θ j 1 2 m ∑ i = 1 m ( θ 0 + θ 1 x ( i ) − y ( i ) ) 2

θ0 θ 0 j=0:θ0J(θ0,θ1)=1mmi=1(hθ(x(i))y(i)) j = 0 : ∂ ∂ θ 0 J ( θ 0 , θ 1 ) = 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) )

θ1 θ 1 j=1:θ1J(θ0,θ1)=1mmi=1(hθ(x(i))y(i))x(i) j = 1 : ∂ ∂ θ 1 J ( θ 0 , θ 1 ) = 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) ⋅ x ( i )

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

repeat until convergence{

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

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

}

简化公式:

repeat until convergence{

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

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

}

and update θ0 θ 0 and θ1 θ 1 simultaneously

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值