斯坦福机器学习实现与分析之四(广义线性模型)

指数分布族


   首先需要提及下指数分布族,它是指一系列的分布,只要其概率密度函数可以写成下面这样的形式:

\(\begin{aligned} p(y;\eta)=b(y)exp(\eta^TT(y)-a(\eta))\end{aligned}\)

  一般的很多分布(如高斯分布,泊松分布,二项式分布,伽马分布等)都属于指数分布族。该分布族有很多良好的特性,参见《Generalized Linear Models (2nd ed.)》一书3.3节。

 

广义线性模型构建假设


   广义线性模型主要基于以下假设:

    1.\(y|x;\theta\)的分布属于指数分布族

    2.预测值为\(T(y)\),因此模型就是\(E(T(y)|x)\)

    3.模型线性性,即\( \eta=\theta^Tx\)

 

线性回归与逻辑回归模型推导


   线性回归中,假设\(y|x;\theta\)服从高斯分布\( N(\mu,\sigma^2)\),则将其写成指数分布族形式如下:

\( \begin{aligned} p(y|x;\theta)&={\frac{1}{\sqrt{2\pi}\sigma}}exp(-\frac{(y-\mu)^2}{2\sigma^2})\\&={\frac{1}{\sqrt{2\pi}\sigma}}e^{-\frac{y}{2\sigma^2}}exp(\frac{{\mu}y}{\sigma^2}-\frac{\mu^2}{2\sigma^2}) \end{aligned} \)

  注意这里\(\eta\)和\(T(y)\)可以有多种取法满足上面这个式子,但根据上面假设的第二条,由于我们需要预测的是\(y\),则\(T(y)=y\),从而就有

\(\begin{aligned} b(y)= {\frac{1}{\sqrt{2\pi}\sigma}}e^{-\frac{y}{2\sigma^2}}\end{aligned}\)

\(\begin{aligned} \eta =\frac{\mu}{\sigma^2}\end{aligned}\)

\(\begin{aligned} a(\eta)=\frac{\mu^2}{2\sigma^2}\end{aligned}\)

   从而:

\(\begin{aligned} h_\theta(x)=E(y|x;\theta)=\mu=\sigma^2\eta=\sigma^2\theta^Tx \end{aligned}\)

  这里\(\begin{aligned}\sigma^2 \end{aligned}\)是一个常数,则上式可写为:

\(\begin{aligned} h_\theta(x)=\theta^{'T}x \end{aligned}\)

  此即为线性回归中使用的线性模型的来源。同理,对于逻辑回归,有

\( \begin{aligned} p(y|x;\theta)&=\phi^y(1-\phi)^{1-y}\\&=exp(ylog{\phi}+(1-y)log{(1-\phi)})\\&=exp(log{\frac{\phi}{1-\phi}}+log(1-\phi)) \end{aligned} \)

  则

\(\begin{aligned} T(y)=y \end{aligned}\)

\(\begin{aligned} b(y)= 1 \end{aligned}\)

\(\begin{aligned} \eta =log{\frac{\phi}{1-\phi}} \end{aligned}\)

\(\begin{aligned} a(\eta)=-log(1-\phi)\end{aligned}\)

   由此可得:

\(\begin{aligned} \phi=\frac{1}{1+e^{-\eta}} \end{aligned}\)

  故而有

\( \begin{aligned} h_\theta(x)=E(y|x;\theta)=\phi=\frac{1}{1+e^{-\eta}}=\frac{1}{1+e^{-\theta^T{x}}} \end{aligned}\)

  此即为逻辑回归使用的模型。

  同理,对于其他分布,我们也可以写出对应的回归模型。上面给出了线性回归和逻辑回归的模型,通过最大似然估计与梯度下降法,即可求出参数。

 

问题与思考


  1.构建GLM的三条假设,其中假设一在此模型构建中起了什么作用,目前还未理解。假如分布不属于指数分布族,那是否也可以构建其他形式的线性模型?有理解的同学望不吝赐教。

  2.假设三即是模型的线性假设,这也能说明了逻辑回归只能处理线性可分情况

posted @ 2015-04-13 16:36  过客冲冲  阅读(1203)  评论(0编辑  收藏  举报