正则化
正则化是模型选择的典型方法,是结构风险最小化策略的实现。
作用是选择经验风险与模型复杂度同时较小的模型。
正则化项可以取不同的形式,如L1范数、L2范数。
L1范式和L2范式
L1范式
概念:参数向量中各个元素绝对值之和。
作用:可以实现稀疏(参数稀疏的好处:完成特征自动选择、模型更容易解释)
L2范式
概念:参数向量中各个元素的平方和然后求平方根。
作用:防止过拟合,提升模型的泛化能力(让L2范数的规则项 ∣ ∣ W ∣ ∣ 2 ||W||^2 ∣∣W∣∣2 尽可能小,可以使得W每个元素都很小,接近于零,但是与L1不同的是,不会等于0;这样得到的模型抗干扰能力强,参数很小时,即使样本数据x发生很大的变化,模型预测值y的变化也会很有限)
L1范式与L2范式区别:
-
下降速度
L1是按绝对值函数的“坡”下降的,而L2是按二次函数的“坡”下降。在0附近,L1的下降速度比L2的下降速度要快。 -
模型空间的限制
如果将L1和L2的模型空间都表示在(W1,W2)空间上,则可以发现L1在和每个相交的位置都有角出现,L2则没有角出现,故L1的位置容易产生稀疏性,而L2相交的位置有稀性的概率非常低。
交叉验证
交叉验证用于模型选择方法
原因:数据不足
基本思想:重复的使用数据,把给定的数进行切分,将切分数据集组合为训练集与测试集,在此基础上反复进行训练、测试以及模型选择。
- 简单交叉验证
- S折交叉验证
随机地将已给数据切分成S个互不相交的大小相同的子集;然后利用S-1个子集的数据训练模型,利用余下的子集测试模型;将这一过程对可能的S种选择重复进行;最后选出S次评测中平均测试误差最小的模型。 - 留一交叉验证
当S=N(给定数据集的容量)时,称为留一交叉验证。
ROC曲线和AUC值
ROC
概念::接收者操作特征(receiveroperating characteristic),roc曲线上每个点反映着对同一信号刺激的感受性。
横轴:负正类率(false postive rate FPR)特异度,划分实例中所有负例占所有负例的比例;(1-Specificity)
纵轴:真正类率(true postive rate TPR)灵敏度,Sensitivity(正类覆盖率)
注:针对一个二分类问题,将实例分成正类(postive)或者负类(negative)。但是实际中分类时,会出现四种情况.
- 若一个实例是正类并且被预测为正类,即为真正类(True Postive TP)
- 若一个实例是正类,但是被预测成为负类,即为假负类(False Negative FN)
- 若一个实例是负类,但是被预测成为正类,即为假正类(False Postive FP)
- 若一个实例是负类,但是被预测成为负类,即为真负类(True Negative TN)
- 真正类率(True Postive Rate)TPR: TP/(TP+FN),代表分类器预测的正类中实际正实例占所有正实例的比例。
- 负正类率(False Postive Rate)FPR: FP/(FP+TN),代表分类器预测的正类中实际负实例占所有负实例的比例。
- 真负类率(True Negative Rate)TNR: TN/(FP+TN),代表分类器预测的负类中实际负实例占所有负实例的比例,TNR=1-FPR。
当测试集中的正负样本的分布变换的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现样本类不平衡,即正负样本比例差距较大,而且测试数据中的正负样本也可能随着时间变化。
AUC
概念: ROC曲线下的面积,介于0.1和1之间。AUC作为数值可以直观的评价分类器的好坏,值越大越好。
物理意义:任取一对(正、负)样本,正样本的score大于负样本的score的概率。
生成模型与判别模型
监督学习是对给定的输入预测相应的输出。
一般形式为:
- 决策函数:Y=f(X)
- 条件概率分布:P(Y|X)
监督学习方法分为生成方法和判别方法、
生成模型
由数据学习联合概率P(X,Y),然后求条件概率分布P(Y|X)作为预测的模型。即,给定输入X产生输出Y的生成关系。
常见的生成模型:朴素贝叶斯、隐马尔可夫模型
特点:生成方法可以还原出联合概率分布P(X,Y),而判别方法则不能。生成方法学习收敛速度快,即当样本容量增加时,学到的模型可以更快地收敛于真实模型,当存在隐变量时能让可以用生成方法,此时判别方法则不能用。
判别模型
由数据直接学习决策函数f(X)或者条件概率分布P(X|Y)作为预测模型。判别方法关心的是给定的输入X,应该预测什么样的输出。
典型模型:感知机、 决策树、逻辑斯蒂回归模型、最大熵模型、支持向量机、提升方法和条件随机场。
特点:判别方法直接学习的是条件概率P(X|Y)和决策函数f(X)。直接面对预测,往往学习的准确率更高,由于直接学习P(X|Y)或f(X)。可以对数据进行各种程度上的抽象,定义特征并使用特征,因此可以简化学习问题。
PS:仅为学习使用,如有错误,希望大家指出!