Coursea-吴恩达-machine learning学习笔记(二)【week 1之Linear Regression with One Variable】

线性回归算法中特定的符号表示:
m m :表示训练样本的数目;
x:表示输入的特征;
y y :表示输出变量或目标变量;
(x,y):表示一个训练样本;
(x(i),y(i)) ( x ( i ) , y ( i ) ) :表示第 i i 个训练样本;
h:表示假设函数,表示从 x x y的函数映射;

单变量的线性回归模型: hθ(x)=θ0+θ1x h θ ( x ) = θ 0 + θ 1 x
其中, θ0,θ1 θ 0 , θ 1 为模型参数;

线性回归算法的目标为选择 θ0,θ1 θ 0 , θ 1 ,使 hθ(x) h θ ( x ) 最接近样本对应的 y y 值,即寻找θ0θ1,使

12mi=1m(hθ(x(i))y(i))2 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 最 小 。

12mi=1m(hθ(x(i))y(i))2 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 表示平均误差,其中, 12 1 2 是为了方便后续梯度下降算法的计算。

引入代价函数的概念:

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
代价函数也称平方误差函数或平方误差代价函数,为了评价 hθ(x) h θ ( x ) 的准确性,算法的目的是让 J(θ0,θ1) J ( θ 0 , θ 1 ) 尽可能小。

平方误差代价函数是解决回归问题最常用的手段。

算法简化:
θ0=0 θ 0 = 0 ,则 hθ(x)=θ1x h θ ( x ) = θ 1 x ,模型参数只剩下 θ1 θ 1 ,代价函数变为

J(θ1)=12mi=1m(hθ(x(i))y(i))2 J ( θ 1 ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2
算法目标变为求
minθ1J(θ1) min θ 1 J ( θ 1 )

带入训练集样本数据,发现 J(θ1) J ( θ 1 ) 是一个下凸曲线,找到令 J(θ1) J ( θ 1 ) 取值最小的 θ1 θ 1

J(θ1,θ0) J ( θ 1 , θ 0 ) 同理,可用轮廓图表示:
轮廓图中同一个圆圈表示$J(\theta_1,\theta_0)$取值相同

梯度下降算法:可以使代价函数最小化。
算法定义:
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,θ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
θ0,θ1 θ 0 , θ 1 要同时更新。

通常将 θ0,θ1 θ 0 , θ 1 均初始化为0。

注: x ∂ ∂ x 为偏导数符号, ddx d d x 为导数符号

梯度下降算法中,若 α α 的值取得太小,梯度下降过于缓慢;若 α α 的值取得太大,可能导致无法收敛,甚至发散。
在梯度下降法中,当我们接近局部最低点时,梯度下降法会自动采取更小幅度,因为当接近局部最低点时, θjJ(θ0,θ1) ∂ ∂ θ j J ( θ 0 , θ 1 ) 导数值自动变得越来越小。

线性回归算法的梯度下降:
θjJ(θ0,θ1)=θj12mi=1m(hθ(x(i))y(i))2=θj12mi=1m(θ0+θ1x(i)y(i))2 ∂ ∂ θ j J ( θ 0 , θ 1 ) = ∂ ∂ θ j 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 = ∂ ∂ θ j 1 2 m ∑ i = 1 m ( θ 0 + θ 1 x ( i ) − y ( i ) ) 2
j=0θ0J(θ0,θ1)=1mi=1m(hθ(x(i))y(i))=1mi=1m(θ0+θ1x(i)y(i)) j = 0 时 : ∂ ∂ θ 0 J ( θ 0 , θ 1 ) = 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) = 1 m ∑ i = 1 m ( θ 0 + θ 1 x ( i ) − y ( i ) )
j=1θ1J(θ0,θ1)=1mi=1m(hθ(x(i))y(i))x(i)=1mi=1m(θ0+θ1x(i)y(i))x(i) j = 1 时 : ∂ ∂ θ 1 J ( θ 0 , θ 1 ) = 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x ( i ) = 1 m ∑ i = 1 m ( θ 0 + θ 1 x ( i ) − y ( i ) ) x ( i )
即:
repeat until convergence{

θ0:θ1:==θ0α1mi=1m(hθ(x(i))y(i))θ1α1mi=1m(hθ(x(i))y(i))x(i)θ0,θ1 θ 0 : = θ 0 − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) θ 1 : = θ 1 − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x ( i ) θ 0 , θ 1 同 时 更 新
}

批量梯度下降法(Batch Gradient Descent):梯度下降法最常用的形式,具体做法是在更新参数时使用所有的样本来进行更新。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值