码迷,mamicode.com
首页 > 其他好文 > 详细

机器学习之回归

时间:2016-06-07 12:35:38      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:

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

1、内容概要

(1)线性回归

(2)逻辑回归(Logistic )

(3)最大似然估计

(4)梯度下降

2、线性回归

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

技术分享

 

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

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)梯度可以通过如下公式得到:

      技术分享

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

3、逻辑回归(Logistic)

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

(1)sigmod函数

  1)表达式:

    技术分享

  2)这是它的图像:

技术分享

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

(2)逻辑回归的模型

技术分享

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

  对sigmod函数求导我们可以得到如下所示:

  技术分享

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

  技术分享

技术分享

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

(4)参数的迭代 (逻辑回归是沿着似然函数的梯度的正方向进行迭代

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

    技术分享

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

    技术分享
4、线性回归与逻辑回归之间的区别

(1)不同点

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

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

(2)相同点

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

  ii)本质上都是线性回归

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

(1)softmax回归模型实际上是对Logistic回归模型进行扩展得到的,softmax的模型如下所示:

  技术分享

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

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

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

  1)似然函数

    技术分享

  2)对数似然函数

    技术分享

(3)参数的迭代

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

    技术分享

  2)更新公式

    技术分享

 

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

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

 

机器学习之回归

标签:

原文地址:http://www.cnblogs.com/ljy2013/p/5566437.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!