人们提到机器学习时,大多数指的是统计机器学习。
统计学习的目的
从数据出发,提取数据的特征,抽象出模型后,又回归到对数据的分析与预测中去。对未知新数据的预测与分析常常会带来新的知识。
统计学习的方法
统计学习由 监督学习、非监督学习、半监督学习、强化学习 组成。
我们的讨论都以监督学习为主。
实现统计学习的步骤如下:
1.得到一个有限的训练数据集合;
2.确定包含所有可能的模型的假设空间,即学习模型的集合;
3.确定模型选择的准则,即学习的策略;
4.实现求解最优模型的算法,即学习的算法;
5.通过学习方法选择最优模型;
6.利用学习的最优模型对新数据进行预测或分析;
基本概念
输入/输出空间: 输入/输出所有可能取值的集合。
实例:每个具体的输入,通常用特征向量表示。
特征空间:所有特征向量存在的空间,特征空间的每一维对应着一个特征。(一般我们不区分特征空间与输入空间)
符号表示
我们将输入实例x的特征向量写作
值得注意的是:我们应当区分与, 指的是的第个特征,但代表多个输入变量中的第个
训练集通常被表示为
理论依据
监督学习假设输入与输出满足一个联合概率分布,且训练数据与被测数据都是依联合概率分布独立同分布的。其中就是其分布函数。
统计学习三要素
模型
模型的假设空间包含所有可能的条件概率分布与决策函数,假设空间有两种表示形式:
1.空间可定义为决策函数的集合
2.空间也可定义为条件概率的集合
策略
策略在于如何从多个模型中选取最优的模型,为了评价模型的优劣,我们需要设计损失函数(loss function)或代价函数(cost function)。
Y是实际输出,f(X)是我们应用模型分析出的理论值,代价函数应与这两者的拟合程度相关。
我们通常用表示损失函数。
常用的损失函数:
(1)0-1损失函数
(2)平方损失函数
(3)绝对损失函数
(4)对数损失函数
经验风险最小化与结构风险最小化
经验风险(经验损失)记作
若按照经验风险最小化(ERM):
当样本容量较小时,ERM可能会产生过拟合(over-fitting)现象,SRM是一种解决方案。
若按照结构风险最小化(SRM):
其中是模型的复杂度,结构风险最小化在经验风险最小化的基础上加上了对模型复杂度的惩罚。
算法
这里的算法是求解最优模型的算法,通常会使用常用的最优化算法。
训练误差和测试误差与模型复杂度的关系
正则化与交叉验证
正则化
正则化是模型选择的一个典型方法,它是结构风险最小化的实现。
具体实现方法是:在
经验风险上加上一个正则化项(罚项)
正则化一般具有如下形式:
正则化符合奥卡姆剃刀原则,在所有可选择的模型中,能够很好的解释已知数据并且十分简单的才是更好的模型。
从贝叶斯估计的角度来看,正则化项对应于模型的先验概率,可以假设复杂的模型有更大的先验概率。
交叉验证
若给定的样本数据充足,进行模型选择的一种简单方法是随机地将数据分为三部分:
训练集、验证集和测试集
其中训练集用于训练模型,验证集用于模型的选择,而测试集用于最终对学习方法的评估。
但通常数据是不充足的,为了选择好的模型,我们常用交叉验证方法
(1)简单交叉验证
随机将已给数据分为两个部分,一部分作为训练集,另一部分作为测试集,然后用训练集在各种条件下(如不同参数个数)训练模型,从而得到不同的模型。在测试集上评价各个模型的测试误差,选出测试误差最小的模型。
(2)S折交叉验证(最常用)
随机将数据分为S个互不相交的大小相同的子集。然后利用S-1个子集的数据训练模型,余下的用于测试模型。
选择测试集将有S种选择,我们将重复S次上面的测试,每次选取不同的子集作为测试集,最后选出S评测中平均测试误差最小的模型。
(3)留一交叉验证
当S=N时,称之为留一交叉验证,N为给定数据集的容量。(即每个子集中只有一个),往往在数据极度缺乏时使用。