指数族和广义线性模型推导

指数族和广义线性模型推导

线性回归和逻辑回归

在推导指数族相关内容前,先关注最普通的线性回归和逻辑回归。

之前我们默认了损失函数定义为平方误差,即如下损失函数($ x^{i} $ 默认在最后一维补充常数 $ 1 $ 以实现偏差):

\[L(\theta) = \frac 12\sum_{i = 1}^m(y^{(i)} - \theta^Tx^{(i)})^2 \]

其计算结果(预测值)是 $ \hat{y}^{(i)} = \theta ^ T x ^ {(i)} $。

而逻辑回归,我们默认采用 Sigmoid 函数 $ g(z) = \frac{1}{1 + e^{-z}} \in (0, 1) $,我们的目标是最大化似然函数,并用梯度下降最大化对数似然估计:

\[\begin{aligned} L(\theta)&= \sum_{i = 1}^{m}\big(g(\theta ^ Tx ^ {(i)})\big) ^ {y ^ {(i)}}\big(1 - g(\theta ^ T x ^ {(i)})\big)^{1 - y^{(i)}}\\ l(\theta)&= \ln L(\theta) = \sum_{i = 1} ^ {m}y ^ {(i)}\ln g(\theta ^ Tx ^ {(i)}) + (1 - y ^ {i})\ln(1 - g(\theta ^ Tx ^ {(i)})) \end{aligned} \]

逻辑回归的预测值是 $ \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\)。我们可以统一写作:

\[P(y; \phi) = \phi^{y}(1 - \phi)^{1 - y} \]

接下来整理形式说明伯努利分布属于指数族:

\[\begin{aligned} P(y; \phi) &= \exp(y \ln \phi + (1 - y)\ln(1 - \phi))\\ &= \exp\left(\ln {\frac{\phi}{1 - \phi}}y + \ln(1 - \phi) \right) \end{aligned} \]

我们可以取:

\[b(y) = 1, \eta = \ln{\frac{\phi}{1 - \phi}}, a(\eta) = -\ln(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)\)。同样地整理形式:

\[\begin{aligned} P(y;\mu)&=\frac{1}{\sqrt{2\pi}}\exp\left(-\frac12y ^ 2+\mu y-\frac 12\mu ^ 2\right)\\ &=\frac{1}{\sqrt{2\pi}e ^ {-\frac{y ^ 2}2}}\exp\left(\mu y - \frac 12\mu ^ 2\right) \end{aligned} \]

\(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!}\)

\[\begin{aligned} P(y;\lambda)&=\frac{1}{y!}\exp(\ln\lambda y-\lambda) \end{aligned} \]

\(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\),则似然函数为:

\[L(\theta)=\sum_{i=1} ^ mP(y ^ {(i)};\theta ^ Tx ^ {(i)}) \]

而我们的预测值是分布的期望 \(E(y;\eta)=\frac{\mathrm{d}}{\mathrm{d}\eta}a(\eta)\),这也是一种比较自然的选择。

回顾线性回归

线性回归针对连续实数,因此关注高斯分布。直接取对数似然函数(将一些与 \(\theta\) 无关的式子记为常数 \(C\)):

\[\begin{aligned} \ln L(\theta)&=\sum_{i=1} ^ mC+\left(-\frac{(y ^ {(i)}-\theta ^ Tx ^ {(i)})^2}2\right)^2\\ &=C - \frac 12\sum_{i=1} ^ m(y-\theta ^ Tx ^ {(i)})^2 \end{aligned} \]

最大化上式则需最小化平方误差。也即,平方误差的本质是最大对数似然。

同时,高斯分布的均值为 \(\mu=\eta=\theta ^ Tx\),作为预测值,也不是随意指定的。当然也可以严格地对 \(a(\eta)\) 求导得到 \(E(y)=\mu\)

回顾逻辑回归

现在我们知道逻辑回归实际上是在做伯努利分布的最大似然估计。那么为什么采用 sigmoid 函数为预测值?按照广义线性回归,返回值为期望,即 \(\phi\)

而根据刚才的推导 \(\phi=\frac{1}{1+e ^ {\theta ^ Tx}}\),也即 sigmoid 函数。

posted @ 2023-02-22 22:31  Lucky_Glass  阅读(89)  评论(0编辑  收藏  举报
TOP BOTTOM