【从线性回归到BP神经网络】第二部分:线性回归


本文主要参考文献如下:
1、吴恩达CS229课程讲义。
2、(美)S.Chatterjee等,《例解回归分析》(第2章),机械工业出版社。
3、周志华. 《机器学习》3.2.清华大学出版社。
4、(美)P.Harrington,《机器学习实战》人民邮电出版社。

1、代价函数

  我们先考虑只有单个数据对的情况,即 x = [ 1 , x 1 , x 2 , … , x n ] {\bf x}=[1,x_1,x_2,\ldots,x_n] x=[1,x1,x2,,xn]为输入的属性向量,其中 n n n为属性的个数, y y y为与 x \bf x x对应的输出函数值。我们希望能够用 x \bf x x的线性函数来预测 y y y的值,即
h θ ( x ) = θ 0 + θ 1 x 1 + θ 2 x 2 + … + θ n x n = ∑ j = 1 n θ j x j = θ T x , (1) \tag{1} \begin{aligned} h_{\theta}({\bf x})&=\theta_0+\theta_1x_1+\theta_2x_2+\ldots+\theta_nx_n\\ &=\sum_{j=1}^{n}\theta_jx_j\\ &={\bm \theta}^{\rm T}{\bf x}, \end{aligned} hθ(x)=θ0+θ1x1+θ2x2++θnxn=j=1nθjxj=θTx,(1)这里, θ = [ θ 0 , θ 1 , … , θ n ] T {\bm \theta}=[\theta_0,\theta_1,\ldots,\theta_n]^{\rm T} θ=[θ0,θ1,,θn]T为参数向量。显然,我们希望通过选择合适的参数 θ {\bm \theta} θ,使得 h θ ( x ) h_{\bm \theta}({\bf x}) hθ(x)能够尽量接近 y y y的值。
  那么如何来定义“接近”的程度呢?采用的就是cost function(代价函数)。常用的一种cost function的定义,就是均方值
J ( θ ) = 1 2 [ h θ ( θ ) − y ] 2 (2) \tag{2} J(\bm \theta)=\frac{1}{2}[h_{\theta}({\bm \theta})-y]^2 J(θ)=21[hθ(θ)y]2(2)我们推广到有 m m m个数据对的情况,此时的代价函数为
J ( θ ) = 1 2 m ∑ i = 1 m [ h θ ( x ( i ) ) − y ( i ) ] 2 . (3) \tag{3} J(\bm \theta)=\frac{1}{2m}\sum_{i=1}^{m}[h_{\theta}({ {\bf x}^{(i)}})-y^{(i)}]^2. J(θ)=2m1i=1m[hθ(x(i))y(i)]2.(3)

严格来说,根据第一部分,这里的分母的 m m m应该为 m − 1 m-1 m1

2、梯度下降法

   多元函数 J ( θ ) J(\bm \theta) J(θ)的值会随着 θ \bm \theta θ的改变而改变。我们希望能够尽快找到使 J ( θ ) J(\theta) J(θ)最小的 θ \bm \theta θ,那么 θ \bm \theta θ应该往哪个方向变化, J ( θ ) J(\bm \theta) J(θ)的值能够下降得更快呢?
   首先我们看”方向”这个词的含义。这里的方向,其实就是指每个参数, θ j \theta_j θj,第一是变大还是变小(正 or 负),第二是变得快还是慢。以下图一维的情况来看,显然A点切线斜率比B点的大,因此下降得更快,而C点 θ 1 \theta_1 θ1得值应该增大,而非减小。想象下如果换成多维情况,其实就是看每个参数应该变大还是变小,应该以多快速率变化(在学习率 α \alpha α一定的情况下)。如果想象从山顶往山下走(两个参数的情况),显然两个参数的正负和变化快慢,决定了下山路线的方向。
   梯度下降法实际上就是选择下降最快方向的方法,即
θ j : = θ j − α ∂ J ( θ ) ∂ θ j j = 0 , 1 , … , n . (4) \tag{4} \theta_j:=\theta_j-\alpha\frac{\partial J(\bm \theta)}{\partial \theta_j}\quad j=0,1,\ldots,n. θj:=θjαθjJ(θ)j=0,1,,n.(4)
在这里插入图片描述
  注意梯度下降法的特点:

  • 梯度(切线斜率)越大,下降越快; 梯度越小,下降越慢。
  • 如果到了局部最优点(斜率为0),则不再变化。
  • 所有 θ j \theta_j θj的值要同时更新。

3、线性回归的梯度下降

  回到我们的问题上来。我们是想找到(3)中代价函数的最小值,因此到我们设置好 θ \bm \theta θ的初始值之后,就开始用(4)更新 θ \theta θ值,逐渐逼近最优点。因此我们需要求得梯度,即
∂ J ( θ ) ∂ θ j = 1 2 m ∂ ∂ θ j ∑ i = 1 m [ h θ ( x ( i ) ) − y ( i ) ] 2 = 1 2 m ∂ ∂ θ j ∑ i = 1 m [ ∑ j = 1 n θ j x j ( i ) − y ( i ) ] 2 = 1 m ∑ i = 1 m [ ∑ j = 1 n θ

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值