广义线性模型 GLM
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的更多相关文章
- 从广义线性模型(GLM)理解逻辑回归
1 问题来源 记得一开始学逻辑回归时候也不知道当时怎么想得,很自然就接受了逻辑回归的决策函数--sigmod函数: 与此同时,有些书上直接给出了该函数与将 $y$ 视为类后验概率估计 $p(y=1|x ...
- 广义线性模型(GLM, Generalized Linear Model)
引言:通过高斯模型得到最小二乘法(线性回归),即: 通过伯努利模型得到逻辑回归,即: 这些模型都可以通过广义线性模型得到.广义线性模型是把自变量的线性预测函数当作因变量的估计值.在 ...
- 第三章 广义线性模型(GLM)
广义线性模型 前面我们举了回归和分类得到例子.在回归的例子中,$y \mid x;\theta \sim N(u,\sigma ^{2})$,在分类例子中,$y\mid x;\theta \sim ...
- 广义线性模型(GLM)
一.广义线性模型概念 在讨论广义线性模型之前,先回顾一下基本线性模型,也就是线性回归. 在线性回归模型中的假设中,有两点需要提出: (1)假设因变量服从高斯分布:$Y={{\theta }^{T}}x ...
- Stanford大学机器学习公开课(四):牛顿法、指数分布族、广义线性模型
(一)牛顿法解最大似然估计 牛顿方法(Newton's Method)与梯度下降(Gradient Descent)方法的功能一样,都是对解空间进行搜索的方法.其基本思想如下: 对于一个函数f(x), ...
- 机器学习 —— 基础整理(五)线性回归;二项Logistic回归;Softmax回归及其梯度推导;广义线性模型
本文简单整理了以下内容: (一)线性回归 (二)二分类:二项Logistic回归 (三)多分类:Softmax回归 (四)广义线性模型 闲话:二项Logistic回归是我去年入门机器学习时学的第一个模 ...
- R语言-广义线性模型
使用场景:结果变量是类别型,二值变量和多分类变量,不满足正态分布 结果变量是计数型,并且他们的均值和方差都是相关的 解决方法:使用广义线性模型,它包含费正太因变量的分析 1.Logistics回归( ...
- CS299笔记:广义线性模型
指数分布族 我们称一类分布属于指数分布族(exponential family distribution),如果它的分布函数可以写成以下的形式: \[ \begin{equation} p(y;\et ...
- R语言实战(八)广义线性模型
本文对应<R语言实战>第13章:广义线性模型 广义线性模型扩展了线性模型的框架,包含了非正态因变量的分析. 两种流行模型:Logistic回归(因变量为类别型)和泊松回归(因变量为计数型) ...
随机推荐
- Difference Between Vector and Deque in C++
1) Dequeue can quickly insert or delete both at the front or the end. However, vector can only quick ...
- 全国DNS汇总
全国DNS汇总 来路不明的DNS服务器可能导致你的帐号密码轻易被盗,请谨慎使用!在中国大陆,最科学的方法是将首选DNS服务器设置为114.114.114.114,备用DNS服务器设置为当地电信运营商的 ...
- Win32应用程序中文支持
Settings--Editor---Encoding改为Windows 936 main.cpp中#include "locale.h" winmain中增加一行: setloc ...
- ExtJs之FieldSet和FieldContainer
<!DOCTYPE html> <html> <head> <title>ExtJs</title> <meta http-equiv ...
- hdu 4352 XHXJ's LIS 数位DP
数位DP!dp[i][j][k]:第i位数,状态为j,长度为k 代码如下: #include<iostream> #include<stdio.h> #include<a ...
- 简易解说拉格朗日对偶(Lagrange duality)(转载)
引言:尝试用最简单易懂的描述解释清楚机器学习中会用到的拉格朗日对偶性知识,非科班出身,如有数学专业博友,望多提意见! 1.原始问题 假设是定义在上的连续可微函数(为什么要求连续可微呢,后面再说,这里不 ...
- vi / vim 删除以及翻页 其它命令
vim中翻页的命令 vim中翻页的命令 整页翻页 ctrl-f ctrl-b f就是forword b就是backward 翻半页 ctrl-d ctlr-u d=down u=up 滚一行 ctrl ...
- mysql主从配置(转载)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://369369.blog.51cto.com/319630/790921 还可以参考 ...
- php 实现树形结构
<?phpclass Tree{ private $OriginalList; public $pk;//主键字段名 public $parentKey;//上级id字段名 public $ch ...
- IDEA中利用JUnit进行单元测试
打开IntelliJ IDEA工具,Alt+Ctrl+S,打开设置窗口,点击进入Plugins. 从插件资源库中搜索JunitGenerator V2.0版本