本讲内容
1. VC dimension (Vapnik-Chervonenkis 维)
2. Model selection(模型选择)
--cross validation(交叉验证)
--feature selection(特征选择)
3. Bayesian statistics regularization(贝叶斯统计正则化)
1. VC维
首先定义shatter:
给定一个训练集 ,如果一个假设类H,对S的任意一种标记方式都能实现完美的预测,那么我们认为一个假设类H能够shatters(分散)S。完美的预测是指:不管对S中的数据如何标注,H中都存在假设h,使得h对S的分类误差为0.
定义VC维:
一个假设类H的VC维()是指能够被H shatter的最大集合的尺寸。
例如存在包含三个训练样本的集合S,如下图所示,对S的任意一种标记方式,都存在一个二维的线性分类器能够对它们完美预测。如下图:
但是并不是包含三个样本的所有集合,二维线性分类器都可以shatter。比如:
这样就不存在线性二维分类器可以完美预测。
但是对于所有含有四个样本的训练集S,都不存在二维线性分类器能够实现对其任意标记的完美预测,因此我们说包含所有二维线性分类器的假设类H的VC维
= 3
结论: 给定一个假设类H(可以是无限假设类), = d,那么至少在 的概率下,对所有的假设h,有
由此可以推出,至少在 的概率下,有
引理:
为了保证 这个结论至少在 的概率下成立,充分条件为
对于ERM算法来说,样本复杂度和假设类的VC维呈线性关系,同时大多数,正常情况下,假设类的VC维和假设的参数数量差不多,因此可以得出,需要的训练样本数和参数数量大致是呈线性关系的。
对于SVM来说,即使我们将输入特征映射到无限维的特征空间,按照正常逻辑来说,SVM的VC维应该是无穷大。但是事实证明,具有较大间隔的SVM分类器,都具有较小的VC维。
假如我们只考虑半径为R以内的数据点,同时只考虑那些间隔大于 的假设,那么这样的假设类H的VC维具有如下的上界:
因此包含较大间隔线性SVM分类器的假设的假设类的VC维不依赖于X的维度。
2.模型选择
2.1 Hold-out cross validation(保留交叉验证)
split S into two subset :training subset(70%), cv subset(30%)
2.2 k-fold cross validation(k重交叉验证)
把S分成k部分,每次用k-1个部分进行训练,用剩下的一个部分用来验证。轮流交换验证的部分。最后对k个结果取平均。
通常取k=10比较常见
2.3 leave-one-out cross validation(留一交叉验证)
k=m的k重交叉验证的特例。每次只留出一个样本进行验证。
3. 特征选择
有的时候,特征的数量是非常大的,但是可能只是很小一部分的特征跟学习任务是有关系的. 这个时候就需要特征选择算法减少特征的数量。对n个特征来说,每个特征都存在选择和不选择的情况,因此特征选择一共存在 个子集。采用枚举每个子集的方法来得到最优特征选择结果,代价是非常高的。对于不同的学习任务,通常会使用不同的启发式规则进行搜索。
3.1 前向搜索算法(forward search)
start with
Repeat
{
(1)for i = 1:n
try adding feature i to F;
evaluate using cross-validation ;
(2)set
}
output best hypothesis found.
每次都考虑从那些尚未被选择的特征中 选出最好的一个特征添加到F中。
3.2 后向搜索算法 (Backward search)
Start with
delete features one at a time
当样本数远小于特征数时,该算法可能没有意义,因为会导致过拟合。
前向搜索和后向搜索 统称为 “封装(wrapper)”特征选择算法。这种算法在计算能力满足要求的情况下,性能是很不错的。但是对于文本分类这样的问题,特征数目特别多,前向选择的计算量会特别大。
"过滤(Filter)"特征选择算法
for each feature i
compute some measure of how informative xi is about y.
一种measure 是计算xi和y的相关度,然后选择相关度最高的k个特征
另外一种measure是计算xi和y的互信息(mutual information)
当xi和y相互独立时,xi和y的联合概率分布与xi和y的概率分布乘积得到的概率分布,其KL散度为0.
第十讲完。