• 逻辑回归


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

    从逻辑回归的决策函数中可以看到  $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

  • 相关阅读:
    Linux实战教学笔记30:Nginx反向代理与负载均衡应用实践
    Linux实战教学笔记29:MySQL数据库企业级应用实践
    Linux实战教学笔记28:企业级LNMP环境应用实践
    leetcode-Basic Calculator II
    java中 == 和 equals()方法的区别
    Java中为什么String不可变?
    关于Java的构造器和直接为成员变量赋值的区别
    Java修饰符的访问权限
    java深拷贝和浅拷贝
    leetcode-Length of Last Word
  • 原文地址:https://www.cnblogs.com/weibao/p/5542393.html
Copyright © 2020-2023  润新知