《机器学习》学习笔记chapter2 模型选择(占坑)
来源:互联网 发布:date函数的使用方法php 编辑:程序博客网 时间:2024/05/15 04:46
1.经验误差与过拟合
1.1 为什么会有过拟合
经验误差也叫做训练误差,是学习器在训练过程中产生的误差。因为样本量不可能等于总体,所以学习器总不能完美地进行学习,如果学习器过于依赖训练的样本,而不能很好地预测其它的情况,这时则产生了过拟合。
1.2如何评估过拟合
答案是交叉验证。
交叉验证:主要用于建模应用中,例如PCR 、PLS 回归建模中。在给定的建模样本中,拿出大部分样本进行建模型,留小部分样本用刚建立的模型进行测试,并求这小部分样本的测试误差,记录它们的平方加和。一句话概括就是,从样本中取小一部分做测试集。
常见的交叉验证方法:
- Hold-Out:即一分为二,一半测试,一半训练
- K-fold (记为K-CV):即分成k份,将每个子集数据分别做一次验证集,其余的K-1组子集数据作为训练集。
- Leave-One-Out:即每个样本单独作为验证集,其余的N-1个样本作为训练集
- Bootstrapping(严格意义上不属于CV):通过随机采样,有放回取出m个(总样本量)样本数据作为训练集。而始终不被采集到的样本量是:
lim(1−1/m)m ,m取极限值为lim(1−1/m)m=1/e≈0.368 。也就是说有大于1/3的样本没被采集出来训练,可以用于测试。这样的测试结果也称为”包外估计“。
Bootstrapping在数据集小,难有效划分测试集的情况下很有用。但是,它改变了数据集的初始分布,引入了估计的偏差。因此数据量足够时,前面的方法常用些
更多详细参考博文:交叉验证 Cross-validation
1.3调参与最终模型
许多模型都有参数需要调整,即使是细微的调整,训练出的模型都可能大不相同。所以从这个角度看,调参和模型选择本质是相同的。
参数的调整,一般在范围内以等间距去取,然后组合其它参数去训练,这样训练的结果往往,不是最好的,但是即使是这样,训练起来也不容易假设有3个参数,每个参数都在[0,1]范围内。以0.2为间距,去取5个参数。组合起来都有125种可能,就是要训练125次。所以经验在这里就比较重要了。
2.性能度量
对学习器的泛化性能进行评估,不仅需要有效可行的实验方法(交叉验证),还需要有衡量模型泛化能力的评价标准,这就是性能度量。
性能度量反应了任务需求,不同地性能度量往往会导致不同地评判结果。也就是说,好和坏是相对的,这取决于任务的需求。可以有以下四类:
2.1 错误率与精度
即直接统计判断错误和正确占总体的百分比。
2.2 查全率与查准率(P-R曲线)
有些任务要求尽可能多地去预测,从而提高目标的成功预测数量,即指标为查全率,例如通缉犯识别系统。有些则要求尽可能地准确地去预测,从而提高预测结果的作用效果,即指标为查准率,如智能推荐。
这一对指标,往往?是成反比的,尽可能地去提高覆盖率,就更可能犯错。尽可能地保证准确度,就更可能不去预测或判断,不太确定的样本。
P-R曲线
2.3 ROC曲线
有了PR曲线作参考,有时候还是不能够。我们会想在查准率上划一条分界线,上为
ROC曲线&AUC
曲线的XY轴分别为,假正例率和真正例率。通过把学习的结果排序,以不同地分割点进行分割,得到不同阀值下的预测结果,分别计算对应的两个变量,假正例率和真正例率作出ROC曲线。
AUC(Arear Under ROC Curve),即ROC曲线之下的面积。这个面积越大,该学习器(模型)的泛化性能越好。即总体而言,真正利率比假正例率高出的比例更大。
都有查全率查准率和准确率等指标了,为什么还需要ROC曲线呢?
因为在样本类别不均衡的情况下(正例多于反例,反义依然),ROC和AUC能很好地衡量学习器(模型)的性能,其ROC曲线是不变的。
2.4 代价曲线
之前的所有指标,都默认所有判断错误的代价都是相等的。其实现实中,并不是这样。把一个人错认为是通缉犯,和把一个通缉犯错误地放走,明显造成的影响的是不一样的。所以需要引入代价进行计算:此处以二分类为例
二分类代价矩阵:
预测类别预测类别 真实类别第0类第1类 第0类0cost01 第1类cost100代价敏感错误率:
引入了代价曲线,其中横轴为正例概率代价,纵轴为归一化代价。正例概率代价计算方式为:
归一化代价计算方式为:
更多性能指标参考:
1.机器学习性能评估指标
2.机器学习模型性能评估方法笔记
3.比较检验
3.1二项分布&二项检验
3.2t检验
3.3交叉验证t检验
3.4McNemar检验
3.5Friedman检验与Nemenyi后续检验
4.方差与偏差
- 《机器学习》学习笔记chapter2 模型选择(占坑)
- 《机器学习》学习笔记chapter1 绪论(占坑)
- Keras学习笔记:Chapter2-初探Keras模型
- 机器学习笔记--模型评估与选择
- 机器学习之模型评估与模型选择(学习笔记)
- 《机器学习实战》学习笔记 --chapter2 K-近邻算法
- 机器学习学习笔记(3)----模型评估与选择
- 机器学习-学习笔记 模型评估与选择
- 周志华《机器学习》学习笔记2--模型评估与选择
- 机器学习之模型选择
- 《机器学习》(周志华)学习笔记(二)模型评估与选择
- 【机器学习-斯坦福】学习笔记9 规则化和模型选择(Regularization and model selection)
- 机器学习笔记(二)模型评估与选择
- 机器学习笔记(二)模型评估与选择
- 机器学习算法笔记之7:模型评估与选择
- 周志华《机器学习》笔记:2、模型评估与选择
- 机器学习笔记(二)模型评估与选择
- 《机器学习》第二章 模型评估与选择 笔记1
- 几种常见的排序算法分析学习
- hdu 4300 很好的hash字符串题
- python爬虫系列(三):第三方库requests 的使用
- PAT 甲级 1018. Public Bike Management (30)
- mysql根据.frm和.ibd文件恢复表结构和数据
- 《机器学习》学习笔记chapter2 模型选择(占坑)
- 全排列的递归实现
- 关于真机调试DDMS中的data文件夹打不开的解决方法
- 老司机带你玩转git (四) git的协同合作
- EasyUI框架
- 数据库选型漫谈
- 关于编码(二):ASCII和Unicode
- JAVA8 特性
- poj1258 Agri-Net