Logistic Regression(逻辑回归)原理及公式推导

原创 2016年07月30日 15:18:13

版权声明:本文为原创文章:http://blog.csdn.net/programmer_wei/article/details/52072939

Logistic Regression(逻辑回归)是机器学习中一个非常非常常见的模型,在实际生产环境中也常常被使用,是一种经典的分类模型(不是回归模型)。本文主要介绍了Logistic Regression(逻辑回归)模型的原理以及参数估计、公式推导方法。


模型构建

在介绍Logistic Regression之前我们先简单说一下线性回归,,线性回归的主要思想就是通过历史数据拟合出一条直线,用这条直线对新的数据进行预测,线性回归可以参考我之前的一篇文章。

我们知道,线性回归的公式如下:

z=θ0+θ1x1+θ2x2+θ3x3...+θnxn=θTx

而对于Logistic Regression来说,其思想也是基于线性回归(Logistic Regression属于广义线性回归模型)。其公式如下:

hθ(x)=11+ez=11+eθTx

其中,
y=11+ex
被称作sigmoid函数,我们可以看到,Logistic Regression算法是将线性函数的结果映射到了sigmoid函数中。

sigmoid的函数图形如下:
这里写图片描述

我们可以看到,sigmoid的函数输出是介于(0,1)之间的,中间值是0.5,于是之前的公式 hθ(x) 的含义就很好理解了,因为 hθ(x) 输出是介于(0,1)之间,也就表明了数据属于某一类别的概率,例如 :
hθ(x)<0.5 则说明当前数据属于A类;
hθ(x)>0.5 则说明当前数据属于B类。
所以我们可以将sigmoid函数看成样本数据的概率密度函数。

有了上面的公式,我们接下来需要做的就是怎样去估计参数 θ 了。

首先我们来看, θ 函数的值有特殊的含义,它表示 hθ(x) 结果取1的概率,因此对于输入x分类结果为类别1和类别0的概率分别为:

P(y=1|x;θ)=hθ(x)

P(y=0|x;θ)=1hθ(x)

极大似然估计

根据上式,接下来我们可以使用概率论中极大似然估计的方法去求解损失函数,首先得到概率函数为:

P(y|x;θ)=(hθ(x))y(1hθ(x))1y

因为样本数据(m个)独立,所以它们的联合分布可以表示为各边际分布的乘积,取似然函数为:
L(θ)=i=1mP(y(i)|x(i);θ)

L(θ)=i=1m(hθ(x(i)))y(i)(1hθ(x(i)))1y(i)

取对数似然函数:
l(θ)=log(L(θ))=i=1mlog((hθ(x(i)))y(i))+log((1hθ(x(i)))1y(i))

l(θ)=log(L(θ))=i=1my(i)log(hθ(x(i)))+(1y(i))log(1hθ(x(i)))

最大似然估计就是要求得使 l(θ) 取最大值时的 θ ,这里可以使用梯度上升法求解。我们稍微变换一下:

J(θ)=1ml(θ)

因为乘了一个负的系数1m,然后就可以使用梯度下降算法进行参数求解了。梯度下降具体就不在这里多说了,可以参考之前的文章。

参考文章:
http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=9162199&id=4223505
http://blog.csdn.net/wangran51/article/details/8892923

版权声明:本文为博主原创文章,未经博主允许不得转载。

史上最直白的logistic regression教程 之 一

Logistic Regession是什么Logistic Regression是线性回归,但最终是用作分类器。 为什么叫Logistic呢?因为它使用了Logisitic函数,形如: f(z)...
  • u011539200
  • u011539200
  • 2015年11月17日 15:11
  • 9020

【机器学习】Logistic Regression 的前世今生(理论篇)

Logistic Regression可以说是机器学习的入门算法。不过,你真的有把握能够把LR从头到脚讲一遍吗?你会现场建模,数学推导?你知道它的正则化的作用?你能讲清楚它跟MaxEnt最大熵模型的关...
  • cyh24
  • cyh24
  • 2015年12月19日 17:36
  • 14470

机器学习系列-Logistic Regression(1)

机器学习 这是记录自学的过程,目前的理论基础就是:大学高等数学+线性代数+概率论。编程基础:C/C++,python在观看机器学习实战这本书,慢慢介入。相信有读过以上三门课的人完全可以开始自学机器学习...
  • w401229755
  • w401229755
  • 2016年06月20日 01:11
  • 3160

机器学习算法与Python实践之(七)逻辑回归(Logistic Regression)

机器学习算法与Python实践之(七)逻辑回归(Logistic Regression)zouxy09@qq.comhttp://blog.csdn.net/zouxy09        机器学习算法...
  • zouxy09
  • zouxy09
  • 2014年03月02日 23:49
  • 203436

Multinomial Logistic Regression

通常的逻辑回归只用来处理二分类问题,所以又称这种逻辑回归为 Binary (或Binomial) Logistic Regression。本文主要讨论如何处理多分类问题,这也就引出了通常所说的 Mul...
  • baimafujinji
  • baimafujinji
  • 2016年06月19日 13:37
  • 4406

台湾大学林轩田机器学习技法课程学习笔记5 -- Kernel Logistic Regression

上节课我们主要介绍了Soft-Margin SVM,即如果允许有分类错误的点存在,那么在原来的Hard-Margin SVM中添加新的惩罚因子C,修正原来的公式,得到新的αn\alpha_n值。最终的...
  • red_stone1
  • red_stone1
  • 2017年07月07日 08:48
  • 1357

Logistic Regression(逻辑回归)详细讲解

Logistic Regression(逻辑回归)以前在学校学到Logistic Regression的时候,虽然最后会使用,但是对于许多地方有很多的疑惑,今天在这里详细梳理一下Logistic Re...
  • joshly
  • joshly
  • 2016年01月10日 23:31
  • 11280

Logistic Regression逻辑回归的简单解释

Logistic Regression也叫Logit Regression,在机器学习中属于参数估计的模型。逻辑回归与普通线性回归(Linear Regression)有很大的关系。在应用上,它们有所...
  • jinping_shi
  • jinping_shi
  • 2016年08月26日 11:45
  • 5332

逻辑回归(Logistic regression)详解-并用scikit-learn训练逻辑回归拟合Iris数据集

引言这篇文章主要介绍逻辑回归背后的一些概率概念,给你一些直观感觉关于它的代价函数的由来。并且我也介绍了关于最大似然估计(maximum likelihood)的概念,用这个强大的工具来导出逻辑回归的c...
  • xlinsist
  • xlinsist
  • 2016年05月01日 22:16
  • 32953

MatLab建模学习笔记12——Logistic回归模型

logistic regression属于概率型非线性回归,它是研究二分类观察结果与一些影响因素之间关系的一种多变量分析方法。例如,在流行病学研究中,经常需要分析疾病与各危险因素之间的定量关系,为了正...
  • u010480899
  • u010480899
  • 2016年08月18日 15:55
  • 6977
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Logistic Regression(逻辑回归)原理及公式推导
举报原因:
原因补充:

(最多只允许输入30个字)