1.线性回归算法与梯度下降算法

1.总括:线性回归即我们在分析某些数据样本之间的归来吧时,预先假定其存在线性关系。

    在此假设的基础上,利用数据样本拟合出线性方程的权重参数,进而得出此类数据的通用规律。

 主要解决的问题:预测连续值变量所对应的结果y

 举例:列入我们现在要预测:

  1).大首都北京的房价受那些因素影响(当然是一个复杂的问题,我们在这里只是简化或者说假设)

  2).大首都北京的房价和这些因素之间到底存在什么样的定量关系

 问题1:我们假设影响房价的因素有:房龄X1(就假设这一个吧)

 问题2:我们假设这些因素对房价的影响是线性的

2.此问题对应的数学模型如下:

  

  将问题具体化:假设我们取了10个样本(x1,y1),(x2,y2).....(x10,y10)

  

  则有:

  

  显然通过上述十个样本我们既可以求解出一组θ来。

****************************************************************************

3.提出问题:什么样的θ最好的呢?最能反映这些样本数据之间的规律呢?

  为了解决这个问题,我们需要引入误差分析预测值与真实值时间的误差为

  -----------------------------------------------------------------(1)

  而服从均值为0的正太分布(即高斯分布),即满足如下公式

  ---------------------------------------------------(2)

   将(1)式代入(2)式便可得到下面式子:

  

  

  为了便于计算我们引入对数似然

  

        

        

  当似然函数最大时对对应的参数即为最优的权重参数,只要最小即可

  如何才能求导上式的最小值,边成了我们求解此问题的关键,推导过程如下:

  

  

  导入等于0即可得:

  

4.总结:以上便是我们队二维线性回归问题的一个推导和理解过程,对于n维的问题,换汤不换药,用同样的方式解决就好

5.回顾:

  第一步:我们首先拿到样本数据,并假设此样本直线的规律是线性的

  第二步:列出线性方程,问题转移为求解权重参数θ,假设是n维,并设θ=[θ1,θ2,θ3.......θn]

  第三步:利用上述假设的权重参数θ,将任意一个样本数据代入对应的线性方程即可得到一个预测值

  第四步:预测值与真实值存在的误差为

  第五步:由于每个样本的误差是独立且同分布的,所以其服从正态分布,并且均值为0

  第六步:利用概率论中关于参数估计的方法极大似然估计,引入似然函数,求出似然函数最大值所对应的θ即为最优的θ

  第七步:利用导数求解即可 

***************************************************************************************

6.接下来我们还得思考一个问题,假如我们将上述样本交个计算机,我们应该怎么样让计算机帮助我们求解此类问题呢?

授之以鱼还是授人以渔呢?显然我们更希望给它一个解决此类问题的方向,让它帮助我们求解,这便引入了梯度下降算法

引入损失函数,方程如下,推导过程可以参考第3步:

  

  给出上述损失函数的图像如下:

   

7.如何求出上述函数的最小值呢?

  由于函数是一个开口向上的曲面,使得函数取得最小值的θ0,θ1,即就是曲面上最低点所对应的θ0,θ1。

  我们可以对函数关于θ0,θ1求偏导,并取偏导数为0的θ0,θ1

  采用梯度下降原理,让计算机一步步求解,可以参考下图:

  

  对上图的理解:我们将上图理解为下图中用粗红线所组成的平面(此平面平行于θ1所在的轴)切出的平面曲线,实际就是相当于此时θ0为常数的对上述平面曲线关于θ1求导数,实际相当于对于二元函数关于θ1求偏导,偏导数符号则反应了函数的增减性,也就是指明了函数变化的方向

  

 

   

  有了这个方向,你再给定一个步长,即就是学习率α,就能控制θ1向着使得函数关于θ1的偏导数等于零的方向去逼近

  

   一步步即可将最优的θ1,θ0用同样的方式就可以得到,这样你通过梯度下降就可以得到最优的θ1和θ0,对于影响因素有n个的问题采用的是同样的方式。

posted @ 2018-05-31 22:45  猴子吃果冻  阅读(375)  评论(0编辑  收藏  举报