线性回归

一、拟合问题

1、什么叫做拟合?

    (x,y)直接的关系可以用一条线(直线或者曲线)表达,我们的目标就是找到这一条线,找到线的关键就是求取参数

2、公式

单特征,ω代表参数,y(x,w)是估计值,t是实际值

3、如何求取参数ω?三种方法:

(1)确定性方法:将参数w和t看成确定性的量,只是值不知道而已

E(w):均方误差;  y(xn,w):第二个样本的估计值;  tn:第二个样本的实际值;  1/2:方便之后的计算

采用确定性方法,就是求出使得E(w)最小的那个w

对于y(xn,w):

M=0:一条平行于X轴的直线()

M=1:一次方程,一条直线(需要一个样本就可以求取)

M=2:二次方程,一条曲线

.......

如果训练样本数量过小,可以拟合出一条满足所有样本的线,此时容易产生过拟合现象,如何解决?

(1.1)增加训练样本数

(1.2)正则化:增加惩罚因子

(2)最大似然估计:将参数w看成确定性的量,只是值不知道而已;将产生的值看成一种概率表达

(3)贝叶斯估计:将参数w看成随机量,存在概率分布;将产生的值看成一种概率表达

二、线性回归

1、什么是线性回归?

 (1)线性:直线

 (2)线性回归:根据已有的数据集拟合出一条直线

 (3)用途:回归或者分类,如果y是连续的值,则为回归;如果y是离散的几个值,则为分类;本文只针对分类

 (4)线性公式   ,设置x0=1,则有,n为特征个数

 (5)如果利用线性回归进行回归或者分类,只需要估算出θ的值

2、如何估算θ?

    代价函数:m-学习样本个数

   目标:求得使J(θ)最小的θ,如何求?

(1)梯度下降

(1.1)单样本的梯度下降:

 

θj:第j个参数,需要设定一个初始值,初始值的设定会影响到梯度下降的结果

α:学习速度,决定了下降的步长。如果设置过小,会导致收敛速度过慢;如果太大,可能会越过最小值

---->最小均方误差:

对于多样本,有两种方法可以处理:  

(2.2)批梯度下降

批:每次迭代都用到所有样本

优点:总是会收敛到全局最小值

缺点:如果训练集合太大,则效率太低

检测收敛:设定阈值ε,如果两次迭代改变小于阈值,则认为收敛

(2.3)随机梯度下降(增量梯度下降)

随机:每次值选取一个样本更新θj,循环m轮

有点:效率高,收敛速度快,大数据集更倾向于增量梯度下降

缺点:在全局最小值附近徘徊,不会精确收敛到全局最小值

(2)最小二乘法

直接求J(θ)的导数,置为0,求θ

3、参数学习算法与非参数学习算法

    参数学习算法:拟合参数θ数量固定---容易发生过拟合和欠拟合

    非参数学习算法:拟合参数θ数量不固定,参数数量会随着训练集合的大小线性增长,需要保存整个训练集--不能完全避免过拟合与欠拟合

4、局部加强线性回归----一种非参数学习算法

    (1)什么是局部加强?

           原始的线性回归,关注全局样本,用所有的训练样本找到拟合参数,问题是一条直线往往并不能很好的拟合,曲线可能会更好的反应样本情况,局部加强就是针对这种问题

           局部加强更关注邻近区域,为邻近区域赋予比较大的权值,为偏远区域赋予较小的权值

           代价函数:

               

    (2)如何计算权值?

           

           有很多种计算方式,这是其中之一---指数衰减函数

           τ:波长参数,控制权值随距离下降的速率,越小下降越快

  

三、logistic回归

     1、为什么要用logistic回归?

        普通的线性回归,计算的h(θ)的值范围非常大,利用logistic回归,可以将h(θ)的范围缩小到(0,1)

     2、logistic函数(sigmoid函数):

          

            z=0时,值为0.5;   z>>0时,值为1;  z<<0时,值为0

     3、logistic回归函数

           

     4、求拟合参数   

          假设:----->

          >0.5,则为正例,否则为反例

          logistic回归就是要学习到θ,使得正例(y=1)的特征远大于0,即>>0, 负例(y=0)的特征远小于0,即<<0

           通过极大似然估计可得:

          -->---> 

         求取使得最大的θ:

(1)梯度上升

        ---->

(2)牛顿方法?

    (2.1)为了得到最大的,第一个办法是按照上面的梯度上升,直到两次的变化小于设定的某个阈值;第二个办法是对其直接求导,并置导数为0

    (2.2)牛顿方法是什么?

            此为牛顿方法的一次迭代,通过不断的迭代最后找到使得f(θ)=0

            换句话说,牛顿方法的目标是f(θ)=0,我们的目标是的导数=0,那我们只需要设置:

           --->

    (2.3)优点:收敛速度快,号称二次收敛(0.01->0.0001->0.00000001)

              缺点:如果特征数目太多,效率低,所以比较适合特征少的情况(不过,通常情况情况下,特征数目都不多)

四、总结与疑问

1、这些计算方法直接的关系:极大似然估计、贝叶斯估计、梯度、最小二乘、牛顿(待)

2、线性回归为什么不适合用来进行分类?

3、极大似然与最小二乘?

....乱乱乱

原文地址:https://www.cnblogs.com/naonaoling/p/4179227.html