【小夕精选】如何优雅而时髦的解决不均衡分类问题

之前小夕因项目需要研究了一小阵子的不均衡(文本)分类问题,不过没有研究的太过深入,也没有总结出一套成体系的处理思路。正好今天发现数据挖掘大佬「微调」在知乎上写了一个言简意赅又很具有实际操作价值的回答,于是搬过来分享给大家啦~相关方向的小伙伴记得点击文末阅读原文关注「微调」大佬哦。

模型如何评价

先谈谈这种极端的类别不平衡的评估问题,我们一般用的指标有(前两个是全局评估,最后一个是点评估):

  • ROC曲线下的面积(AUC_ROC)

  • mean Average Precesion(mAP),指的是在不同召回下的最大精确度的平均值

  • Precision@Rank k。假设共有n个点,假设其中k个点是少数样本时的Precision。这个评估方法在推荐系统中也常常会用。

选择哪个评估标准需要取决于具体问题。而在上线前怎么确定你的模型已经达标?这个需要AB test,每个公司都有不同的标准,很难一概而论。重点是新系统至少要比现有系统在某方面有了提升,而全新模型至少应该符合从业者的基本预期。也要认识到大部分情况下上线的模型都不可能是完美的,我的个人建议是可以利用「已有的监督模型+人工」做主动学习(active learning)。比如先上线一个不完美的模型,每次将模型预测中最不确定的部分(预测值在临界点附近的样本)交给人工验证,并重新训练逐步提高模型预测的精准度。

如何解决问题

至于如何处理数据不平衡的问题,最传统的思路还是使用过采样和欠采样等。相关资料大家看的比较多的是08年的Survey Paper [1],比较新和前沿的做法可以参考[2],可以至少读一下Related Works部分了解一下这些年来常用的非平衡数据处理方法有哪些。比较科普的文章可以参考我的回答:

微调:欠采样(undersampling)和过采样(oversampling)会对模型带来怎样的影响?
https://www.zhihu.com/question/269698662/answer/352279936

里面也介绍了一些常用的工具。去年其实也写过一篇类似的文章,可以参考:

如何处理数据中的「类别不平衡」?
https://zhuanlan.zhihu.com/p/32940093

如果上述方法表现依然不好,还有几个方法可供尝试

  1. 有监督的集成学习:可以先用采样的方法建立k个平衡的训练集,每个训练集上单独训练一个分类器,并对k个分类器结果取平均。一般在这种情况下,每个平衡训练集上都需要使用比较简单的分类器,如逻辑回归。其实在实际使用中,这种方法不一定会比集成树模型更好,可能还不如使用xgboost。但在复杂问题上多尝试一些手段是好的,说不定有奇效。

  2. 无监督的异常检测:异常检测指的是从数据中找到那些异常值,比如你案例中的“广告”。无监督的异常检测一般依赖于对于数据的假设,比如广告和正常的文章内容很不相同,那么一种假设是广告和正常文章间的欧式距离很大。无监督异常检测最大优势就是在不需要数据标签,如果在对数据假设正确时效果甚至可以比监督学习更好,尤其是当获取标签成本很高时。具体的科普文章可以参考我的回答:


    微调:数据挖掘中常见的『异常检测』算法有哪些?
    https://www.zhihu.com/question/280696035/answer/417091151

    「异常检测」开源工具库推荐
    https://zhuanlan.zhihu.com/p/37132428

  3. 半监督异常集成学习:如果把1和2的思路结合起来,你可以试试半监督的方法,具体做法可以参考[3]。简单而言,你可以现在原始数据集上使用多个无监督异常方法来抽取数据的表示,并和原始的数据结合作为新的特征空间。在新的特征空间上使用集成树模型,比如xgboost,来进行监督学习。无监督异常检测的目的是提高原始数据的表达,监督集成树的目的是降低数据不平衡对于最终预测结果的影响。这个方法还可以和我上面提到的主动学习结合起来,进一步提升系统的性能。当然,这个方法最大的问题是运算开销比较大,需要进行深度优化。

  4. 高维数据上的半监督异常检测:考虑到文本文件在转化后往往维度很高,可以尝试一下最近的一篇KDD文章[4],主要是找到高维数据在低维空间上的表示,以帮助基于距离的异常检测方法。

总结来看,我建议从以下顺序尝试

  • 直接在数据上尝试有监督的集成学习(方法1)

  • 直接在数据上使用多种无监督学习,观察哪一类算法的效果更好(方法2)

  • 结合以上两点(方法3)

  • 如果以上方法都不管用,尝试方法4

  • 使用方法1, 3,4时,可以加入主动学习

  • 如果以上方法均不奏效,最靠谱的还是找更多人做数据标注,毕竟数据为王。从效果上看往往是「监督学习>>半监督学习>无监督」,能用监督就不要依赖无监督。

数据挖掘项目的本质就是试错,所以很难有确定的答案。抛开准确率不谈,另外的重要因素包括系统的效率和耦合度。前者指的是运算开销,后者指的是设计与维护开销,这些在设计方案时都要考虑到。最终上线的版本不一定是最强力的那个,往往是最适合的那个

参考文献

[1] He, H. and Garcia, E.A., 2008. Learning from imbalanced data. IEEE Transactions on Knowledge & Data Engineering, (9), pp.1263-1284.
[2] Roy, A., Cruz, R.M., Sabourin, R. and Cavalcanti, G.D., 2018. A study on combining dynamic selection and data preprocessing for imbalance learning. Neurocomputing, 286, pp.179-192.
[3] Zhao, Y.; Hryniewicki, M.K. XGBOD: Improving Supervised Outlier Detection with Unsupervised Representation Learning. In Proceedings of the International Joint Conference on Neural Networks (IJCNN), Rio, Brazil, 8–13 July 2018.
[4] Pang, G., Cao, L., Chen, L. and Liu, H., 2018. Learning Representations of Ultrahigh-dimensional Data for Random Distance-based Outlier Detection. arXiv preprint arXiv:1806.04808.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/481058.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科普 | 以链接为中心的系统:Link-based Systems

硅谷教父凯文凯利在他新书《必然》中谈到了网页 2.0:“…今天的网络就是所有可以访问到的超链接文件… 但在未来的 30 年中…超链接的触手会不断延伸,把所有的比特连接起来。一个主机游戏中发生的事件会像新闻一样搜索即得。你还能寻找一段 YouTube 视频…

优云软件数据专家最佳实践:数据挖掘与运维分析

优云软件数据专家最佳实践:数据挖掘与运维分析 这份研究报告,作者是优云软件数据专家陈是维,在耗时1年时间制作的一份最佳实践,今天和大家分享下,关于《数据采矿和运维分析》,共同探讨~ 数据挖掘&#xff0…

【LeetCode】3月27日打卡-Day12

题1 描述 给定一副牌,每张牌上都写着一个整数。 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌。 组内所有的牌上都写着相同的整数。 仅当你可选的 X > 2 时返回 true。 示例 1…

史上最全提升GPU的tricks合集

前言 首先,如果你现在已经很熟悉tf.dataestimator了,可以把文章x掉了╮( ̄▽ ̄””)╭ 但是!如果现在还是在进行session.run(..)的话!尤其是苦恼于GPU显存都塞满了利用率却上不去的童鞋,这篇文章或…

领域应用 | 图数据库及其在恒昌的应用简介

首发于知乎专栏知识图谱和智能问答,作者为量子胖比特。 背景 历史上,多数企业级应用都运行在一个关系型数据库上(RDBMS),近年来,随着数据存储技术的飞速发展,关系型数据库在灵活性和可伸缩性方面…

【LeetCode】3月28日打卡-Day13

题1 单词的压缩编码 描述 给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A。 例如,如果这个列表是 [“time”, “me”, “bell”],我们就可以将其表示为 S “time#bell#” 和 indexes [0, 2, 5]。 对于每一个索引…

训练效率低?GPU利用率上不去?快来看看别人家的tricks吧~

前言首先,如果你现在已经很熟悉tf.dataestimator了,可以把文章x掉了╮( ̄▽ ̄””)╭但是!如果现在还是在进行session.run(..)的话!尤其是苦恼于GPU显存都塞满了利用率却上不去的童鞋,这篇文章或许…

科普 | 典型的知识库/链接数据/知识图谱项目

从人工智能的概念被提出开始,构建大规模的知识库一直都是人工智能、自然语言理解等领域的核心任务之一。下面首先分别介绍了早期的知识库项目和以互联网为基础构建的新一代知识库项目。并单独介绍了典型的中文知识图谱项目。 1. 早期的知识库项目 Cyc : Cyc 是持续…

【TensorFlow】优化方法optimizer总结(SGD,Adagrad,Adadelta,Adam,Adamax,Nadam)解析(十三)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/brucewong0516/article/details/78838124 本文仅对一些常见的优化方法进行直观介绍和简单的比较,主要是一阶的梯度法,包括SGD, Momentum, Nesterov M…

【LeetCode】3月29日打卡-Day14-BFS

题1 地图分析 描述 你现在手里有一份大小为 N x N 的『地图』(网格) grid,上面的每个『区域』(单元格)都用 0 和 1 标记好了。其中 0 代表海洋,1 代表陆地,你知道距离陆地区域最远的海洋区域是…

技术论坛 | CCF YOCSEF上海即将在 CNCC 举办“知识图谱遇见社交媒体”专题论坛

中国计算机学会青年计算机科技论坛 CCF YoungComputer Scientists & Engineers Forum CCF YOCSEF上海 CNCC2017大会技术论坛 主题: 知识图谱遇见社交媒体 时间:2017年10月26日(星期四)13:30~17:30 地点:福州海峡国际会展中心会…

你确定自己不是那只猫吗

成为猫与养猫小的时候,小夕曾被告知兔子可爱是因为喜欢吃萝卜,导致小夕吃了好多萝北。上学后,会哄着小夕学习的就是好老师,强行让小夕背书的肯定是坏老师。找工作时,HR会给小夕画大饼,让小夕觉得自己即将去…

一文搞懂HMM(隐马尔可夫模型)-Viterbi algorithm

***一文搞懂HMM(隐马尔可夫模型)***简单来说,熵是表示物质系统状态的一种度量,用它老表征系统的无序程度。熵越大,系统越无序,意味着系统结构和运动的不确定和无规则;反之,&#xff…

文本分类有哪些论文中很少提及却对性能有重要影响的tricks?

前言一年前小夕在知乎上提问过这么一个问题文本分类有哪些论文中很少提及却对性能有重要影响的tricks?链接:https://www.zhihu.com/question/265357659/answer/578944550当时正好在刷一个比较有趣的task,结果发现奇奇怪怪的tricks可以带来不少…

课程 |《知识图谱》第一期

课程详情 课程名称: 《知识图谱》第一期 报名方式: 点击文末“阅读原文”,即可享受参团优惠报名哦! 主讲老师: 王昊奋 著名知识图谱专家 博士毕业于上海交通大学,CCF术语专委会执委,中文信息学会语言与…

【LeetCode】3月30日打卡-Day15

题1 描述 0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。 例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数…

新闻 | 聚焦技术领域现状与发展阿里巴巴知识图谱专场亮相云栖大会 阿里知识图谱亮相云栖大会产学深度交流推进业务创新

14日,阿里巴巴知识图谱正式亮相云栖大会,本次活动邀请到诸多阿里技术专家与学界领军人物参会,一同探讨知识图谱领域的现状与远景,推动产业界与学术界深度交流。 知识图谱将信息表达成更接近人类认知世界的形式,提供了帮…

100篇论文串讲对话系统前世今生

不可以不可以,都在忙着过年呢,小夕怎么能推这种文章呢╮(╯▽╰)╭话说,大年初一你萌怎么能戳进来这种文章!快,赶紧承认你是卖萌屋的真爱粉( ̄∇ ̄)~小屋今天不卖干货,只送…