机器学习基础-误差分析和模型评估

目录

数据集的划分(训练集,验证集,测试集)

交叉验证

不平衡数据的处理

采样技术

代价敏感学习

掌握模型评价指标的计算方法:accuracy,precision,recall,F1

准确率(Accuracy)

精确率(Precision)

召回率(Recall)    

F1分数(F1 Score)


数据集的划分(训练集,验证集,测试集)

训练集(Training Set):帮助我们训练模型,简单的说就是通过训练集的数据让我们确定拟合曲线的参数

验证集(Validation Set):也叫做开发集(Dev Set ),用来做模型选择(model selection),即做模型的最终优化及确定的, 用来辅助我们的模型的构建,即训练超参数,可选;

测试集(Test Set): 为了测试已经训练好的模型的精确度

三者划分:训练集、验证集、测试集 测试集
机器学习:60%,20%,20%;70%,10%,20%
深度学习:98%,1%,1% (假设百万条数据)


交叉验证

意义:用于评估模型性能并防止过拟合的统计方法,其核心是通过数据分割和重复训练来获得对模型的可靠评估。

交叉验证的基本思想是多次训练和测试模型,每次使用不同的数据子集作为训练集和验证集,从而更全面地评估模型的表现。相比于简单的单次划分训练/测试集的方法,交叉验证能够更好地利用有限的数据资源,并减少评估结果的方差。

步骤:

1.使用训练集训练出k个模型

  • 在交叉验证中,训练集进一步划分为 k个子集(即 k-折交叉验证)
  • 每次训练时,将 k−1 个子集用于训练模型,剩下的 1 个子集用于验证。通过轮流将每个子集作为验证集,可以训练出 k个模型。

2. 用k个模型分别对交叉验证集计算得出交叉验证误差(代价函数的值)

  • 每个模型在对应的验证集上进行评估,计算误差(通常是代价函数的值,如均方误差<回归问题>、交叉熵<分类问题>等)。
  • 记录每折验证的误差值,以获得模型在不同数据切割情况下的表现。

3. 选取代价函数值最小的模型

4. 用步骤3中选出的模型对测试集计算得出推广误差(代价函数的值)
        推广误差是指模型对未见过的新数据(通常是测试集)的预测能力


不平衡数据的处理

数据不平衡是指数据集中各类样本数量不均衡的情况这种不平衡可能导致模型对少数类别的预测性能较差。常用不平衡处理方法有采样代价敏感学习 

采样技术

欠采样:通过减少多数类样本的数量来平衡数据集的方法。

过采样:通过增加少数类样本的数量来平衡数据集的方法。(简单复制、SMOTE等)

代价敏感学习

定义:为不同类别的样本提供不同的权重,从而让机器学习模型进行学习的一种方法。

例如:风控或者入侵检测这两类任务都具有严重的数据不平衡问题,可以在算法学习的时候,为少类样本设置更高的学习权重,从而让算法更加专注于少类样本的分类情况,提高对少类样本分类的查全率,但是也会将很多多类样本分类为少类样本,降低少类样本分类的查准率。


掌握模型评价指标的计算方法:accuracy,precision,recall,F1

实际问题:假设你是一个三甲医院的肿瘤科主任,你想花500万聘请一个公司来做一个基于人工智能算法的分类器,来判断患者是否有患有肿瘤,该肿瘤的发病率较低。 现在有一家公司找到你说,按照下面的表格和精确率的计算,他们公司可以做到99% 以上的分类准确结果。请问,你作为主任,可以单纯凭借这个指标来定夺是否聘请这家公司吗?

预测为正(有肿瘤)预测为负(无肿瘤)
实际为正(有肿瘤)TruePositive(TP)False Negative(FN)
实际为负(无肿瘤)False Positive(FP)True Negative(TN)

准确率(Accuracy)

                accuracy=\frac{TP+TN}{TP+TN+FP+FN}  

精确率(Precision)

                 precision=\frac{TP}{TP+FP} 

        是针对我们预测结果而言的,它表示的是模型在预测为正类的样本中,正确预测的比例

召回率(Recall)    

                 recall=\frac{TP}{TP+FN} 

        是针对我们原来的样本而言的,它表示的是模型在所有实际正类样本中,正确识别的比例。

F1分数(F1 Score)

                F1 Score=2*\frac{Precision+Recall}{Precision*Recall}

        F1分数是查准率和查全率的调和平均值,用于综合评估模型的性能。它在查准率和查全率之间寻找一个平衡点

混淆矩阵(confusion_matrix)

例题:有100张照片,其中,猫的照片有60张,狗的照片是40张。 输入这100张照片进行二分类识别,找出这100张照片中的所有的猫。

正确率(Accuracy)=(40+30)/(40+30+20+10)=0.7
精度(Precision)=40/(40+10)=0.8
召回率为(Recall) =40/(40+20)=0.67
F1=2*(0.8+0.67)/(0.8*0.67)

precision很高,但是recall很低的情况:
a.谨慎的预测对应肿瘤预测,呵呵,人家本来有肿瘤,您没预测出来!!

recall很高,但是precision很低的情况:
a.大胆的预测对应肿瘤预测更惨,呵呵,人家本来没有肿瘤,你动不动就和人家说你可能有肿瘤!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值