注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

行走的馒头

Stay Hungry, Stay Foolish

 
 
 

日志

 
 

三、Basis Expansion  

2012-09-01 22:15:49|  分类: 统计学习初探索 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

    在前面的linear regression中,我们都假设因变量Y与自变量X中是线性相关的,然而我们知道在实际情况中,往往不是简单的线性关系,这时可以把其映射到更加高维的空间使其可以呈现出线性关系。

先来看看线性的基扩展可以表示为

其中每个基函数可表示为 ,每个函数表示把原来的p维特征映射到一个新的特征。

  1. 对于,这是一个平凡的变换,这时新的特征空间跟原来的特征空间是一样的。
  2. 对于 ,表示把低阶的特征映射到新的高阶特征。
  3. 对于 ,允许我们对原特征空间做一些非线性的变换。
  4. 对于,允许我们把特征空间映射到某一个区域上去。

当然,前面的基函数是针对原来的整个特征空间,当然基函数可以是只针对原来的每个特征,这时基变换可表示为

 

Piecewise Polynomials and Splines

为了简单起见,我们这里先假设自变量X是一维的。这里我们的基变换piecewise polynomial function f(X),是在X的取值空间上划分一些连续的区域,在每个区域上做多项式变换。比如下面的基变换及其对应的图:

这里,可以看出,即每个区域中Y的均值。

当然,前面的这种方式太过简陋,拟合的效果多半不好,我们可以对每个区间做linear regression,这时只需要增加三个基变换函数,如下图所示

可以看到,在每个区域分别的做linear regression可能导致在结点(knots)处不连续,这时可以通过增加约束条件来是其连续。比如我们约束 , 则 ,可以看到通过增加约束条件使得自由的参数变少了,在这里的例子中,因为我们在两个结点处都有约束,所以我们的参数由原来的六个变为现在的四个了。其图可表示如下

在要求连续性的约束条件下,一种更加简单的方法是直接定义有约束的基变换方法,比如上面的例子可表示如下

这里  是指如果X大于,则其值为;如果X小于等于,其值为0。

可以看到,在前面的Piecewise Polynomials中,在每个区域用自变量的一阶泰勒展开去拟合还不够平滑,我们可以展开到更加高阶一点去更好的拟合。拟合所用的方法同样是最小二乘,可以把更加高阶的项看做是新的feature。比如下面两个图展示用在每个区域用三次多项式去拟合的情况。右边的图相比于左边加了两个约束条件使得在两个结点处连续。

更近一步,我们还可以增加更多的约束条件,譬如使在结点处不仅连续,而且一阶导和二阶导都连续,如下图所示。

上面二阶导连续的情况也叫做cubic spline,其基变换可表示如下

 

    更加一般的情况下,我们定义M阶的spline,假定其有K个结点,其在每个区域中都是M阶的多项式函数,在所有结点处连续,并且在所有结点处的阶的导数都连续。比如,上面提到的cubic spline对应于M=4,这里注意M阶的多项式函数对应于M-1次的多项式函数。M阶的spline的基变换可表示如下

在实际应用中我们一般都使用的spline,很少用到更加高阶的情况。结点固定的spline也叫做regression spline。

 

Natural Cubic Splines

Natural Cubic Spline是在cubic spline的基础上做了一点小小的改进。根据前面知道,cubic spline在第一个结点之前和最后一个结点之后我们没有进行piecewise的拟合,因为在minvalue和maxvalue处没有像在其他结点处那样保证有连续和多阶导数的连续。在这种情况下,对于测试数据,如果其X的值不在原来的范围内,那么拟合的值可能就会跟真实值相差很多,其实可以认为cubic spline更容易出现overfitting。Natural cubic spline要做的就是在边界处也增加两个结点,使得拟合的时候在边界处更加平滑。在实际应用中,很多情况下相比于cubic spline,我们更加倾向于使用natural cubic spline。对于有K个结点的natural cubic spline,其基变换对应于K个基函数,可表示如下

 

Smoothing Splines

    假定我们的拟合函数为,并且具有二阶导数。我们定义regularized的残差平方和表示如下

其中叫做smoothing parameter,也可以叫做complexity parameter,式中前面的项表示我们的model对数据的拟合情况,越小说明拟合的越好,也可以叫做bias越小。后面的项表示拟合的复杂度,值越大说明我们的模型越复杂和扭曲,更加容易出现overfitting,也可以看做variance很大。

的时候,可以是任何的函数,只要其能够interpolate所有的样本点,这时其模型可能非常复杂,扭曲。当的时候,,这时是线性函数,模型退化到用最小二乘去拟合,这时模型又是绝对的平滑。从大变小的过程就是模型逐渐平滑的过程。我们可以使用natural cubic spline来解决smoothing splines, 首先我们使用含有N个结点的natural cubic spline,即在每个样本 都对应于有一个结点,咋一看结点是不是有点多,不要担心,因为我们的目标函数残差平方和中有惩罚项,所以在优化的时候可以起到shrinking的作用。其可以表示为

其中, 是一个表示第j个基函数作用在这个样本上。所以 是一个 的矩阵,其中。

现在RSS可重写如下

其中

对上面的RSS求导我们得到参数的估计为

这样,拟合的smoothing spline 可表示为

 表示对所有训练样本拟合的值,用矩阵形式可表示如下

其中 被称为smoother matrix,它只依赖于 和 。

    

假设 表示对 原样本做基变换后的新样本矩阵,这里假设基变换是包含M个基函数的spline,对应于有 个结点 。我们可以对新的样本矩阵用最小二乘法,其拟合的样本数据的值可表示如下。这种方法叫做regression splines。

容易证明, 和 都是半正定的对称矩阵,的秩为N,的秩为M。我们定义smoothing spline的有效自由度为

所以当 确定的时候, 也就确定了,反之亦然。可以看到当  时, , ;当 时, ,这时就退化到linear regression。

 

 

Nonparametric Logistic Regression

在前面提到的logistic regression中,比如在处理二分类问题的时候,我们的model采用下面的形式

更加广义一点来看,我们可以改写成下面的形式

其中f(x)关于x可以是线性的,比如前面的logistic regression,也可以是通过基变换的函数,比如这里我们使用smoothing spline。这样我们的目标函数就可以改写为

其中,

通过前面的smoothing spline,我们知道

这样目标函数的一阶导和二阶导分别为

其中, 是N维向量,每一个元素对应于 。

用Newton-Raphson方法我们可以解得

 

 

Multidimensional Splines

前面都是假设自变量X的特征空间是一维的,现在我们扩展到多维的情况。比如当特征空间是二维的时候,对于特征 我们有一系列基函数对应的基变换

对于特征 我们也有一系列的基函数对应的基变换

那么,这时整个特征空间上的基变换可表示为

然后可以用最小二乘去求解。可以看到,当X的维度很多的时候,整个特征空间上基函数扩展的非常快,所以这种方法在高维空间处理起来很有难度,也就是常常所说的curse of dimensionality。

 

 

 

 

 

 


  评论这张
 
阅读(1999)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017