1. 学习问题的标准描述
定义:
对于某类任务T和性能度量P,如果一个计算机程序在任务T上以P衡量的性能随着经验E而自我完善,那么我们称这个计算机程序在从经验E中学习。
定义一个学习问题,必须明确这样三个特征:任务的种类,衡量性能提高的标准,经验的来源。
2. 设计一个学习系统
设计一个学习系统包括这么几个步骤:选择训练经验,选择目标函数,选择目标函数的表示,选择函数逼近算法,最终完善。
选择训练经验
第一个关键属性是:训练经验能否为系统的决策提供直接或间接的反馈。
直接信息反馈
间接信息反馈(难)
信用分配问题: 考虑中间过程的每一步对最终结果的贡献程度。
第二个关键属性是:学习器可以在多大程度上控制训练样例序列。
学习器对训练样本的控制可能有以下几种情况:
1、 训练经验以超乎学习器控制的随机过程提供的;(无控制)
2、 学习器可以像施教者提出不同类型的查询;(半控制)
3、 学习器通过自动搜索环境来搜集训练样例;(全控制)
第三个关键属性是:训练样例的分布能够多好的表示实例分布,而最终系统的性能P是通过后者来衡量。
一般情况下,训练样本分布与测试样本分布一样时,学习具有最大的可信度。
目前,许多的机器学习理论都依赖于一个假设:训练样本分布与测试样本分布一致。
西洋跳棋学习问题:
任务T:下西洋跳棋
性能标准P:世锦赛上击败对手的百分比
训练经验E:和自己对弈
为了完成这个系统的设计,现在需要选择:
1) 要学习的知识的确切类型
2) 对于这个目标知识的表示
3) 一种学习机制
选择目标函数
西洋棋:在巨大的搜索空间中寻找最佳策略,对给定的棋局能选择最好的走法。
第一个最直接的目标函数是ChooseMove
第二个是一个评估函数,为任何给定的棋局给一个数字评分。
在很多问题中,可以把提高任务T的性能P的问题简化为学习某个特定的目标函数的问题。当提供给系统的是间接的训练经验的时候,直接学习目标函数会比较困难。
通常要完美的学习一个理想目标函数是不可行的,所以仅希望得到近似的目标函数,所以学习目标函数的过程被称为函数逼近。
选择目标函数的表示
确定理想的目标函数以后,接下来必须要学习一个表示,他被学习程序用来描述要学习的近似函数;
一方面,要选一个非常有表征能力的函数,以最大的逼近理想目标。另一方面,表征能力越强的函数其参数也越多,用来训练他的样本数据也会非常多,以便更精确的确定参数,因为每一个参数决定了问题的某一个特征。
选择函数逼近算法
最终设计
西洋跳棋的最终设计:四个不同的程序模块:
1. 机器学习的一些观点和问题
观点:机器学习问题经常归结于搜索问题,即对非常大的假设空间进行搜索,以确定最佳拟合观察到的数据和学习器的先验假设。
假设空间有很多不同的表示法,比如线性函数、逻辑描述、决策树、人工神经元网络等。对不同结构的假设空间进行搜索需要用不同的搜索算法。对应于其中的每一种假设表示法,对应的学习算法发挥不同的内在结构优势来组织对假设空间的搜索。
把学习问题视为搜索问题,从而通过搜索策略和搜索空间的内在结构来刻画学习方法。这种观点对于形式化的分析假设空间的大小、可利用的训练样本的数量、以及一个与训练数据一致的假设能泛化到未见实例的置信度这三者之间的关系很有效。
问题:机器学习的问题:
l 存在什么样的算法能从给定的训练数据集学习到一般的目标函数呢?如果提供了充足的训练数据集,什么样的条件下会使特定的算法收敛到期望的函数呢?那些算法对那些问题表现的性能最好?
l 多少训练数据是充足的?怎样找到学习到的假设的置信度与训练数据的样本数量以及提供给学习器的假设空间的特性之间的一般的关系?
l 学习器拥有的先验知识是如何引导从样例进行的泛化过程的?当先验知识仅仅是近似正确的时候,他们会有帮助吗?
l 选择有效地后续训练经验,什么样的策略最好?这个策略的选择会如何影响学习问题的复杂性?
l 怎样把学习任务简化为一个或多个函数逼近问题?换一个说法,系统该试图学习哪些函数?这个过程本身能自动化吗?
l 学习器怎样自动的改变表示法,来提高表示和学习目标函数的能力?