周志华-机器学习-读书笔记

2 模型评估与选择

2.1 经验误差与过拟合

错误率(error rate) E = a / m E=a/m E=a/m, E E E为错误率, a a a为样本分类错误, m m m为总样本数
精度(accuracy): A = 1 − a / m = 1 − E A=1-a/m=1-E A=1a/m=1E A A A为精度
训练误差(training error)或 经验误差(empirical error):学习器在训练集上的误差
泛化误差(generalization error):在新样本上的预测误差

期望:获得generalization error最小的学习器
实际:现实中不知道新样本是什么,所以只能使的empirical error 最小
问题:empirical error最小的学习器在多数情况下表现不好

过拟合(overfitting):在训练集上的表现好,在预测集中表现不好;泛化性能下降
欠拟合(underfitting):对训练样本的一般性质未学习好

造成overfitting和underfitting的原因?

  • overfitting是常见情况是因为学习能力过于强大,将训练样本中不太一般的特性也学习到了
  • underfitting通常是因为学习能力低下造成的

overfitting无法避免,只能缓解,为什么?

  • 机器学习的问题通常是NP-hard问题,但是有效的学习算法是多项式时间内的算法。如果能彻底避免过拟合,则意经验误差最小化就能获得最优解,意味着构造性证明了P=NP,只要我们认为P!=NP,则过拟合不可避免。

2.2 评估方法

使用测试集(testing set)来测试学习机器对新样本的判别能力。
以在testing set上的testing error作为generalization error的近似。
testing set需要保证与training set保持互斥

2.2.1 留出法(hold-out)

描述:直接将training set分为两个互斥的集合。
注意事项:划分时需要保持数据分布的一致性。从sampling的角度来看是分层采样(stratified sampling)。

2.2.2 交叉验证法(cross validation)

描述:将数据集划分成k个大小相似互斥子集。同样保证数据一致性。每次用 k − 1 k-1 k1个子集进行训练,用剩下的1个子集进行测试。最终结果为 k k k次测试结果的均值。
注意事项:稳定性和保真性取决于k的取值。故cross validation通常被称为“k折交叉验证”(k flod cross validation)。K通常取10.常用的还有5,20.

特例:留一法(Leave-One-Out,LOO)。其中k=样本大小。优点:结果较为精确。缺点:数据集较大时速度慢,时间复杂度至少为 O ( N 2 ) O(N^2) O(N2)。并不一定永远比其他方法准确。

2.2.3 自助法(bootstrap sampling)

描述:以自助采样(bootstrap sampling)为基础。有重复的从数据集中选取样本作为验证集合。其中对于选取m个则有:
lim ⁡ n → ∞ ( 1 − 1 m ) m ↦ 1 e ≈ 0.368 \lim_{n \to \infty}(1-\frac{1}{m})^m \mapsto \frac{1}{e} \approx 0.368 nlim(1m1)me10.368

可知,大约有36.8%的样本不会被选取。
其中D/D’作为训练集。
优点:数据集小,难以划分时有用。
缺点:引入估计偏差。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值