网站首页 > 博客文章 正文
开篇:最近回顾了系列的算法学习资料,整理了算法的学习流程,从问题出发,怎么用算法
解决实际业务中的 case。当接到需求时,首先需要深入了解需求场景,将需求转换为算法可以解决的问题,我们大部
分遇到的是分类和回归的场景。需要我们深入理解问题,收集足够多的数据,从不同的纬度
分析,对该问题完成建模。对于需求场景中定义成问题,完成问题的建模,这是最重要的部
分。接下来都是一些套路的流程,对数据进行特征抽取,不同维度分析数据等特征工程,根
据模型复杂度、数据的稀疏、线性与非线性等筛选出适合的模型。在此基础上进一步提高效
果的模型融合等等(后续慢慢会讲到)。
首先我们需要了解怎么评估建模的好坏。根据问题场景的不同,定义不同的评价指标,用来
评价建模的好坏的程度。这个评估指标,一般作为模型的评估,真正线上的情况要根据不同
场景的业务指标来衡量。
一、分类指标
1、准确率通俗理解就是对于预测的所有数据,预测正确的数据占全部预测数据的比例。
如图中是模型对数据进行的预测,左右两个矩形表示正负样本集(正样本简称 P 负样本简称N),左侧红色半圆 true positives 表示模型正确预测为正样本的数据简称 TP,剩余部分是 falsenegatives,表示样本的真实标签是正样本,但是模型预测为负样本的数据,简称 FN,右侧红色半圆部分 false positives 表示数据的真实标签是负样本,但是模型预测为正样本的数据,简称 FP,剩余部分 true negatives 表示真实是负样本,模型预测也是负样本,简称 TN,TN+TP表示模型预测对的部分,包含了对正样本和负样本的预测,FN+FP 表示模型预测错误的部分,包含了对正样本和负样本的预测。
对于一般的二分类问题,正负样本均衡,一般可以用准确率进行衡量。准确率可以覆盖到所
有可预测到的数据,覆盖了 TP、TN、FP、FN(样本总数)。需要照顾到所有情况数据的指标,样本均衡,可以使用准确率,计算公式如下:
2、召回率与精确率
真实场景中往往数据是不均衡的,如果用准确率很难衡量出模型的好坏程度。我们考虑使用
召回率与精度。计算公式如下:
精确率和召回率都是越高越好,但是实际中往往两者是相矛盾的,精确率高时,召回率低,
召回率高时,精确率低。所以要根据自己的实际业务选择哪个指标更加重要,如何将两个指
标整合在一起呢?F1 score
也可以对不同指标进行加权,综合查看结果指标。
3、ROC 与 AUCROC 是以 FPR 为横坐标,以 TPR 为纵坐标的曲线图。以样本的预测概率进行排序,以每条样本的预测概率为阈值,计算对应的 TPR 与 FPR。
Roc 曲线越靠近左上角性能越好,左上角坐标(1,0)表示完美分类器,FPR=0,TPR=1。(0,0)点,FPR=TPR=0,所有的点都预测为了负值。(1,1)点,所有的点都预测为了正值。(1,0)点,FPR=1,TPR=1,即 FP=1,TP=0.负样本都预测为正值,正样本都预测为了负值。 最差的分类器。具体的可以通过计算公式推导。
AUC 表示 roc 曲线下方的面积,取值越大说明模型越有可能将正样本排在负样本的前面。因此 AUC 可以作为样本排序的指标,计算公式如下:
|p|表示正样本。|N|表示负样本。 rank_{i} 表示第 i 个正样本的排序序号。排序根据概率得分从小到大排。
4、交叉熵损失
这是分类问题中的常见损失,同样在分类中,交叉熵损失是越小越好的。与 AUC不同 对于排序不敏感
二、回归指标:
1、绝对值误差MAE 能够很好的刻画偏差,其实是对数据中值进行拟合,但是一些模型要求具有二阶导数的如 XGBoost,所以不能用 MAE 所为损失函数。计算公式如下:
2、绝对值百分比误差
保证 y_{i} 不等于 0,是对 MAE 的一种改进。
3、均方根误差
与 MAE 相比,RMSE 对大误差的样本有更大的惩罚,对离群点敏感。不如 MAE 健壮。RMSE是对数据均值的拟合。
三、排序指标
1、平均准确率均值 MAP先一次排序的平均准确率,再计算总体的平均准确率。
假设有两个主题,主题 1 有 4 个相关网页,主题 2 有 5 个相关网页。某系统对于主题 1 检索出 4 个相关网页,其 rank 分别为 1, 2, 4, 7;对于主题 2 检索出 3 个相关网页,其 rank 分别为 1,3,5。对于主题 1,平均精度均值为(1/1+2/2+3/4+4/7)/4=0.83。对于主题 2,平均精度均值为(1/1+2/3+3/5+0+0)/5=0.45。则 mAP= (0.83+0.45)/2=0.64。
2、NDCG累计增益(CG)
rel _{i}代表 i 位置的相关度缺点:假设搜索"篮球"结果,最理想的结果是:B1、B2、 B3。而出现的结果是 B3、B1、B2 的话,CG 的值是没有变化的,因此需要下面的 DCG。折损累计增益(DCG)为了让排名越靠前的结果越能影响最后的结果
归一化折损累计增益(NDCG)DCG 是一个累加的值,没法针对两个不同的搜索结果进行比较,因此需要归一化处理,这里是处以 IDCG。IDCG为理想情况下最大的 DCG 值。
实际的例子
假设搜索回来的 5 个结果,其相关性分数分别是 3、2、3、0、1、2那么 CG = 3+2+3+0+1+2可以看到只是对相关的分数进行了一个关联的打分,并没有召回的所在位置对排序结果
评分对影响。而我们看 DCG:
所以 DCG = 3+1.26+1.5+0+0.38+0.71 = 6.86接下来我们归一化,归一化需要先结算 IDCG,假如我们实际召回了 8 个物品,除了上
面的 6 个,还有两个结果,假设第 7 个相关性为 3,第 8 个相关性为 0。那么在理想情况下的相关性分数排序应该是:3、3、3、2、2、1、0、0。计算 IDCG@6:
所以 IDCG = 3+1.89+1.5+0.86+0.77+0.35 = 8.37最终 NDCG@6 = 6.86/8.37 = 81.96%
四、样本选择
从海量的数据中识别和选择相关性高的数据作为机器学习的输入。怎么选择样本数据尤为重
要。对数据进行去噪处理,进行采样,选择合适的数据集。
数据去噪主要去掉不可能的值,空值等,但是一些模型是可以处理空值的如 xgboost。采样尽量保持采样的期望与真实数据的期望一致,尽量保持值的分布特点。主要有上采样、
下采样、随机抽取、分层抽样、整群采样等
对于离线的验证可以进行交叉验证:1、留出法 2、k折交叉验证 3、自助法
猜你喜欢
- 2024-10-29 模型评估(一)(你应该知道的模型评估的五个方法)
- 2024-10-29 精度是远远不够的:如何最好地评估一个分类器?
- 2024-10-29 Python机器学习理论与实战 第二章 Logistic回归模型(下)
- 2024-10-29 R数据分析:ROC曲线与模型评价实例
- 2024-10-29 模型评估与模型监控——AUC 计算示例
- 2024-10-29 为机器学习模型选择正确的度量评估(第二部分)
- 2024-10-29 从另外一个角度解释AUC(从另一个角度去看问题)
- 2024-10-29 机器学习算法评估方法+Spring学习笔记
- 2024-10-29 你真的了解模型评估与选择嘛(模型评价的术语)
- 2024-10-29 机器学习中的评价指标(机器学习模型的评价指标有哪些)
你 发表评论:
欢迎- 06-23MySQL合集-mysql5.7及mysql8的一些特性
- 06-23MySQL CREATE TABLE 简单设计模板交流
- 06-23MYSQL表设计规范(mysql设计表注意事项)
- 06-23MySQL数据库入门(四)数据类型简介
- 06-23数据丢失?别慌!MySQL备份恢复攻略
- 06-23MySQL设计规范(mysql 设计)
- 06-23MySQL数据实时增量同步到Elasticsearch
- 06-23MySQL 避坑指南之隐式数据类型转换
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)