(一).单变量线性回归及梯度下降

  1. 定义:只有一个特征(输入)变量的问题称为单变量线性回归问题,可以表示为: h θ ( x ) = θ 0 + θ 1 ( x ) h_{\theta}(x)=\theta_{0}+\theta_{1}(x) hθ(x)=θ0+θ1(x),其中 θ i , i = 1 , 2 \theta_{i},i=1,2 θi,i=1,2是待定参数。

为了找出最好的直线来拟合给定数据,我们需要定义代价函数(Cost function)

  1. Cost function:
    J ( θ 0 , θ 1 ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J\left(\theta_{0}, \theta_{1}\right)=\frac{1}{2 m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2} J(θ0,θ1)=2m1i=1m(hθ(x(i))y(i))2
    其中,m是训练样本数量。
    我们想要使模型所预测的值与训练集中实际值之间的差距,也就是让cost function取最小值。
    我们的目标是找出参数 θ i , i = 1 , 2 \theta_{i},i=1,2 θi,i=1,2使得 J ( θ 0 , θ 1 ) J\left(\theta_{0}, \theta_{1}\right) J(θ0,θ1)最小。
  2. 梯度下降是一个用来求函数最小值的算法,我们将使用梯度下降算法来求出代价函数 J ( θ 0 , θ 1 ) J\left(\theta_{0}, \theta_{1}\right) J(θ0,θ1)的最小值。
    其思想是:开始时我们随机选择一个参数的组合 ( θ 0 , θ 1 , … … , θ n ) \left(\theta_{0}, \theta_{1}, \ldots \ldots, \theta_{n}\right) (θ0,θ1,,θn),计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到找到一个局部最小值(local minimum),因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值(global minimum),选择不同的初始参数组合,可能会找到不同的局部最小值。
    梯度下降算法:循环直至收敛
    θ j : = θ j − α ∂ ∂ θ j J ( θ 0 , θ 1 ) f o r j = 1 a n d j = 0 \theta_{j}:=\theta_{j}-\alpha \frac{\partial}{\partial \theta_{j}} J\left(\theta_{0}, \theta_{1}\right)\quad for j=1 and j=0 θj:=θjαθjJ(θ0,θ1)forj=1andj=0
    线性回归模型:
    h θ ( x ) = θ 0 + θ 1 ( x ) h_{\theta}(x)=\theta_{0}+\theta_{1}(x) hθ(x)=θ0+θ1(x)
    J ( θ 0 , θ 1 ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J\left(\theta_{0}, \theta_{1}\right)=\frac{1}{2 m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2} J(θ0,θ1)=2m1i=1m(hθ(x(i))y(i))2
    线性回归问题运用梯度下降法,关键在于求出代价函数的导数,即: ∂ ∂ θ j J ( θ 0 , θ 1 ) = ∂ ∂ θ j 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 \frac{\partial}{\partial \theta_{j}} J\left(\theta_{0}, \theta_{1}\right)=\frac{\partial}{\partial \theta_{j}} \frac{1}{2 m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2} θjJ(θ0,θ1)=θj2m1i=1m(hθ(x(i))y(i))2
    j = 0  时  : ∂ ∂ θ 0 J ( θ 0 , θ 1 ) = 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) j = 1  时  : ∂ ∂ θ 1 J ( θ 0 , θ 1 ) = 1 m ∑ i = 1 m ( ( h θ ( x ( i ) ) − y ( i ) ) ⋅ x ( i ) ) \begin{array}{l} j=0 \text { 时 }: \frac{\partial}{\partial \theta_{0}} J\left(\theta_{0}, \theta_{1}\right)=\frac{1}{m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) \\ j=1 \text { 时 }: \quad \frac{\partial}{\partial \theta_{1}} J\left(\theta_{0}, \theta_{1}\right)=\frac{1}{m} \sum_{i=1}^{m}\left(\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) \cdot x^{(i)}\right) \end{array} j=0  :θ0J(θ0,θ1)=m1i=1m(hθ(x(i))y(i))j=1  :θ1J(θ0,θ1)=m1i=1m((hθ(x(i))y(i))x(i))
    则算法改写成: 循环直至收敛
    θ 0 : = θ 0 − a 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) θ 1 : = θ 1 − a 1 m ∑ i = 1 m ( ( h θ ( x ( i ) ) − y ( i ) ) ⋅ x ( i ) ) \begin{aligned} &\theta_{0}:=\theta_{0}-a \frac{1}{m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)\\ &\theta_{1}:=\theta_{1}-a \frac{1}{m} \sum_{i=1}^{m}\left(\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) \cdot x^{(i)}\right) \end{aligned} θ0:=θ0am1i=1m(hθ(x(i))y(i))θ1:=θ1am1i=1m((hθ(x(i))y(i))x(i))

参考文献:黄海广博士的机器学习个人笔记完整版v5.5

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值