《构建实时机器学习系统》一2.2 怎样衡量监督式机器学习模型

简介: 本节书摘来自华章出版社《构建实时机器学习系统》一 书中的第2章,第2.2节,作者:彭河森 汪涵,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.2 怎样衡量监督式机器学习模型

本章前面对一个好的实时机器学习模型的衡量只提到了“优秀” “合适”这样的字眼,本节将会详细展开,讨论监督式实时机器学习模型的衡量标准。
在实际应用中,监督式实时机器学习效果的好坏可以分为统计量是否优秀和应用业绩是否优秀两个方面。下面将按照这两部分分别进行介绍。
在讨论技术细节之前,先进行一下符号的定义:
给定 n 组已知的自变量和因变量{(Yi, Xi)}ni=1作为测试数据集,对于任意i,我们通过自变量Xi和模型f(Xi; b)预测自变量的数值,得到对因变量的估计。
本节下面的所有内容都与讨论 Yi 和的近似程度相关。

2.2.1 统计量的优秀

一个监督式机器学习模型若取得了优秀的统计量成绩,则代表着其预测或分类的误差较小,精确度上比较优秀。对于分类和回归预测这两个问题,我们将定义不同的统计量。这类统计量在现有机器学习软件包中往往具有完备的函数支持,例如Scikit-learn的sklearn.metrics 模块中就含有数十种从统计量角度衡量模型优劣的函数。这里我们选取最常用的几种进行介绍。

  1. 衡量回归预测的统计量
    在回归、预测等场景中,因变量 Y 往往为连续变量。例如,我们可能会通过父母的身高预测子女成年后的身高,也可能通过社交舆情数据预测当日股票收盘时期的涨跌幅。这里的身高、涨跌幅都是连续变量,我们对其的预测值需要尽量接近真实观测值。为了达到这样的目的,常用的统计量有以下几种。

(1)均方误差
均方误差 (Mean Square Error,MSE)是统计中最常见的误差衡量单位之一,其定义为:
screenshot

在数学上,均方误差的估计可以追溯到正态分布方差的无偏估计。就算 Yi 实际上不服从正态分布,均方误差仍然具有优良的统计性质。直观上来讲,我们希望通过机器学习模型所得预测的均方误差应尽量小。用 E( )代表对随机变量数学期望的计算,可以将其中一个观测的均方误差分解为两部分:
screenshot

这里的均方误差可以看作是的估计量,等式右边部分可以分为如下两部分来解读。
估计的方差 估计的方差(variance)刻画的是对因变量预测的变化程度。真实世界里,任何观测和度量都具有随机性,这样的随机性决定了我们对自变量的预测也具有客观存在的随机性。这样的随机性随着机器学习模型估计方法的不同可能会有所不同。
估计的系统性偏差 当我们的估计系统性地偏离真实数值的时候,系统性偏差(bias)就会被包含在均方误差中。在理论情况下,如果我们使用了无偏估计,系统性偏差为零,这时均方误差就只与方差有关。当然,在实际应用中,我们的模型或多或少都会有一定的系统性偏差,理想情况就比较难以达到了。
比较上面这两点的异同是所有数据科学家面试题目中的必考部分。为了便于大家理解, 这里以图2-1作为例子进行对比。图2-1对比了具有完全相同均方误差的两组数据的估计值和真实值。图2-1a为无偏估计,但是估计方差较大;图2-1b的估计方差较小,但是估计有偏。当然,其实也是可以分别用方差和偏离程度来考量估计的优劣的。但是当我们具有多个统计量的时候,就往往需要通过实际情况进行取舍了。有的时候我们宁愿牺牲无偏估计,以换取估计的稳定性;有的时候我们又需要不顾一切地保证估计的无偏性。
(2)绝对误差中位数
在实际应用中我们往往会遇到极端值 (outlier)。例如通过父母身高预测小孩身高的时候混入了姚明的身高,通过浏览行为预测网购金额的时候混入了王思聪的购买信息。这个时候由于极端数值的存在,均方误差的计算会大受影响,从而致使我们得到的模型评价的结论也并不贴近实际。

screenshot

为了解决这一问题,统计学家们引入了稳健统计量,提出了绝对误差中位数(MAE)的概念。绝对误差中位数的定义为:
screenshot

这里不再采用所有误差的均值,而是使用误差绝对值的中位数作为统计量,大大减少了极端观测对最终判断的影响。
图2-2中对比了存在极端值(见图2-1a)和不存在极端值(见图2-1b)的分布。图2-1a和图2-1b都有 300 个观测点,其中图2-1a具有 20 个随机选取的异常点。在不考虑极端观测的情况下,图2-1a和图2-1b的分布是完全相同的。如果使用均方误差进行效果衡量,那么图2-1a为0.298,图2-1b为 0.043,图2-1b明显优于图2-1a;如果用绝对误差中位数进行衡量,那么图2-1a为0.159,图2-1b为 0.136,只是略微优于图2-1a。
根据实际应用的经验,极端数值往往是客观存在的,因此,建议读者在进行评价的时候应尽量采用稳健统计量绝对误差中位数。

  1. 衡量分类的统计量
    在分类等任务中,因变量 Y 往往是离散变量。例如我们可能会通过用户的浏览行为预测点击具体页面的概率,这里最后得到的标签实际上是点击或不点击,是一个离散变量。也可能通过文字对话判断参与用户的性别,这里用户的性别往往也是离散变量。对于这样的分类问题,特别是分为两类的问题,我们往往会对实际标签和预测值进行分类,让其定义为阳性 (例如点击、男性)和阴性 (例如不点击、女性),于是我们可以得到表2-1所示的内容。

screenshot

screenshot

统计学家根据表2-1定义了数十个统计量,本节将介绍最常见的两个统计量,即准确率和召回率。
(1)准确率 (precision)
准确率是指在被机器学习判断为阳性的观测中,真阳性观测所占的比例:
screenshot

准确率刻画的是喊“狼来了”的孩子有多少次喊狼来了的时候是正确的。例如,在实时股票走势预测的场景中,我们假设股价上涨是阳性观测,股价下跌是阴性观测。在通过机器学习模型对其进行分类预测时,准确率的定义就是被预测的走势中,被预测为会上涨的这些观测点中,实际上真正上涨的观测点所占的比例。
(2)召回率 (recall)
召回率是指在真实的阳性观测中,被判断为阳性的观测所占的比例:
screenshot

召回率刻画的是在所有狼来了的历史里面,有多少次牧羊小孩成功地发现了狼。例如,在实时股票走势预测的场景中,我们假设股价上涨是阳性观测,股价下跌是阴性观测。在通过机器学习模型对其进行分类预测时,召回率的定义就是,对于所有实际上涨的这些观测点中,被预测为可能会上涨的观测点所占的比例。

2.2.2 应用业绩的优秀

在回归预测的任务中,误差对业务产生的影响往往是不一样的。例如,想要通过建模预测航班售票的情况,若我们预测的乘客数量比实际超出太多,则可能会造成机场安排过多运力,造成浪费;但是当我们预测的乘客数量过少,又会造成超额售票,机场运力不足,这就会对乘客的体验造成影响。这个时候对机器学习模型优劣的判断就需要将不对称的收益考虑进去。
同样,在分类任务中,准确率和召回率是相互竞争的两个统计量。例如,我们如果奉行宁可错杀一百,不可放过一个的思想,将所有股价走势情况都预测为上涨,那么这样我们可以达到 100% 的召回率,但是准确率会变得很低。与此相对,若将所有观测都预测为下跌,这样我们可以达到 100% 的准确率,但是召回率又将变得非常低。所以,真正应用在实际之中时,我们往往需要对相互竞争的统计量进行权衡,选一个合适的中间点作为最终判断的准绳。
例如,在股价走势预测建模数据中,我们最后的评判标准可能是:
S=(假阳性C1+假阴性C2)/N
其中,N为样本总量,C1为每起假阳性事件 (将下跌预测为上涨)带来的损失,C2为每起假阴性事件(将上涨预测为下跌)带来的损失。而最后我们决策的准绳,可能是通过机器学习建模,使得上面的损失函数S尽量小。

相关文章
|
6月前
|
机器学习/深度学习 存储 运维
机器学习异常检测实战:用Isolation Forest快速构建无标签异常检测系统
本研究通过实验演示了异常标记如何逐步完善异常检测方案和主要分类模型在欺诈检测中的应用。实验结果表明,Isolation Forest作为一个强大的异常检测模型,无需显式建模正常模式即可有效工作,在处理未见风险事件方面具有显著优势。
488 46
|
11月前
|
人工智能 自然语言处理 安全
通过阿里云Milvus与PAI搭建高效的检索增强对话系统
阿里云向量检索Milvus版是一款全托管的云服务,兼容开源Milvus并支持无缝迁移。它提供大规模AI向量数据的相似性检索服务,具备易用性、可用性、安全性和低成本等优势,适用于多模态搜索、检索增强生成(RAG)、搜索推荐、内容风险识别等场景。用户可通过PAI平台部署RAG系统,创建和配置Milvus实例,并利用Attu工具进行可视化操作,快速开发和部署应用。使用前需确保Milvus实例和PAI在相同地域,并完成相关配置与开通服务。
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
863 4
|
9月前
|
存储 人工智能 自然语言处理
基于QwQ-32B+Hologres+PAI搭建 RAG 检索增强对话系统
本文介绍如何使用PAI-EAS部署基于QwQ大模型的RAG服务,并关联Hologres引擎实例。Hologres与达摩院自研高性能向量计算软件库Proxima深度整合,支持高性能、低延时、简单易用的向量计算能力。通过PAI-EAS,用户可以一键部署集成大语言模型(LLM)和检索增强生成(RAG)技术的对话系统服务,显著缩短部署时间并提升问答质量。具体步骤包括准备Hologres向量检索库、部署RAG服务、通过WebUI页面进行模型推理验证及API调用验证。Hologres支持高性能向量计算,适用于复杂任务的动态决策,帮助克服大模型在领域知识局限、信息更新滞后和误导性输出等方面的挑战。
|
9月前
|
人工智能 自然语言处理 API
Hologres × PAI × DeepSeek 搭建 RAG 检索增强对话系统
本文介绍如何使用PAI-EAS部署基于DeepSeek大模型的RAG(检索增强生成)服务,并关联Hologres引擎实例。Hologres与阿里云自研高性能向量计算软件库Proxima深度整合,支持高性能、低延时的向量计算能力。通过PAI-EAS,用户可以一键部署集成了大语言模型和RAG技术的对话系统服务,显著缩短部署时间,并提高问答质量。部署步骤包括准备Hologres向量检索库、部署基于DeepSeek的RAG服务、通过WebUI进行模型推理验证,以及通过API调用进行模型推理验证。Hologres还提供了特色功能支持,如高性能向量计算等。
|
11月前
|
机器学习/深度学习 算法 网络安全
CCS 2024:如何严格衡量机器学习算法的隐私泄露? ETH有了新发现
在2024年CCS会议上,苏黎世联邦理工学院的研究人员提出,当前对机器学习隐私保护措施的评估可能存在严重误导。研究通过LiRA攻击评估了五种经验性隐私保护措施(HAMP、RelaxLoss、SELENA、DFKD和SSL),发现现有方法忽视最脆弱数据点、使用较弱攻击且未与实际差分隐私基线比较。结果表明这些措施在更强攻击下表现不佳,而强大的差分隐私基线则提供了更好的隐私-效用权衡。
280 14
|
10月前
|
人工智能 自然语言处理 安全
基于阿里云向量检索 Milvus 版与 PAI 搭建高效的检索增强生成(RAG)系统
基于阿里云向量检索 Milvus 版与 PAI 搭建高效的检索增强生成(RAG)系统
232 0
|
机器学习/深度学习 存储 运维
分布式机器学习系统:设计原理、优化策略与实践经验
本文详细探讨了分布式机器学习系统的发展现状与挑战,重点分析了数据并行、模型并行等核心训练范式,以及参数服务器、优化器等关键组件的设计与实现。文章还深入讨论了混合精度训练、梯度累积、ZeRO优化器等高级特性,旨在提供一套全面的技术解决方案,以应对超大规模模型训练中的计算、存储及通信挑战。
688 4
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
365 1
|
机器学习/深度学习 自然语言处理 Linux
Linux 中的机器学习:Whisper——自动语音识别系统
本文介绍了先进的自动语音识别系统 Whisper 在 Linux 环境中的应用。Whisper 基于深度学习和神经网络技术,支持多语言识别,具有高准确性和实时处理能力。文章详细讲解了在 Linux 中安装、配置和使用 Whisper 的步骤,以及其在语音助手、语音识别软件等领域的应用场景。
412 5

热门文章

最新文章