美文网首页
CS229学习笔记(三)——广义线性模型(Generalized

CS229学习笔记(三)——广义线性模型(Generalized

作者: RookieLiuWW | 来源:发表于2019-01-16 21:29 被阅读0次

    在我们的回归问题中,y|x;\theta~N(\mu ,\sigma^2),在我们的分类问题中,有y|x;\theta~Bernoulli(\phi )。在本节中,我们会看到这两种情况仅是广义线性模型(Generalized Linear Models, GLMs)的特殊情形。

(一)指数族(The exponential family)

    指数族中的分布可以写成下式:

                            p(y;\eta )=b(y)exp(\eta^T T(y)-a(\eta))

式中,我们称\eta为f分布的自然参数或者标准参数(natural parameter 或者 canonical parameter),T(y)为充分统计量(sufficient statistic)(我们考虑的分布中,一般T(y) = y),a(\eta)称为对数分割函数(log partition function),e^{-a(\eta)}起到归一化常数的作用,使得分布p(y;n)对所有y的积分/和为1。

    下面我们开始证明伯努利和高斯分布属于指数族分布。分布Bernoulli(\phi )表示,p(y=1;\phi)=\phi;p(y=0;\phi)=1-\phi。当\phi变化时,我们得到不同均值的伯努利分布。拥有变化的\phi值的伯努利分布属于指数族,即通过选择T, a, b可以将前面的等式变为伯努利分布的形式。

    我们将伯努利分布写为下列形式:

                                       p(y;\phi)=\phi^y(1-\phi)^{1-y}

                                                     =exp(y~log~\phi+(1-y)log(1-\phi))

                                                     =exp((log(\frac{\phi}{1-\phi}))y+log(1-\phi))

因此,自然参数\eta=log(\phi/log(1-\phi)),所以\phi=1/(1+e^{-\eta}),与S型函数形式相似。

其他参数的表达形式为:

                                                           T(y)=y

                                                            a(\eta)=-log(1-\phi)

                                                                     =log(1+e^\eta)

                                                            b(y)=1

让我们再来考虑高斯函数,回忆一下,当我们在推导线性回归时,参数\sigma^2对最终\thetah_\theta(x)的选择并无影响,为了简化推导,我们令\sigma^2=1,则:

                                       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)\cdot  exp(\mu y - \frac{1}{2} \mu^2)

所以:                                       

                                                 \eta = \mu

                                          T(y)=y

                                           a(\eta) = \mu^2/2

                                                    =\eta^2/2

                                           b(y)=(1/\sqrt{2\pi} )exp(-y^2/2).

    还有许多分布属于指数族:多项分布(multinomial)、泊松分布、伽马和指数分布、贝塔和耿里克雷分布等等。

(二)构建广义线性模型(Constructing GLMs)

假设你现在要在给定的特征量x,例如商品促销,天气,一周中的某一天等,去建模预测给定时间内到店里的顾客人数(或者网页的访问量)。我们知道,对于该类问题,我们一般选用泊松分布。幸运的是,泊松分布是一类指数族分布,所以我们可以使用广义线性模型。本节将介绍如何构建GLM模型解决该类问题。

    更普遍地,我们考虑一类分类或者回归问题,通过x的函数去预测随机变量y的值。为了该问题的导出广义线性模型,我们给出关于给定xy的情况分布和我们模型的三个假设:

1. y|x;\theta~ExponentialFamily(\eta),即给定x\thetay的分布服从参数\eta的指数族分布。

2. 给定x,我们的目标是预测给定xT(y)的数学期望值。在我们的大多数例子中,我们有T(y)=y,这意味着h(x)=E[y|x]

3. 自然参数\eta与输入x线性相关:\eta = \theta^Tx。(如果\eta为向量值,则\eta_i = \theta^T_ix。)

这三个假设允许我们推导出一类非常优雅的学习算法,即GLMs,它具有许多令人满意的特征,例如易用性。此外,模型的结果对y进行不同分布的建模都非常有效;例如,逻辑斯蒂回归与普通最小二乘都是广义线性模型。

(一)普通最小二乘(Ordinary Least Squares)

    为了展示普通最小二乘是GLM族中的一类特殊情形,令目标变量y(在GLMs术语中,也被称为响应变量(response variable))是连续的,且y关于x的条件分布服从高斯分布N(\mu,\sigma^2)(这里,\mu取决于x)。令上述假设中的ExponentialFamily(\eta)分布为高斯分布。根据之前推导的高斯分布的指数族形式,我们有\mu=\eta。所以:

                                            h_\theta(x)=E[y|x;\theta]

                                                        =\mu

                                                        =\eta

                                                        =\theta^Tx

(二)逻辑斯蒂回归(Logistic Regression)

    考虑伯努利分布,由之前的推导可知:\phi=1/(1+e^{-\eta}),又由伯努利分布的性质可知:如果y|x;\theta~Bernoulli(\phi),则E[y|x;\theta]=\phi。所以:

                                         h_\theta(x)=E[y|x;\theta]

                                                     =\phi

                                                     =1/(1+e^{-\eta})

                                                     =1/(1+e^{-\theta^Tx})

(三)Softmax回归

    考虑y可以取k个值的回归问题,即y \in \{ 1,2,...,k \},可通过多项式分布得到其GLM模型。

    使用\phi_1...\phi_k来表示对每个y可能的k个输出的概率,但由于他们并不独立(由于\sum\nolimits_{i=1}^k \phi_i=1 ),所有可仅选取k-1个参数,\phi_1...\phi_{k-1},这里\phi_i=p(y=1;\phi)p(y=k;\phi)=1-\sum\nolimits_{i =1}^{k-1} \phi_i,为了简洁符号,我们仍令\phi_k=1-\sum\nolimits_{i =1}^{k-1} \phi_i,但注意,\phi_k并不是一个参数。

    定义T(y)\in R^{k-1}如下:

与之前不同的是,T(y)  \neq y,而且,T(y)k-1维的向量而不是实数。我们将使用(T(y))_i表征T(y)中第i个元素的元素值。

    指示函数1 \{\cdot \}表示:当括弧内的语句为真时,函数值为1,当括弧内的语句为假时,函数值为0。所以T(y)y的关系可写做:(T(y))_i = 1\{ y =1\},所以E[(T(y))_i]=P(y=i)=\phi_i。现在我们证明多项式分布属于指数族。

\eta_i=log \frac{\phi_i}{\phi_k}(其中i=1,...,k),方便起见,我们仍定义\eta_k=log(\phi_k/\phi_k)=0。为了将连结函数转化为响应函数,我们得到:

                                                          e^{\eta_i}=\frac{\phi_i}{\phi_k}

                                                     \phi_k e^{\eta_i} = \phi_i

                                             \phi_k \sum_{i=1}^k e^{\eta_i} = \sum_{i=1}^k \phi_i =1

\phi_k=1/\sum\nolimits_{i=1}^k e^{\eta_i} ,带回\phi_k e^{\eta_i} = \phi_i,得到响应函数:

                                                         \phi_i=\frac{e^{\eta_i}}{\sum\nolimits_{j=1}^k e^{\eta_j}}

这个从\eta映射到\phi的函数被称为softmax函数。

    根据假设三,我们有\eta_i = \theta_i^Tx(对i=1,...,k-1),其中\theta_1,...\theta_{k-1}\in R^{n+1}是模型的参数。为了简化符号,我们同样定义\theta_k=0,则\eta_k=\theta_k^Tx=0。因此,我们的模型为:

                                               p(y=i|x;\theta) = \phi_i

                                                                       =\frac{e^{\eta_i}}{\sum\nolimits_{j=1}^k e^{\eta_j}}

                                                                      =\frac{e^{\theta_i^Tx}}{\sum\nolimits_{j=1}^k e^{\theta_j^Tx}}

这个模型被称为softmax回归模型(softmax regression),是逻辑斯蒂回归的推广。

模型将输出:

    最后,让我们考虑参数拟合问题。与普通最小二乘和逻辑斯蒂回归相似,如果我们对一个有m个例子的训练集\{ (x^{(i)},y^{(i)});i=1,...,m \},对参数\theta_i进行学习,首先先写出对数似然函数:

                                            l(\theta) = \sum_{i=1}^m log~p(y^{(i)}|x^{(i)};\theta)

                                                    =\sum_{i=1}^m  log \prod_{l=1}^k(\frac{e^{\theta_l^Tx^{(i)}}} {\sum\nolimits_{j=1}^k e^{\theta_j^Tx(i)}}) ^{1 \{ y^{(i)=1} \}}

然后使用梯度下降法或牛顿法去最小化对数似然函数l(\theta)即可。

相关文章

网友评论

      本文标题:CS229学习笔记(三)——广义线性模型(Generalized

      本文链接:https://www.haomeiwen.com/subject/hlhmdqtx.html