统计学习那些事
3. 结语
最后我想以讨论“模糊系统”和“统计学习”来结尾。这个话题非常具有争议,我就冒天下之大不讳吧,谈一谈我这几年的学习体会。记得十年前,立新老师曾经写过一篇文章《模糊系统:挑战与机遇并存——十年研究之感悟》,发表在2001年《自动化学报》上。我2005年看到的时候,敬仰之情,犹如滔滔江水。立新老师曾经有这么一句话:“If a method works well in practice, there must be some theoretical reasons for its success.”2005年的时候,我开始问自己什么使模糊系统的成功?立新老师认为有如下几个原因:1.模糊系统的通用逼近性能(Universal Approximator);2.模糊系统快速的构造算法,比如他自己的WM方法,Roger Jang的ANFIS等等;3.结果的可解释性;4.利用各种不同形式的信息。
下面我谈谈自己的看法,第一,通用逼近性能当然是一个好的性质,它表明模糊系统是很flexible的,但flexible的结构太多了,比如神经网络。问题往往不在flexible,而在太flexible导致overfitting。就如同SVM一样,没有L2-norm regularization,实践中的性能就会变得很差。第二,快速算法,这是好的方法必备的,SVM,Boosting,Random Forest的算法都很快,而且可以直接用到高维,这一点上,我没有看到模糊系统的优势。第三,可解释性:模糊系统对低维数据(比如2-4维)的确具有好的解释性(因为IF-THEN规则的前提和结论都很简洁),但这个时候其它工具也可以做得到,比如Gradient Boosting和Random Forests(很多例子可以在ESL这本书里看到)。第四,充分的利用各种信息。立新老师指的是IF-THEN规则可以比较自由灵活的加入先验知识,并在他的书里面详细给出实例。遗憾的是,这些例子都在处理低维空间的问题。如何用IF-THEN规则解构高维空间呢?我个人看不到它们特殊的优势。然而,在统计学习里,利用不同的先验知识处理高维空间的例子比比皆是,比如Sparsity,group-structure,smoothness等等。现在举一个Gradient Boosting machine(GBM,也叫MART)的例子来说明我的观点。根据Lasso和Boosting的关系,可以知道GBM已经用到了Sparsity的性质(L1-norm regularization)。GBM有两个参数可以反映我们的先验知识。第一个参数是深度(depth),控制每棵决策树的深度 。如果深度为1,即树桩结构(Stump),表明GBM将采用加法模型(Generalized Additive model),即不考虑变量之间的交互式作用(Interaction);如果深度大于1,则考虑交互式作用。因为交互式作用在非线性建模中比较重要,如异或(XOR)问题,没有考虑交互式作用将失败得很惨,所以这个参数设置反映了对非线性建模的先验。第二个参数是Shrinkage的大小。假设深度选取是合理的,在噪声比较小的时候,没有Shrinkage会比较好;噪声比较大的时候,有Shrinkage会好一些。实践中,使用GBM对高维数据分析,试错法(Trial and error)很容易使用,因为就这两个参数(通常depth=3~4;实际数据的噪声往往比较大,推荐设置Shrinkage=0.01)。模型构建好之后,GBM会告诉你哪些变量是重要的,变量之间的交互式作用如何等等,这样模型的结果也是比较容易理解。Random Forests也有相似的功能。好了,最后借Hastie教授的一幅图来总结一下,无疑,GBM(MART)是他们的最爱,也是我的最爱。