Logistic Regression 同 Liner Regression 均属于广义线性模型,Liner Regression 假设 $y|x ; \theta$ 服从 Gaussian 分布,而 Logistic Regression 假设 $y|x ; \theta$ 服从 Bernoulli 分布.

这里来看线性回归,给定数据集 $\left \{ (x_i,y_i) \right \}_{i=1}^N$ ,$x_i$ 与 $y_i$ 的关系可以写成 $y_i = \theta^Tx_i + \varepsilon$ 的形式,这里 $\varepsilon$ 为一个误差项 且满足 $\varepsilon \sim N(0,\sigma^2)$ ,这意味着对于相应变量 $ y_i \sim N(\theta^Tx_i,\sigma^2) $ ,即 有:

\[ p(y_i|x_i ; \theta) =\frac{1}{\sqrt{2\pi} \sigma}\exp \left (-\frac{(y-\theta^Tx_i)^2}{2 \sigma^2} \right ) \]

现在可以用 MLE 的方式来对线性回归做一个似然估计,联合概率分布为

\[\prod^N_{i=1} \frac{1}{\sqrt{2\pi} \sigma}\exp \left (-\frac{(y_i-\theta^Tx_i)^2}{2 \sigma^2} \right ) \]

因此可以得到似然函数:

\begin{aligned}
L(\theta) &= \sum^N_{i=1} log \frac{1}{\sqrt{2\pi} \sigma}\exp \left (-\frac{(y_i-\theta^Tx_i)^2}{2 \sigma^2} \right )\\
&=m  \log\frac{1}{\sqrt{2\pi} \sigma}-\frac{1}{\sigma^2} \left(\frac{1}{2}\sum_{i=1}^N(y_i-\theta^Tx_i)^2 \right )
\end{aligned}

也就是说,极大化似然函数 等价于极小化 $\frac{1}{2}\sum_{i=1}^N(y_i-\theta^Tx_i)^2$ 即可,这便是最小均方的由来了.至于 Logistic Regression 更是显而易见的可以通过极大似然得到,可见这两种模型之间自有一些联系。

广义线性模型中的因变量 y 都是 exponential family 分布,exponential family 是啥呢,其形式如下:

\[ p(y; \eta) = b(y)exp(\eta^TT(y)-a(\eta) )\]

指数族分布的参数 $\eta$ ,$T(y)$ 为关于 $y$ 的函数,$e^{-a(\eta)}$ 为归一化常量,使得 $\sum_y{p(y ; \eta)} = 1$.可见当固定参数 $T$,$a$,$b$ 便确定了一个参数为 $\eta$ 的 exponential family 分布,且一般有 $T(y) = y$ 。指数族分布有一堆优良的性质,在 MLAPP 里都有列出,这里只列出两个能看懂的,1)The exponential family is the only family of distributions for which conjugate priors exist, which simplifies the computation of the posterior; 这个是在说只有指数分布族才存在共轭先验.2) The exponential family can be shown to be the family of distributions that makes the least set of assumptions subject to some user-chosen constraints。这个是在说这个分布性质良好,MaxEnt性质的.

Bernoulli 与 Gaussian 均是 exponential family 中的一员。对于参数为 $\phi$ 的Bernoulli 分布:

\[p(y=1 ; \phi) = \phi ;  \ \ \ \ p(y=0 ; \phi) = 1- \phi\]

为了写成 exponential family 的形式:

\begin{aligned}
p(y;\phi)&=\phi^y (1-\phi)^{1-y} \\
&=exp\left (y\log\phi+(1-y)\log(1-\phi)  \right ) \\
&=exp\left (y\log \frac{\phi}{1-\phi}+log(1-\phi)  \right )
\end{aligned}

将Bernoulli 与 指数分布族对应起来:

\[T(y) = y\]

\[\eta = log\left ( \frac{\phi}{1-\phi} \right )\]

\[a(\eta) = –log(1-\phi)  =log(1+e^{\eta})\]

\[b(y) = 1\]

接下来看 Gaussian 分布,这里先做一个简单的假设 即另 $\sigma = 1$ ,因为 $\sigma$ 的取值第最后的结果没有任何影响:

\begin{aligned}
p(y;\mu)& =\frac{1}{\sqrt{2\pi}}\exp(-\frac{1}{2}(y-\mu)^2) \\
&=\frac{1}{\sqrt{2\pi}} \exp(-\frac{1}{2} y^2)\exp(\mu y-\frac{1}{2} \mu^2)
\end{aligned}

可见 Gaussian 与指数分布族的对应关系:

\[\eta = \mu\]

\[T(y) = y\]

\[a(\eta) = \frac{1}{2} \mu^2 = \frac{1}{2} \eta^2\]

\[b(y) = \frac{1}{\sqrt{2\pi}}exp \left( –\frac{1}{2} y^2 \right)\]

还有许多其他的分布也属于 exponential family ,比如 Multinomial、Possion 、Gamma、exponential、Beta、 Dirchlet 等分布 ,有了 exponential family 的概念之后,现在来看 GLM,考虑一个分类或者回归问题,我们的目标是预测 $y$ 的取值 ,这里 $y$ 是关于 $x$ 的函数,为了得到广义线性模型,我们要对模型做如下三个假设:

1)$[y|x; \theta] \sim p(\eta)$,这里的 p 即为某种 exponential family.

2)由于通常有 $T(y) = y$,所以只要建立一个假设函数 $y = h(x) =E[y|x; \theta]$.这里 h(x)即为得到的模型.

3)参数 $\eta$ 与 $x$ 是线性相关的, 即 $\eta = \theta^T x$.

这三个假设使得我们可以推导出一类有良好性质的学习算法,因为这可以帮助我们建立许多概率判别模型,因为以上三个条件联合起来就是说 $y \sim ExponentialFamily(\theta^Tx)$ ,所以 $y$ 的期望变为 $\theta^Tx$ 的函数即 $E[y|x] = h(x)$ :

对于 $p(y|x;\theta) \sim N( \mu ,\sigma^2)$ ,$x$ 的取值会导致不同的 $\mu$ ,则可以得到模型:

\[h(x) = E[y|x; \theta ] = \mu = \eta = \theta^Tx\]

因为 $y$ 是服从 exponential family 中的正态分布,所以有 $\mu = \eta $

而对于 $p(y|x;\theta) \sim Brenoulli( \phi)$:

\[ h(x) = E[y|x; \theta ] = \phi =\frac{1}{1+e^{- \eta}} =\frac{1}{1+e^{-\theta^Tx}} \]

还有当 $p(y|x;\theta) \sim Multinomial  ( \phi_1,\phi_2,…,\phi_k)$ 时,得到的 $h(x)$ 即为 softmax 了,所以不同的分布得到不同的模型,另外注意这些  MaxEnt 推倒得到的模型与极大似然估计得到的是一致的,详见最大熵模型 Maximum Entropy Model ,应该就是说对  exponential family  中的分布进行 MLE 得到的结果 是满足 Maxent 性质的,关于 MaxEnt 与 exponential family 还有待进一步多查阅资料。

广义线性模型 GLM的更多相关文章

  1. 从广义线性模型(GLM)理解逻辑回归

    1 问题来源 记得一开始学逻辑回归时候也不知道当时怎么想得,很自然就接受了逻辑回归的决策函数--sigmod函数: 与此同时,有些书上直接给出了该函数与将 $y$ 视为类后验概率估计 $p(y=1|x ...

  2. 广义线性模型(GLM, Generalized Linear Model)

    引言:通过高斯模型得到最小二乘法(线性回归),即:      通过伯努利模型得到逻辑回归,即:      这些模型都可以通过广义线性模型得到.广义线性模型是把自变量的线性预测函数当作因变量的估计值.在 ...

  3. 第三章 广义线性模型(GLM)

    广义线性模型 前面我们举了回归和分类得到例子.在回归的例子中,$y \mid x;\theta \sim  N(u,\sigma ^{2})$,在分类例子中,$y\mid x;\theta \sim ...

  4. 广义线性模型(GLM)

    一.广义线性模型概念 在讨论广义线性模型之前,先回顾一下基本线性模型,也就是线性回归. 在线性回归模型中的假设中,有两点需要提出: (1)假设因变量服从高斯分布:$Y={{\theta }^{T}}x ...

  5. Stanford大学机器学习公开课(四):牛顿法、指数分布族、广义线性模型

    (一)牛顿法解最大似然估计 牛顿方法(Newton's Method)与梯度下降(Gradient Descent)方法的功能一样,都是对解空间进行搜索的方法.其基本思想如下: 对于一个函数f(x), ...

  6. 机器学习 —— 基础整理(五)线性回归;二项Logistic回归;Softmax回归及其梯度推导;广义线性模型

    本文简单整理了以下内容: (一)线性回归 (二)二分类:二项Logistic回归 (三)多分类:Softmax回归 (四)广义线性模型 闲话:二项Logistic回归是我去年入门机器学习时学的第一个模 ...

  7. R语言-广义线性模型

    使用场景:结果变量是类别型,二值变量和多分类变量,不满足正态分布  结果变量是计数型,并且他们的均值和方差都是相关的 解决方法:使用广义线性模型,它包含费正太因变量的分析 1.Logistics回归( ...

  8. CS299笔记:广义线性模型

    指数分布族 我们称一类分布属于指数分布族(exponential family distribution),如果它的分布函数可以写成以下的形式: \[ \begin{equation} p(y;\et ...

  9. R语言实战(八)广义线性模型

    本文对应<R语言实战>第13章:广义线性模型 广义线性模型扩展了线性模型的框架,包含了非正态因变量的分析. 两种流行模型:Logistic回归(因变量为类别型)和泊松回归(因变量为计数型) ...

随机推荐

  1. iOS第三方语音-讯飞语音

    官方网站:http://www.xfyun.cn/ 注册还要绑定微信,坑啊,识别率感觉没得微信语音好,但是微信语音审核一直不过,研究下这个 1.下载sdk,主要就下面几个文件,我主要用的是语音识别

  2. oc和swift的混编

    参考:http://blog.sina.com.cn/s/blog_8d1bc23f0102v5tl.html swift中使用oc类的方法 1.创建一个oc.h文件 2.添加需要倒入的oc类的头文件 ...

  3. jquery mobile的学习资料

    磨刀不误砍柴工!想要学的快就得有好的资源.jquery mobile只是jquery的一个插件,所以相对简单易学.只要有jquery的基础就好.如果想修改东西的话,那么需要的知识就相对较多了. 书 & ...

  4. NtpClient

    http://www.baidu.com/link?url=IWGCXsX4Mns_ZjEF6HYEK156xCsndi9Bu1w3x_YiaJfdsr8vf0Q5worm43W3OiEmSHpzTp ...

  5. OSX Mavericks下使用Synergy进行多台主机通过wifi共享键鼠问题的解决方法

    转帖: OSX 10.9 几天用下来还是遇到几处问题的:之前先是遇到了OSX Mavericks GM598无法从Appstore升级到完全正式版的问题,下载无反应,后来找到了解决方法,发在以下链接: ...

  6. MySQL数据库的基本操作命令

    MySQL数据库的基本操作命令 [mysql]mysql 常用建表语句 一.mysql服务操作 net start mysql //启动mysql服务 net stop mysql //停止mysql ...

  7. C++运算符重载——重载特殊运算符

    1.重载赋值运算符= 赋值运算符用于同类对象间的相互赋值.赋值运算符只能被重载为类的非静态成员函数,不能重载为友元函数和普通函数. 对于用户自定义的类而言,如果没有重载赋值运算符,那么C++编译器会为 ...

  8. Android TextView 文字居中

    有2种方法可以设置TextView文字居中: 一:在xml文件设置:android:gravity="center" 二:在程序中设置:m_TxtTitle.setGravity( ...

  9. 快笑死,侯捷研究MFC的原因

    与我研究VCL框架代码的原因一模一样:就是N年了,感觉自己还是没有掌握Delphi,惊叹别人各种各样神奇的效果,自己却不会,更不知为什么这样做,离高手的距离还有十万八千里.而且编程的时候,就像侯捷说的 ...

  10. intelliJ IDEA中项目以jar包的形式导出

    在上一篇中把intelliJ IDEA安装并配置完事后,我们就可以写scala程序了.编写完scala程序后我们要把程序导出,上传到服务器上,在spark集群下运行,下面就讲一下包的导出过程以及包在服 ...