第一章 绪论
1.1引言
机器学习:机器学习是一门致力于通过计算的手段,利用经验来改善系统自身的性能,从数据中产生“模型”的算法,即学习算法
1.2基本术语
- 数据集:所有数据记录的集合称为一个数据集,每条记录是关于一个事件或者对象的描述,称为一个“示例”,一个示例又被称为特征向量。
- 属性/特征:反映事件/对象在某方面的表现或者性质的事项
- 学习/训练:从数据中学得模型的过程
- 假设:学得的模型关于数据的某种潜在规律
- 学习器:学习算法在给定数据和参数空间上的实例化
- 样例:同时拥有属性和标记(label)的信息
- (xi, yi)表示第i个样例
- yi属于Y
- Y是所有标记的集合,亦被称为标记空间/输出空间
- 机器学习的任务分为以下两种:
- 分类
- 预测的是离散值
- 对于二分类问题通常称一个为正类,一个为反类
- 回归
- 预测的是连续值
- 一般来说预测任务是希望通过对训练集进行学习,建立一个从输入空间X到输出空间Y的一个映射f
f:X -> Y
- 分类
- 聚类:将训练集中的数据分成若干个组,每组被称为一个“簇”
根据训练数据是否拥有标记信息,学习任务可以分为大致以下两类:
- 监督学习:分类和回归是它的代表
- 无监督学习:聚类是它的代表
尽管训练集通常只是样本的一个很小的采样,但我们仍然希望可以很好的反映样本空间的特性,通常假设样本空间全都服从一个未知分布,每个获得的样本都是独立地从这个分布上采样的,即“独立同分布”
1.3假设空间
- 归纳和推理:
- 归纳:从特殊到一般的泛化过程,即从具体的实施归结出一般性规律
- 推理:从基础原理推演出具体状况。
- 从样例学习是基于归纳,所以“从样例学习”又被称为”归纳学习“
- 归纳学习:
- 广义:从样例中学习
- 狭义:从训练数据中获得概念
- 亦称为概念学习或概念形成
- 学习过程可看作是一个在所有假设空间中进行搜索的过程,搜索目标是找到与训练集匹配的假设,即能够将训练集中的瓜判断正确的假设,我们对假设空间进行搜索,在搜索过程中不断删除与正例不一样的假设。最终会获得与训练集一直的假设。
- 一个与训练集一致的“”假设集合“,我们称之为”版本空间“
1.4归纳偏好
机器学习算法在学习过程中对某种类型假设的偏好,称之为”归纳偏好“,简称为”偏好“
任何一个有效的机器学习算法都必有其归纳偏好,否则他将被假设空间中看似在训练集上”等效“的数据迷惑
归纳偏好可以看作学习算法自身在一个可能很庞大的假设空间中对假设进行选择的启发式或价值观。
一般常用的原则是”奥卡姆剃刀原则“,即”有多个假设与观察一致,则选择最简单的那个“。
在具体的现实问题中,这个假设是否成立,即算法的归纳偏好是否与问题本身匹配,大多数时候直接决定了算法能否取得好的性能、
注意:归纳偏好要与问题匹配,这往往会起决定性的作用。
最重要的一点:我们在训练模型时,只需要关心我们要解决的问题即可
1.5发展历程
- 上世纪五十年代中后期:基于神经网络的连接主义开始出现
- 五十年代到七十年代:人工智能处于”推理期“
- 二十世纪七十年代中期:人工智能研究进入”知识期“
- 六七十年代:符号主义盛行
- 二十世纪八十年代:”从样例中学习“的一大主流是符号主义学习。其代表包括决策树和基于逻辑的学习
- 决策树:以信息论为基础,以信息熵的最小化为目标,直接模拟了人类对概念判断的梯形流程。
- 基于逻辑的学习的著名代表是归纳逻辑程序设计
- 二十世纪八十年代,机器学习被视为”解决知识工程瓶颈问题的关键“人工智能研究进入”“学习期”
- 二十世纪九十年代中期:基于神经网络的连接主义学习称为“从样例学习”的另一主流
1.6应用现状
- 在诸多计算机科学的分支学科领域,都能找到机器学习技术的身影,尤其是在CV,NLP等“计算机应用技术“领域。
- 机器学习还为许多交叉学科提供了技术支撑。
- 生物信息学设计从生命现象到规律发现的整个过程,期间必然包括数据获取,数据管理,数据分析
- 数据分析正是机器学习技术的舞台
- 数据挖掘和机器学习的联系:
- 数据挖掘是从海量的数据中发掘知识必然涉及到对海量数据的管理和分析
- 数据库技术为数据挖掘提供数据管理技术
- 机器学习和统计学的研究为数据挖掘提供数据分析技术
1.7阅读材料
奥卡姆剃刀原则:主张选择与经验观察一致的最简单假设
多释原则:主张保留与经验观察一致的所有假设。
第二张 模型评估与选择
2.1经验误差与过拟合
- 错误率:分类错误的样本数站样本总数的比例, E=a/m
- 误差:学习器的实际预测输出与样本的真实输出之间的差异
- 在训练集上的误差称为训练误差/经验误差
- 在新样本上的误差被称为泛化误差
- 我们实现并不知道新样本是什么样,世纪能做的就是努力是经验误差最小化,无法获悉泛化误差
- 过拟合:训练能力太强导致吧训练样本本身的一些特点当作了所有潜在样本都会具有的一般性质,导致泛化性能下降
- 过拟合并不能完全消除,只可以缓解或者是说减小其风险
- 欠拟合:对训练样本的一般性质尚未学习好
- 模型选择的理想解决方案:对候选模型的泛化误差进行评估,然后选择泛化误差最小的那个模型
2.2评估方法
测试集:测试学习器对新样本的辨别能力,然后用测试集上的测试误差作为泛化误差的近似。测试样本尽量不在训练集中出现、未在训练过程中使用过。
数据集D拆分为训练集S和测试集T。以下是几种常见的做法:
- 留出法:直接讲数据集划分为两个互斥的集合
- 好处:可以避免因数据划分过程中引入额外的偏差而对最终结果产生影响
- 在分类任务中要保持样本的类别比例近似,保留类别比例的采样方式通常称为”分层采样“
- 问题:S与T的比例问题可能会影响最终的训练效果,一般选择大约2/3~4/5的数据用于训练,剩下的用于验证
- 交叉验证法:先将数据划分为k个大小相等的互斥子集,每次选择k-1个子集的并集作为训练集,余下的那个子集作为测试集,获得k组训练集和测试集,获得k次训练和测试,最终返回均值。
- 特例:留一法
- 好处:比较准确
- 坏处:算力要求较高
- 自助法:每次随机送D中选择一个数据放入D‘中并放回,将这个过程重复m次获得一个新的数据集D’,D中约有36.8%的数据不会出现在D‘中,我们使用D’作为训练集,使用D\D‘作为测试集。这样的测试结果被称为“包外估计”
- 自主法在数据集较小,难以划分训练/测试集时候很有用,但是自助法产生数据集改变了初始数据集的分布,引入了估计误差
- 因此留出法和交叉验证法更常用
2.3性能度量
- 性能度量:衡量模型泛化能力的评价标准。
- 对比不同的模型时候应该选择不同的性能度量往往会导致不同的评判结果
- 什么样的模型是好的不仅取决于算法和数据,还取决于任务需求
- 回归任务最常用的是均方误差
- 错误率和精度
- 错误率和精度是分类任务中最常用的两种性能度量,在样例集D,数据分布D和概率密度函数p(.)中有不同的表示
- 查准率、查全率和F1
- 查准率:判断模型给出的结果中有多少符合要求
- 查全率:判断有多少符合要求的数据被检测出来了
- 二者是一对矛盾的度量
- 我们可以使用P-R曲线来表示二者的关系。
- 如果一个学习器的P-R曲线把另一个学习器的曲线完全包住,那么证明这个学习器的能力强于另一个
- 当需要在具体的查准率和查全率下比较时,一个合理的判断是比较P-R曲线下的面积大小
- 平衡点是二者相等时的取值。
- F1是平衡点的进阶