在亚马逊上买了Peter Flach教授写的段菲博士翻译的《机器学习》一书,开始机器学习之旅。开始之前,先介绍下Peter Flach教授:
布里斯托尔大学人工智能教授,拥有20多年的机器学习教研经验。在高度结构化的数据挖掘以及通过ROC分析来评估和改进机器学习模型方面,Flach是国际领先的研究人员。他还是Machine Learning期刊总编。曾担任2009年ACM知识发现与数据挖掘国际会议、2012年欧洲机器学习与数据挖掘国际会议的程序委员会共同主席。另著有Simply Logical:Intelligent Reasoning by Example。
这是他的个人主页Peter Flach
绪论为机器学习概述,正文开始:
1、开篇用一个垃圾邮件过滤器作为引子——SpamAssassin,介绍了如何根据阈值判定是否属于垃圾邮件。书中背景知识1中提到用数学语言描述SpamAssassin的工作原理,将原本的决策规则
∑i=1nωixi>t∑i=1nωixi>t
sum_{i=1}^n omega_i x_i > t 向量化表示为
ω。⋅x。>0ω。⋅x。>0
omega^。 cdot x^。 > 0 其中,ω。=(−t,ω1,⋯,ωn),x。=(1,x1,⋯,xn)ω。=(−t,ω1,⋯,ωn),x。=(1,x1,⋯,xn)omega^。 = (-t,omega_1,cdots,omega_n),x^。= (1,x_1,cdots,x_n), 均为行向量(这里觉得稍有不妥,对于机器学习而言我目前看到的文献均是以列向量作为标准,而且在统计学中向量一般也使用列向量的形式表示)。特别地,假设x0x0x_0 的方向与ωωomega一致,决策边界可以表示为
ω⋅(x−x0)=0ω⋅(x−x0)=0
omega cdot (x - x_0) = 0
这样可以更清晰的表达出如下重要事实——决定决策边界位置的是ωωomega的方向,而非其长度。
2、机器学习的一般定义:机器学习是对依据经验提升自身性能或丰富自身知识的各种算法和系统的系统性研究。
3、在训练数据上取得优异性能只是手段,而非目的。如果一味追求训练阶段的性能,很容易导致另一个问题——过拟合(overfitting)。通俗地讲,假如你两周后就要考模式识别这门课,你向老师要了前几届的试卷来练(si)习(ji)练(ying)习(bei),由于你上课根本没听过,也没有那个时间来重新看一遍预习加复习,所以你知得死记硬背。当然,几张卷子你很快便得了满分,可以说你的训练阶段性能很好。BUT,考试的时候你就蒙逼了,老师稍微一变你就不会了,这就说明你测试阶段性能很差,这就是所谓的过拟合问题。还有另外一个词可以说就是你的推广性 OR 泛化能力(generalization)很差。
4、任务、模型和特征是机器学习的三大“原料”。
书中提到任务和学习问题是不同的两个概念,需要加以区分:
任务是通过模型来完成的,而学习问题则通过能够产生模型的学习算法来解决。
上图中也可以看出任务与学习问题是不同的,任务不包括训练阶段,BUT学习问题包括。我个人认为,解决学习问题是完成任务的前提,解决学习问题得到模型,然后用模型来完成任务。
5、机器学习所关注的问题是使用正确的特征来构建正确的模型以完成既定的任务。(Machine learning is concerned with using the right features to build the right models that achieve the right tasks.)这段话是作者Important points to remember中的一句话,以后还是得谨记心中并多多体会。
OK,Good Bye Alan!