线性回归代价函数的梯度下降算法

线性回归代价函数的梯度下降算法

  • 本文阐述线性回归代价函数的梯度下降算法推导过程,为满足广义性,采用多变量的线性回归代价函数进行推导。
梯度下降(Gradient Descent)算法

梯度下降是一个用来求函数最小值的算法,是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。反过来,如果我们需要求解损失函数的最大值,这时就需要用梯度上升法来迭代了。在机器学习中,基于基本的梯度下降法发展了两种梯度下降方法,分别为随机梯度下降法(Stochastic Gradient Descent,简称SGD)批量梯度下降法(Batch Gradient Descent,简称BGD)
随机梯度下降:随机梯度下降是每次迭代使用一个样本来对参数进行更新,其计算速度较快,但由于计算得到的并不是准确的一个梯度,即准确度较低,且容易陷入到局部最优解中,也不易于并行实现。
批量梯度下降:批量梯度下降是最原始的形式,它是指在每一次迭代时使用所有样本来进行梯度的更新(这里的更新指同步更新)。相对的,批量梯度下降在样本数据较多的情况下,其计算速度较慢,但是可以获得全局最优解,且易于并行实现。

首先给出线性回归的**代价函数(Cost Function)**的向量化表示:
J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta) = \frac{1}{2m}\sum\limits_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2 J(θ)=2m1i=1m(hθ(x(i))y(i))2
其中假设函数 h θ ( x ) = θ T X = θ 0 + θ 1 x 1 + θ 2 x 2 + . . . + θ n x n h_\theta(x) = \theta^TX=\theta_0+\theta_1x_1+\theta_2x_2+...+\theta_nx_n hθ(x)=θTX=θ0+θ1x1+θ2x2+...+θnxn
m m m为样本总数,参数 θ \theta θ与特征矩阵 X X X均为 n + 1 n+1 n+1维列向量。
由于使用多变量进行梯度下降,固可以使用批量梯度下降法来获得全局最优解。

在参数 θ \theta θ中引入学习速率 α \alpha α
θ j = θ j − α ∂ ∂ θ j J ( θ ) , ( j = 0 , 1 , . . . , n ) \theta_j=\theta_j-\alpha\frac{\partial}{\partial\theta_j}J(\theta),(j=0,1,...,n) θj=θjαθjJ(θ),(j=0,1,...,n)
J ( θ ) J(\theta) J(θ)代入:
θ j = θ j − α ∂ ∂ θ j 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 , ( j = 0 , 1 , . . . , n ) \theta_j=\theta_j-\alpha\frac{\partial}{\partial\theta_j}\frac{1}{2m}\sum\limits_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2,(j=0,1,...,n) θj=θjαθj2m1i=1m(hθ(x(i))y(i))2,(j=0,1,...,n)
求偏导化简,得出多变量线性回归的批量梯度下降算法:
θ j = θ j − α 1 m ∑ i = 1 m ( ( h θ ( x ( i ) ) − y ( i ) ) ⋅ x j ( i ) ) , ( j = 0 , 1 , . . . , n ) \theta_j=\theta_j-\alpha\frac{1}{m}\sum\limits_{i=1}^m((h_\theta(x^{(i)})-y^{(i)})\cdot x_j^{(i)}),(j=0,1,...,n) θj=θjαm1i=1m((hθ(x(i))y(i))xj(i)),(j=0,1,...,n)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值