梯度下降算法——theta参数更新公式的数学理解

(notice:粗体以示向量)

一、引出算法

在学习 Linear Regression 算法时,经典案例就是房价预测。在通过一系列预处理操作后,得到一个带有特征变量 x x x和可学习参数 θ \theta θ的假设函数:
h θ ( x ) = θ 0 + θ 1 x 1 + θ 2 x 2 h_\theta(\textbf{x}) = \theta_0 + \theta_1{x_1} +\theta_2 {x_2} hθ(x)=θ0+θ1x1+θ2x2

一般式:

h θ ( x ) = ∑ i = 0 n θ i x i = θ T ⋅ x ( n 为 特 征 数 ) h_\theta(\textbf{x})=\sum_{i=0}^{n}\theta_{i}x_{i}=\boldsymbol{\theta}^{T}·\textbf{x} (n 为特征数) hθ(x)=i=0nθixi=θTxn
下一步要做的就是,构造一个均方损失函数:

J ( θ ) = 1 2 ∑ k = 1 m ( h θ ( x k ) − y k ) 2 ( m 为 训 练 集 样 本 数 量 ) J(\boldsymbol\theta) = \frac{1}{2}\sum_{k=1}^{m} (h_\theta(\textbf{x}^k) - y^k)^2 (m 为训练集样本数量) J(θ)=21k=1m(hθ(xk)yk)2m

h θ ( x k ) − y k h_\theta(\textbf{x}^{k}) - y^k hθ(xk)yk
表示第 k 个样本的实际预测值和其真实值的差异,即“训练误差”。所有样本的训练误差之和为损失函数 J ( θ ) J(\boldsymbol{\theta}) J(θ) J ( θ ) J(\boldsymbol{\theta}) J(θ) 越小,则说明可学习参数 θ \boldsymbol{\theta} θ调整的越好,算法泛化能力有可能也越好。


想让损失函数 J ( θ ) J(\boldsymbol{\theta}) J(θ) 变小,就只能迭代优化可学习参数 θ \boldsymbol{\theta} θ

而想要优化参数 θ \boldsymbol{\theta} θ,就可以使用梯度下降算法


二、梯度下降算法直观理解

CS229课程截图


直观看,假如损失函数的起始位置在上图 “1”的位置。由坐标轴刻度可知,此时的损失函数 J ( θ ) J(\boldsymbol{\theta}) J(θ)的位置很高,数值很大。需要调整可学习参数 θ \boldsymbol{\theta} θ以减小在训练集上 J ( θ ) J(\boldsymbol{\theta}) J(θ)的数值。
如图所示,损失函数 J ( θ ) J(\boldsymbol{\theta}) J(θ)不断的寻找比当前位置更低的地方作为下一步驻留地,最后在位置“2”处停止寻找。此时便得到一个局部最优解 θ \boldsymbol\theta θ.

这使用的就是下面这个更新公式:
θ i : = θ i − α ∂ ∂ θ i J ( θ ) \theta_i := \theta_i - \alpha \frac{\partial}{\partial \theta_i} J(\boldsymbol{\theta}) θi:=θiαθiJ(θ)
其中:(注意区分粗体)
∂ ∂ θ i J ( θ ) = ∂ ∂ θ i 1 2 ∑ k = 1 m ( h θ ( x k ) − y k ) 2 {\frac{\partial}{\partial \theta_i} J(\boldsymbol{\theta}) = \frac{\partial}{\partial \theta_i} \frac{1}{2}\sum_{k=1}^m(h_\theta(\textbf{x}^k) - y^k)^2}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值