主题:【原创】抛砖!模式识别和机器学习、数据挖掘的区别与联系 -- 永远的幻想
这节开始标题换了,因为对这本书想多说几句。
正式开始之前,先摆出南寒网友提到的问题:
我现在混饭吃的地方,管这一堆东西叫DM;我们用的时候大都是立足于现成的软件包。
我的基本感觉是,这堆东西,你要是就是拣点出来用用,似乎不难;尤其是已经有了个现成的软件包,而且你的目的和任务已经由于历史性的原因非常明确了。
我的理解,如果冒昧地说一下,永远兄的环境,似乎是要从零开始-当然基本的理论和算法已经在那儿了,搞出个应用于某个任务的新"程序"。如果方便的话,能不能说说你要解决的问题都是哪些方面的。
我的疑惑在于,一直不是很清楚基本的框架(Framework):要敲钉子找榔头、要卸螺丝拿扳手,看不到这些技术之间的联系。与此相关的是,这里涉及到计算机、数学、统计(经济、生物、营销等若干学科都有自己的概念/名词体系)、自动化,我的理解是各个学科里面拿出一块或几块,然后放在了一起,到底是哪几块、是怎么凑在一起的(也许根本就没凑在一起)?找了些书看,看着看着就被绕进去了。
不知永远兄和其他各位,如果有空的话,能否释疑解惑一二,我先谢谢大家。
其实前面帖子的回复里我提到一点了,我现在主要是做图像视频中的目标检测、跟踪。应用环境的软硬件限制了,肯定没法用现成的软件包的,肯定是要自己写程序。而且要兼顾ROC和运行时的时间、空间复杂度。
当然还干些别的,个人兴趣也不止于此,比如这几天就去鼓捣股指去了,这篇才一直没动笔。
——————————————————————————————————————
关于框架,其实是我最想说,但是也最难下笔的问题。
其实学任何一个专业,如果没有一个高屋建瓴的视角看待这个学科,如果心中没有一个脉络把“榔头,扳手”这样的“知识点”串成一个体系,那不管是复习应付考试还是想在实际中把知识应用起来,都很困难的(没有体系纯把知识点都硬背下来,太难了)。这就是当年陆九渊在鹅湖之会时说朱熹理学是格物级别,是支离。(反过来,如果只有理论,不会用“榔头,扳手”,那就是空疏。关于这个问题可以去看晨枫老大的关于工程科研和工业实践的脱节。)
另外,我现在还有一个越来越深的体会就是:有什么样的世界观才会有什么样的方法论。封建社会“皇帝轮流做”的世界观只能建起聚义厅和分金亭,绝不可能建起工农苏维埃政府和银行。如果想自己针对具体问题提出新方法,没有一个世界观是绝对不行的。
这个系列写到(四)之后本来就想开始写框架,但是首先,讲框架离不开具体算法和应用背景,那就难免要列列图表公式啥的,而网文贴图麻烦,“此处并非讲话之所”;再一个,个人水平有限,公式图表还是得去抄书,然后再列出处,反倒不如直接把出处写清楚点,写写书评。第三,俺平时很喜欢东拉西扯的跑题,思路也比较发散(人如其ID),也不太想写得太规矩,还是随便一点。
我就用这本书,借着牛作者的花来献献佛,说说自己对的“体系”理解吧。
写这么多废话,主角还没上场―。―,赶紧有请:
《The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Second Edition (Springer Series in Statistics)》
本书网址是我见过的对一本书来说最全面的网站,不但有R程序,还有[URL=http://www-stat.stanford.edu/~hastie/local.ftp/Springer/ESLII_print3.pdf ]本书第2版PDF下载[/URL]!还能由此找到作者个人发表的文章、讲这个课用的讲义、幻灯片、留的作业等等等。
优点:
1.思路和动机。Amazon有读者觉得这书不好,仅仅是作者的研究个人研究笔记而已。没错,这是一本三个作者把70年代以来他们的研究轨迹串起来的书。
对于作案水平高的老大,能毫无保留把作案手法给小贼们讲清楚已经是难能可贵了。而再能进一步交待清楚自己作案动机、怎么逐一发展出的作案手法的心得,这可是很稀有的存在啊。
不得不提到厚积薄发老大的【原创】结束语+全文链接:那些没有拆掉的脚手架们。(全文完),
在里面老大提到:
卢梭曾写过《忏悔录》,剖析自己的心路历程。我读数学家传记,读到高斯时,有后人抱怨,“他建立了一座宏伟的数学宫殿供我们敬仰,却在宫殿建成后把脚手架拆得干干净净,让我们无从知道他是怎么做出那些伟大的发现的。”
可以说,这本书就是三个作者给数据挖掘,机器学习这个宫殿搭的一个脚手架。处处可见作者思路的轨迹,是怎么想出那么多方法的。
我本不想细说这个,正如Amazon上读者说的,这个脚手架的个人色彩浓厚了点,机器学习领域方法太多,走作者这条路未必对就真对路。但是既然南寒问到了,那就提作者背背书吧。
不过这么一来,一篇肯定就放不下了,讲到哪里算哪里,多了就再起新篇吧。
作者出发点是“维数灾难(the curse of dimensionality)”。
如果用“少量的训练样本在高维特征空间中分布变得稀疏,导致算法缺乏泛化能力”这样的话来解释,我想任何人第一次听说的时候绝对不会明白。我即使现在明白了,也还是觉得这种表达太装13了,太绕。那就换一种角度来说。
解方程的时候,理论上方程个数N只要等于未知数个数p,那么就可以了。但是实际中考虑的误差之类的,方程数要比未知数多,才能保证求出的解是“好的”。总是希望最好是“所有可能的样本”拿来都能套用这个解。也就是说是全局最优解。
“维灾难”是说,随着未知数个数增加,需要的方程个数增加得大得多。具体到机器学习上1个训练样本就是1个方程,那么维数p一高,你的训练样本N再多也是“不够用”的,即使N>>p。
解决方法就俩字——想办法“降维”。降低描述每个样本的特征向量的维数p,也就是降未知数的个数。这样方程数量不变的情况下,未知数少了。
除了维灾难,还有一种情况,就是未知数反过来比方程多的时候,而且是p>>N。比如DNA微阵列分析、语义分析这些。以DNA来说,对某种癌症,上万的基因的可能致病作用是未知数(如果考虑不同基因组合作用,就更多了),可病人样本的总是有限的,有时就是要在几千个,几百个的样本上进行分析,希望能“挖掘”到放之四海而皆准的原理来。这时候想把p降到<N,实在不现实。
而方程太少,参数太多,肯定是无穷多种解啊,可是致病机理一定是确定的。想得到唯一解怎么办呢?嗯,加约束条件。
我概括作者研究的总方向就是一个:线性模型+罚约束。
作者在第3章开始讲线性回归,然后第4章线性分类。从最基础的最小二乘解开始,然后是对解加2范数约束得到Ridge Regression岭回归;再到加1范数的约束,于是有了Lasso,LAR;然后是1 2 范数的组合Elastic Net等等等……。一开始读过,觉得这些没什么特别之处啊,说一千道一万,不就是个线性方程组的解么,能有什么意思?就像《地道战》里的牛娃说的:“鼓捣这玩意,能把黑风口的炮楼挖掉么?”Amazon也有读者觉得前几章有点浪费篇幅。除了因为觉得线性回归、分类太简单,还有挤占别的章节篇幅的嫌疑,后面再说。
但是越往后读,就越要经常往回翻第3章。
与其说这是作者的写作方式,倒不如说作者的研究路径就是这种不断“回溯”的过程(借用软件工程里的话)。具体地说:作者就是用这种不断应用“线性模型+罚约束”的思想,串起来一系列的方法:
第5章从样条到加罚平滑样条和小波,这就到了kernel的思想:经过非线性的核/基函数作用,非线性问题又变成了线性问题。
这就到了第9章的广义加法模型:树和多元加法样条。
有了广义加法模型,第10章作者用“逐次向加法模型添加非线性基函数,以使指数形式的损失函数变小”的角度分析了Adaboost,boosting,以及提出了MART。
然后到了第15章Random Forest。这章很短,但是之前一路看过来之后,觉得就是这么简单而已。
16章的Ensemble Learning也是如此,开头的ECOC虚晃一枪。后面仍然使用boosting 、Random Forest的思路,用线性组合+罚来集成多分类器。
最后的18章,推广到p>>N的情况下的特征选择问题。作者展示了在DNA微阵列分析问题上,把之前各种方法随便组合起来一下(比如加罚的logistic 回归,线性回归+PCA = 监督PCA),都有不俗表现。
通读此书之后让人觉得是某位大侠,从最朴实无华的招式起手,初觉平淡无奇,但是后面不断深入、不断变化,到最后的眼花缭乱,屡出奇招。而每次变招都是从原来那最简单的招式开始。这几章构成了一个连贯的思路,作者们30多年来的成果主要也集中上面这几章。
其他的章节要么是为了挂靠在这个思路下面(4线性分类),要么是为了讲这个思路不得不提到(6核平滑、7模型选择、13原型方法和近邻、14无监督学习)。其中的7、14也是非常重要的章节。
剩下的就比较鸡肋了,应该是作者不擅长或者不care,但是因为写书还是放进来的(8 贝叶斯推断、11神经网络、12支持向量机、17图模型)。仅以这些方法本身论,都是能单独写一本书的,也应该算是“必知必会”的知识点了,但是本书中篇幅和内容上都比较简略了。
这篇长度好像差不多了,刚写了第1个优点啊,那么剩下的以后再接着说……
- 相关回复 上下关系8
🙂花。河里讨论机器学习的朋友太少了:) 看树的老鼠 字0 2013-01-15 10:49:40
🙂人脸识别,这个我在读书的时候做过实验 3 一格子的 字744 2011-01-25 06:12:47
🙂说说数据挖掘和工业实践的结合 4 kdbbs 字633 2011-01-19 22:16:18
🙂(八)《EoSL》:一副机器学习数据挖掘的脚手架1
🙂神经网络 Cipher 字71 2013-11-20 21:29:38
🙂这个楼起的时候神经网络的确属于不care类的 原手 字143 2014-02-25 04:28:41
🙂如果有兴趣,可以在我们这里讨论: 鸿乾 字123 2013-11-22 17:57:22
🙂严重支持 海澄 字22 2011-01-22 21:12:53