The Elements Of Statistical Learning – Basis Expansions And Regularization

好吧, 之前写了第7章的读书笔记,发现对书中的理解更加有条理。赶着估计还要等n久才能跑出结果的空隙,来回顾一下第五章的内容,简要做下记录.

类似于SVM中的低维变高维的过程,只不过此时对维度变换的过程做了较为全面的定义,可以理解为将低维空间的特征,经过某种变化,映射到新的空间中,只要映射函数选择得当,那么在新的空间中,原本不可分的数据呈现出线性可分的状态,这个时候,简单粗暴的线性模型就可以大行其道,分个痛快。 但是注意,在新的空间中数据可分,前提是我们要选对基函数~

这里将一般意义的特征扩维做了较为笼统的定义,定义基函数$h_m(x)$为对x的第m个基函数,其中,$h_m(x)$是定义域为$R^p$,值域为$\mathbb {R}$的函数,即将p维的特征向量映射为实数空间. 那么我们的模型$f(x)$可以表示为:

$f(x) = \sum_{i=1}^m{\beta_m h_m(x)}$ 其中,$h_m(x)$的典型定义如书中所示,其可以理解为从$\left \{x_1, x_2, x_3,\cdot\cdot\cdot, x_{p}\right \}$向$\left \{ h_1(x), h_2(x), \cdot\cdot\cdot,h_M(x)\right \}$的映射,然后在新的维度 $\left \{ h_1(x), h_2(x),\cdot\cdot\cdot,h_M(x)\right \}$中,用线性模型去进行拟合~

思路很好理解,实际中也有了许多应用,本章进一步探讨的是,如何使用basis expansion,使得$f(x)$更加的平滑.

这里的平滑的含义? 是指模型在拟合数据的时候,不会存在在某些点的时候,函数不可微的情况。

文中在讲多项式基函数的时候,纠结了很久,现在还不太明白,暂且搁置,以后弄明白了,再来修改.

一般而言,我们是选用分段多项式和样条技术来进行基底展开。一般而言,我们会得到一个基底函数集合,在选择基底函数构造模型的时候,也需要考虑在构造一般性模型时需要考虑的问题,即模型复杂度,文中给出了三种方法:模型约束,比如用增量模型(第9章会介绍,感觉ESL章节之间的联系很紧密啊),也就是实现约定函数的类型;选择和正则,感觉这个时候是将基底函数当成了特征来进行描述,所以很自然的用线性模型中的lasso和ridge来说明.

$\mathfrak 1 分段多项式和样条技术 $

接下来的讨论,X都是一维的~ 囧

此时分段就很容易理解了,即将x分成若干个区间,然后在不同的区间进行不同的基底函数展开。

$f(x)=\sum_{m=1}^{M}\beta_{m}h_m{X}$

其中,不难理解,$\hat \beta_{m}$为相应区间内$\hat y_m$的均值; 书中FIGURE 5.1左上图中,f(x)之所以是这样的,是因为使用了0-1函数,所以在每一段的f(X)值其实为$\hat \beta_m$,在右上图中,单独区间内使用linear fit的时候,增加了3个基底函数$h_{m+1}=h_m(x)x$,其中$h_m(x)=\hat \beta_m(x)$。

但是这个时候就出现了一个问题,段间不连续!好在可以增加约束条件 $f(\varepsilon_1)=f(\varepsilon_2)$,可以使得模型的复杂度降低(参数减少).

更加简洁的方法是直接定义带约束的基函数族~如果我们将局部基函数的阶数提高的话,我们可以得到平滑的拟合效果。但是如果能保证在更高阶也可微的情况下,那么我们就可以获得更加平滑的效果。书中关于cubic spline的图也说明了这个问题.

一般对于M阶K个断点的分段多项式而言,通常的基函数有如下定义:

$h_j(X) = X^{j-1}, j = 1,\cdot\cdot\cdot, M$

$h_{M+l}(X) = (X – \varepsilon_j)_{+}^{M – 1} l = 1, \cdot\cdot\cdot, K$

实际情况中,一般M取1,2,4。

多项式拟合数据本身就由非常大的过拟合风险,尤其对于spline.所有有了自然三次样条,增加了在边界点外部是线性的约束条件,由此可以减去4个自由度,从而可以增加4个节点。

K个节点的自然三次样条被表示成K个基函数

$N_1(x)=1,N_2(x)=x,N_{k+2}(x)=d_k(x)-d_{K-1}(x)$\\

$d_k(x) = \frac {(x-\varepsilon_k)_{+}^3 – (x-\varepsilon_K)_{+}^3 } {\varepsilon_k – \varepsilon_K}$

由此我们可以得到一个M*p的矩阵H,每一行代表对特征某一维度的基底展开,然后将输入样本特征在H上的投影作为模型的输入,比如线性逻辑回归。

对高纬特征的适当预处理一般而言能够改善模型的性能,像PCA等降维技术便是将高纬特征映射到低位空间,线性判别分析是将原始特征空间投射到某个低纬空间,使得类间距最大,类内方差最小,也是可以看做是对高维特征的处理。

当然了,如果可以很好的利用领域知识抽取适当的特征,对模型的提升效果也是不言而喻的,这也是为什么业界往往重视特征工程甚于模型的原因所在。在kaggle等比赛中,也往往是特征工程做的完美的team排名靠前。

但是,前面提到的三次样条和自然三次样条都存在一个先验的节点选择的过程,为了便面这个问题,引出了平滑样条方法。

个人理解是在最大节点集合中,使用正则的方法自动进行节点选择,这点非常有意思,和ridge regression和lasso regression中对参数的选择思想一致。只不过正则化系数$\lambda$在此变成了平滑系数,用以控制插值的平滑程度.

$\lambda=0$则使用了所有的结点,毫无疑问此时样条必将是十分扭曲,粗糙.

$\lambda=\infty $ 则样条点使用的会非常少,曲线会十分平滑,但是刻画模型却很粗陋。

所以$\lambda$的选择也需要人工?

后面的非参lr,高维样条,小波分析等 见参考文献.

参考文献:

http://www.loyhome.com/%E2%89%AA%E7%BB%9F%E8%AE%A1%E5%AD%A6%E4%B9%A0%E7%B2%BE%E8%A6%81the-elements-of-statistical-learning%E2%89%AB%E8%AF%BE%E5%A0%82%E7%AC%94%E8%AE%B0%EF%BC%88%E5%85%AB%EF%BC%89/

http://www.loyhome.com/%E2%89%AA%E7%BB%9F%E8%AE%A1%E5%AD%A6%E4%B9%A0%E7%B2%BE%E8%A6%81the-elements-of-statistical-learning%E2%89%AB%E8%AF%BE%E5%A0%82%E7%AC%94%E8%AE%B0%EF%BC%88%E5%85%AB%EF%BC%89/

Leave a Reply

Your email address will not be published. Required fields are marked *