Logistic Regression详解

原创 2016年06月01日 18:39:43

Regression是什么?

  • Regression:找到一个模型去表示数据间的关系
  • Linear Regression:使用线性模型拟合数据
  • Logistic Regression:其实本质也是线性拟合,但引入了log,这个之后会详细说

也就是说,不管什么Regression,都是想找到一个模型来拟合数据。

Likelihood

Likelihood与我们平常所说的Probability相反。

举个例子,平常说B站有60%的人是宅男,这个60%就是概率。我们换个思路,如果告诉你一个人是宅男,那他有多大的可能是B站用户呢?我们同意“宅男都混B站”这个判断的话,就说这个宅男100%是B站用户。这里100%就是likelihood。

其实到这里,我们已经完成了一次预测 —— 预测一个宅男是否为B站用户。事实上,这个在现实生活中非常有用。比如根据症状判断是否得了癌症,根据性别年龄等特征判断是否已婚等等。

regression的主要用途就是根据输入的特征做判断,并使本系统的判断与实际输出之间的差值最小。

Logistic Regression

引子:我们常用的是线性拟合,为什么?当然因为线性拟合简单,比如下面的红色数据点,我们可以简单的拿一个线性模型拟合(黄线)

这里写图片描述

可是,如果我们的点不是这么的符合线性条件呢?

使用最大后验概率作为模型质量的评测方式,我们需要使输入的已知点的likelihood最大,从而得到一个比较好的模型。

假设y的取值为1或0(也就是说,所有数据分为两类)

后验概率:

假设

PY1|XxPxθ

(给定输入x,输出为1的概率)

可以得到,

i=1mPYyi|Xxii=1mPxiθyi(1Pxiθ)1yi

如果我们将已有的m个输入输出观察值(x,y)带入这个式子,就可以得到已有的观察值的likelihood。

最大化使这个likelihood,也就是最大化已有的观察值出现的概率,就可以得到相应的拟合模型啦~

定义Likelihood的式子:

目的是找到合适的参数,最大化L

L(θ)=i=1mPxiθyi(1Pxiθ)1yi

接下来就是找相应的模型了,刚才提到

PY1|XxPxθ
也就是后验概率P,需要用一个带参数的模型表示。(下面将P简写为P(x))

在Logistic regression里,我们使用这样的一种模型来拟合likelihood

logP(x)1P(x)=θ0+θx

其实这依旧是线性拟合(等号右边的是线性拟合的式子),

至于为什么等号左边的式子是这样的,主要考虑了输入和输出值域的限制。

我们把这个式子变换一下,就得到了常用的形式:

P(Y=1;x;θ)=11+eθTx=hθ(x)

对L求导:

使导数最小(最好为0)的beta就是我们要求的模型参数,至于怎么使导数最小,我们使用Newton’s method更新权值。

注:L的形式不好计算导数,所以对logL求导。lnL就是经常用到的cost function

J(θ)=logL=1mi=1m[yilog(hθ(xi))(1yi)(1hθ(xi))]

Newton’s Method

Newton’s Method通过对初始点(随机选择)附近的泰勒展开式求导,得到初始点附近的最小点,多次更新,得到局部最优。

具体的求导过程就不列出来了,直接写出更新的公式。

θ(n+1)=θ(n)f(θ(n))f′′(θ(n))

存在多个theta时,就变成了这样,

θ(n+1)=θ(n)H1θJ(θ)

H为Hessian矩阵.

在logistic regression中,梯度和Hessian的求法分别为:

θJ(θ)=1mi=1m(hθ(xi)yi)xi

H=1mi=1m[hθ(xi)(1hθ(xi))xi(xi)T]

至此,我们通过逐步更新参数的值,最终得到模型
hθ(x)

至此,关于01分类问题的regression已经介绍完了(只分两类)
如果想知道关于多分类的问题,可以去下面的链接中了解一下softmax。
http://ufldl.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD%92

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

相关文章推荐

Logistic Regression详解

两类情况:Logistic函数:      Logistic Regression的核心是Logistic函数,损失函数的构造也正是利用了Logistic函数的特点。Logistic函数形式如下: ...

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

这篇文章主要介绍逻辑回归背后的一些概率概念,给你一些直观感觉关于它的代价函数的由来。并且我也介绍了关于最大似然估计(maximum likelihood)的概念,用这个强大的工具来导出逻辑回归的cos...

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

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

LR(Logistic Regression)算法详解

Logistic Regression本质上还是Linear Regression的一种,只是用了一个Logistic Function将线性回归的连续值映射到了{0,1}\{0, 1\}空间。因此L...

MXNet学习8——自己写operator实现Logistic Regression

概要上一篇博客介绍了Logistic Regression,其中最主要的symbol是官方已经实现好的例子,不知道细节是怎么样的,而且结果看着十分奇怪,所以打算自己实现一个,参考官方的例子,How t...

Logistic Regression

  • 2017-08-04 19:40
  • 242KB
  • 下载

逻辑回归(Logistic Regression)和SVM的联系以及Kernel

逻辑回归和SVM都是比较理想的分类器,但是各有优缺点,逻辑回归不仅可以得到具体的分类类别,还可以得到连续的概率值(因为逻辑回归实质上是回归);SVM则可以利用kernel将特征投影到高维甚至无穷维来更...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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