机器学习(一)~模型评估与选择 之 *经验误差与过拟合

机器学习(一)~模型评估与选择 之 *经验误差与过拟合

    • 1. 错误率与准确率
    • 2. 泛化能力
    • 3. 偏差与方差
    • 4. 过拟合与欠拟合
        • 出现原因
        • 应对方案

1. 错误率与准确率

目的:得到泛化误差最小
方法:由于测试集实现未知,只能通过经验误差来评估泛化误差

错误率(error rate):分类错误的样本数占样本总数的比例

准确率(accuracy):1 - 错误率

例如:当损失函数是0-1损失时,测试误差/错误率etest 和准确率rtest 为:
测试误差/错误率
准确率
显然,etest + rtest = 1

2. 泛化能力

误差(error ):实际预测输出和样本真实输出之间的差异

经验误差:同训练误差,即学习器在训练集上的误差

泛化误差:同测试误差,即学习器在测试集上的误差,泛化误差越小,泛化能力越强

3. 偏差与方差

偏差是指我们忽略了多少数据,而方差是指我们的模型对数据的依赖程度
高偏差:对模型的假设不够导致忽略训练数据,即偏离正确结果
高方差:模型根据训练数据显着变化,即不稳定

4. 过拟合与欠拟合

过拟合(overfitting):高方差和低偏差
欠拟合(underfitting):模型未学习到输入输出之间的关系,具有高偏差和低方差
过拟合和欠拟合都会导致测试集的泛化性差,两者直观类比如图所示:
机器学习(一)~模型评估与选择 之 *经验误差与过拟合_第1张图片

出现原因

欠拟合原因:
1. 模型复杂度过低
2. 特征量过少

过拟合原因:
1.训练集的数量级N与模型复杂度M不匹配,N 2.训练集与测试集的特征分布不一致
3.样本噪声过多,模型过分记住了噪声,忽略了真实的输入输出
4.权值学习迭代次数过多,拟合了不具代表性的特征

应对方案

解决欠拟合:
1.增加新特征
2.增加模型复杂度,如决策树学习中扩展分支,神经网络学习中增加训练轮 数等

缓解过拟合:
1.清洗数据
2.减小模型复杂度
3.增广训练集
4.交叉验证
5.正则化,约束模型特征
6.dropout,让一些神经元以一定的概率不工作
7.early stopping迭代次数截断,即在模型训练数据集迭代收敛 之前停止 迭代,此时最佳accuracy不再提高
8.集成学习,Bagging通过平均多个模型的结果降低模型的方差;Boosting能减小偏差与方差

过拟合无法完全解决的一个解释:当前的机器学习问题一般都是NP问题甚至更难,如果能用经验误差最小化获得最优解,那么就构造性证明了“P=NP”;如果相信“P≠NP”,过拟合就不可避免。

你可能感兴趣的:(机器学习算法)