机器学习之诊断法

本文介绍了如何诊断和解决机器学习模型的过拟合与欠拟合问题,包括使用训练集和测试集划分、交叉验证、误差计算以及学习曲线分析。通过调整模型复杂度和正则化参数,可以平衡偏差和方差。误差分析和F值用于评估模型性能,提供了解决高偏差和高方差的策略,如增加数据量、特征选择和正则化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

机器学习之诊断法

是否过拟合

我们将数据分成训练集和测试集,通常用70%的数据作为训练集,用剩下30%的数据作为测试集。

很重要的一点是训练集和测试集均要含有各种类型的数据,通常我们要将数据集随机打乱,然后再分成训练集和测试集。

误差计算error

  1. 对于线性回归模型,我们直接计算代价函数 J J J

  2. 对于逻辑回归模型,error的定义为:

在这里插入图片描述

最后都是对计算出的error误差求平均值

然后我们能大概知道这组结果的拟合水平

模型选择交叉验证集

出现在多个模型的情况下进行选择

具体方法为使用60%的数据作为训练集,使用 20%的数据作为交叉验证集,使用20%的数据作为测试集

具体步骤:

  1. 使用训练集训练出10个模型
  2. 用10个模型分别对交叉验证集计算得出交叉验证误差(代价函数的值)
  3. 选取代价函数值最小的模型
  4. 用步骤3中选出的模型对测试集计算得出推广误差(代价函数的值)

诊断偏差与方差

如果这个算法的表现不理想,那么多半是出现两种情况:要么是偏差比较大,要么是方差比较大。

在这里插入图片描述

其中training error指训练集误差,cross validation error指交叉验证集误差

随着次数上涨,交叉验证集误差先降后升

当训练误差与交叉验证误差相近时:交叉验证误差为偏差——欠拟合

当训练误差远小于交叉验证误差时:交叉验证误差为方差——过拟合

正则化

选择 λ的方式是:

  1. 使用训练集训练出12个不同程度正则化的模型

  2. 用12个模型分别对交叉验证集计算的出交叉验证误差

  3. 选择得出交叉验证误差最小的模型

需要注意的是如果一味追求交叉验证误差过小,可能会导致偏差过大,也就是欠拟合的情况

所以最终选择时得综合两者的情况

学习曲线

简单来说是以m(训练集样本数)为横轴,训练集误差和交叉验证集误差为纵轴的曲线

高偏差欠拟合的情况(一根直线):

在这里插入图片描述

具体表现为:

当m很小时,训练误差很小,交叉验证集误差很大

随着m逐渐在增大,两者逐渐逼近且相等

这时说明增加训练集的数量并不会有帮助

高方差过拟合

在这里插入图片描述

具体表现为:

当m很小时,训练误差很小,交叉验证集误差很大

随着m逐渐在增大,两者逐渐逼近,但仍会有十分明显的差别

这时说明增加训练集的数量会有帮助

对神经网络而言

参数较少的情况往往会导致高偏差

而参数较多的情况下会导致高方差

建议

  1. 获得更多的训练样本——解决高方差
  2. 尝试减少特征的数量——解决高方差
  3. 尝试获得更多的特征——解决高偏差
  4. 尝试增加多项式特征——解决高偏差
  5. 尝试减少正则化程度λ——解决高偏差
  6. 尝试增加正则化程度λ——解决高方差

误差分析

对于机器学习简单算法的构建过程:

  1. 从一个简单的能快速实现的算法开始,实现该算法并用交叉验证集数据测试这个算法
  2. 绘制学习曲线,决定是增加更多数据,或者添加更多特征,还是其他选择
  3. 进行误差分析:人工检查交叉验证集中我们算法中产生预测误差的样本,看看这些样本是否有某种系统化的趋势

类偏差的误差度量

  1. 正确肯定True Positive,TP):预测为真,实际为真

  2. 正确否定True Negative,TN):预测为假,实际为假

  3. 错误肯定False Positive,FP):预测为真,实际为假

  4. 错误否定False Negative,FN):预测为假,实际为真

precision查准率(精准度)=TP/(TP+FP)
recall查全率(召回率)=TP/(TP+FN)

阀值

如果我们希望提高查准率,我们可以使用比0.5更大的阀值

(减少错误预测病人为恶性肿瘤的情况,同时却会增加未能成功预测肿瘤为恶性的情况)

如果我们希望提高查全率,我们可以使用比0.5更小的阀值

(让所有有可能是恶性肿瘤的病人都得到进一步地检查)

F 值

在这里插入图片描述

用来综合评定精准度和召回率的值,越大说明越精准

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值