引言
通俗来讲,机器学习是一门致力于研究如何通过计算的手段,利用数据来改善系统自身的性能的学科。
基本术语
在进行机器学习之前,我们应该提前收集一批数据作为计算机的“经验”。
这组数据的集合称为数据集
其中每条记录是关于一个事件或者对象的描述,称为示例
在事例中反映对象的某方面属性称为属性或特征
特征的值称为属性值
所有属性的集合称为属性空间(样本空间,输入空间)
从数据中学的模型的过程称为学习或训练
训练过程通常执行某个学习算法完成。
机器学习并非学习的过程,还要有评估模型性能的测试过程
分开来讲
学习过程用的数据称为训练数据
学习所得的模型有时被称为学习器
部分示例拥有标记信息,称为样例(比如<(眼睛=大眼,眉毛=柳叶眉,嘴巴=樱桃小嘴),美女>
如果我们模型预测的是离散值,那么此类学习任务称为分类
涉及两个类别的分类任务称为二分类,其中一个为正类,另一个为反类
与此对应,还有多分类
如果预测的是连续值,此类任务称为回归
测试过程中用的样本为测试样本
对训练过程中是否有标记信息,学习分为监督学习和无监督学习
模型最终并非为了贴合训练数据,而是在新数据中有很好的适用能力。这种能力称为泛化
机器学习算法在学习中对某种类型假设的偏好,称为归纳偏好。这种偏好是必须存在的,否则会导致训练中在看似等效的假设中摇摆不定,无法产生确切的学习结果。
(比如小明喜欢大眼睛女孩,小刚喜欢柳叶眉女孩,假如小李同时喜欢两个方面,在判断<小眼睛,柳叶眉,大嘴巴>这样的新样本时就会时而有美女的想法,时而有一般的想法。而小明和小刚则会准确的产生一般、美女的想法。训练结果不能摇摆不定,那样是没有意义的。)
那么面对现实中复杂的数据,如何引导算法确立正确的偏好呢。
奥卡姆剃刀是一种常用的,自然科学中最基本的原则。在多个假设中选择最简单的
这样产生的模型并非是最好的。
没有免费的午餐(NFL)原则告诉我们,无论算法a多么糟糕,算法b多么优秀。他们的期望性能是相同的。
NFL的前提是所有的问题同等重要,这在现实中很难达到。NFL只是告诉我们不要脱离具体问题讨论算法的优劣。