通用线性模型(GLMs,Generalized Linear Models)

来源:互联网 发布:知乎的经典评论 编辑:程序博客网 时间:2024/06/05 20:55

    • 预备知识
    • 问题
    • 总结

相信对于大部分机器学习的初学者,都会看了斯坦福大学吴恩达的机器学习公开课,听过的话对于通用线性模型(GLM,Generalized Linear Models)获取有一点不太理解,尤其是像我一样对于一些数学知识不太了解的同学。这篇博客就写一下我对通用线性模型的理解,这只是我的理解,不一定正确,如果有不同的理解或者我理解错的点,请评论互相交流,谢谢O(∩_∩)O~~

预备知识

再讲通用线性模型之前一般都会学习线性回归和Logistic回归,在求解回归问题时的迭代方法,这两种回归方式的求解都有相似的迭代公式(吴恩达讲义中的表示)

θ:=θ+α(y(i)hθ(x(j)))x(j)j
其中θ为向量。而之后所讲的通用线性模型就是为了揭示这两种回归模型之间有什么联系以及区别。
在构造通用线性模型之前,首先做了三个假设:

(1) y|x;θExponentialFamily(η) 即y是参数为η的指数族分布
(2) 我们的假设h,应该满足h(x)=E(h(y)|x)
(3) 假设第一条假设中指数组分布的参数ηx是有线性关系的,即η=θTx

下面将会探讨我说想到的问题。

问题

  • 1、为什么要假设yExponentialFamily(η)
  • 2、第二条假设h(x)=E(h(y)|x)有什么依据吗?
  • 3、为什么要假设参数ηx是有线性关系的?
  • 4、通用线性模型到底揭示了什么,和线性回归模型以及Logistic回归模型是什么关系?
  • 5、在讲解Softmax回归过程中,为什么要将T(y)写成一个向量的形式?

以上便是我在学习通用线性模型过程中思考的几个问题。

  • 1、为什么要假设yExponentialFamily(η)

我的思考:其实对于这个问题,我并没有想明白,如果你想明白了或者有答案请留言评论。对于Exponential Family(可以参考Wikipedia),其实我们常见的很多分布都是属于Exponential Family,我们常见的有正态分布、beta分布、Poisson分布、gamma分布、categorical分布等等。以我现在的思考以及我有限的统计学知识来看,我感觉y不必满足Exponential Family,但是通用线性模型的定义也许就局限在了Exponential Family里,当扩展到更广的统计模型之后,就不叫通用线性模型了,而是更通用的模型。

  • 2、第二条假设h(x)=E(h(y)|x)有什么依据吗?

我的思考:其实这是一个比较好理解的假设,我们通过x来预测y,对于一个给定的xi,它所对应的yi值也许就符合一定的分布,比如对于二分类问题,我们认为yi是符合伯努利分布的,因为yi只能取01两个值,对于给定的xi所对应的yi也许满足yiB(1,0.7),也许满足yiB(1,1),我们所想到的当然是去预测值yi的均值作为最终的预测结果。

  • 3、为什么要假设参数ηx是有线性关系的?

我的思考:至于这一条假设,完全是由于通用线性模型中的“线性”这两个字的关系,如果推广到更加通用的模型中,我认为完全可以可以把这个假设推广到更一般的函数,即η=f(x)

  • 4、通用线性模型到底揭示了什么,和线性回归模型以及Logistic回归模型是什么关系?

我的思考:我认为,通用线性模型是从统计学的角度进行思考,而对于线性回归也许是从数值分析的角度进行思考。
首先对于线性回归,如果学过数值分析的话也许就会觉得和数值分析的插值逼近很像,而数值分析中的差值逼近却可以模拟任意阶的函数,不止是线性函数。比如对于本应该符合二次函数的数据集,我们用线性回归模型绝对不能很好的进行预测,这时候可以这样假设h(x)=12xTQx+bTx+c。所以在线性回归模型中,我们考虑的是训练集中所有y值符合什么样的模型,如果认为符合线性模型,就假设h(x)=θTx,如果符合二次函数模型,就假设h(x)=12xTQx+bTx+c
然后对于通用线性模型,与前面不同,我在构架模型的过程中并没有从全局的y值出发,而是从一个单独的y出发,即xi对应的yi出发,先看yi符合什么样的分布,比如在前面举例中,我们可以认为对于二分类问题,yi符合伯努利分布;而在回归任务中,我们可以认为yi符合正态分布;在多分类任务中,我们可以认为yi符合多项式分布,等等。然后我们通过假设h(x)=E(h(y)|x)来得到h(x)的表达式。这与现行回归中直接假设h(x)是不一样的,显然这种方式更具有一般性,也更具与通用性。
注:如果我们假设yExponentialFamily(η),那么得到的h(x)是一个含有参数η的函数,我们通过建立ηx之间的关系,来消去η。比如我们在通用线性模型中认为η=θTx,而这个函数就是讲义中所说的联系函数(link function)。当然,这个联系函数可以扩展到普通的函数中,比如,对于符合二次函数模型的一组数据,我们就可以假设η=12xTQx+bTx+c。现在回过头看看我对第一个问题和第三个问题的思考,现在应该知道我为什么会那样认为了吧。

  • 5、在讲解Softmax回归过程中,为什么要将T(y)写成一个向量的形式?

我的思考:关于这个问题,我在wikipeia上的Categorical distribution上找到了答案,我就不再赘述,这样假设其实是一种等价的假设方法。我将主要内容粘贴如下,有兴趣的同学可以查看完整词条。

another formulation makes explicit the connection between the categorical and multinomial distributions by treating the categorical distribution as a special case of the multinomial distribution in which the parameter n of the multinomial distribution (the number of sampled items) is fixed at 1. In this formulation, the sample space can be considered to be the set of 1-of-K encoded random vectors x of dimension k having the property that exactly one element has the value 1 and the others have the value 0. The particular element having the value 1 indicates which category has been chosen.The probability mass function f in this formulation is:

f(x|p)=i=1kpxii
where pi represents the probability of seeing element i and ipi=1.

总结

有了以上思考之后,我们就不难理解通用线性模型与线性回归之间的管理,可以看到通用线性模型是更加简单通用的模型,我们只需要考虑yi符合什么样的分布即可,对于不同的分布我们能得到不同的h(x)(对于不同的分布,我们能得到关于η的不同的函数),之后便可以通过最大似然估计等方式求得参数的值即可。

说明:以上内容只是基于我现有只是对通用线性模型的思考,也许并不正确,有错误的地方希望大家指正。

阅读全文
0 0