机器学习的准备:过度拟合、混淆矩阵、精度测量/二元分类、ROC曲线

本文介绍了机器学习中的关键概念,包括训练与测试数据的划分,过度拟合及其解决方案——校验数据和交叉验证。讨论了混淆矩阵在分类问题中的应用,以及精度测量如准确率、敏感度、特异度、精确率和F1分数。此外,还详细阐述了ROC曲线和AUC指标在评估分类器性能中的作用。
摘要由CSDN通过智能技术生成
  • Training Set 训练数据:用于训练的数据
  • Testing Set 测试数据:用于最终测试算法效果的数据,不能用于验证或训练
  • Validation Set 校验数据:用于检验训练数据是否过度拟合

如何划分比例:
训练:校验:测试 = 50:25:25(数据多) / 60:20:20(数据较少)


  • 过度拟合(Overfitting):算法精确的学习了训练数据,却不适用于所有数据(算法在相同的训练数据集中训练太久,导致过度的学习了训练数据集,包括其中的噪音和数据中不精确的部分)。

    换句话说,算法得到的函数精确匹配训练集,但在后果是,在总体上对所有数据来说偏差更大了(在训练数据中,算法的函数曲线应该以在最近的距离通过所有数据点(更平滑),而不是试图穿过所有数据点(更曲折))。

    解决方案:校验数据(Validation set),或者进行交叉验证(Cross-validation)

    • 交叉验证(Cross-validation):将训练数据拆分,分别作为训练数据和校验数据,多次对算法进行训练。最后选择“校验误差最低”的算法模型作为结果进行测试。

      如果校验数据太少,可能导致算法训练不充分时,可以选择交叉验证(Cross-validation)

      交叉验证的是以时间为代价,弥补数据的不足

验证数据
训练数据
测试数据

  • 混淆矩阵(Confusion Matrix):适用于分类问题(Classification),用于表示分类的准确程度

    C1,C2,C3是三个类,数据集中有18个数据点,列的总数表示算法对数据点进行的划分,行的总数表示数据点实际的归属。

    比如按列来看,对于(C1,C2,C3),算法对18个点的划分是(8,5,5);按行看,实际的划分应该是(6,6,6)。

    而左上到右下的对角线(leading diagonal)则代表了算法的准确率 5 + 4 + 4 c 1 + c 2 + c 3 = 13 18 \frac{ {}_{5+4+4}}{c1+c2+c3}=\frac{13}{18} c1+c2+c35+4+4=1813

    算法输出(Outputs)
    C1 C2 C3
    实际值(Targets) C1 5 1 0
    C2 1 4 1
    C3 2 0 4

  • Accuracy metrics 精度测量 / Binary classifier 二元分类器:与混淆矩阵的行列颠倒,列表示真实值,行表示预测值(算法输出)。当真实值=预测值时,结果为True,表示预测正确;False表示预测错误。

    真实值
    P N
    算法输出 P' True Positive(TP,hit) False Positives(FP,false alarm)
    N' False Negatives(FN,miss) True Negatives(FN,correct rejection)

    • 准确率Accuracy (ACC)
      A C C = T P + T N P + N = T P + T N T P + T
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值