机器学习概念漂移检测方法(Aporia)

简介: 目前,有多种技术可用于机器学习检测概念漂移的方法。熟悉这些检测方法是为每个漂移和模型使用正确度量的关键。在本文章中,回顾了四种类型的检测方法:统计、统计过程控制、基于时间窗口和上下文方法。

统计方法

统计方法用于比较分布之间的差异

在某些情况下,会使用散度,这是分布之间的一种距离度量。 在其他情况下,运行测试以获得分数。


Kullback-Leibler 散度

Kullback-Leibler 散度有时被称为相对熵。

KL散度试图量化一个概率分布与另一个概率分布有多大不同,所以,如果我们有分布Q和P,其中,Q分布是旧数据的分布,P是我们想要计算的新数据的分布:

KL(Q∣∣P)=−∑xP(x)∗log(Q(x)P(x))KL(Q||P) = - \displaystyle\sum_x{P(x)}*log(\frac{Q(x)}{P(x)})KL(QP)=xP(x)log(P(x)Q(x))

其中,“||”代表散度。

我们可以看到,

  • 如果 P(x) 高而 Q(x) 低,则散度将很高。
  • 如果 P(x) 低而 Q(x) 高,则散度也会很高,但不会那么大。
  • 如果 P(x) 和 Q(x) 相似,则散度就会很低。

网络异常,图片无法展示
|


JS 散度

Jensen-Shannon 散度使用 KL 散度

JS(Q∣∣P)=12(KL(Q∣∣M)+KL(P∣∣M))JS(Q||P) = \frac{1}{2}(KL(Q||M) +KL(P||M))JS(QP)=21(KL(QM)+KL(PM))

其中,M=Q+P2M = \frac{Q+P}{2}M=2Q+P 是 P 和 Q 之间的平均值。

JS散度和KL散度的主要区别在于JS是对称的,它总是有一个有限值。

网络异常,图片无法展示
|

网络异常,图片无法展示
|

Kolmogorov-Smirnov 检验 (K-S 检验)

两样本 KS 检验是比较两个样本的有用且通用的非参数方法。 在 KS 测试中,我们计算:Dn,m=supx∣F1,n(x)−F2,m(x)∣D_{n,m}=sup_{x}|F_{1,n}(x) - F_{2,m}(x)|Dn,m=supxF1,n(x)F2,m(x)

其中,F1,n(x)F_{1,n}(x)F1,n(x) 是先前数据与 nnn 样本的经验分布函数,F2,m(x)F_{2,m}(x)F2,m(x) 是新数据与 mmm 样本和Fn(x)=1n∑i=1nI[−∞,x](Xi)F_{n}(x) = \frac{1}{n} \displaystyle\sum_{i=1}^n I_{[- \infty,x]}(X_{i})Fn(x)=n1i=1nI[,x](Xi)的经验分布函数,supxsup_{x}supx 是使  ∣F1,n(x)−F2,m(x)∣|F_{1,n}(x) - F_{2,m}(x)|F1,n(x)F2,m(x) 最大化的样本 xxx 的子集。

KS 检验对两个样本的经验累积分布函数的位置和形状的差异很敏感。它非常适合数值数据

网络异常,图片无法展示
|


何时使用统计方法

统计方法部分的想法是评估两个数据集之间的分布。

我们可以使用这些工具来查找不同时间范围内的数据之间的差异,并衡量随着时间的推移数据行为的差异。

对于这些方法,不需要标签,也不需要额外的内存,我们可以快速获得模型输入特征/输出变化的指标。 这将帮助我们甚至在模型的性能指标出现任何潜在下降之前就开始调查这种情况。 另一方面,如果没有正确处理,缺少标签和忽视对过去事件和其他特征的记忆可能会导致误报。


统计过程控制

统计过程控制的想法是验证我们模型的误差是否在可控范围内。 这在生产中运行时尤其重要,因为性能会随着时间而变化。因此,我们希望有一个系统,如果模型达到了一定错误率,就会发送警报。请注意,某些模型具有“红绿灯”系统,其中也有警告报警。

漂移检测方法/早期漂移检测方法 (DDM/EDDM)

这个想法是将误差建模为二项式变量。 这意味着我们可以计算出我们的预期误差值。 当我们使用二项式分布时,我们可以标记 =npt=npt=npt,因此, σ=pt(1−pt)n\sigma = \sqrt{\frac{p_{t}(1-p_{t})}{n}}σ=npt(1pt)


DDM

在这里我们可以提出:

  • pt+σt≥pmin+2σminp_{t}+\sigma_{t}\ge p_{min} +2\sigma_{min}pt+σtpmin+2σmin 时发出警告
  • pt+σt≥pmin+3σminp_{t}+\sigma_{t}\ge p_{min} +3\sigma_{min}pt+σtpmin+3σmin 时报警

优点:DDM 在检测逐渐变化(如果它们不是很慢)和突然变化(增量和突然漂移)时表现出良好的性能。

缺点:当变化缓慢时,DDM 难以检测漂移。许多样本可能在漂移水平激活之前储存了很长时间,存在样本储存溢出的风险。


EDDM

在这里,通过测量 2 个连续错误的距离,我们可以提出:

  • pt+2σtpmax+2σmax<α\frac{p_{t}+2{\large \sigma}_{t}}{p_{max}+2{\large \sigma}_{max}}<{\Large \alpha}pmax+2σmaxpt+2σt<α 时发出警告
  • pt+2σtpmax+2σmax<β\frac{p_{t}+2{\large \sigma}_{t}}{p_{max}+2{\large \sigma}_{max}}<{\Large \beta}pmax+2σmaxpt+2σt<β 时发出警报,其中 β{\Large \beta} β 通常为 0.9

EDDM 方法是 DDM 的修改版本,其重点是识别逐渐漂移。

网络异常,图片无法展示
|


CUMSUM 和 Page-Hinckley (PH)

CUSUM 及其变体 Page-Hinckley (PH) 是社区中的开拓方法之一。 该方法的想法是提供一种序列分析技术,该技术通常用于监测高斯信号平均值的变化检测。

CUSUM 和 Page-Hinckley (PH) 通过计算观测值与平均值的差异来检测概念漂移,并在该值大于用户定义的阈值时设置漂移警报。 这些算法对参数值很敏感,导致在误报和检测真实漂移之间进行权衡。

由于 CUMSUM 和 Page-Hinckley (PH) 用于处理数据流,因此每个事件都用于计算下一个结果:

CUMSUM

  • g0=0,gt=max(0,gt−1+εt−v){\large g}_{0}=0, {\large g}_{t}= max(0, {\large g}_{t-1}+{\large \varepsilon}_{t}-{\large v})g0=0,gt=max(0,gt1+εtv) 其中, g 代表事件,或出于漂移目的,模型的输入/输出
  • gt>h{\large g}_{t}>hgt>h 发出警报,并设置 gt=0{\large g}_{t}=0gt=0
  • h,vh,vh,v 是可调参数

注意:CUMSUM 是无记忆的、单边的或不对称的,因此它只能检测到值的增加。

Page-Hinckley (PH)

  • g0=0,gt=gt−1+(εt−v){\large g}_{0}=0, {\large g}_{t}= {\large g}_{t-1}+({\large \varepsilon}_{t}-v)g0=0,gt=gt1+(εtv)
  • Gt=min(gt,Gt−1)G_{t}=min({\large g}_{t},G_{t-1})Gt=min(gt,Gt1)gt−Gt>hg_{t}-G_{t}>hgtGt>h 发出警报,并设置 gt=0g_{t}=0gt=0

网络异常,图片无法展示
|


何时使用统计过程控制方法

要使用所介绍的统计过程控制方法,我们需要提供样本的标签。 在许多情况下,这可能是一个挑战,因为延迟可能很高,并且很难提取它,尤其是在大型组织中使用它时。 另一方面,一旦获得这些数据,我们就会得到一个相对快速的系统来涵盖 3 种漂移类型:突然漂移、渐进漂移和增量漂移

该系统还允许我们与部门一起跟踪退化情况(如果有的话),以发出警告和警报。


时间窗口分布方法

时间窗口分布模型关注时间戳和事件的发生

ADWIN

ADWIN 的思想是从时间窗口 WWW 开始,在上下文没有明显变化时动态增大窗口 WWW,并在检测到变化时将其缩小。 该算法试图找到显示不同平均值的 W−w0W - w_{0}Ww0w1w_{1}w1 的两个子窗口。 这意味着窗口的旧部分 −w0- w_{0}w0 是基于与实际不同的数据分布,因此被删除。

网络异常,图片无法展示
|


Paired Learners

假设对于给定的问题,我们有一个使用大量数据进行训练的大型稳定模型,让我们将其标记为模型 A。

我们还将设计另一个模型,一个更轻量级的模型,在更小和更新的数据上进行训练(它可以具有相同的类型)。 我们将其称为模型 B。

想法:找到模型 B 优于模型 A 的时间窗口。由于模型 A 比模型 B 稳定并且封装了更多数据,我们预计它会胜过它。 但是,如果模型 B 优于模型 A,则可能表明发生了概念漂移。

网络异常,图片无法展示
|


上下文方法(Contextual Approaches)

这些方法的想法是评估训练集和测试集之间的差异。 当差异显著时,可能表明数据存在漂移。

树特征

树特征的想法是在数据上训练一个相对简单的树,并添加预测时间戳作为特征之一。 由于树模型也可以用于特征重要性,我们可以知道时间如何影响数据以及在什么时候。此外,我们可以查看由时间戳创建的拆分,我们可以看到拆分前后概念之间的差异。

网络异常,图片无法展示
|


在上图中,我们可以看到日期特征位于根部,这意味着该特征具有最高的信息增益,这意味着在 7 月 22 日,他们可能在数据中发生了漂移。

漂移检测实现

您可以找到相关的提供漂移检测的实现:


相关文章
|
23天前
|
机器学习/深度学习 运维 算法
基于机器学习的网络安全威胁检测系统优化策略
【4月更文挑战第21天】 随着网络环境的日趋复杂,传统的安全防御机制在应对日益狡猾的网络攻击时显得力不从心。本文提出了一种结合深度学习与行为分析的网络安全威胁检测系统的优化策略,旨在提高对先进持续威胁(APT)和零日攻击的识别能力。通过构建一个多层次特征提取框架,并引入自适应学习算法,该系统能够实时学习网络行为模式,有效区分正常行为与潜在威胁。同时,文中探讨了模型训练过程中的数据增强、对抗性样本生成以及模型蒸馏等技术的应用,以提升模型的泛化能力和鲁棒性。
|
8天前
|
机器学习/深度学习 数据采集 监控
探索机器学习在金融欺诈检测中的应用
【5月更文挑战第30天】在金融交易的复杂网络中,欺诈行为日益猖獗,传统的检测方法逐渐显得力不从心。随着人工智能技术的飞速发展,机器学习因其强大的数据分析和模式识别能力成为打击金融欺诈的新利器。本文将深入探讨机器学习在金融欺诈检测领域的应用情况,分析其优势与挑战,并展望其在未来的发展前景。
|
23天前
|
机器学习/深度学习 自然语言处理 算法
|
6天前
|
机器学习/深度学习 人工智能 运维
【机器学习】Adaboost: 强化弱学习器的自适应提升方法
在机器学习领域,集成学习是一种通过结合多个弱模型以构建更强大预测模型的技术。Adaptive Boosting,简称Adaboost,是集成学习中的一种经典算法,由Yoav Freund和Robert Schapire于1996年提出。Adaboost通过迭代方式,自适应地调整数据样本的权重,使得每个后续的弱学习器更加关注前序学习器表现不佳的样本,以此逐步提高整体预测性能。本文将深入探讨Adaboost的工作原理、算法流程、关键特性、优势及应用场景,并简要介绍其实现步骤。
13 1
|
8天前
|
机器学习/深度学习 运维 监控
探索机器学习在金融欺诈检测中的应用
【5月更文挑战第30天】 在金融行业,欺诈行为日益猖獗,传统的安全措施已难以应对复杂多变的欺诈手段。本文将深入探讨如何利用机器学习技术提升金融机构对欺诈行为的识别能力。通过分析不同类型的机器学习模型以及它们在真实世界数据上的应用效果,我们揭示了这些算法在早期识别欺诈交易、减少误报及提高决策效率方面的潜力。文章还讨论了实施机器学习系统时面临的挑战和潜在解决方案,为金融机构提供了一种结合先进技术与风险管理的创新思路。
|
8天前
|
机器学习/深度学习 数据采集 自然语言处理
基于机器学习的网络安全威胁检测系统
【5月更文挑战第29天】 在数字化时代,网络安全已成为一个不容忽视的问题。传统的安全防御手段往往依赖人工规则和特征匹配,难以应对日益复杂多变的网络攻击行为。本文提出了一个基于机器学习的网络安全威胁检测系统,旨在通过智能算法提高威胁识别的准确性和效率。系统利用先进的数据挖掘技术从大量网络流量中自动提取特征,并通过训练深度学习模型来识别潜在的安全威胁。本研究的创新点在于融合了自然语言处理(NLP)技术,以解析和理解网络攻击的语言模式,从而增强系统的检测能力。实验结果表明,该系统能够有效识别多种类型的网络攻击,包括钓鱼、恶意软件传播及先进持续性威胁(APT)。
|
20天前
|
机器学习/深度学习 数据采集 人工智能
【机器学习】怎样检测到线性回归模型中的过拟合?
【5月更文挑战第17天】【机器学习】怎样检测到线性回归模型中的过拟合?
|
23天前
|
机器学习/深度学习 算法 图计算
图机器学习入门:基本概念介绍
图机器学习是机器学习的分支,专注于处理图形结构数据,其中节点代表实体,边表示实体间关系。本文介绍了图的基本概念,如无向图与有向图,以及图的性质,如节点度、邻接矩阵。此外,还讨论了加权图、自循环、多重图、双部图、异构图、平面图和循环图。图在描述数据关系和特征方面具有灵活性,为机器学习算法提供了丰富的结构信息。
16 0
|
23天前
|
数据可视化
R语言机器学习方法分析二手车价格影响因素
R语言机器学习方法分析二手车价格影响因素
|
23天前
|
机器学习/深度学习 运维 自然语言处理
探索机器学习在金融欺诈检测中的应用
【5月更文挑战第3天】 随着金融科技的迅猛发展,机器学习作为其核心推动力之一,正逐渐改变着我们对金融服务安全与效率的理解。本文将深入探讨机器学习技术在金融欺诈检测领域内的应用现状与前景。通过分析多种算法和实际案例,我们揭示了如何利用机器学习提高识别欺诈行为的准确率,降低金融机构的风险损失。同时,文章还将讨论在此过程中遇到的挑战及未来的发展趋势,为读者提供一个全面而深入的视角。