《异常点检测》 - 第十章阅读记录 - 离散序列的异常点检测

2023-10-29

20201006 -
本文主要作为《异常点检测》的第十章的内容记录,文章按照顺序的方式来进行记录,想到什么记录什么,暂时没有明确的条理。

1. 基础概念记录

1.1 离散数据的定义

离散数据与连续数据有所不同,离散数据在实际中主要有两种。

  • 基于时间的离散数据,例如用户操作序列,这种在时间上有一个递进的关系
  • 基于位置的离散数据,例如生物数据,这种在位置上有所区分

两种数据的主要区别就是在于他们不同位置的数据主要是按照是什么区分,是时间,还是位置。但本质上都是带有次序的字符序列。

1.2 离散数据的一个难点

在离散数据中,因为离散数据的每个元素一般都是取自某个集合,那么怎么定义这些元素的距离是一个问题。例如,生物基因中的序列,你无法简单的按照连续数值数据中的方式直接计算距离。

1.3 异常点的定义

在离散序列中,异常点的定义分为两种:

  • (Position outliers) :单个位置的元素与实际预测值有差别,这种方式与连续数据中基于预测的方式相同,这种被称为上下文异常;而这种方式,通常使用马尔可夫式方法(Markovian methods)比较适合。
  • (Combination outliers):多个连续位置的元素组合异常,这种被称为集体异常;在组合式异常中,通常整个序列都被视为异常。

在组合异常中,又分为多种方式:基于距离的,基于频率的,基于模型的(通过一个概率生成模型),基于转换的。但我觉得,其实这些方法也适用于前面的单个位置的异常。

同时,还是要注意,在前面的章节中,也提到,**异常指数(outlier score)**依然是适用的。

(这部分还可以在阅读整个章节后,具体阅读)

2. 单个位置的异常

在时序数据的异常检测中,通常采用预测+偏差检测的方式,在离散数据的异常检测中,同样是这样的方式,只不过预测模型的选用,当通过概率或者什么方式来推理出某个点出现的机率比较小的时候,这种方式就被预测为异常

对于数据的不同划分形式,这里书中给出了两种定义方式:半监督和无监督方式。

  • 半监督方式:基于训练数据集包含多个训练序列, D = T 1 , . . . T N D=T_1,...T_N D=T1,...TN和一条测试数据 V = a 1 , . . . , a n V=a_1,...,a_n V=a1,...,an,判断测试序列中是否某个位置是异常。
  • 无监督方式:给定一个长序列, V = a 1 , . . . , a n V=a_1,...,a_n V=a1,...,an,判断是否某个位置为异常。

本文中主要采用第一种定义方式来讨论,不过我比较好奇的是,第一种方式应该已经假定训练数据都是正常的吧(在文中p338部分做了解释,训练数据都是正常的)。
正常情况下,类似时序数据中的方式,都是通过历史数据来进行下一位置的预测,也就是说,为了预测 a i a_i ai,需要利用数据 a i − j , a i − j + 1 , . . . , a i − 1 a_{i-j},a_{i-j+1},...,a_{i-1} aij,aij+1,...,ai1,窗口大小就是 j j j。而对于基于位置的异常来说,可能两个方向的数据都需要。而这种预测方式所基于的假设就是短期记忆属性,意思就是前文所传递的:某个位置的取值由他前面窗口的数据所决定。而正式的数学定义如下:

短期记忆属性,对于一个序列, V = a 1 , . . . , a i , . . . a n V=a_1,...,a_i,...a_n V=a1,...,ai,...an,概率取值 P ( a i ∣ a 1 . . . a i − 1 ) P(a_i|a_1...a_i-1) P(aia1...ai1)完全可以利用一个短期窗口 P ( a i ∣ a i − k . . . a i 1 ) P(a_i|a_{i-k}...a_{i_1}) P(aiaik...ai1)的概率来决定。

其实上述概念,学过随机过程,基本上都能理解,这也是为了计算方便。**而另外一个比较重要的概念就是,对于不同的 j j j值,靠近预测值的历史数据的影响,必然是要大于远距离的历史数据的。通过这种方式,在实现了概率 P ( a n ∣ a n − k . . . a n − 1 P(a_n|a_{n-k}...a_{n-1} P(anank...an1的预测之后,如果这个位置的概率值比较小,或者直白点,在观测到某端序列 a n − k . . . a n − 1 a_{n-k}...a_{n-1} ank...an1之后, a n a_n an出现的概率比较小的话,那么就可以认定 a n a_n an是异常。
(感觉这个就跟之前看到的其他内容一样,就想是贝叶斯估计中的东西)。
而本小节中,将讨论两种形式的位置异常检测方法:基于规则的和基于马尔可夫式的。两种方式都是利用了短期记忆的属性,同时他们在某些条件上是等价的。(为什么相同,可能还是要具体来了解)

2.1 基于规则的检测方式

基于规则的方式主旨就是去从训练数据集中得到相应的概率 P ( a i ∣ a i − k . . . a i − 1 P(a_i|a_{i-k}...a_{i-1} P(aiaik...ai1,当其概率值比较大的时候,规则可以表达为,
a i − k . . . a i − 1 ⇒ a i a_{i-k}...a_{i-1}\Rightarrow a_i aik...ai1ai
一般有两种方式来进行规则的生成:1)直接对要测试的数据进行规则推导,2)在预处理阶段在训练数据中生成大量的规则。生成的规则的概率值,通常称为这条规则的置信度。
而对于训练数据的估计是比较麻烦的。而为了能够得到更具说服力的结果,很多启发式的松懈条件解和概率估计的方法被提出。

  • 同时使用支持度的概念,支持度就是这条规则发生的次数(其实这条我不是很理解,加上前面所说的内容,就是前面所说的无法推导出准确的概率一样)
  • 变长的窗口序列大小,有些规则并不是通过定长窗口推导出来的
  • 对某些位置进行不关注的策略,例如某条规则可以表达为 a 1 a 2 ∗ ∗ a 5 ⇒ a 6 a_1a_2**a_5\Rightarrow a_6 a1a2a5a6,在某些位置可以忽略。

同时可以采用分类的方式,也就是说将前面窗口拆分出来作为特征,然后将最后一个标志作为预测结果。
(我越发的感觉,这部分内容,真的非常像之前的频繁序列挖掘的内容)

2.2 马尔可夫式(Markovian)模型

该类模型代表着一种利用马尔科夫链来转移概率来生成序列的模型,这种模型本质上是一种特殊形式的有限状态机(那不特殊的有限状态机是什么?),其中状态被定义为生成的短期历史记忆。对于两种不同阶的马尔可夫模型,阶数就对应着他们所记忆的短时记忆长度,他们的状态分别是

  • 一阶马尔可夫模型,每个状态就是一个历史状态 a i a_i ai
  • 二阶马尔可夫模型,每个状态都是两个历史状态 a i − 1 a i a_{i-1}a_{i} ai1ai,然后k阶递推

在这里插入图片描述

每个点代表状态,而每条线代表某个事件发生,从而导致状态转移。例如k阶的状态转移,从 a n − k . . . a n − 1 a_{n-k}...a_{n-1} ank...an1 a n − k + 1 . . . a n a_{n-k+1}...a_n ank+1...an,其概率就是 P ( a n ∣ a n − k . . . a n − 1 ) P(a_n|a_{n-k}...a_{n-1}) P(anank...an1),而这个概率就是前面提到的规则的置信度,而这里就回答了前面的内容,基于规则的模型和基于马尔可夫的模型是相同的,只不过是某些形式化上的语言不同。

正常情况下,在 k k k阶的马尔可夫模型中,累计存在 ∣ Σ ∣ k |\Sigma|^k Σk种状态,其中 Σ \Sigma Σ是状态表。很多子序列的状态可能不会出现在实际的训练数据中,同时也可能本身就不符合有些物理世界的规则。
对于高阶的马尔可夫模型中,当存在足够的数据进行训练时,能够学习的更准确。而对于有限的数据,这种高阶的模型非常容易过拟合,首先高阶的训练过程就比较困难,加上数据量较少,可能也无法保证估计的概率准确。因此为了解决效率和准确性的问题,针对马尔可夫模型也有很多变种的模型。

  • 变阶的模型,有些高阶的状态而频率比较低的,其实可以通过剪枝去除掉,同时替代为低阶的状态,有一个方法就是概率前缀树
  • 忽略子序列的方法,这种代表模型是稀疏马尔可夫模型。

一般来说,高阶的模型通常都容易训练速度比较慢,都需要高效的数据结构来代表和处理。

2.4 概率前缀树

(这部分具体没有记录)好像仅仅是一个数据结构。

其实,我这里也有一个疑问,为什么没有马尔可夫的训练过程呢?难道说就存粹是频率的计算?虽然前面说了他的概率就是跟基于规则的一样,但是我觉得应该也有相应的训练方式吧。不过,这部分我记得之前的时候在随机过程的学习中,有些了解,有很多事线性代数的知识。

3. 组合异常点

(在本章节的内容中,前面得内容主要是如何定义这个问题,在明确了问题是什么之后,才有后面具体的模型或者说方法)
组合异常点的检测因为不同场景的需求不同,数据不同的原因,导致所需要解决的问题也不一样。但是从整体上来看,他们都可以通过预处理,或者一些其他的手段,将其归类为一种问题。也就是将实质问题形式化为一类问题,通过对于数据的理解来实现不同的分类。

  • 半监督vs无监督问题:该类问题是指给定的数据是否做了训练数据和测试数据的区分,在区分的情况下,训练数据一般都是正常的。

(未完待续…)

后续要返回来阅读的内容

  1. 在p329部分,组合异常的不同方式
  2. 在p332部分,为什么基于规则的检测和基于马尔可夫式的方式在某些条件下是等价的。
  3. p333部分,一个名为RIPPER的规则生成器,我看了引用文献,他是针对unix命令的一个应用,发表在AAAI的会议上。
  4. 在p334部分,两篇论文,针对异常检测的,分别是1阶马尔可夫模型和k阶马尔可夫模型
  5. 在p334部分,文献169针对网页访问控制的马尔可夫模型异常检测
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

《异常点检测》 - 第十章阅读记录 - 离散序列的异常点检测 的相关文章

  • pandas数据提取

    pandas是一个python数据分析库 提供了多种方法提取数据 一种常用的方法是使用索引和列标签 例如 import pandas as pddf pd read csv data csv 获取特定行 row df loc 0 获取特定列
  • 《机器学习》二刷超详细笔记

    博主在4月学完西瓜书时 一头雾水 觉得还是一知半解 9月开学后上完了必修的 machine learning 课程 并且自己编程实现了多种机器学习算法和论文复现后 才对机器学习有一点了解 现在再次翻阅西瓜书 很多知识点看到都豁然开朗 所以出
  • 数据挖掘(全书的知识点都包括了)

    数据挖掘 第一章 1 什么是数据挖掘 数据挖掘是从数据中 发现其有用的信息 从而帮助我们做出决策 广义角度 数据挖掘是从大量的 不完全的 有噪声的 模糊的 随机的实际应用数据中 提取隐含在其中的 人们事先不知道的 但又是潜在有用的信息和知识
  • 独家

    作者 Damir Yalalov 翻译 陈超 校对 赵茹萱 本文约1100字 建议阅读5分钟 本文介绍了ChatGPT如何解决简单的机器学习任务并给出了鸢尾花分类和城市预测两个案例 一句话概括 ChatGPT可以帮助你完成简单的机器学习任务
  • 3. 决策树原理及数学建模实战

    决策树 文章目录 一 概念 二 ID3 2 1 概念 2 2 算法流程 2 3 信息熵 2 4 特点 三 C4 5 3 1 概念 3 2 信息增益率 3 3 处理连续值 3 4 过拟合问题 3 4 1 提出 3 4 2 剪枝 四 CART
  • 对话数据宝董事长汤寒林:数据要素崛起的背后是产业链的爆发

    数字经济再添新概念 数据要素的来到会对行业产生什么影响 数科星球原创 作者丨苑晶 编辑丨十里香 从小众的极客文化再到被众多企业所接纳 信息科技已经历70余年 现在 随着越来越多的企业开始拥抱数据产业之时 数据的有效利用成为企业间备受关注的话
  • 【数据挖掘】数据挖掘比赛项目-kaggle泰坦尼克号

    数据挖掘实战项目 kaggle泰坦尼克号生还者预测 ing kaggle泰坦尼克号生还者预测 泰坦尼克号 从灾难中学习机器 kaggle网站连接 链接 https www kaggle com c titanic 一 实战项目描述 1 项目
  • 2023年1月手机热门品牌型号排行榜(手机行业趋势分析)

    近期苹果降价引起人们的关注 并且优惠较大 iPhone 14 Pro系列在苹果官方授权渠道均降价 线下授权门店普遍降价700元左右 iPhone Pro与Pro Max作为苹果的旗舰产品 通常被认为是更为保值的机型 一般来说 不会在短期内大
  • Python人工智能,13天快速入门机器学习教程,含14大案例(NBA球员数据分析,北京租房数据,疾病数据预测等)

    40h小时入门人工智能 带你了解人工智能的前世今生 带你掌握人工智能经典算法 可掌握核心能力 1 掌握机器学习中处理数据的方法 2 理解经典的机器学习算法原理 3 掌握机器学习中工作的具体流程 Python人工智能13天快速入门机器学习教程
  • 浅谈数据挖掘

    一 数据挖掘起源 人们迫切希望能对海量数据进行深入分析 发现并提取隐藏在其中的信息 以更好地利用这些数据 但仅以数据库系统的录入 查询 统计等功能 无法发现数据中存在的关系和规则 无法根据现有的数据预测未来的发展趋势 更缺乏挖掘数据背后隐藏
  • 动态模型系列笔记(一)——隐马尔可夫模型(HMM)

    隐马尔可夫模型 背景介绍 提纲 隐马尔可夫模型 HMM 符号表示 两个假设 三个问题 Evaluation Learning Decoding 小结 附录 背景介绍 隐马尔可夫模型 HMM 是一种概率图模型 我们知道 机器学习模型可以从频率
  • GraphPad Prism 9:最强大的数据分析软件,助您轻松解析复杂数据!

    您是否正在寻找一个功能强大 易于使用的数据分析软件 GraphPad Prism 9是您的最佳选择 作为全球领先的科学数据分析工具 Prism 9提供了广泛的功能和先进的统计分析方法 帮助您轻松解析和可视化复杂的数据 Prism 9不仅具备
  • 人工智能数据挖掘:发掘信息的新境界

    导言 人工智能数据挖掘作为信息时代的利器 通过智能算法和大数据技术的结合 为企业 学术研究和社会决策提供了前所未有的洞察力 本文将深入探讨人工智能在数据挖掘领域的应用 技术挑战以及对未来的影响 1 人工智能数据挖掘的基本原理 数据预处理 清
  • Python数据分析原来这么简单!5分钟上手,让你成为数据分析达人!

    前言 数据分析是如今信息时代的核心技能之一 通过对大量数据的收集 整理 处理和分析 数据分析师可以从中提取出有价值的信息 为企业决策提供支持和指导 而Python作为一种简单 易学且功能强大的编程语言 成为了数据分析的热门工具之一 本文将为
  • 探索关系:Python中的Statsmodels库进阶

    目录 写在开头 1 多元线性回归 场景介绍 2 Logistic回归 2 1 Logistic回归的概念 2 2 应用案例 2 2 1 建立模型和预测
  • 航空港务数据大屏为航空港的可持续发展提供有力支撑!

    随着经济的发展 不断加建与扩建民用机场 空港行业规模不断扩大 在不断引进和消化发达国家先进技术的同时 中国深入开展了对新技术和新材料的研究 极大地丰富和发展了中国的机场建设技术 且各项机场建设计划均已落实推进 行业在经济发展的推动下欣欣向荣
  • 振弦采集仪在地基沉降监测中的应用研究

    振弦采集仪在地基沉降监测中的应用研究 振弦采集仪是一种专门用于测量地基沉降的仪器 它采用振弦原理来测量地基的沉降情况 振弦采集仪通过在地基上安装一根细长的弹性振弦 并测量振弦的变形来获得地基沉降的数据 在地基沉降监测中 振弦采集仪可以提供精
  • 跨境电商三大趋势已经涌现

    在过去的几年里 跨境电商在推动外贸增长中发挥了至关重要的作用 成为了引领行业发展的强大引擎 然而 随着2024年的到来 跨境电商行业又站在了崭新的起点 准备攀登新的发展高峰 数据显示 得益于经济的逐步复苏 未来三年跨境电商行业预计将以16
  • 【状态估计】电力系统状态估计中的异常检测与分类(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码及详细文
  • 【状态估计】电力系统状态估计中的异常检测与分类(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码及详细文

随机推荐