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. 免安装jdk 和 免安装tomcat

    免安装tomcat 运行的时候要执行免安装的 jdk,可以进行如下设置. 在 startup.bat 里加上这么一句, set "JAVA_HOME=C:\jdk1.6.0_43"

  2. java 格式化代码 不进行换行

    此处无声胜有声.

  3. Oracle MySQL

    http://blog.jobbole.com/46510/ http://blackproof.iteye.com/blog/1570456 http://blog.csdn.net/yzsind/ ...

  4. POJ 1523 SPF(求割点)

    题目链接 题意 : 找出图中所有的割点,然后输出删掉他们之后还剩多少个连通分量. 思路 : v与u邻接,要么v是u的孩子,要么u是v的祖先,(u,v)构成一条回边. //poj1523 #includ ...

  5. hadoop jobhistory解析工具汇总

    1. White Elephant是LinkedIn开源的一套Hadoop 作业日志收集器和展示器,使用mapreduce作业解析jobhistory日志,得到每个用户使用的资源情况,并通过网页展示. ...

  6. 关于CStdioFile的使用问题

    在win32控制台调试如下程序 #include "stdafx.h"#include <afx.h>//#include <iostream>//usin ...

  7. run fsck manually

    就出现unexpected inconsistency run fsck manually这个问题了. 磁盘出问题,需要用 Fsck修复... 解决方案: 在命令行输入#mount | grep ”o ...

  8. ios开发 ad hoc

    iOS证书分2种,1种是开发证书,用来给你(开发人员)做真机测试的:1种是发布证书,发布证书又分发布到app store的(这里不提及)和发布测试的ad hoc证书. 那ad hoc证书和开发证书区别 ...

  9. WAS集群服务的关闭与启动

    WAS集群服务的关闭与启动 欢迎转载,转载时请务必注明出处(http://blog.csdn.net/huangyanlong),否则作者保留追究版权法律责任. 表述有错误之处,请您留言或邮件(hyl ...

  10. javascript 中文数字阿拉伯数字转换类 Nzh

    之前工作中碰到了数字转中文的情景,网上找的现成方法或多或少不合我的口味,最后还是自已写了一个. 现在整理了一下,补充了繁体,自定义字符,以及反函数(中文数字转阿拉伯数字) 现在发布出来,希望能合大家的 ...