1、学习问题
机器学习中对于学习有一个准确的定义:对于某类任务T和性能度量P,如果一个计算机程序在T上以P衡量的性能随着经验E而自我完善,那么我们称这个计算机程序在经验E中学习。例如:对于识别手写文字问题,任务T是识别和分类图像中的手写文字,性能标准P就是分类的正确率,训练经验E为已知分类的手写文字数据库。这里对于学习的定义与我们日常生活中的学习基本相一致,将学习过程抽象出来,有助于我们抓住学习的本质,将设计的学习算法应用得更加广泛。
2、设计一个学习系统
2.1 选择训练经验
经验的选择对于最后的学习效果具有很重要的影响。被选择的训练经验E一个关键点是:E能否为系统的决策提供直接或者间接的反馈。比方下棋:学习系统可以接收直接的训练样例,即各种棋盘状态和相应的正确走法。也可以接收间接的训练信息,即很多过去的对弈序列以及最终结局。一般说来,从直接的训练反馈学习比间接反馈学习容易;
训练经验的第二个重要属性是学习器可以再多大程度上控制训练样例序列。就是说学习器的决策多大程度上不受施教者的控制,而是通过自身的估计、规划;
训练经验的第三个重要属性是训练的样例是否能够尽可能得接近实例分布,而最终系统的性能P就是通过这种相似性来衡量的。这个很容易理解,对于以后要学习的实例,如果能够在训练期间就碰到的话,那么对于学习器来说,只要类似的实例输入,那么就能够准确地处理。在实际中,多数机器学习的理论都是基于训练经验与测试实例分布一致这一假设之上。尽管这是非常理想的情况,但是在实际中,这种假设一般是不成立的。
算法设计(以西洋跳棋学习问题为例):
任务T:下西洋跳棋
性能标准P:击败对手的百分比
训练经验E:和自己进行对弈
现在需要选择: