注:所有图片均来自[1]
前两篇分别介绍了线性回归和logistic regression。可以看到这两个模型参数更新公式是一样的。这并非巧合,而是因为它们都属于广义线性模型(Generalized Linear Models)。首先引入exponential family的概念。如果一类分布(a class of distribution)属于exponential family,那么它能写成如下形式:
(1)其中
被称为正规参数canonical parameter。
被称为充分统计量(sufficient statistic)
被称为log partition function.
其实起到使这个概率函数归一化的作用。
指定T,a,b,就唯一确定了一个分布族(a family of distributions)。而不同的 确定了该族中不同的分布。如N(0,1)和N(1,3)。
伯努利分布
令伯努利(Bernoulli)分布中,
对应(1)式,有
即 (2)
高斯分布
由于线性回归对应的高斯分布中,方差delta^2与模型无关。因此为方便起见令delta^2 = 1。我们有
可见高斯分布也是exponential family中的一员,其中
(3)
[1]指出,除了上述两个分布,多项式分布(multinomial),泊松分布(poisson),gamma,beta,Dirichlet均属于exponential family。
我们已经看到linear regression 和 logistic regression分别对应的Gaussian distribution 和 Bernoulli distribution可以表示成exponential family,那么这两个学习算法又是如何从exponential family中得到的呢?为了得到分布对应的机器学习算法,除了满足属于exponential family的条件外,我们还需要几个前提条件:
(1)我们的目标是预测给定x时, 的期望值。由于 一般等于y,所以要有如下等式成立:
(2) 与输入x是线性相关的:
有了这些前提和之前的公式(2)(3)。对于伯努利分布,我们有对于高斯分布,我们有
看,这正是logistic regression 和linear regression对应的hypotheses。
Softmax Regression
好,现在来为一个不同的分布构造GLM算法——多项式分布。
令y取1 ~ k的概率分别为 ,则y的取值概率可以写成:于是有
进而可以得到
得到上式后,我们就可以按之前的流程来构造算法,如下
因为,这里是估计y取1 ~ k 的概率,所以统计量是k维向量。最后,只要使用gradient descent 或者 牛顿迭代法来求解参数即可。我们得到的这个对应多项式分布的机器学习算法被称为Softmax Regression,是logistic regression向高维的扩展。
参考文献:
[1] cs229 Machine Learning Lecture notes 1: "Supervised Learning, Discriminative Algorithms"