分享一篇理论知识,对我们理解和应用模型会有帮助!

区分预测模型和分类模型是很重要的一个事情。在很多决策应用中,分类模型代表着一个“不成熟”的决定,它组合了预测模型和决策制定,但剥夺了决策者对错误决定带来的损失的控制权 (如随机森林中的服从大多数原则,51棵树预测结果为患病49棵树预测结果为正常91棵树预测结果为患病``9棵树预测结果为正常返回的结果都是患病)。如果采样标准或损失/收益规 (在预测疾病时,更看重敏感性而非假阳性)则发生改变,分类模型也需要相应的改变。而预测模型是与决策分开的,可用于任何决策制定。

分类模型适用于频繁发生的非随机性(或者说确定性)的结果,而不适用于两个个体有同样的输入而输出却不同的情况。对于后者,模型的趋势(比如概率)则是关键因素。

分类模型的适用条件:

  1. 分类结果很不同

  2. 分类变量有很强的分类能力,可以在接近概率为1的情况下预测出其中一个分类结果

机器学习这一领域在某种程度上独立于统计学领域。因此,机器学习专家往往不强调概率思维。概率思维和理解不确定性和波动性 (variation)是统计学的重要特征。顺便说一下,关于概率思维最好的书之一是Nate SilverThe Signal and The Noise: Why So Many Predictions Fail But Some Don’t。在医学领域,David Spiegelhalter的《患者管理和临床试验中的概率预测》(Probability Prediction In Patient Management and Clinical Trials)是一篇经典论文。

摒除概率思维后,机器学习提倡频繁使用分类器,而不是使用风险预测模型。情况已经变得有些极端:许多机器学习专家实际上把逻辑回归 (logistic regression)列为一种分类方法(其实不是)。我们现在需要认真思考:分类真正意味着什么。分类实际上是一种决策。最佳决策需要充分利用现有数据来进行预测,并通过最小化损失函数/最大化效用函数来做出决策。不同的终端用户有不同的损失函数/效用函数 (在预测疾病时,如更看重敏感性,还是假阳性),进而有不同的决策风险阈值。分类模型则假设每个用户都有相同的效用函数,就是分类系统所用的效用函数。

分类通常是一种被迫的选择。比如在市场营销中,广告预算是固定的,分析师通常还没有笨到直接使用模型把潜在客户归类为需要忽略的人或需要花费资源进行投放的人。相反,他们对概率进行建模,根据潜在客户购买产品的估计概率对其进行排序绘制一个Lift曲线。为了获得“最大的效果”,营销人员会选择n个可能性最高的客户作为目标进行广告投放。这是合理的,而且不需要分类。

模型使用者(如医生)经常提出的一个观点是,最终他们需要做出二元决策 (binary decision),因此需要进行二元分类。而事实并非如此。首先,通常情况下,当预测出患病的概率是中等时,最好的决定是不做决定;去收集更多数据。在许多其他情况下,决定是可撤销的,例如,医生开始给病人低剂量的药物,然后决定是否改变剂量或更换药物。在外科治疗中,动手术的决定是不可改变的,但何时动手术取决于外科医生和病人,并取决于疾病的严重程度和症状。无论如何,如果需要进行二元分类,必须在所有情况都考虑到时,而非在数据建模时。

什么时候强制做出选择是合适的?我认为需要考虑这个问题是机械的 (确定性的)还是随机/概率的。机器学习的提倡者经常想把为前者 (机械性问题)所做的方法应用到存在生物变异、抽样变化和测量误差的问题上。而实际上最好是将分类模型仅仅应用于高信噪比的情况下,比如有一个已知的黄金标准,可以重复实验,每次得到几乎相同的结果。模式识别就是一个例子:

  • 视觉、声音、化学成分等。

    如果创建一个光学字符识别算法 (OCR),该算法可以被任意数量的样品进行训练并尝试把图像分类为字母A, B,……等。

    这样一个分类器的用户可能没有时间来考虑每个分类是否足够可信。

    但这种分类器信噪比是极高的。

    此外,每个字母都有一个“正确”答案。

    这种情况主要是机械性或非随机性的结果。

    而预测死亡或疾病时,两个症状相同的患者却很容易有不同的疾病发展方向。

当预测概率居中时,或者当结果有固有的随机性时,就需要进行概率估计。概率的一个优点是,它们是自己的错误的度量。如果预测疾病发生的概率是0.1,而当前的决定是不进行治疗;这个决定犯错的概率也是0.1。而如果发病概率是0.4,这会促使医生进行另一次实验检测或或采用活检等其它检测方式。当信噪比较小时,分类模型通常不是一个好的应用方式; 而是需要对趋势也就是概率进行建模。

美国气象局一直用概率来预测降雨。我不想得到一个分类结论“今天要下雨”。而是想着是否带伞应该由我来根据下雨的概率权衡后作出决定。

无论是从事信用风险评分、天气预报、气候预测、市场营销、病人疾病的诊断,还是评估病人的预后,我都不想使用分类的方法。而是希望获得带有可信区间或置信区间的风险估计得分。我的观点是,机器学习分类器最好用于机械的/确定性的高信噪比的数据或应用场景中,而概率模型应该用于大多数其他情况。

这与许多分析师忽略的一个微妙问题有关。复杂的机器学习算法可以通过进行高阶交互等处理问题的复杂性,但在信噪比较低时需要大量的数据。基于可加性假设的回归模型(当它们是正确的时,它们在绝大多数情况都是正确的)可以在没有大量数据集的情况下产生准确的概率模型。当被预测的结果变量有两个以上的水平时,一个回归模型可以获得各种感兴趣的量,如预测均值、分位数、超标概率 (exceedance probabilities)、瞬时危险率 (instantaneous hazard rates)等。

分类模型的一个特殊问题也反映了这样一个重要概念。使用机器学习分类模型的用户都知道,一个高度不平衡的样本训练集会获得一个奇怪的二元分类器。例如,如果训练集中有1000名患者和100万名非患者,那么最佳分类器可能将每个人都划分为非患者;这样获得的正确率是0.999。出于这个原因,对数据进行子集抽样的奇怪做法被用来平衡训练集中样本的频率,从而产生看起来合理的分类器 (回归模型的用户永远不会为了得到答案而排除好的数据)。然后,他们必须以某种不明确的方式构造分类器,以弥补训练集中样本组成的偏差。很简单,一个基于发病率为1/2的情况训练的模型将不能应用于发病率为1/1000的新数据的预测。分类器必须在新的样本上重新训练,检测到的模式可能会发生很大的变化。另一方面,Logistic回归巧妙地处理了这种情况,要么(1)将导致患病率如此之低的变量作为预测变量,要么(2)只需要重新校准另一个发病率高的数据集的截距。分类器对发病率的极端依赖可能足以使一些研究人员总是使用概率估计,如logistic回归进行代替。人们甚至可以说,当结果变量的变化很小时,根本不应该使用分类器,而应该只对概率建模。

选择一种方法的关键因素之一是它应该具有正确统计属性的敏感的准确性评分规则。机器分类的专家很少有了解这一极其重要问题的背景,选择一个不正确的准确性得分,如正确分类的比例,将导致一个虚假的模型。这里对此进行了详细讨论。

References

  1. https://www.fharrell.com/post/classification/

机器学习系列教程

从随机森林开始,一步步理解决策树、随机森林、ROC/AUC、数据集、交叉验证的概念和实践。

文字能说清的用文字、图片能展示的用、描述不清的用公式、公式还不清楚的写个简单代码,一步步理清各个环节和概念。

再到成熟代码应用、模型调参、模型比较、模型评估,学习整个机器学习需要用到的知识和技能。

  • 一图感受各种机器学习算法

  • 机器学习算法 - 随机森林之决策树初探(1)

  • 机器学习算法-随机森林之决策树R 代码从头暴力实现(2)

  • 机器学习算法-随机森林之决策树R 代码从头暴力实现(3)

  • 机器学习算法-随机森林之理论概述

  • 机器学习算法-随机森林初探(1)

  • 机器学习 - 随机森林手动10 折交叉验证

  • 机器学习 模型评估指标 - ROC曲线和AUC值

  • 机器学习 - 训练集、验证集、测试集

  • 一个函数统一238个机器学习R包,这也太赞了吧

  • 基于Caret和RandomForest包进行随机森林分析的一般步骤 (1)

  • Caret模型训练和调参更多参数解读(2)

  • 基于Caret进行随机森林随机调参的4种方式

  • 机器学习第17篇 - 特征变量筛选(1)

  • 机器学习第18篇 - Boruta特征变量筛选(2)

  • 机器学习第19篇 - 机器学习系列补充:数据集准备和更正YSX包

  • 机器学习第20篇 - 基于Boruta选择的特征变量构建随机森林

  • 机器学习第21篇 - 特征递归消除RFE算法 理论

  • 机器学习第22篇 - RFE筛选出的特征变量竟然是Boruta的4倍之多

  • 机器学习第23篇 - 更多特征变量却未能带来随机森林分类效果的提升

  • 机器学习相关书籍分享

  • UCI机器学习数据集

  • 送你一个在线机器学习网站,真香!

  • 多套用于机器学习的多种癌症表达数据集

  • 这个统一了238个机器学习模型R包的参考手册推荐给你

  • 莫烦Python机器学习

  • 机器学习与人工智能、深度学习有什么关系?终于有人讲明白了

  • 一套完整的基于随机森林的机器学习流程(特征选择、交叉验证、模型评估))

  • 随机森林预测发现这几个指标对公众号文章吸粉最重要

  • 样本分布不平衡,机器学习准确率高又有什么用?

值得思考,机器学习模型做出的决策是你想要的吗?相关推荐

  1. python构建决策引擎_决策引擎与机器学习模型的集成 | 信数这么干(一)

    这是"信数这么干"之决策引擎系列专题的第1篇(该专题总计11篇,由技术篇和应用篇两大部分构成).信数这么干--决策引擎系列专题提纲 ✦ 决策引擎技术篇 -决策引擎与机器学习模型的集 ...

  2. 机器学习模型监控的 9 个技巧

    机器学习 (ML) 模型是非常敏感的软件:它们的成功使用需要进行仔细监控以确保它们可以正常工作. 当使用所述模型的输出自动做出业务决策时尤其如此.这意味着有缺陷的模型通常会对终端客户的体验产生真正的影 ...

  3. python计算均方根误差_如何在Python中创建线性回归机器学习模型?「入门篇」

    线性回归和逻辑回归是当今很受欢迎的两种机器学习模型. 本文将教你如何使用 scikit-learn 库在Python中创建.训练和测试你的第一个线性.逻辑回归机器学习模型,本文适合大部分的新人小白. ...

  4. 选择可解释性高的机器学习模型,而不是决策风险高的黑匣子模型

    作者 | Adrian Colyer, Venture Partner, Accel 编译 | CDA数据分析师 本文是技术和哲学论点的混合,本文的两个主要结论:第一,我对可解释性高的机器学习模型和决 ...

  5. 独家 | 不同机器学习模型的决策边界(附代码)

    作者 :Matthew Smith 翻译:张若楠 校对:吴金笛 本文约6700字,建议阅读10分钟 本文利用Iris数据集训练了多组机器学习模型,并通过预测大量的拟合数据绘制出了每个模型的决策边界. ...

  6. 思维方式-《思考,快与慢》书中的精髓:很多时候,人其实是不理性的,很容易出现认知偏见,做出非理性决策,我们需要采取针对性的措施努力克服这些偏见。

    <思考,快与慢>书中的精髓:很多时候,人其实是不理性的,很容易出现认知偏见,做出非理性决策,我们需要采取针对性的措施努力克服这些偏见. 本书作者丹尼尔·卡尼曼是一位心理学教授,但他却凭借心 ...

  7. 还在随缘炼丹?一文带你详尽了解机器学习模型可解释性的奥秘

    一只小狐狸带你解锁NLP/ML/DL秘籍 正文来源:腾讯技术工程 所谓炼丹,就是将大量灵材使用丹炉将其凝炼成丹.练成的灵丹蕴含灵材的大部分特性,方便携带,容易吸收.高级仙丹在炼制中更是能吸收天地灵气从 ...

  8. 机器学习模型可解释性的详尽介绍

    机器之心平台 来源:腾讯技术工程 模型可解释性方面的研究,在近两年的科研会议上成为关注热点,因为大家不仅仅满足于模型的效果,更对模型效果的原因产生更多的思考,这样的思考有助于模型和特征的优化,更能够帮 ...

  9. 【精品】机器学习模型可解释的重要及必要性

    导语:不管你是管理自己的资金还是客户资金,只要你在做资产管理,每一步的投资决策都意义重大,做技术分析或基本面分析的朋友很清楚地知道每一个决策的细节,但是通过机器学习.深度学习建模的朋友可能就会很苦恼, ...

最新文章

  1. Linux下按扇区读写块设备,Linux下按扇区读写块设备
  2. C++虚继承(八) --- 虚继承与继承的差异
  3. bootstrap所需的js/css文件本地的jsp页面中的引入
  4. Spring 源码分析(三) —— AOP(五)创建代理
  5. 鸿蒙os 2.0跑分,预装鸿蒙 OS 2.0!华为 MatePad Pro2 跑分曝光:麒麟 9000、8GB 内存
  6. 大数据之Hadoop3.x模板虚拟机配置图解
  7. 安鸾渗透实战平台--综合渗透--企业网站渗透流程
  8. php的威富通支付接口,威富通支付接口 - osc_hlr8sqnv的个人空间 - OSCHINA - 中文开源技术交流社区...
  9. Matlab帮助文档打开和命令窗口中文显示设置
  10. 【翻译】各种Payload免杀工具集
  11. R语言data.table包进行数据分组聚合统计变换(Aggregating transforms)、计算dataframe数据的分组四分位距(interquartile range, IQR)
  12. drawing flowchart by markdown
  13. C++字符串转换为数值型
  14. asterisk安装、配置
  15. 整理oracle Hints 用法大全
  16. 彻底弄懂@Controller 、@Service、@Component
  17. 【后端教程】深入浅出动态化 SSR 服务(一):开发工具篇
  18. export / import与module.exports/require的关系与用法
  19. 使用预测性维护提高效率,延长运行时间
  20. Linux下ion内存,Linux内核驱动:ion memory

热门文章

  1. 【2016年第6期】面向国际的生命组学大数据管理体系建设
  2. 作者:贵芳(1991-),女,合肥工业大学计算机与信息学院硕士生
  3. 【Java】异常和IO在Gourmet咖啡系统中的应用
  4. 洛谷P1307题解(Java语言描述)
  5. 离散数学之集合论 【上】
  6. Spring Bean的生命周期及接口回调
  7. Python3 标准库及相关内容
  8. 从初创型到独角兽企业,监控架构演进的那些事儿
  9. flask 中文编码解码
  10. [转]Tomcat启动报错:AnnotationConfigBeanDefinitionParser are only available on JDK 1.5 and higher...