《机器学习》之 绪论
第一章 绪论
- 定义一个学习问题,我们需要明确三个特征:任务的种类;衡量任务提高的标准,经验的来源
- 学习的定义:对于某类任务T和性能度量P,如果一个计算机程序在T上以P衡量的性能随着经验E而自我完善,那么我们称这个计算机程序在从经验E中学习。
设计一个学习系统
- 选取训练经验的类型,关键属性是训练经验能否为系统的决策提供直接或间接的反馈
- 学习器可以在多大的程度上控制训练样例序列:
- 训练经验是以超乎学习期控制的随机过程提供的;
- 学习器可能依赖施教者询问正确的走子
- 学习器通过自动搜索环境来搜集训练样例。
- 训练样例的分布能多好地表示实例分布,最终系统的性能P是通过后者来衡量的。
例子: 西洋跳棋学习问题:
- 西洋跳棋学习问题:
- 任务T: 下西洋跳棋
- 性能标准P: 世界锦标赛上击败对手的百分比
- 训练经验E: 和自己进行对弈
- 为了完成这个任务,需要选择:
- 要学习的知识的确切类型
- 对于这个目标知识的表示
- 一种学习机制
- 选择目标函数
- 合法走子定义了某个先验已知的的巨大的搜索空间,但最佳的搜索策略未知
- \(ChooseMove:B→M\) 来表示这个函数以合法棋局集合中的棋盘状态作为输入,并从合法走子集合中产生某个走子作为输出(难于直接实现)
- \(V:B→R \)来表示 V 把任何合法的棋局映射到某一 个实数值(用R来表示实数集合)
- 实现的方法是,先产生每一个合法走子对应的所有后续棋局,然后使用 V 来选取 其中最佳的后继棋局,从而选择最好的走子
选择目标函数的表示
西洋跳棋程序的部分设计
• 任务 T:下西洋跳棋
• 性能标准 P:世界锦标赛上击败对手的百分比
• 训练经验 E:和自己进行训练对弈
• 目标函数:\(V:B→R\)
• 目标函数的表示:示:\(\hat{V}(b)=w_0+w_1x_1+w_2x_2+w_3x_3+w_4x_4+w_5x_5+w_6x_6\)前三条是对学习任务的说明,后两条制定了为实现这个学习程序的设计方案。注意这个 设计的关键作用是把学习西洋跳棋战略的问题简化为学习目标函数描述中系数 w0 到 w6 值的 问题。
选择函数逼近算法
训练值估计法则
\(V_{train}(b)←\hat{V} (Successor(b))\(1.1)\)这种方法对于任何中间棋局 b 的训练值 Vtrain(b)等于Vˆ (Successor(b)),其中Vˆ 是 学习器采用的对 V 的近似,Successor(b) 表示 b 之后再轮到程序走棋时的棋盘状态(也就是 程序走了一步和对手回应一步后的棋局)。
权值调整
最佳拟合(best fit)训练数据的含义。一种常用的方法是把最佳的假设(或权向量集 合)定义为使训练值和假设\(\hat{V}\) 预测出的值间的误差平方 E 最小。
\(E≡ \sum_\limits{<b,V_{train} (b)>∈训练样例}(V_{train}(b)−V(b))^2 \)这里需要一个算法, 它可以在有了新的训练样例时进一步改进权值,并且它对估计的训练数据中的差错有好的健 壮性。一个这样的算法被称作最小均方法(least mean squares),或叫 LMS 训练法则。
LMS 权值更新法则 对于每一个训练样例
• 使用当前的权计算Vˆ (b)
• 对每一个权值 wi 进行如下更新
\( w_i←w_i+η(V_{train}(b)-\hat{V}(b)) x_i\)最终的设计
执行系统
- 这个模块是用学会的目标函数来解决给定的任务, 在此就是对弈西洋跳棋。它把新问题(新一盘棋)的实例作为输入,产生一组解答路线(对 弈历史记录)作为输出。
- 执行系统采用的选择下一步走法的策略是由学到的评估函 数Vˆ 来决定的。所以我们期待它的性能会随着评估函数的日益准确而提高。
鉴定器(Critic)
- 它以对弈的路线或历史记录作为输入,输出目标函数的一系列训练样例。每一个训练样例对应路线中的某个棋盘状态和目标函数给这个样例的评估值 Vtrain。在我们的例子中,鉴定器对应式 1.1 给出的训练法则。
泛化器(Generalizer)
- 它以训练样例作为输入,输出一个假设,作为它对目标函数的估计。它从特定的训练样例中泛化,猜测一个一般函数,使其能够覆盖这些样例以及样例之 外的情形。
- 在我们的例子中,泛化器对应 LMS 算法,输出假设是用学习到的权值 \(w_0 ,\dots, w_6\) 描述的函数Vˆ 。
实验生成器(Experiment Generator)
- 它以当前的假设(当前学到的函数)作为输入, 输出一个新的问题(例如,最初的棋局)供执行系统去探索。它的角色是挑选新的练习问题, 以使整个系统的学习速率最大化。
- 在我们的例子中,实验生成器采用了非常简单的策略:它总是给出一个同样的初始棋局来开始新的一盘棋。更完善的策略可能致力于精心设计棋子位 置以探索棋盘空间的特定区域。
- 西洋跳棋学习问题:
机器学习的一些观点和问题
在机器学习方面,一个有效的观点是机器学习问题经常归结于搜索问题,即对非常大 的 假设空间进行搜索,以确定最佳拟合观察到的数据和学习器已有知识的假设。
本书的很多章节给出了对一些基本表示(例如,线性函数、逻辑描述、决策树、人工神 经元网络)定义的假设空间的搜索算法。这些不同的假设表示法适合于学习不同的目标函数。 对于其中的每一种假设表示法,对应的学习算法发挥不同内在结构的优势来组织对假设空间 的搜索。
自始至终,本书都贯穿着这种把学习问题视为搜索问题的看法,从而通过搜索策略和学 习器探索的搜索空间的内在结构来刻画学习方法。我们也会发现,这种观点对于形式化地分 析要搜索的假设空间的大小、可利用的训练样例的数量以及一个与训练数据一致的假设能泛 化到未见实例的置信度这三者之间的关系非常有用
第一章小结
- 机器学习算法在很多应用领域被证明有很大的实用价值。它们在以下方面特 别有用:(a)数据挖掘问题,即从大量数据中发现可能包含在其中的有价 值的规律(例如,从患者数据库中分析治疗的结果,或者从财务数据中得到 信用贷款的普遍规则);(b)在某些困难的领域中,人们可能还不具有开 发出高效的算法所需的知识(比如,从图像库中识别出人脸);(c)计算 机程序必须动态地适应变化的领域(例如,在原料供给变化的环境下进行生 产过程控制,或适应个人阅读兴趣的变化)。
- 机器学习从不同的学科吸收概念,包括人工智能,概率和统计,计算复杂性, 信息论,心理学和神经生物学、控制论、以及哲学。
- 一个完整定义的学习问题需要一个明确界定的任务、性能度量标准以及训练 经验的来源。
- 机器学习算法的设计过程中包含许多选择,包括选择训练经验的类型、要学 习的目标函数、该目标函数的表示形式、以及从训练样例中学习目标函数的 算法。
- 学习的过程即搜索的过程,搜索包含可能假设的空间,使得到的假设最符合 已有的训练样例和其他先验的约束或知识。本书的大部分内容围绕着搜索各 种假设空间(例如,包含数值函数、神经网络、决策树、符号规则的空间) 的不同学习方法,和理论上这些搜索方法在什么条件下会收敛到最佳假设。