机器学习之模型评估与模型选择
来源:互联网 发布:中锐网络怎么样 编辑:程序博客网 时间:2024/05/23 02:00
一 模型评估
对于这两种误差,测试误差能够反映学习方法对未知的测试数据集的预测能力,是学习中的重要概念,通常将学习方法对未知数据的预测能力称为泛化能力(generalization ability)。
二 泛化能力和过拟合问题
过拟合是指学习时选择的模型所包含的参数过多,以至于出现一模型对已知参数预测得很好,但对未知参数预测得很差的现象。以一维的回归分析为例,如果用高阶多项式去拟合数据,比如有五个数据点,用四次多项式去拟合,如果让该多项式曲线均通过这几个数据点的话,如图2所示,则只有唯一解。这种情况可能使得训练误差很小,但是实际的真实误差就可能很大,这说明学习模型的泛化能力很差(bad generalization),对未知数据的预测能力很差。
从上面这个图可以看出,测试误差有一个先降后升的趋势,如果定义测试误差曲线的最低点为dvc为最佳vc维,那么随着横坐标向右移,训练误差下降,测试误差上升,当测试误差过大时就产生了过拟合的现象(over fitting);而如果从最佳vc维向左移,这样造成了欠拟合(under fitting)。
造成过拟合成因有:模型的vc维过高,模型复杂度(model complexity)过高;数据中的噪声,如果完全拟合的话,也许与真实情景的偏差更大;数据量有限,使得模型无法真正了解整个数据的真实分布。
三 模型选择
模型选择旨在避免过拟合并提高模型的预测能力,比较典型的方法有正则化和交叉验证。
1 正则化
一般形式如下所示
其中,第1项是经验风险,第2项是正则化项,可以为参数向量的范数。 为调整两者之间关系的系数。第1项的经验风险较小时模型可能比较复杂(有多个非零参数),这时第二项模型复杂度会较大,正则化的作用就是选择经验风险与模型复杂度同时较小的模型。
2 交叉验证
交叉验证的基本思想就是重复使用数据,把给定的数据进行切分,将切分的数据分成训练集合测试集,在此基础上反复进行训练、测试以及模型选择。
(1) 简单交叉验证
随机划分数据为两部分:训练集和测试集。将训练集在各种条件(比如不同的参数)下训练模型,从而得到不同的训练模型。利用每个模型分别对测试集进行测试,选出测试误差最小的模型。
(2) S折交叉验证(S-fold cross validation)
随机将数据划分为S个互不相同的子集,然后利用S-1个子集的数据训练模型,利用余下的子集测试模型。将这一过程重复进行S次,最后选出S次评测中平均测试误差最小的模型。
(3) 留一交叉验证
留一交叉验证为S折交叉验证的特殊情况,即S=N(N为样本容量),往往在数据缺乏的时候使用。
引用:
1 作者Jason Ding http://www.open-open.com/lib/view/open1423572428467.html
2 李航 《统计学习方法》
- 机器学习之模型评估与模型选择(学习笔记)
- 机器学习之模型评估与模型选择
- 机器学习算法笔记之7:模型评估与选择
- 机器学习总结之第二章模型评估与选择
- 机器学习模型评估与选择
- 机器学习(二) 模型评估与选择
- 机器学习----模型评估与选择
- 机器学习—模型评估与选择
- 周志华 机器学习 模型选择与评估
- 机器学习笔记--模型评估与选择
- 机器学习的模型评估与选择
- 机器学习-模型的评估与选择
- 机器学习模型评估与选择
- 机器学习-模型评估与选择
- 机器学习——模型评估与模型选择
- 机器学习学习笔记(3)----模型评估与选择
- 机器学习-学习笔记 模型评估与选择
- 周志华《机器学习》学习笔记2--模型评估与选择
- Ubuntu 入门 Lession 04.惯用关机命令
- 内核编译时, 到底用make clean, make mrproper还是make distclean
- 从哈密尔顿路径谈NP问题
- nyoj 523 亡命逃窜 【三维bfs】
- Android ProGuard 混淆 详解
- 机器学习之模型评估与模型选择
- poj 1013 枚举
- left、offsetLeft、width、offsetWidth区别
- 【小技巧】无法连接到安全检查代理服务器,套接字创建失败
- 检查 android.mk条件如果执行,在android.mk中打印日志信息
- SourceInsight常用技巧
- 使用MySQL正则表达式 __MySQL必知必会
- 内存相关问题
- MAC使用PC键盘