Loading [MathJax]/jax/element/mml/optable/GeneralPunctuation.js

广义线性模型 GLM

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

这里来看线性回归,给定数据集 {(xi,yi)}Ni=1xiyi 的关系可以写成 yi=θTxi+ε 的形式,这里 ε 为一个误差项 且满足 εN(0,σ2) ,这意味着对于相应变量 yiN(θTxi,σ2) ,即 有:

p(yi|xi;θ)=12πσexp((yθTxi)22σ2)

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

Ni=112πσexp((yiθTxi)22σ2)

因此可以得到似然函数:

L(θ)=Ni=1log12πσexp((yiθTxi)22σ2)=mlog12πσ1σ2(12Ni=1(yiθTxi)2)

也就是说,极大化似然函数 等价于极小化 12Ni=1(yiθTxi)2 即可,这便是最小均方的由来了.至于 Logistic Regression 更是显而易见的可以通过极大似然得到,可见这两种模型之间自有一些联系。

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

p(y;η)=b(y)exp(ηTT(y)a(η))

指数族分布的参数 ηT(y) 为关于 y 的函数,ea(η) 为归一化常量,使得 yp(y;η)=1.可见当固定参数 Tab 便确定了一个参数为 η 的 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 中的一员。对于参数为 ϕ 的Bernoulli 分布:

p(y=1;ϕ)=ϕ;    p(y=0;ϕ)=1ϕ

为了写成 exponential family 的形式:

p(y;ϕ)=ϕy(1ϕ)1y=exp(ylogϕ+(1y)log(1ϕ))=exp(ylogϕ1ϕ+log(1ϕ))

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

T(y)=y

η=log(ϕ1ϕ)

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)参数 \etax 是线性相关的, 即 \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 还有待进一步多查阅资料。

posted @   ooon  阅读(1856)  评论(0编辑  收藏  举报
编辑推荐:
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
· 程序员常用高效实用工具推荐,办公效率提升利器!
点击右上角即可分享
微信分享提示