模式识别领域关注的是利用计算机算法自动发现数据中的规律,以及使用这些规律采取将数据分类等行动。手写数字识别的例子,因为手写体变化多端。这个问题可以使用人工编写的规则解决,但实际往往效果很差。使用机器学习的方法可以得到好得多的结果。全书贯穿3个重要工具:概率论、决策论、信息论。都将在后续内容一一介绍。
机器学习的一些基本概念
- 一个由 N 个数字 {x 1 , … , x N } 组成的大的集合被叫做训练集( training set)
- 训练集中数字的类别实现已知,通常是被独立考察、人工标注的。我们可以使用目标向量( target vector ) t 来表示数字的类别,它代表对应数字的标签
- 运行机器学习算法的结果可以被表示为一个函数 y(x),函数 y(x) 的精确形式在训练( training )阶段被确定,这个阶段也被称为学习( learning )阶段
- 一旦模型被训练出来,它就能确定新的数字的图像集合中图像的标签。这些新的数字的图像集合组成了测试集( test set )。正确分类与训练集不同的新样本的能力叫做泛化( generalization )
- 原始输入向量通常被预处理( pre-processed ),变换到新的变量空
间 - 人们期望在新的变量空间中模式识别问题可以更容易地被解决,这使得后续的区分不同类别的模式识别算法变得更加容易。这个预处理阶段有时被叫做特征抽取( feature extraction )
- 训练数据的样本包含输入向量以及对应的目标向量的应用叫做有监督学习( supervised learning )
- 给每个输入向量分配到有限数量离散标签中的一个,被称为分类( classification )问题
- 如果要求的输出由一个或者多个连续变量组成,那么这个任务被称为回归( regression )
- 训练数据由一组输入向量 x 组成,没有任何对应的目标值。在 这 样 的 无 监 督 学 习 ( unsupervised learning ) 问 题,目标 可 能 是 发 现 数 据 中 相 似 样 本 的分组,这被称为聚类( clustering ),或者决定输入空间中数据的分布,这被称为密度估计( density estimation ),或者把数据从高维空间投影到二维或者三维空间,为了数据可视化( visualization )
- 反馈学习( reinforcement learning )( Sutton and Barto, 1998 )技术关注的问题是在给定的条件下,找到合适的动作,使得奖励达到最大值
多项式曲线拟合
数据来源:使用 s i n ( 2 π x ) 加入随机高斯噪声来生成数据
多项式函数来拟合数据:
数的值可以通过调整多项式函数拟合训练数据的方式确定,最小化误差函数
( error function )的方法实现:
不同阶数的多项式曲线拟合:
我们的目标是通过对新数据的预测实现良好的泛化性,我们可以定量考察模型的泛化性与M的关系。计算测试集的
E
(
w
∗
)
,有时候使用根均方(RMS)误差更方便:
E
R
M
S
=
2
E
(
w
∗
)
/
N
1. 除以 N 让我们能够以相同的基础对比不同大小的数据集
2. 平方根确保了
E
R
M
S
,与目标变量t 使用相同的规模和单位进行度量
M=9时,训练集误差为0,但是测试集误差非常大,模型出现剧烈的震荡。这种情况下出现了过拟合。我们可能期望建立相对复杂和灵活的模型。经常用来控制过拟合现象的一种技术是正则化( regularization )
像这样的技术在统计学的文献中被叫做收缩( shrinkage )方法,因为这种方法减小了系数的值。二次正则项的一个特殊情况被称为山脊回归或者岭回归( ridge regression )( Hoerl and Kennard, 1970 )。在神经网络的情形中,这种方法被叫做权值衰减( weight decay )。