zoukankan      html  css  js  c++  java
  • 逻辑回归

    文章主要包含的内容有:逻辑回归中所涉及到的推导,原理。

    从逻辑回归的决策函数中可以看到  $y=f(wx+b)$(为了记录方便,令$b=w_0*x_0$);于是有 $y=f(w*x)$。其中,如果让 $z=w*x$ ,这个等式实际上描述了一个自变量$x$和因变量$z$的一个线性关系。因此,在推导逻辑回归之前,先简要理解一下线性回归。

    (1)线性回归:

    使用一个合适的线性函数$z=f(t)$来描述所给训练集中的自变量和因变量的关系,使得目标函数:  $G(x)=sum{(y-f(x))^{2}}$  最小。

    我们称这个过程为线性回归过程,而$z=f(x)$是所给训练集的线性拟合,也可以称 $z=f(x)$是训练集的一个线性回归。

    (学习方法:梯度下降或者牛顿法,这里不详细介绍)

    线性回归 描述的是自变量和因变量之间的关系。给定一个自变量就能得到相应的因变量,反之亦然。

    如果,我们对$y$的值进行离散化,令$y$值为+1或者0。那么,我们需要在原来线性回归的基础上,让$y$值从连续值映射到${+1,0}$

    由此而引出了逻辑回归的问题

    (2)逻辑回归:

    单纯的将$y>0$赋值为+1,小于$y<0$赋值为0,会因为线性回归的受噪声的影响较大而影响分类效果。

    定义:事件A发生的概率为 p,则A不发生的概率为 1-p。一件事的几率等于事件发生的概率和这件事不发生的概率之比。即$odds= frac{p}{1-p}$

    而逻辑回归的想法是:

            $log(odds)=w*x$

    这时候,将$odds= frac{p}{1-p}$ 代入上面的式子,可以解得:

    $P(y=1|x)=frac{exp(w*x)}{1+exp(w*x)}$     (1)

    $P(y=0|x)=frac{1}{1+exp(w*x)}$            (2)

    从前面的推导也知道,上面的公式(1)和(2)实际上描述的是:样本经过逻辑回归模型后,得到判断结果为+1 和0的概率。

    假设现在给定了训练二分类问题的训练样本

    $T={(x_1,y_1),(x_2,y_2).....(x_n,y_n)}$ ,

    新的模型也应该很好地拟合训练集才对。既然上面提到了概率,那么,目标函数可以这样描述:

    记 $π(x)=P(y=1|x)$ , 则 $1-π(x)= p(y=0|x)$。

    那么 $y=1$时,$[π(x)]^y$ 正确描述了$p(y=1|x)$的概率,而$[1-π(x)]^{1-y}$描述了该样本被误判为负样本的概率。 让它们相乘,得到似然函数:

              $[π(x)]^{y}*[1-π(x)]^{1-y}$  (3)

    显而易见,当正训练样本输入时,$π(x)$较大,$1-π(x)$较小,这时候:

                    $[π(x)]^y*[1-π(x)]^{1-y}= π(x)$

    同理,输入负样本时: $[π(x)]^y *[1-π(x)]^{1-y}= 1-π(x)$

    因此,当所有的样本的似然函数都相乘后,我们只需要让这个函数最大,就能够正确描述训练样本提供的信息。称这个函数为训练集的似然函数:

    $prod_{i=1}^{n}[π(x_i)]^{y_i}*[1-π(x_i)]^{1-y_i}$ $ $     (3)

    对两边取自然对数,得到训练集的对数似然函数:

    $L(w)=sum_{i=1}^{n}[y_i*(w*x_i)-ln(1+exp(w*x_i))]$    (4)

         

    如果考虑训练中的误差的话,我们也可以这样理解:似然函数(3)描述的是训练样本被正确描述的概率,那么,它被不正确描述的概率是:

         

    $e=$ $prod_{i=1}^{n}[π(x_i)]^{1-y_i}*[1-π(x_i)]^{y_i}$    (5)

               

    对两边取自然对数,就得到了逻辑回归的误差函数:

         

    $L(w)=-$ $sum_{i=1}^{n}[y_i*(w*x_i)-ln(1+exp(w*x_i))]$   (6)

    因此,逻辑回归问题,实际上就变成了一个无限制条件的最优化问题:

          

                $min L(w)$

     这个问题的解决办法会在后续的文章中说明。

    参考文献:

    1、《统计学习方法》 李航

    2、维基百科

    转载请注明来源:http://www.cnblogs.com/weibao/p/5542393.html

    有任何问题,请联系weibao798@gmail.com

  • 相关阅读:
    SQL SERVER数据库大型应用解决方案总结
    SQL Server 2005利用分区实现海量数据处理实例
    php验证码类
    软件开发项目进度控制浅谈
    栈和队列
    .Net多线程总结
    Silverlight 3 UI类结构
    C#全角半角转换函数
    转Silverlight Navigation(多页面切换、传值)
    Silverlight 学习笔记——应用程序模型
  • 原文地址:https://www.cnblogs.com/weibao/p/5542393.html
Copyright © 2011-2022 走看看