加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Generalized Additive Model

(2013-01-17 16:13:21)
标签:

杂谈

分类: 经典算法
传统数据分析中,线性方法是一类很重要的方法,它们可以提供对数据的预测,并给出输出和输入之间的关系,但在很多现实问题中,线性方法却往往不能很好地工作,因为输入和输出之间的关系往往是非线性的,对此我们可以利用Basis Expansion的方法来解决,除此之外也可以采用一种更灵活的方法,即Generalized Additive Model.
在Regression的Setting下,一个Generalized Additive Model有如下形式:
http://s14/mw690/a8fead9btd3519b5e5a0d&690Additive Model" TITLE="Generalized Additive Model" />
其中f_i是任意光滑的函数,一般我们采用一些函数估计的方法例如Smoothing spline或者Kernel smoother,然后采用一个算法来同时估计这p个函数。
在Classification的Setting下,我们将一个指定样本的后验概率与GAM利用logistic函数来联系起来,如下:
http://s4/mw690/a8fead9btd351b49f4c83&690Additive Model" TITLE="Generalized Additive Model" />
下面我们介绍一个GAM的训练算法,假设我们试图优化下列目标函数:
http://s1/mw690/a8fead9btd354267b6280&690Additive Model" TITLE="Generalized Additive Model" />
这来源于Squared-loss和Cubic Spline的结合,可以证明以上函数的最优解一定是一个additive cubic spline model,于是我们可以利用一种迭代的算法优化上面的目标函数,每次采用Smoothing spline求解其中一个函数f_j,循环优化各个函数直到收敛。
对于Classification的Setting下,我们转而优化Penalized-log-likelihood,如下:
http://s15/mw690/a8fead9btd378ac2c015e&690Additive Model" TITLE="Generalized Additive Model" />
每次针对一个函数f_j进行优化,我们利用Newton-Rhapson方法,考虑上式的Taylor二阶展开:
http://s3/mw690/a8fead9btd378a5fd1222&690Additive Model" TITLE="Generalized Additive Model" />
可以看出上式可以改写成一个带权的Squared-loss模式,因此可以利用Smoothing spline求解,具体算法如下所示:
1、初始化如下:
http://s4/mw690/a8fead9btd378ce4c0a53&690Additive Model" TITLE="Generalized Additive Model" />
2、针对每个数据i,计算下列数值:
http://s9/mw690/a8fead9btd378d3f31768&690Additive Model" TITLE="Generalized Additive Model" />
http://s13/mw690/a8fead9bt7b8c15b1340c&690Additive Model" TITLE="Generalized Additive Model" />
3、令j从1到p循环迭代,利用w_i作为权值,z_i作为目标利用Smoothing Spline求解更新f_j的值。
4、在f_j更新后,重新更新eta,p,z,w这些参数的值。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有