广义线性模型是围绕指数分布族的,大多数分布都属于指数分布族,比如:Bernoulli伯努利分布、Gaussian高斯分布、multinomial多项分布、Poisson泊松分布、gamma分布、指数分布、Dirichlet分布……,服从指数分布族的条件是概率分布可以写成如下形式:
其中:
- η 是自然参数(natural parameter,also called thecanonical parameter),和分布有关。
- T(y) 是充分统计量 (sufficient statistic) ,一般情况下就是y。
- a(η) 是对数部分函数(log partition function),e-a(η)本质上起着规范化常数的作用,保证yd的概率分布总和∑ p(y|η)等于1(对于连续函数来说是积分)。
当T()、a()、b()固定之后实际上就确定了指数分布族中的一种分布模型,就得到了以η为参数的模型。如果T()、a()、b()选择某种特殊的函数形式,指数分布族就会退化为某种特殊的概率分布形式(比如二项分布、正态分布),具体的分布形式就会对应了具体的回归模型。
为什么要把 y 的条件分布定义为这么奇怪的指数分布族?这是因为,在这样的定义下,我们可以用数学证明:
-
P(y|η)的期望值
-
P(y|η)的方差
如此简洁的期望和方差意味着:一旦待估计的y 的概率分布写成了某种确定的指数分布族的形式(也就是给定了具体的T()、a()、b()),那么我们可以直接套用公式一构建回归模型。
广义线性模型对一般问题进行建模首先需要明确三个假设:
- p(y|x;θ)∼ExponentialFamily(η) —— 给定x和θ,y的分布服从某个指数族分布(nature parameter = η)。
- our goal is to predict the expected value of T(y) given x —— 给定x,学习的目标是预测在条件x下函数T(y)的期望值E(T(y)|x),绝大多数情况下函数T(y)=y,这就意味着我们希望预测E(y|x),我们定义假设函数(hypothesis)hθ(x) ,训练的目的是获得拟合函数hθ(x) = E(y|x)的参数θ。
以“逻辑回归”举例,其条件概率p(y|x;θ)服从高斯分布,高斯分布的期望是μ。假设函数hθ(x) = 0·p(y=0|x;θ) + 1·p(y=1|x;θ) = p(y=1|x;θ) = E(y|x;θ)。
- The natural parameter η and the inputs x are related linearly —— 参数η和输入x是线性相关的:η=θTx。
123
式子 ln(yi) = θ0 + xi1θ1 + xi2θ2+ ...+ xikθik + εi 是一个普通的线性回归,只是出现在左侧的是ln(yi)而不是yi。可被通用化表示为:ln(yi) = xi0θ0 + xi1θ1 + xi2θ2+ ...+ xikθik + εj =θTxi + εi ,其中xi0=1。
所有线性回归都一样,有:E(ln(yi)) = E(θTxi + εi) = xi0θ0 + xi1θ1 + xi2θ2+ ...+ xikθik + E(εi)
我们假设每个特征值的误差 εi 都满足独立、同分布的正态分布:εi ϵ N(0, (σε)2),εi的期望E(εi)=0,因而有:E(ln(yi)) = E(θTxi),所以,只要确定了θ,这个模型便能够估计出ln(yi)的概率分布期望。
事实上,我们对 E(ln(yi) 的取值并没有兴趣,我们真正感兴趣的是yi,因为yi符合某种指数型概率分布,如果模型能够根据xi预测出yi的取值期望E(yi),相当于间接确定了yi的概率分布(E(yi)决定了yi的分布)。
(1) 把 ln(yi) = θTxi + εi 变形得: yi = exp(θTxi + εi)
(2) 求期望:E(yi) = E( exp(θTxi + εi) ) = E( exp(θTxi) * exp(εi) ) = exp(θTxi) * E( exp(εi) )
(3) 对于εi ϵ N(0, σ2)来说,E( exp(εi) ) = exp(σ2/2),这样有:E(yi) = exp(θTxi) * exp(σ2/2)
由此可见,如果想要预测yi的期望值,必须:
(1) 计算ln(yi)的值。
(2) 计算幂指数 exp(ln(yi))。
(3) 计算幂指数exp(ln(yi))乘以exp(σ2/2),σ2是回归模型的均方根误差(标准误差)。
根据假设二,给定x,我们希望训练出参数θ来预测E(y|x),也即获得能够拟合函数hθ(x) = E(y|x)的参数θ。
伯努利分布 > Logistics回归:
伯努利分布只有0、1两种情况,因此它的概率分布可以写成:
写成指数族分布的形式有:
这样在指数族分布中: B(y) = 1; T(Y) = y;
这样有E(T(Y))= E(y),根据假设二,给定x,我们希望训练出参数θ来预测E(y|x),也即获得能够拟合函数hθ(x) = E(y|x)的参数θ。伯努利分布的期望E(y|x):
所以,我们需要训练参数来拟合下面的函数:
又有:
所以:
也即:
可见,给定x,我们可以通过θTxi线性拟合出η,η决定了y所服从的指数模型的分布特征,所以η的表达式一定包含决定y分布的关键因子,这个因子一定直接影响了y分布的期望。所以,由η一定能够通过某种转换得到y分布的期望,也即hθ(x)。
这样,我们可以找到θTxi和期望hθ(x)的关系,用指数函数的形式表达出来。而期望hθ(x)通常被当作yi的估计值,因此这个关系就相当于建立了yi和θTxi的关系,进而根据训练集的各个(yi, xi)便能够确定模型参数θ。
模型训练结束后,给定任意 xi,便能输出预测E(yi),而E(y)据定了yi的概率分布P(yi),便可以得到各种yi取值的概率。