概念漂移

​ 概念漂移是数据流挖掘领域中一个重要的研究点。传统的机器学习算法在操作时通常假设数据是静态的,其数据分布不会随着时间发生变化。然而对于真实的数据流来说,由于数据流天生的时间性,到达的数据的分布可能会随着时间的推移不断改变。这使得传统的批处理模型不适合对数据流的进行挖掘分析,模型更是需要有检测和适应数据分布变化的能力。例如,在服装店销售预测的例子中,如果季节性因素导致服装销售额在夏季月份较高,那么在冬季该预测模型可能就不管用了。

​ 如果要对概念漂移下定义的话,它的定义是:概念漂移是一种现象,即目标领域的统计属性随着时间的推移以一种任意的方式变化。

​ 如果用一句话来描述概念漂移的话,它就是:数据分布不均匀,使得过去训练的表现不能保证将来的结果。

基于间隔密度的概念漂移检测算法mdm-DDM

背景

​ 参考论文:https://kns.cnki.net/kcms2/article/abstract?v=3uoqIhG8C475KOm_zrgu4lQARvep2SAkaWjBDt8_rTOnKA7PWSN5MEdRZ4_Punz3wA-1d-2-our_XnGz-hr7Ar5EH4I5MWNB&uniplatform=NZKPT

​ mdm-DDM解决了基于错误率的漂移检测算法必须及时获取标记数据标签的问题。mdm-DDM利用间隔密度作为检测漂移的度量,然后结合McDiarmid 不等式来进行显著性检验,以此判断是否产生概念漂移。

​ 本文只考虑了没有明确决策边界的mdm-DDM,在有标签情况下,用集成分类器来进行预测。

定义

  • 间隔区域

    • 预测空间中最容易分类错误的部分
  • 间隔密度
    • 分类器不确定区域中的样本密度,即具有不确定性的数据样本占总体样本的密度

间隔密度计算

  1. 对于每一个样本x来说:
\[margin = P_E(y = trueclass|x) - P_E(y \neq trueclass|x)
\]

​ 其中E指的是集成分类器。被减数指的是样本经过分类器预测后,集成分类器预测标签为样本标签的概率。减数的是样本经过分类器预测后,集成分类器预测标签不为样本标签的概率。

  1. 间隔密度的计算方式:
\[S_{(w,b)} = \begin{cases} 1,if\ margin \leq \theta_{margin\ of\ uncertainty}\\
0, 其他\end{cases}
\]
\[MD_{svm} = \frac{\sum{S_{(w,b)}(x)}}{|X|},\forall x\in X
\]

​ 其中是定义阈值,表示间隔区域,默认值为0.15,X 表示样本集,x 是样本集中的样本点,表示样本点距离决策面的距离。当样本点落入间隔区域,该样本点被Sign函数标为1,否则为0。MD表示间隔密度。

基于 McDiarmid 不等式的阈值设计

​ 当集成分类器的间隔密度开始以一种不寻常的方式增加的时候,概念漂移的可能性将会增加。因此随着数据流中的数据一个接一个的被处理,算法将不断更新,两个滑动窗口之间的加权平均值的显著差异意味着概念漂移的产生

​ 其中置信度δ的默认值为0.000001。

​ ε的计算公式如下:

\[\varepsilon_w = \sqrt{\frac{\sum_{i=1}^{n}{v^2_i}}{2}ln\frac{1}{\delta_w}}
\]

​ v的计算公式如下:

\[v_i = \frac{w_i}{\sum_{i=1}^{n}{w_i}}
\]

​ w表示滑动窗口中数据流实例中第i个数据的权重。由于数据流具有时效性这个特点,算法定义最近到来的数据应具有较高的权重,w < w+1,其中w表示第 i 个实例的权重。权重的计算方法如下:

\[w_i = 1 + (i-1)*d
\]

​ 权重随时间增加的d默认值为0.01。

漂移算法整体流程

基于间隔密度的概念漂移检测算法mdm-DDM的更多相关文章

  1. 基于模糊Choquet积分的目标检测算法

    本文根据论文:Fuzzy Integral for Moving Object Detection-FUZZ-IEEE_2008的内容及自己的理解而成,如果想了解更多细节,请参考原文.在背景建模中,我 ...

  2. 基于COCO数据集验证的目标检测算法天梯排行榜

    基于COCO数据集验证的目标检测算法天梯排行榜 AP50 Rank Model box AP AP50 Paper Code Result Year Tags 1 SwinV2-G (HTC++) 6 ...

  3. 每天进步一点点------Sobel算子(3)基于彩色图像边缘差分的运动目标检测算法

    摘  要: 针对目前常用的运动目标提取易受到噪声影响.易出现阴影和误检漏检等情况,提出了一种基于Sobel算子的彩色边缘图像检测和帧差分相结合的检测方法.首先用Sobel算子提取视频流中连续4帧图像的 ...

  4. 五种基于RGB色彩空间统计的皮肤检测算法

    最近一直在研究多脸谱识别以及如何分辨多个皮肤区域是否是人脸的问题 网上找了很多资料,看了很多篇文章,将其中基于RGB色彩空间识别皮肤 的统计算法做了一下总结,统计识别方法主要是简单相比与很多其它基于 ...

  5. Learning under Concept Drift: A Review 概念漂移综述论文阅读

    首先这是2018年一篇关于概念漂移综述的论文[1]. 最新的研究内容包括 (1)在非结构化和噪声数据集中怎么准确的检测概念漂移.how to accurately detect concept dri ...

  6. 基于候选区域的深度学习目标检测算法R-CNN,Fast R-CNN,Faster R-CNN

    参考文献 [1]Rich feature hierarchies for accurate object detection and semantic segmentation [2]Fast R-C ...

  7. 目标反射回波检测算法及其FPGA实现 之一:算法概述

    目标反射回波检测算法及其FPGA实现之一:算法概述 前段时间,接触了一个声呐目标反射回波检测的项目.声呐接收机要实现的核心功能是在含有大量噪声的反射回波中,识别出发射机发出的激励信号的回波.我会分几篇 ...

  8. kaggle信用卡欺诈看异常检测算法——无监督的方法包括: 基于统计的技术,如BACON *离群检测 多变量异常值检测 基于聚类的技术;监督方法: 神经网络 SVM 逻辑回归

    使用google翻译自:https://software.seek.intel.com/dealing-with-outliers 数据分析中的一项具有挑战性但非常重要的任务是处理异常值.我们通常将异 ...

  9. 基于Shading Model(对光照变化一定不变性)的运动目标检测算法

    光照模型(Shading Model)在很多论文中得到了广泛的应用,如robust and illumination invariant change detection based on linea ...

  10. 基于Adaboost的人脸检测算法

    AdaBoost算法是一种自适应的Boosting算法,基本思想是选取若干弱分类器,组合成强分类器.根据人脸的灰度分布特征,AdaBoost选用了Haar特征[38].AdaBoost分类器的构造过程 ...

随机推荐

  1. Spring Boot实现高质量的CRUD-3

    (续前文) 7.Service接口类 ​ ​ Service类提供业务的实现逻辑,其调用Dao类的方法进行数据存取,并为Controller类提供方法.类似于Dao的接口类,服务层使用接口类,便于代码 ...

  2. JUC同步锁原理

    JUC同步锁原理 1.锁的本质 1.什么是锁? ​ 通俗来讲,锁要保证的就是原子性,就是一个代码块不允许多线程同时执行,就是锁.从生活的角度上来说,就比如你要去上厕所,当你在上厕所期间,你会把门锁上, ...

  3. 【后端面经-Java】Java创建线程的方法简介

    目录 1. 线程的基本概念 1.1 线程 1.2 线程状态和生命周期 2. 创建线程的四种方法 2.1 继承Thread类 2.2 实现Runnable接口 2.3 实现Callable接口 2.4 ...

  4. 「学习笔记」Lambda 表达式

    Lambda 表达式因数学中的 \(\lambda\) 演算得名, 直接对应于其中的 lambda 抽象. Lambda 表达式能够捕获作用域中的变量的无名函数对象, 我们可以将其理解为一个匿名的内联 ...

  5. 图扑 AR 技术应用与管理:施工建造、机柜扫描、办公室导航解决方案

    随着科技的不断革新和创新,越来越多的行业开始迎来数字化时代的变革.建筑行业作为人类历史上最重要的产业之一,在数字化转型方面同样也在不断推进.图扑软件结合 AR 技术的应用,为建筑行业带来了更加便捷高效 ...

  6. 即构✖叮咚课堂:行业第一套AI课堂解决方案是怎么被实现的?

    AI走进教育,是传统教育的一次迭代进化 在教育问题上,我们看到两类话题最容易引发公众讨论:教育公平和个性化教育,"互联网+教育"有可能解决第一类话题,"AI教育" ...

  7. 【技术积累】JavaScript中的基础语法【一】

    Math对象 JavaScript中的Math对象是一个内置的数学对象,表示对数字进行数学运算的方法和属性的集合. Math对象不是一个构造函数,所以不能使用new关键字来创建一个Math对象的实例. ...

  8. Linux下实现程序开机自启(rc.local 和 systemctl)

    需求: 实现了一个程序,需要在ubuntu上跑起来.能开机自启,且崩溃了也能自己重启.有两种实现方式,个人推荐第二种. 方式1: 实现方式: 直接将要启动程序的运行命令加在 /etc/rc.local ...

  9. HTML超文本标记语言2

    二.基本标签 1.文件标签(结构) <html> 根标签 <head> <title>页面标题(标签)</title> </head> &l ...

  10. 【技术实战】Vue技术实战【四】

    需求实战一 效果展示 代码展示 <template> <ARow> <ACol> <a-statistic-countdown :value="de ...