八股文——机器学习基础模型评估

一、常用的评估函数

Accuracy  准确率

Precision  精准度/查准率

Recall   召回率/查全率

P-R曲线      查准率为纵轴,查全率为横轴

F1   F1值

Confusion Matrix    混淆矩阵

ROC   ROC曲线

AUC   ROC曲线下的面积

二、什么是混淆矩阵

计算公式 召回率(预测结果中真正的正例数)/(样本中所有的正例数)

这里需要注意一个特点,真阳性率和召回率是一致的。

召回率是对样本的评判 样本中有多少正样本被预测正确

精确率是对预测结果的评判

计算公式 Precision=(预测结果中真正的正例数)/(预测结果中的正例数)

预测结果中的正例数

正例数包含两个方面
1 正的预测为正的
2 负的预测为正的

如果查准率很大,当样本预测为正例时,那么这个样本为正例的把握就很大

三、什么是ROC曲线


(1)首先,ROC曲线的横坐标是假阳性率FPR,纵坐标是真阳性率TPR
2)其次,明确计算AUC的时候,预测值y_pred一般都是[0,1]的小数(代表预测为正样本的概率),真实值y true为0或1。如果计算FPR和TPR,我们就需要知道预测的正负样本情况,但给的预测值是小数,如何划分预测的正负样本呢?答案是选取截断点
(3)截断点是指区分正负预测结果的闽值。比如截断点=0.1,那就表示y_pred<0.1的为预测为负样本,y_pred>=0.1预测正样本。所以绘制AUC曲线需要不断移动“截断点”来得到所有的(FPR,TPR)点,然后把这些点用线段连起来就是ROC曲线了。
这个截取点一般是将样本预测值从小到大排序,一个个的试过去。
(4)截断点取值为{+∞,-∞ 和预测值的所有唯一值} 就够了。+∞表示所有都预测为负样本,(fpr, tpr)=(0,0)。-∞表示所有都预测为正样本,(fpr,tpr)=(1,1)。也就是这两个坐标点固定有,所以一般截断点默认取值就是预测值的所有唯一值。

四、什么是AUC

AUC的值,就是ROC曲线下的面积大小

出线AUC越大,说明分类器越可能把正样本排在前面,衡量的是一种排序的性能。那么问题来了,ROC曲线下的面积怎么就能衡量分类器的排序能力?
如果ROC面积越大,说明曲线越往左上角靠过去。那么对于任意截断点(FPR,TPR)坐标点越往左上角(0,1)靠,说明FPR较小趋于0(根据定义得知,就是在所有真实负样本中,基本没有预测为正的样本),TRP较大趋于1(根据定义得知,也就是在所有真实正样本中,基本全都是预测为正的样本)并且上述是对于任意截断点来说的,很明显,那就是分类器对正样本的打分基本要大于负样本的打分(一般预测值也叫打分),衡量的不就是排序能力嘛!简单来说,AUC越大,越靠近左上角,假阳性越小,真阳性越大,想一下那个图,说明预测为正的越多,预测为负的越少,那就是分类器对正样本的打分基本要大于负样本的打分
比较常用的AUC的定义,
即:随机从正样本和负样本中各选一个,分类器对于该正样本打分大于该负样本打分的概率

五、AUC的缺点

AUC更关注排序,而不是概率。更关心正负样本之间的排序,并不关心正样本或者负样本内部的排序

反映了太过笼统的信息,无法反应召回率、精准率等在实际业务中经常关心的指标。

还有很重要的一点就是,两个ROC曲线不同,AUC可能相同

六、AUC对正负样本比例不敏感

假阳性率是ROC曲线的横坐标,真阳性率是ROC曲线的纵坐标,AUC曲线是面积。假设我们现在把正样本随机删除了一半,负样本不变,这个时候正负样本比例发生了变化。
那么对于横坐标假阳性率来说,不受影响,因为通过混淆矩阵和假阳性率公式我们知道这个只和第二列也就是真实负样本相关。
对于纵坐标来说,真阳性率的分母减少了一半,因为我们是随机删除一半正样本,那么真阳肯定也会随机删除一半,所以真阳性率值没有发生变化。这也就是说AUC对正负比例不敏感的原因

但是一定要注意的是,不敏感不代表不变,只是鲁棒性会更强

而且还需要注意的一点是,随机采样这个过程涉及到的是测试部分。

但是如果在训练的时候,两种比例的正负样本,训练出来的模型肯定不一样,那么ROC也会不同,对应的ACU也会变化.

举个例子,AUC适合什么呢?拿到一个模型之后,可能测试集有多个,正负样本数量每个测试集都不太一样,所以拿ACU去评估,这个时候AUC的鲁棒性就体现出来了。

七、AUC的计算方法

AUC可以理解为:随机抽出一对样本(一个正样本,一个负样本),然后用训练得到的分类器来对这两个样本进行预测,预测得到正样本的概率大于负样本概率的概率。
在有M个正样,N个负样本的数据集里。一共有M*N对样本(一对样本即,一个正样本与一个负样本)。统计这M*N对样本里,正样本的预测概率大于负样本的预测概率的个数。
那么第一种暴力解决的方法就很容易找到了

第二种方式就是找一个规律,我们把预测值从小到大排序,然后我们想一个比较容易理解的部分,就是所有正样本的概率都比负样本的大,所以正样本都在后面。
这个其实就是把两两组队的样本对放成了一排。我们只需要把所有正样本大于负样本情况列出来就可以了

八、多分类宏平均和微平均

对于多分类情况,我们是把多分类分为N个二分类,然后分别计算每个二分类的精确率,召回率和F1,在此基础之上计算进行不同的评估。
Macro-宏平均
宏平均就是先去计算各类的P和R,然后求得P和R的平均,然后去计算最终的F;这个的话是把所有类别同等看待,每个类别权重相同

微平均
微平均是计算P和R的就把所有类别的都放在一起去计算整体的P和整体的R,然后计算R;这个过程是把所有样本看成同样的,每个样本权重相同

九、什么是过拟合和欠拟合

过拟合是指模型对于训练数据拟合呈过当的情况。大白话来说就是模型对训练集"死记硬背”(记住了不适用于测试集的训练集性质或特点),没有理解数据背后的规律,泛化能力差。表现上来看就是在模型在训练集上表现很好,但在验证集和测试集或者其他模型训练的时候没看到的数据上表现很差。(这个是最重点的一个表现,那么误差在验证集上先降低后上升的图不一定满足)

欠拟台指的是模型在训练集上就表现很差,没法学习到数据背后的规律。而且同时在新的数据集比如验证集和测试集上效果也不好。

十、过拟合和欠拟合产生的原因

主要是三个原因
(1)数据中噪声过多,噪声指的是训练数据中的干扰数据,噪声数据会误导模型记录较多的错误特征,而 忽略了真实样本中的正确特征信息;
总体数据如下图:

有噪声的话

在开始训练的时候肯定是欠拟合状态,有一个差不多的线就可以了,这个时候噪声的坏处还没有显现出来,误差也验证集和测试集上越来越低。然后随着模型训练,过度拟合了噪声了数据,那么模型在验证集和测试的效果也就越来越差了。

还有一个考虑,噪声数据分布是不一定的,所以在训练中拟合了这部分噪声,但是在测试集有新的分布的噪声,当当然效果差
(2)训练数据不足,样本单一。也就是说训练数据不能体现总体数据总的特征,那么学习到的模型泛化能力肯定很差。也就是说模型见的数据不够多。
(3)训练模型过度,或者其他一些原因导致模型非常复杂。这个其实就是那个欠拟合过拟合过度的那个图。如果训练过度,导致完全拟合了训练数据的话,得到的模型不一定是可靠的。

十一、如何缓解过拟合和欠拟合

1.缓解过拟合

2.缓解欠拟合

  • 11
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值