1.概述

  Logistic回归为概率型非线性模型回归模型,是研究二分类观察结果y与一些样本特征(x1,x2,…,xn)(x_1,x_2,…,x_n)之间的关系的这一种多分量分析方法,简单讲就是研究某些特征条件出现时,结果是否会发生。例如根据病人的年龄、性别、饮食习惯、幽门螺杆菌感染等因素来判断某人是否得了胃癌。

2.LR分类器

  在讲解Logistic回归之前,我们先从LR分类器讲起,引出Logistic回归。LR分类器,即Logistic Regression Classifier,在分类情形下,经过学习后的LR分类器是一组权重组[w0,w1,…,wn][w_0,w_1,…,w_n] 当测试样本数据输入时,这组权重与测试数据按照线性相乘,得到:
    X=w0+w1∗x1+…+wn∗xnX=w_0+w_1*x_1+…+w_n*x_n
这里x1,x2,…,xnx_1,x_2,…,x_n是样本的n个特征值。例如上述例子中的年龄、性别、饮食等。之后通过sigmoid函数对x进行映射,sigmoid函数为:
    S(x)=11+e−xS(x)=\cfrac{1}{1+e^{-x}}
可以看出sigmoid函数定义域为(−∞,+∞)(-\infty,+\infty) ,值域为(0,1)(0,1),然后可以通过定义阀值来进行分类,例如阀值为0.5,小于0.5为未得胃癌,大于0.5为得胃癌。

3.Logistic回归模型

Logistic回归的实质是某种类别发生概率除以没有发生概率再取对数。考虑具有n个独立特征的向量x→=(x1,x2,…,xn)\overrightarrow x=(x1,x2,…,xn),设条件概率P(y=1|x)=pP(y=1|x)=p为特征组x→\overrightarrow x 下类别yy 发生的概率,那么Logistic回归模型可以表示为:
P(y=1|x)=f(g(x))=11+e−g(x)P(y=1|x)=f(g(x))=\cfrac{1}{1+e^{-g(x)}}
这里f(g(x))f(g(x)) 称为Logistic函数,其中g(x)=w0+w→x→=w0+w1x1+w2x2+...+wnxng(x)=w_0+\overrightarrow w\overrightarrow x=w0+w_1x_1+w_2x_2+...+w_nx_n其中w→=(w1,w2,...,wn)\overrightarrow w=(w_1,w_2,...,w_n)。
那么特征组x→\overrightarrow x 下类别yy 不发生的概率为:
P(y=0|x)=1−P(y=1|x)=1−11+e−g(x)=e−g(x)1+e−g(x)=11+eg(x)P(y=0|x)=1-P(y=1|x)=1-\cfrac{1}{1+e^{-g(x)}}=\cfrac{e^{-g(x)}}{1+e^{-g(x)}}=\cfrac{1}{1+e^{g(x)}}
所以发生与不发生的概率比为:
P(y=1|x)P(y=0|x)=p1−p=1+eg(x)1+e−g(x)=eg(x)∗e−g(x)+eg(x)1+e−g(x)=eg(x)\cfrac{P(y=1|x)}{P(y=0|x)}=\cfrac{p}{1-p}=\cfrac{1+e^{g(x)}}{1+e^{-g(x)}}=\cfrac{e^{g(x)}*e^{-g(x)}+e^{g(x)}}{1+e^{-g(x)}}=e^{g(x)}

所以事件发生比就是eg(x)e^{g(x)},对其取对数
ln(p1−p)=g(x)=w0+w→x→=w0+w1x1+w2x2+...+wnxnln(\cfrac{p}{1-p})=g(x)=w_0+\overrightarrow w\overrightarrow x=w0+w_1x_1+w_2x_2+...+w_nx_n
可知Logistic回归就是围绕Logistic函数展开的。

4.求解参数

  用最大似然估计法来求解参数,未知参数就是w0,w1,...,wnw_0,w_1,...,w_n,(x→1,y1),(x→2,y2),...,(x→m,y1m)(\overrightarrow x_1,y1),(\overrightarrow x_2,y2),...,(\overrightarrow x_m,y1_m) 为样本观测值,是已知数据。
   假设有m个样本(x→1,y1),(x→2,y2),...,(x→m,y1m)(\overrightarrow x_1,y1),(\overrightarrow x_2,y2),...,(\overrightarrow x_m,y1_m),其中x→i\overrightarrow x_i表示特征组,yiy_i表示结果。设pi=P(yi=1|xi)p_i=P(y_i=1|x_i) ,即第i个特征组分类结果为1的概率,则P(yi=0|xi)=1−piP(y_i=0|x_i)=1-p_i 表示分类结果为0的概率,注意本例子为二分类,即结果是0或1.则第i个特征组归属结果yiy_i 的概率为:
    p(yi)=pyii∗(1−pi)1−yi(可以通过yi=0和yi=1两种情况来验证)p(y_i)=p_i^{y_i}*(1-p_i)^{1-y_i}(可以通过y_i=0和y_i=1两种情况来验证)
  因为各个观测样本之间相互独立,那么它们的联合分布为各边缘分布的乘积。得到似然函数为:

L(w)=∏i=1mpyii∗(1−pi)1−yi其中pi=11+e−g(x),且g(x)=w0+w→x→

L(w)=\prod_{i=1}^mp_i^{y_i}*(1-p_i)^{1-y_i}\quad其中p_i=\cfrac{1}{1+e^{-g(x)}},且g(x)=w_0+\overrightarrow w\overrightarrow x
注意,上面的 L(w)L(w) 中的 ww 代表的是w0,w1,...,wnw_0,w_1,...,w_n,而 g(x)中的w→g(x)中的\overrightarrow w 代表的是 w1,w2,...,wnw_1,w_2,...,w_n.
然后我们就需要对该似然函数求最大值,解出最大值情况下对应的 w0,w1,...,wnw_0,w_1,...,w_n,这一组 ww 就是要求的未知数的解。先对L(w)L(w) 取对数,得到:

ln(L(w))=∑i=1m(yilnpi+(1−yi)ln(1−pi))

ln(L(w))=\sum_{i=1}^m (y_ilnp_i+(1-y_i)ln(1-p_i))
为了解除n+1个未知数 w0,w1,...,wnw_0,w_1,...,w_n,需要求这些未知数分别求偏导数,然后得到n+1个方程组,最后再解出未知数。这里以求第k个未知数 wkw_k 的偏导数为例。
   ln(L(w))ln(L(w)) 中 (yilnpi+(1−yi)ln(1−pi))(y_ilnp_i+(1-y_i)ln(1-p_i)) 对 wkw_k 的求导为:
   (yilnpi+(1−yi)ln(1−pi))′=yipi′pi+(1−yi)−pi′1−pi=(yi−pi)pi′pi(1−pp)=(y_ilnp_i+(1-y_i)ln(1-p_i)) \prime =y_i\cfrac{p_i\prime}{p_i}+(1-y_i)\cfrac{-p_i\prime}{1-p_i}=(y_i-p_i)\cfrac{p_i\prime}{p_i(1-p_p)}=
(yi−pi)(lnpi−ln(1−pi))′=(yi−pi)(lnpi1−pi)′(y_i-p_i)(lnp_i-ln(1-p_i))\prime=(y_i-p_i)(ln\cfrac{p_i}{1-p_i})\prime
又从3节可知, ln(p1−p)=g(x)ln(\cfrac{p}{1-p})=g(x),则最终结果为:
   (yi−pi)g(x)′=(yi−pi(w0+w1xi1+w2xi2+...+wnxin)′=(yi−pi)xik(y_i-p_i)g(x)\prime=(y_i-p_i(w_0+w_1x_{i1}+w_2x_{i2}+...+w_nx_{in})\prime=(y_i-p_i)x_{ik}
这仅仅是一组 x→i\overrightarrow x_i 对 wkw_k的偏导数值,总共有m组,则

(ln(L(w)))′=∑i=1m(yi−pi)xik

(ln(L(w)))\prime=\sum_{i=1}^m (y_i-p_i)x_{ik}
要去到最大值,则需上面导数等于0,这样就能够构造(n+1)个等式,来解出(n+1)个参数。要解出参数可以参考 牛顿法。

参考文献:http://blog.csdn.net/ariessurfer/article/details/41310525

Logistic回归解析相关推荐

  1. 数学解析Logistic回归算法

    数学解析Logistic回归算法 在<Logistic回归算法(分类问题)>一节,我们学习了 Logistic 回归算法,并且重点认识了 Logistic 函数.我们知道分类问题的预测结果 ...

  2. 浅谈Logistic回归及过拟合

    判断学习速率是否合适?每步都下降即可.这篇先不整理吧... 这节学习的是逻辑回归(Logistic Regression),也算进入了比较正统的机器学习算法.啥叫正统呢?我概念里面机器学习算法一般是这 ...

  3. 【深度学习】sigmoid - 二次代价函数 - 交叉熵 - logistic回归 - softmax

    1. sigmoid函数:σ(z) = 1/(1+e^(-z)) sigmoid函数有个性质:σ'(z) =σ(z) * ( 1 - σ(z) ) sigmoid函数一般是作为每层的激活函数,而下边的 ...

  4. Logistic回归——二分类 —— matlab

    目录 1.简介 2.应用范围 3.分类 3.应用条件 4.原理详解 4.1 sigmod分类函数 4.2 建立目标函数 4.3 求解相关参数 5.实列分析 5.1 读取数据(excel文件) 5.2 ...

  5. Machine Learning in Action 读书笔记---第5章 Logistic回归

    Machine Learning in Action 读书笔记 第5章 Logistic回归 文章目录 Machine Learning in Action 读书笔记 一.Logistic回归 1.L ...

  6. logistic回归分析优点_机器学习实战项目-Logistic回归

    Logistic 回归 概述 Logistic 回归虽然名字叫回归,但是它是用来做分类的.其主要思想是: 根据现有数据对分类边界线建立回归公式,以此进行分类. 须知概念 Sigmoid 函数 回归 概 ...

  7. 数学建模-分类模型(基于logistic回归)

    基于logistic回归的分类模型: 对于二分类模型,采用基础逻辑回归(logistic regression) 对于多分类模型,采用多分类逻辑回归 模型要求(针对01 logistic) 假设1:因 ...

  8. 【西瓜书笔记】补充1:logistic回归及其损失函数,梯度下降推导

    Logistic回归理论知识补充 建模流程 假设我们建立一个二分类模型.假设有两个人A.B在争论如何对一个新样本 x x x进行0-1二分类,他们两个分别对新样本进行打分,如果A的分数大于B的分数,则 ...

  9. 机器学习——logistic回归

    何为回归?假设有一系列数据点,我们使用一条直线对这些点进行拟合(该线称为最佳拟合直线),这个拟合过程就称为回归.利用Logistic回归进行分类的主要思想是:根据现有数据对分类边界线建立回归公式,并以 ...

最新文章

  1. Java黑皮书课后题第3章:*3.13(金融应用:计算税款)程序清单3-5给出了计算单身登记人税款的源代码。将程序清单3-5补充完整,从而计算所有登记的婚姻状态的税款
  2. 配置mysql为主主复制步骤
  3. 【机器学习-西瓜书】三、线性回归;对数线性回归
  4. C# 添加,修改,删除Xml节点
  5. python日期模块datetime常用操作总结(字符串与datetime对象互转、日期差值计算、时间戳获取、时间数组生成等)
  6. Kibana饼图介绍
  7. php中js中文传值乱码,php解析JSON中文乱码问题的解决方法
  8. VS C# 中使用番茄助手
  9. 最新的Sql笔试题及答案,部门表,用户表,客户信息表,订单表
  10. delphi中webbrowser的用法
  11. 盘点苹果电脑上好用的照片无损放大软件
  12. python ocr文字识别竖排繁体_古籍族谱繁体竖排中文识别图文攻略-千百OCR
  13. SAP MM供应商主数据
  14. MATLAB无法直接打开M文件
  15. 阿里云混合云Apsara Stack
  16. 五-2、vue中引用文件路径问题
  17. C语言初阶:进制,计算机的美丽语言
  18. 请求成功但是报错: Uncaught (in promise)
  19. Hadoop是干什么的?
  20. 如何利用ASP实现邮箱访问(转)

热门文章

  1. 继承ListPreference后,去掉右边的图标
  2. 查看nginx php mysql apache编译安装参数
  3. ListBox之随手放个控件
  4. 容器编排技术 -- Kubernetes kubectl 与 Docker 命令关系
  5. Python-DDoS攻击
  6. Hystrix面试 - 深入 Hystrix 执行时内部原理
  7. HTML连载70-相片墙、盒子阴影和文字阴影
  8. modbustcp封装使用获取设备数据示例
  9. C#LeetCode刷题之#893-特殊等价字符串组​​​​​​​​​​​​​​(Groups of Special-Equivalent Strings)
  10. Linux入门学习(九)