指数族和广义线性模型推导
指数族和广义线性模型推导
线性回归和逻辑回归
在推导指数族相关内容前,先关注最普通的线性回归和逻辑回归。
之前我们默认了损失函数定义为平方误差,即如下损失函数($ x^{i} $ 默认在最后一维补充常数 $ 1 $ 以实现偏差):
其计算结果(预测值)是 $ \hat{y}^{(i)} = \theta ^ T x ^ {(i)} $。
而逻辑回归,我们默认采用 Sigmoid 函数 $ g(z) = \frac{1}{1 + e^{-z}} \in (0, 1) $,我们的目标是最大化似然函数,并用梯度下降最大化对数似然估计:
逻辑回归的预测值是 $ \hat{y} ^ {(i)} = \operatorname{round}(g(\theta ^ Tx ^ {(i)})) $。
接下来通过对指数族以及广义线性模型的分析,指出线性回归和逻辑回归都是其中的特例。
指数族以及经典分布
指数族是一类随机分布,其概率密度为 \(P(y;\eta)=b(y)\exp(\eta^TT(y)-a(\eta))\)。需要指出的是,绝大多数情况(比如以下的三个例子)下,\(T(y)=y\)。因此,我们只需要确定在不同分布下,\(b(y),a(\eta)\) 的取值。
伯努利分布
随机变量 \(y\) 只取 \(0,1\),\(y\sim B(\phi)\) 即 \(P(y=1)=\phi,P(y=0)=1-\phi\)。我们可以统一写作:
接下来整理形式说明伯努利分布属于指数族:
我们可以取:
其中 $ \phi = \frac{1}{1 + e^{-\eta}}, a(\eta) = ln(1 + e^{\eta}) $。
高斯分布
随机变量 \(y\) 取实数,\(P(y;\mu)=\frac{1}{\sqrt{2\pi}}\exp\left(-\frac{(y-\mu)^2}2\right)\)。同样地整理形式:
取 \(b(y)=\frac{1}{\sqrt{2\pi}e ^ {-\frac{y ^ 2}2}}\),\(\eta=\mu\),\(a(\eta)=\frac 12\mu ^ 2=\frac 12\eta ^ 2\)。
泊松分布
随机变量 \(y\) 取自然数,\(P(y;\lambda)=\frac{e^{-\lambda}\lambda^{y}}{y!}\)。
取 \(b(y)=\frac{1}{y!}\),\(\eta=\ln\lambda\),\(a(\eta)=\lambda=e^{\eta}\)。
指数族的性质
不加证明地指出:
- 期望 \(E(y;\eta)=\frac{\mathrm{d}}{\mathrm{d}\eta}a(\eta)\);
- 方差 \(V(y;\eta)=\frac{\mathrm{d}^2}{\mathrm{d}^2\eta}a(\eta)\)。
广义线性模型
根据预测值的类型,我们可以选择分布:
- 如果是 01 分类,则采用伯努利分布;
- 如果是连续实数,则采用高斯分布(实际上大多数情况都可以用高斯分布近似处理,尽管无法证明其遵从高斯分布);
- 如果是正整数,如事件发生次数,则采用泊松分布。
广义线性模型的方法是:无论确定何种指数族分布,总是预测 \(\eta=\theta ^ Tx\),并且采用最大似然估计来取得最合适的预测。设数据集为 \(\{(x ^ {(i)},y ^ {(i)})\}_{i=1}^m\),则似然函数为:
而我们的预测值是分布的期望 \(E(y;\eta)=\frac{\mathrm{d}}{\mathrm{d}\eta}a(\eta)\),这也是一种比较自然的选择。
回顾线性回归
线性回归针对连续实数,因此关注高斯分布。直接取对数似然函数(将一些与 \(\theta\) 无关的式子记为常数 \(C\)):
最大化上式则需最小化平方误差。也即,平方误差的本质是最大对数似然。
同时,高斯分布的均值为 \(\mu=\eta=\theta ^ Tx\),作为预测值,也不是随意指定的。当然也可以严格地对 \(a(\eta)\) 求导得到 \(E(y)=\mu\)。
回顾逻辑回归
现在我们知道逻辑回归实际上是在做伯努利分布的最大似然估计。那么为什么采用 sigmoid 函数为预测值?按照广义线性回归,返回值为期望,即 \(\phi\)。
而根据刚才的推导 \(\phi=\frac{1}{1+e ^ {\theta ^ Tx}}\),也即 sigmoid 函数。