教学参考-12
来自cslt Wiki
教学目标
- 理解机器学习系统构造的基本流程:模型设计-训练-测试-选择
- 了解流程中每一步的基本原则和基本方法
- 了解数据对机器学习的重要性
教学内容
模型设计
- 没有免费的午餐: 机器学习里有很多种模型,每种模型都有其适用范围,没有哪一种模型在所有场景下都优于其他模型。这一结论在机器学习里是一条可严格证明的定理,称为“没有免费的午餐”定理。
- 机器学习实践中很重要的一点是深入理解任务场景,设计与场景匹配的模型。模型设计合理,可以极大提高学习效率,改善模型的性能。机器学习很大程度上是一种权衡的艺术
- 在模型设计中,需要考虑的因素包括:数据的格式和数据量,数据的分布形式,训练过程的内存和计算开销,可容忍的错误率,运行时的硬件能力、外部环境干扰等。在设计型时需要对这些因素综合考虑,得到最合适的建模方案。
模型训练
- 设计好了模型之后即需要对它进行学习,这一过程称为模型训练。
- 模型训练的基础方法:首先将学习目标定义成合理的数学形式,这一数学形式称为目标函数。目标函数的参数即是模型的参数。选择一个数据集(称为训练集),利用合理的优化方法来调整模型参数,使得目标函数在该训练集上的取值最大,即完成了模型训练过程。
- 以区分苹果-桔子的学习任务来举例说明。我们设计一个简单的模型: Y = a ✖ C + b ✖ S ,其中C代表颜色,S代表大小,(a,b)为待学习的模型参数。
- 收集一个训练集,集中包含若干桔子和苹果的样例,每个样例表示成(C,S,T)的形式,其中T代表水果的真实类别,T=0时代表桔子,T=1时代表苹果。我们希望Y与T越接近越好,这样就可以用Y来预测T。
- 设计一个目标函数 L=||Y-T||2。显然,L越小,说明Y和T越接近,模型越精确。因此,模型训练任务可以转化成目标函数L的最小化任务,即通过选择参数(a,b),使训练集中所有样本上计算得到L之和最小。
- 对目标函数求最小值可以有多种方法。右图展示了一种逐渐优化的训练过程:首先对(a,b)随机取值,然后在这一取值附近随机选择一组新的取值,如果目标函数没有增长,则丢掉该参数值,否则予以保留。这一过程重复进行,如(A) -(D)所示。经过若干次尝试后,桔子-苹果的分类面就会变得越来越准确。