机器学习之回归

最近复习了一下机器学习的知识,在这里想总结一下,网上也有不少,大多都是不全或者是错误的。下面主要看我来简单总结一下回归分析的知识点。机器学习

一、内容概要函数

(1)线性回归学习

(2)逻辑回归(Logistic )spa

(3)最大似然估计数学

(4)梯度降低变量

二、线性回归扩展

(1)咱们之前初中学过线性函数y=a*x+b,都知道这是一个线性函数,而且它的图像是一条直线。以下图所示:(这其实在机器学习当中的单变量的状况。)方法

 

(2)若咱们将上面一维的变量扩展到多维的变量上来,就会造成以下所示的公式:im

y=WT*X +b   在这里W是列向量,X是列向量。展开来表示的是以下所示:总结

y=w0+w1*x1+w2*x2+w3*x3+...+wn*xn =∑WTX

书上是把上面的式子写成:那咱们就按照书上的来好了。

咱们知道,在线性回归当中,须要解决的问题是:根据已有的样本,构建一个线性模型,再利用该模型去预测未知的样本。那么咱们来分析一下:线性回归的主要问题就是如何构建这样的一个线性模型。要想构建一个线性模型,是否是本质行就是只要获得一组θT便可?是的,没错。那么如何获得一组θT呢?

(3)利用似然函数能够推导出最小二乘

那么如今咱们假设有m个训练样本,咱们能够姑且假设咱们的模型以下所示:

i表示的是从1到m个样本,ε表示的与实际样本之间的偏差。咱们知道偏差ε应该是服从均值为0,方差为σ2的高斯分布。那么咱们能够将偏差写成以下的高斯函数的形式:

将咱们的模型的代入到偏差的分布函数中,获得以下所示:

对上面的偏差分布函数进行取对数,求得似然函数以下所示:

根据极大似然估计可知,要使咱们的似然函数最大,那就是要咱们以下式子最小。

再看看上面那个式子,不就是咱们的最小二乘吗?是的。就是它。整个问题如今就转化为了如何求解下面的式子最小:

(4)求解最小二乘的方法

  1)能够直接求解

  经过上面的方法直接能够求得θ的值。

  2)梯度降低

    i)初始化θ(随机初始化θ)

    ii)沿着负梯度的方向进行迭代,迭代公式以下:

      

    iii)梯度能够经过以下公式获得:

      

      注意:线性回归的梯度与逻辑回归的梯度恰好是相反数。

三、逻辑回归(Logistic)

实际上逻辑回归本质上也是现象回归,它主要与线性回归的主要区别是将现象模型的值代入到sigmod函数中。其余的没什么区别。因此,咱们先来了解一下sigmod函数究竟是什么东西:

(1)sigmod函数

  1)表达式:

    

  2)这是它的图像:

从图像上能够看出,sigmod函数能够对任意一个响应给出一个[0,1]之间的一个值。所以,逻辑回归仅仅是处理两类问题,若须要处理多类问题就是咱们的softmax回归了,稍后会介绍。

(2)逻辑回归的模型

从这个式子咱们能够看出,它仅仅是将线性模型的θTX代入到sigmod函数中获得的。

  对sigmod函数求导咱们能够获得以下所示:

  

(3)逻辑回归的参数估计,根据最大似然估计可知,有以下的推导:

  

这里面须要注意一点是:对于一个样原本讲咱们只须要保证几率P(y|x;θ)最大,假设m个样本,则对应的联合几率L(θ)=∏P(y|x;θ)。因此根据最大似然函数能够获得下面的公式:

(这里面咱们能够看到,最大似然函数与交叉熵函数几乎是如出一辙,而最大似然函数这里是是的每一个样本都分对的几率最大。交叉熵做为损失函数来讲是指望损失最小。因此能够最大似然函数的前面加上负号就能够变成了交叉熵损失函数了。)

    注意:线性回归的梯度与逻辑回归的梯度恰好是相反数。

(4)参数的迭代 (逻辑回归是沿着似然函数的梯度的正方向进行迭代,若是以最大似然函数做为目标函数的话,最后迭代方向是梯度上升方向迭代

  1)逻辑回归的参数学习规则以下所示:

    

  2)比较线性回归和逻辑回归参数的迭代规则:它们在公式的形式上是相同的。(左边线性回归,右边逻辑回归)

    
四、线性回归与逻辑回归之间的区别

(1)不一样点

  i)线性回归是沿着似然函数的梯度负方向进行迭代,逻辑回归是沿着似然函数的梯度的正方向进行迭代

  ii)线性回归解决的是回归问题,逻辑回归解决的是分类问题

(2)相同点

  i)参数的迭代公式是同样的

  ii)本质上都是线性回归

五、逻辑回归解决多类问题的模型——softmax回归模型

(1)softmax回归模型其实是对Logistic回归模型进行扩展获得的,softmax的模型以下所示:

  

  其中K表示的K类问题,P(c=k|x;θ)表示的是对应参数θ,对于样本x为k类的几率。

  注意观察softmax的公式模型,发现实际上它是将每一个类别的对应一个模型exp(θTkX),经过训练出K个这样的模型,经过计算每一个模型的可能性。最后将结果归为可能性最大的那个类别的模型。这就是softmax的本质思想。

(2)来看看softmax的似然函数和对数似然函数

  1)似然函数

    

  注意这里使用长度为K的向量y=(0,0...1,0..)表示样本的类别,其中,用yk表示y的第k个类别,所以,似然函数是须要在指数上增长yk的。

  2)对数似然函数

    

(3)参数的迭代

  1)计算对数似然函数的梯度,该梯度是对θk的梯度,也就是说,有多少个类别,对应会有多少个梯度,即对应多少个θ更新公式。

    

  2)更新公式

    

 

问题思考:为何线性回归参数的迭代是梯度的负方向,逻辑回归和softmax回归都是梯度的正方向?

答:其实这是因为使用的参数估计是最大似然估计的缘由。在线性回归中,要使得对数似然函数最大就必须是须要最小二乘的那个式子最小,而那个式子就是一个凸函数,凸函数的最小值就是沿着梯度降低的方法去迭代;在逻辑回归和softmax回归中,要使得对数似然函数最大,那就是对对数似然函数求导后,获得梯度上升的方向找最大值。

相关文章
相关标签/搜索