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

    在我们的回归问题中,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)即可。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,794评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,050评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,587评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,861评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,901评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,898评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,832评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,617评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,077评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,349评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,483评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,199评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,824评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,442评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,632评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,474评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,393评论 2 352

推荐阅读更多精彩内容