统计学习方法是一种从数据中发现知识并应用到预测的一类方法,更严谨的定义是“关于计算机数据构建概率统计模型并运
用模型对数据进行预测和分析的一门学科”。
统计学习方法包括模型的假设空间、模型选择的准则以及模型学习的算法,简称为模型、策略和算法三要素。
1.模型
统计学习方法所建立的是输入空间到输出空间的预测,假设空间就是指输入空间到输出空间的映射集合。而具体的映射由
模型来表示,这种映射可以是映射函数(我们称之为非概率模型),也可以是条件概率分布(我们称之为概率模型)。简
言之,模型的假设空间包含所有可能的条件概率分布或决策函数。
2.策略
策略是指从假设空间中选择最优模型的准则。因此,我们首先要定义 “最优”。【我们当然希望预测结果与真实结果之
间的差距越小越好。】
A. 损失函数:对输入X,其预测结果f(X)与其真实输出Y之间的不一致,用损失函数L(Y,f(X))来度量。常用的损失函数有:
a. 0-1损失函数: L(Y,f(X)) = 1 if Y!=f(X) else 0
b. 绝对损失函数:L(Y,f(X)) = | Y-f(X) |
c. 平方损失函数:L(Y,f(X)) = (Y-f(X))^2
d. 对数损失函数: L(Y,f(X)) = -log(P(Y|X)) 【当Y==1时,P(Y=1|X)越大,L(Y,f(X))越小】
损失函数值越小,模型就越好。
B.风险损失:定义为损失函数的期望值。在监督学习的过程中,我们始终认为训练数据和测试数据是独立同分布的,
且监督学习的最基本假设就是输入输出具有联合概率P(X,Y)。
那么风险函数
即为理论上模型f(X)关于联合分布P(X,Y)的平均意义下的损失。
理论上,我们的学习目标就是选择风险函数最小化的模型。但由于联合分布P(X,Y)是未知的,我们无法计算风险函数
(实际上,要是知道联合分布,那么条件概率分布就已知了,那也不用建模了。。。)。
C. 经验损失:因此我们定义经验损失为模型关于训练集的平均损失。根据大数定律,当训练集趋于无穷时,经验损失
将趋于风险损失。
但是,实际中的训练样本容量不够大,导致用经验损失来估计风险损失的效果并不十分理想,因此实践中我们常常会
对经验损失做一些矫正。
D. 结构风险:加上对模型复杂度的惩罚项。【这是因为当样本容量较小时,依照经验损失最小化学到的模型可能产生
过拟合的现象,而过拟合的原因便是模型过于复杂。】
3.算法:定义了假设空间以及模型的选择准则,我们还需要合适的算法来学习得到最优的模型,即如何求解最优模型。
4.正则化与交叉验证:
上面我们提到了通过增加罚项来避免过拟合(避免为了盲目拟合训练集,而选择过于复杂的模型。根据occam's
Razor:在所有可选择的模型中,能很好解释已知数据并且十分简单才是最好的模型;
从贝叶斯角度来看,可以假设越复杂的模型先验概率越小),这就是正则化的思想。
而另一种常用语模型选择的方法便是交叉验证。常用的S折交叉验证的基本思想为将样本分为等容量互不相交的S个子
集,每次选择1个子集作为测试集,其他的为训练集。
最后选择S次评测的平均测试误差最小的模型。留一交叉验证作为S折交叉验证的特殊情况,即取S=N,N为样本容量,
即每次留一个样本作为测试数据,该方法往往用于数据缺乏的情况。
以上,对任一统计学习方法,我们可以从模型(决策函数or概率分布函数)、策略(选择最优模型的标准)以及算法
(选择最优模型的算法)三个方面去思考。
5. 生成模型和判别模型:监督学习的两个不同类别。区别在于前者是对输入输出的联合概率P(X,Y)进行学习,而后者
是直接对条件概率P(Y|X)进行学习。