Theme
Chapter 11 — Outlier Detection 期末复习笔记
以下笔记严格以你上传的 72 页课件为主线整理,并结合课件中嵌入的教材文字补全了 SVD、Robust PCA、pattern-based compression 等容易被幻灯片正文略过的细节。对于课件内部存在的公式/数值不一致,我会明确标注,而不会擅自“修正成另一套知识”。
重要程度统一标记:
- ★★★:核心概念、公式、算法流程,强烈建议能默写/计算。
- ★★:理解型知识,适合简答、比较题。
- ★:例子、背景、扩展性知识。
1. 本章到底在解决什么问题?★★★
本章的核心问题可以压缩成一句话:
给定一个绝大多数样本遵循某种“正常机制”的数据集,如何定义“偏离正常”的程度,并找出那些很可能由不同机制产生的对象?
Outlier Detection,也称 Anomaly Detection:
寻找行为与预期显著不同的数据对象。
典型例子是信用卡欺诈:
- 一笔金额异常大的交易;
- 同一张卡在 10 分钟内出现在相距几百英里的两个地点;
- 正常交易占绝大多数,异常交易极少。
应用包括:
- medical care;
- public safety / security;
- industrial damage detection;
- image processing;
- sensor/video surveillance;
- national security;
- intrusion detection。
这里最关键的不是“找少数点”,而是:
因此整章其实一直在回答:
- “正常”究竟怎么建模?
- “偏离”用什么度量?
- 是与全局比较,还是局部/上下文比较?
- 一个点异常,还是一组点共同异常?
- 高维空间中距离失效以后怎么办?
2. 整章的“方法进化树” ★★★
可以把 72 页内容理解为下面这棵树:
text
Outlier Detection
│
├── 1. 首先定义“什么算异常”
│ ├── Global outlier
│ ├── Contextual outlier
│ └── Collective outlier
│
├── 2. 是否有监督信息?
│ ├── Supervised
│ ├── Semi-supervised
│ └── Unsupervised
│
├── 3. 用什么方式刻画 normality?
│
│ ├── A. Statistical
│ │ ├── Parametric
│ │ │ ├── Gaussian
│ │ │ ├── Grubbs
│ │ │ ├── Mahalanobis
│ │ │ └── Mixture model
│ │ └── Nonparametric
│ │ ├── Histogram
│ │ └── KDE
│ │
│ ├── B. Proximity
│ │ ├── Distance-based
│ │ │ └── DB(r, π)
│ │ └── Density-based
│ │ └── LOF
│ │
│ ├── C. Reconstruction
│ │ ├── Numerical
│ │ │ ├── Matrix factorization
│ │ │ ├── SVD
│ │ │ ├── Robust PCA
│ │ │ └── Autoencoder
│ │ └── Categorical
│ │ └── Pattern-based compression
│ │
│ └── D. Clustering / Classification
│ ├── Clustering-based
│ ├── One-class classification
│ └── Semi-supervised combination
│
├── 4. 更复杂的异常定义
│ ├── Contextual outliers
│ │ ├── Explicit context partition
│ │ └── Model behavior conditioned on context
│ └── Collective outliers
│ ├── temporal segment
│ ├── spatial region
│ └── graph/subgraph
│
└── 5. 高维数据导致传统方法失效
├── Modify conventional proximity → HilOut
├── Search subspaces
│ └── Grid-based sparsity
├── Ensemble over random subspaces
└── Deep learning
├── DL as preprocessing
└── Joint embedding + anomaly detection
├── OC-NN
└── DevNet这里最值得理解的是方法演进背后的逻辑:
从“假设一个全局概率模型”逐渐发展到“不假设分布,只比较邻居”,再到“学习正常数据自身的结构”,最后面对 contextual / collective / high-dimensional 等复杂情况修改异常的定义本身。
3. Outlier 的基本概念
3.1 什么是 Outlier?★★★
假设数据由一个统计过程产生。
如果某个对象显著偏离其他对象,表现得:
好像它是由另一个生成机制产生的,
那么称它为 outlier。
因此异常检测背后的隐含模型可以写成:
而异常点看起来更像:
实际算法不一定真的显式学习这两个分布,但这种“不同生成机制”的思想贯穿整章。
4. Outlier vs Noise ★★★
二者非常容易考概念辨析。
| Noise | Outlier | |
|---|---|---|
| 本质 | 随机测量误差、随机波动 | 可能来自不同生成机制 |
| 是否有分析价值 | 通常没有 | 通常有 |
| 例子 | 某天午餐多吃一点、咖啡多喝一杯 | 欺诈、入侵、设备故障 |
| 分析目标 | 尽量消除/忽略 | 需要主动发现 |
Noise:
random error or variance in a measured variable.
Outlier:
suspected of not being generated by the same mechanism as the rest of the data.
因此仅仅说:
“这个点离其他点很远。”
还不够。
真正需要justify:
为什么这种偏离足以说明它可能违反正常数据的生成假设?
例如:
- 对绝大多数数据作某种正常性假设;
- 检查候选对象;
- 发现候选对象显著违反假设;
- 因而将其标记为异常。
5. Outlier Detection vs Novelty Detection ★★
二者最初阶段非常相似。
例如社交媒体中突然出现一个新话题:
- 一开始出现次数极少;
- 对旧数据模型而言,它表现得像 outlier;
- 后来发现这是一个真实的新趋势。
区别在于 Novelty Detection 会更新 normal model:
text
new pattern arrives
↓
looks abnormal initially
↓
confirmed as genuine novelty
↓
incorporated into normal model
↓
future instances no longer considered anomalous所以:
而传统 outlier detection 通常是在当前定义的正常模型下识别异常。
6. 三类异常:Global、Contextual、Collective ★★★
这是本章第一个绝对核心分类。
6.1 Global Outlier
定义:
一个对象如果相对于整个数据集显著偏离,则称为 global outlier / point anomaly。
特点:
- 最简单;
- 大量传统 anomaly detection 方法都主要解决 global outlier。
关键是找到合适的 deviation measure。
应用:
- network intrusion detection;
- transaction auditing。
7. Contextual Outlier ★★★
定义:
一个对象只有在某个特定 context 下才显著异常。
经典例子:
Toronto 今天 86°F 是否异常?
不能只看 86。
如果:
- winter → 异常;
- summer → 正常。
因此:
而不是简单:
7.1 Contextual attributes vs Behavioral attributes ★★★
数据属性必须拆成两组。
Contextual attributes
定义对象所处的 context。
温度例子:
- date;
- location。
Behavioral attributes
描述对象本身的行为,用于判断它在当前 context 是否异常。
例如:
- temperature;
- humidity;
- pressure。
因此 contextual anomaly detection 的逻辑是:
检测的是:
这是理解 contextual outlier 最重要的数学直觉。
8. Global、Local、Contextual Outlier 的关系 ★★★
课件给出两个非常重要的关系。
8.1 Local outlier
如果对象的密度相对于所在局部区域显著不同,就是 local outlier。
8.2 Contextual outlier 是 local outlier 的推广
Local neighborhood 实际上就是一种 context。
因此 contextual anomaly 的“context”可以比几何邻域更丰富,例如:
- 时间;
- 季节;
- 地理位置;
- 用户年龄;
- 用户历史行为。
8.3 Global outlier 是 contextual outlier 的特殊情况
如果 contextual attributes 集合为空:
就等价于:
全数据集构成唯一 context。
于是:
8.4 Context 定义很重要
Contextual detection 的性能不仅依赖:
behavioral space 中 deviation 的定义,
也依赖:
contextual attributes 是否真正 meaningful。
context 选错,即使后面的 anomaly detector 很强也可能没有意义。
9. Collective Outlier ★★★
这是另一种完全不同的异常。
定义:
一组对象整体显著偏离数据集,即使每个对象单独看都可能完全正常。
数学思想:
但是:
满足:
非常低。
则:
是 collective outlier。
9.1 例子
一个学生一天生病:
normal。
一天班上 10% 学生同时生病:
collective anomaly。
9.2 网络攻击
单个 DoS packet:
可能完全正常。
很多机器持续相互发送:
整体结构异常。
可能意味着这些机器被攻击者控制。
9.3 股票交易
一次两方之间的股票交易:
正常。
短时间内少数账户之间大量交易同一只股票:
可能说明市场操纵,是 collective anomaly。
9.4 Collective detection 为什么更难?
因为不只需要:
还需要:
即对象之间的关系。
例如:
- distance;
- similarity;
- temporal adjacency;
- spatial adjacency;
- graph edge。
所以背景知识非常重要。
10. 三类 Outlier 对比 ★★★
| 类型 | 比较对象 | 是否需要 context/关系 | 典型问题 |
|---|---|---|---|
| Global | 与整个数据集比较 | 否 | “这个点整体是否罕见?” |
| Contextual | 与同 context 数据比较 | 是 | “在当前季节/地区是否异常?” |
| Collective | 一组对象与整体比较 | 是 | “这组行为组合是否异常?” |
特别注意:
同一个对象可能同时属于多种异常。
数据集也可能同时存在多种 outlier。
复杂度大致:
因为:
- Contextual 要定义 context;
- Collective 要发现/建模对象关系。
11. Outlier Detection 的核心挑战 ★★★
课件列四大问题。
11.1 Normality 和 abnormality 的边界不清晰
现实中通常不存在一个明显边界:
因此很多方法最终输出:
而不是绝对 0/1。
11.2 Application-specific
对象之间什么叫:
- similar;
- close;
- related;
- abnormal;
高度依赖应用。
11.3 Noise
真实数据几乎一定含:
- measurement noise;
- missing values;
- low-quality observations。
因此:
noise 和 genuine outlier 很容易互相混淆。
11.4 Interpretability
用户往往不只需要:
“它是异常。”
还需要:
“为什么异常?”
这也是后面 subspace detection、pattern compression 很有价值的重要原因。
12. Outlier Detection 的两套分类体系 ★★★
一定不要把这两套 taxonomy 混起来。
第一套:按 supervision 分
- supervised;
- semi-supervised;
- unsupervised。
第二套:按 anomaly score 的构造机制分
- statistical;
- proximity-based;
- reconstruction-based;
- clustering/classification based 等。
一个算法可以同时属于两套分类中的某一项。
13. Supervised / Semi-supervised / Unsupervised ★★★
13.1 Supervised
同时建模:
主要问题是类别严重不平衡:
课件也指出 supervised information 有助于:
避免大量 false positives。
13.2 Unsupervised
核心隐含假设:
也就是:
- 数量多;
- 相似;
- 形成高密度结构。
相反,异常:
- 稀少;
- 离群;
- 低密度。
后面统计、proximity、reconstruction 方法实际上都在不同意义上利用这个思想。
13.3 Semi-supervised
现实中常见:
可以得到少量标签,但标签数量很小。
因此利用:
- 少量 normal/outlier labels;
- 大量 unlabeled data。
后面第 53 页会具体说明 clustering + one-class model 的做法。
14. 三大核心建模思想 ★★★
这一页是整章的方法学总结。
14.1 Statistical
假设 normal data 遵循某个概率模型:
如果:
则认为异常。
核心:
14.2 Proximity-based
不直接学概率。
如果:
x 的邻居距离很远,
或者:
x 周围密度比邻居低很多,
则异常。
核心:
14.3 Reconstruction-based
正常数据通常具有共享结构,因此可以压缩。
设:
如果正常:
如果异常:
因此:
15. Statistical Approaches ★★★
统计方法的总思想:
- 根据数据建立 generative model;
- 计算样本在模型中的概率;
- low-probability region 中的对象判为异常。
16. Parametric vs Nonparametric ★★★
Parametric
假设:
其中:
只有有限个参数。
例如 Gaussian:
异常分数可以理解成:
Nonparametric
不预先规定固定的参数化分布族。
模型主要由输入数据本身决定。
课件例子:
- Histogram;
- Kernel Density Estimation。
17. 单变量 Gaussian Outlier Detection ★★★
假设:
Gaussian density:
数据:
Likelihood:
对数似然:
即:
18. Gaussian MLE 推导 ★★★
18.1 求
对 求导:
令其为零:
所以:
因此:
18.2 求
令:
则:
求导:
令其为零:
得到:
特别注意:
而不是无偏样本方差中的:
原因是这里求的是 Gaussian 参数的 maximum likelihood estimator。
19. Temperature 例子 ★★★
课件数据:
课件给出:
并据此判断:
位于极低概率区域,因此是 outlier。
⚠️ 课件数值存在一个值得注意的不一致
按照幻灯片列出的这 10 个数据和它自己写出的 MLE:
直接计算得到约:
而不是课件标出的 。
课件最后写的 概率阈值数值也与直接代入略有差异。
期末如果老师沿用课件,建议:
概念和推导按课件掌握;具体例题数值最好记住课件答案,同时知道这里存在算术不一致。
20. Boxplot / Tukey Method ★★★
五数概括:
- Min:smallest nonoutlier value;
- :lower quartile;
- :median;
- :upper quartile;
- Max:largest nonoutlier value。
Interquartile Range:
下界:
上界:
如果:
或者:
则认为是 outlier。
课件称其为 Tukey method,并指出该区间对应约 99.3% 的对象。这里必须加一个条件:约 99.3% 是在数据确实服从正态分布时的近似覆盖率;对一般分布, 是 Tukey 的经验规则,并不保证固定的 99.3% 覆盖率。课件第 25 页把这个条件省略了。
考试核心一定是:
这个阈值。
21. Grubbs' Test ★★★
Grubbs 检验的标准前提是:观测值彼此独立、总体近似正态,并且一次检验一个最极端的候选异常(若有多个异常,不能把同一个临界值无条件地逐个套用)。对每个对象先计算:
真正进入 Grubbs 判定的是:
其中 是样本均值, 是分母为 的样本标准差(不是前面 Gaussian MLE 的分母为 的 ); 是样本数, 是显著性水平。课件第 26 页把 简写成单个对象的 ,也没有写出这些检验前提。
判定条件:
其中:
表示自由度为:
的 t-distribution 在显著性水平:
对应的临界值。
为什么 z 大意味着异常?
因为:
把距离标准化成:
离均值多少个 standard deviations。
因此:
但 Grubbs 并不是随便设一个 ,而是利用:
- ;
- ;
- t-distribution
得到统计显著性的 threshold。
22. Multivariate Outlier:Mahalanobis Distance ★★★
问题来了。
单变量可以比较:
但多变量:
如何变成一个 scalar anomaly measure?
核心思想:
将 multivariate problem 转换成 univariate problem。
22.1 Mahalanobis Distance
定义样本均值向量:
样本 covariance matrix:
Squared Mahalanobis distance:
22.2 为什么不能简单用 Euclidean distance?
欧氏距离:
默认每个方向尺度一致,而且没有考虑 feature correlation。
Mahalanobis 中:
对方向进行 covariance-aware scaling。
因此异常检测从:
转变成:
课件第 27 页随后写:
Apply Grubbs' test to .
这是课件本身的可疑/不规范指令,不能当作标准的多元异常检验:在多元正态模型下,平方 Mahalanobis 距离 近似服从 ,而不是 Grubbs 所要求的一元正态观测,且均值和协方差通常还由同一批数据估计。标准做法是将 与相应的 分位点(必要时使用有限样本修正或稳健协方差)比较。能够把对象变成一个标量分数这一点成立,但“对它套 Grubbs”不成立。
23. Multivariate Detection Using -statistic ★★
课件第 28 页印出的式子是:
但它把 解释成连续对象在第 个 dimension 上的值、把 解释成该维度均值,这与 Pearson 的定义不符。Pearson 式用于类别/箱计数: 是 observed count, 是 expected count, 遍历类别(并据此确定自由度),不是把连续坐标同均值相减后除以均值。因而不能把这条课件公式当作一般的连续多变量 outlier detector;当 或为负时甚至没有定义。
本章连续多变量近似正态时应使用前面的平方 Mahalanobis 距离:
并用 分位点(或适用的有限样本/稳健版本)判定异常。这里的错误来自课件第 28 页,不能仅通过把 改名为“维度数”来修复。
24. 从单一 Gaussian → Mixture Model ★★★
Why previous method fails?
单 Gaussian 假设:
但正常数据本身可能天然有多个 cluster。
例如:
text
Normal mode 1 Normal mode 2
●●●● ●●●●这时候一个 Gaussian 无法描述 multimodal distribution。
How mixture fixes it?
假设数据由多个 parametric distributions 混合产生。
两个 Gaussian:
则(这里是连续 Gaussian 的概率密度,不是单点概率):
其中:
- :component 1 的 density;
- :component 2 的 density;
- :mixture weights。
通常:
课件指出:
参数可以使用 EM algorithm 求解。
因此:
解决 normal data 本身 multimodal 的问题。
25. Nonparametric Method 1:Histogram ★★
Why parametric methods may fail?
它要求事先选择:
属于什么 distribution family。
如果真实数据分布复杂:
Gaussian assumption 可能错误。
于是改为:
直接用数据估计密度。
Histogram 方法
- 用 training data 构造 histogram;
- 新对象落在已有 bin → normal;
- 不落在有效 bin → outlier;
- 或者根据所在 bin 的稀疏程度定义 anomaly score。
课件提出:
示例表中:
$$ $7500: \frac1{0.2%}=500 $$
而:
$$ $385: \frac1{60%}\approx1.67. $$
所以稀有区域:
一个课件表述细节
正文称 reciprocal of bin volume,但示例实际使用的是 bin 中的频率/比例 。
期末理解成:
即可。
Histogram 最大问题 ★★★
太宽:
异常和正常被混在一起。
太窄:
正常样本也容易落入低频/空 bin。
于是引出 KDE。
26. Kernel Density Estimation ★★★
KDE 的核心进化:
text
Histogram
硬切 bin
↓
边界敏感、bin size 难选
KDE
每个样本周围放一个平滑 kernel
↓
得到连续 density estimate27. Kernel 的定义 ★★★
Kernel 是非负、可积函数,并满足:
归一化
对称性
Gaussian Kernel
常用:
即:
28. KDE 公式 ★★★
给定 iid samples:
density estimate:
其中:
- :训练样本数量;
- :第 个样本;
- :需要估计 density 的位置;
- :kernel function;
- :bandwidth;
- :估计出来的 density。
28.1 的物理意义 ★★★
是 smoothing parameter。
小
每个 Gaussian bump 很窄:
大
每个 bump 很宽:
所以 Histogram 的 bin-size problem 并没有完全消失,而是变成:
不过 KDE 避免了硬边界。
29. KDE 课件例子 ★★
数据:
Gaussian kernel:
选择:
则:
含义:
在每个 sample 上放一个 Gaussian bump,然后把它们平均。
低:
意味着 x 更可能异常。
30. Statistical Methods 总结 ★★★
优点:
也就是 anomaly decision 有概率意义。
缺点:
- 高维数据困难;
- computational cost 取决于具体 statistical model;
- parametric 方法还依赖 distribution assumption。
这直接引出下一类:
能不能不建概率分布,只看数据之间的几何关系?
31. Proximity-Based Approaches ★★★
核心直觉:
分为:
- distance-based;
- density-based。
32. Distance-Based Detection:DB ★★★
定义:
- :distance threshold / radius;
- :fraction threshold;
- :整个数据集;
- :候选对象。
对象 如果满足(只统计 以外的对象):
则称:
课件第 36 页右侧伪代码写出了 ,但左侧定义式漏写了排除自身的条件;这里按算法语义补上。
32.1 直觉
先画一个半径:
的球:
计算里面的数据比例。
如果:
太小:
o 周围几乎没人。
所以异常。
32.2 算法逻辑 ★★
对每个 :
- 初始化 count;
- 遍历所有其他对象 ();
- 若:
则 count++; 4. 如果邻居数量已经达到允许阈值:
即 ,可以提前停止并确定它不是 outlier; 5. 否则最终标记为 outlier。
朴素实现需要大量 pairwise distance calculations。
33. Distance-Based 的问题:不同 cluster density ★★★
假设数据中:
- :非常密集;
- :比较稀疏。
一个点可能:
离整个数据集并不遥远,
所以 global distance-based method 不认为它异常。
但相对于自身周围 cluster:
它明显比邻居稀疏。
于是出现:
这就是 density-based method 的动机。
34. Distance → Density:核心演进 ★★★
Distance-based 问:
我的邻居够不够多?
Density-based 问:
我的局部密度和我的邻居相比是否显著更低?
关键变化:
于是需要 LOF。
35. -Distance ★★★
先定义第 近邻的距离。
对象 的 -distance:
是某个对象 与 的距离:
满足:
条件 1
至少 个对象 :
条件 2
最多 个对象 :
直观上就是:
36. -Distance Neighborhood ★★★
定义:
特别容易考:
为什么?
因为 boundary 上可能有 tied distances。
例如第 3、4、5 个点距离都等于:
那么它们全部属于:
这里仍然不把查询对象 自身算作邻居。课件第 38 页的 漏写了这个排除条件。
37. Reachability Distance ★★★
这是 LOF 最容易出错的公式之一。
课件定义:
箭头:
表示从 到 的 reachability distance。
37.1 两种情况
如果:
那么:
如果:
那么:
因此:
给很近的距离设置了一个局部距离“地板”。
37.2 为什么要 max?
课件的直觉例子:
若:
但是:
如果直接使用 1:
看起来两点极度密集。
但 的 k-neighborhood 实际尺度是 10。
所以把距离抬到:
避免单个特别近邻对 density estimate 影响过大。
37.3 Reachability distance 不对称 ★★★
一般:
因为:
和:
可以完全不同。
虽然:
但 reachability distance 不一定对称。
38. Local Reachability Density — LRD ★★★
课件定义:
也可以理解成:
因为:
所以:
即:
周围越密集,local reachability density 越大。
39. Local Outlier Factor — LOF ★★★
LOF 比较:
邻居的局部密度
和:
自己的局部密度。
公式:
等价写成:
这是最建议记忆的版本。
40. LOF 怎么理解?★★★
如果:
说明:
因此:
normal。
如果:
说明:
也就是说:
我的邻居都生活在高密度区域,但我自己所在位置明显更稀疏。
所以:
这就是 LOF 最核心的物理意义。
41. LOF 完整计算链 ★★★
强烈建议考试前直接背这一条:
具体:
Step 1
计算 pairwise distance:
Step 2
得到:
Step 3
构造:
Step 4
计算:
Step 5
计算:
Step 6
比较自己的 lrd 和邻居 lrd:
这条链条非常适合 calculation question。
42. LOF 的 bounds ★★
课件定义:
表示:
从 到其直接邻居的 reachability distance 最小/最大值。
再定义:
表示:
的邻居到它们自己的邻居的 reachability distance 范围。
LOF 有界:
意义:
LOF 并不是一个完全抽象的数字,其范围受到自己局部距离尺度和邻居局部距离尺度之比的约束。
关于第 39 页 LOF 最后一行
课件在把 LOF 继续展开成两个求和乘积时,排版中没有清楚显示相应的 归一化项。
从前面两个定义严格代数展开,应保留 neighborhood-size normalization。
期末最安全的是:
不要依赖课件最后那个排版模糊的展开式。
43. Statistical vs Proximity ★★★
| Statistical | Proximity | |
|---|---|---|
| Normality | probability distribution | geometric neighborhood |
| score | distance / density | |
| assumption | distribution assumption | proximity meaningful |
| local structure | 较弱 | LOF 可显式建模 |
| interpretability | 概率意义 | “远/稀疏”直观 |
| 高维问题 | 严重 | 同样严重 |
44. Reconstruction-Based Approaches ★★★
这是本章第三套重要思想。
核心观察:
正常样本通常共享结构,因此能够被一种更 concise / succinct 的 representation 表示。
过程:
如果:
则说明样本符合 learned regularity。
如果:
很大,则:
该对象无法被“正常模式”很好解释。
因此异常分数:
45. Researcher 例子 ★★★
会议:
Data Mining:
- KDD;
- ICDM。
Software Engineering:
- FSE;
- ICSE。
正常 researchers:
text
John KDD, ICDM
Tom KDD, ICDM
Bob KDD, ICDM
Van FSE, ICSE
Roy FSE, ICSECarl:
text
ICDM, FSE, ICSEsuccinct representation:
- John/Tom/Bob → Data Mining;
- Van/Roy → Software Engineering;
- Carl 被归到 Software Engineering。
为什么 Carl 异常?
从:
这个 compressed representation reconstruction:
但是实际:
无法 reconstruction ICDM。
因此:
所以异常。
解释:
Carl 可能是 multidisciplinary researcher。
46. Reconstruction-based 的三个核心问题 ★★★
任何 reconstruction-based detector 都要回答:
Q1
How to find succinct representation?
Q2
How to reconstruct?
Q3
How to measure reconstruction quality?
这三个问题可以视为 reconstruction 方法的统一框架。
47. Numerical Data:Matrix Factorization ★★★
假设:
- :samples;
- :attributes。
数据矩阵:
每行:
是一个 data sample。
47.1 Low-rank approximation
选择:
构造:
使:
这里:
可以理解成第 个 latent basis / succinct representation。
而:
表示第 个对象使用第 个 latent component 的权重。
48. Reconstruction 公式 ★★★
第 个 sample:
其中:
- :矩阵 第 元素;
- :矩阵 第 行;
- :low-rank latent dimensionality。
Reconstruction error
即:
最后:
返回 reconstruction errors 最大的 个 samples。
49. Matrix Factorization 算法 ★★★
完整流程:
text
Input:
X = {X1,...,Xn}
rank r
number of outliers k
1. Represent samples as matrix X
2. Find low-rank factorization
X ≈ FG
3. For every Xi:
Xhat_i = Σ_j F(i,j)G(j,:)
4. Compute
r_i = ||Xi-Xhat_i||²
5. Rank r_i descending
6. Return top-k samples这里真正的 anomaly assumption 是:
50. SVD ★★★
问题:
怎么找到“好的” ?
经典答案:
给定:
rank- approximation:
课件写成:
其中 。
50.1 各矩阵
对于:
rank :
的列是 orthonormal:
columns:
left singular vectors。
columns:
right singular vectors。
:
diagonal matrix。
其非负对角元素:
称 singular values。
51. SVD 与 Matrix Factorization 的对应 ★★★
直接设置:
那么:
51.1 为什么 SVD 合理?★★
课件嵌入教材指出一个重要性质:
在 rank- approximation 中,SVD 在 norm 和 Frobenius norm 意义下提供 optimal approximation。
因此它不是随便一个 factorization。
52. SVD 与 PCA 的关系 ★★
课件指出:
如果先 center:
即每个 column 的 sample mean 为零,那么:
的前 个 columns 对应数据的前 个 principal components。
因此:
这是 reconstruction 与 dimensionality reduction 的连接。
53. Matrix Factorization 的问题:Categorical Data ★★★
对于 categorical attributes:
例如:
- Income ∈
- Credit ∈
- Purchase ∈
传统办法是 one-hot / binary expansion。
每个 categorical value 创建一个 binary feature。
于是数据矩阵 columns 可能变得非常多。
Why it fails?
当 categorical attribute 有大量 possible values:
导致:
- matrix factorization computationally intensive;
- detection result hard to interpret。
例如最终得到 factorized matrices ,却难以直观看出:
为什么 Tom 是异常?
因此需要:
54. 课件额外提到:Robust PCA ★★
课件第 48 页所嵌教材还补充了一个方法。
可以写:
其中:
- :low-rank normal structure;
- :residual / anomaly component。
课件强调:
应该 sparse,并且大多数 row 为空。
直觉:
正常样本:
因为可被低秩结构很好 reconstruction。
异常:
因此:
55. Linear factorization → Autoencoder ★★
另一个 limitation:
Matrix factorization 是:
succinct representation 是原特征的 linear combination。
但真实 feature relationship 可能:
于是可以使用:
学习:
再使用:
检测 anomaly。
演进关系:
text
SVD / matrix factorization
↓
only linear representation
↓
cannot model nonlinear feature relations
↓
Autoencoder
↓
nonlinear latent representation56. Pattern-Based Compression ★★★
针对 categorical data,不再强制变成巨大的 binary matrix。
而是创建:
每个 code word 对应一个频繁的 categorical pattern。
例如:
含义:
- Income=High;
- Credit=High;
- Purchase=High。
57. Code Table ★★★
课件示例:
| Code word | Code | Usage | Code Length |
|---|---|---|---|
| 01 | 2 | 2 | |
| 10 | 2 | 2 | |
| 11 | 2 | 2 | |
| 001 | 1 | 3 | |
| 010 | 1 | 3 |
Usage:
该 code word 被整个 dataset 使用多少次。
频繁 pattern:
可以得到短 code。
罕见 pattern:
通常需要更长 code。
58. Encoding Length = Outlier Score ★★★
John:
只需要 code:
所以:
Amy:
Carl、Mary:
Tom:
因此:
Jim:
因此:
于是:
Tom 和 Jim 被判为异常。
为什么这个思路合理?
Normal:
符合数据中反复出现的 pattern。
所以容易被一个 frequent code word 简洁表示。
Outlier:
组合罕见。
必须用多个 pattern 或罕见 code 组合描述。
因此:
这是 reconstruction/compression 方法最深层的统一思想。
课件教材脚注还强调:
对最终 anomaly detection 来说,真正重要的是 code length,而不是具体 bit pattern 是 01 还是 10。
59. Matrix Factorization vs Pattern Compression ★★★
| Matrix Factorization | Pattern Compression | |
|---|---|---|
| 数据 | Numeric | Categorical |
| succinct representation | latent vectors | code words/patterns |
| reconstruct/encode | dictionary codes | |
| anomaly score | reconstruction error | encoding length |
| relationship | mainly linear | categorical patterns |
| interpretability | 较弱 | 较强 |
| categorical high-cardinality | column explosion | 更适合 |
60. Clustering-Based Outlier Detection ★★★
Clustering 主要找:
Outlier detection 则寻找:
虽然目的不同,但 clustering structure 可以帮助定义异常。
课件给出三类做法。
60.1 不属于任何 cluster
如果:
则:
是 outlier。
60.2 距离 nearest cluster 很远
设最近 cluster center:
如果:
非常大:
outlier。
60.3 属于 tiny / sparse cluster
如果:
非常小,或者 cluster density 很低:
cluster 中所有 objects 都可能视为 outliers。
这里非常重要:
小 cluster 本身可以代表 collective abnormal population。
61. Classification-Based Detection ★★★
为什么普通 binary classifier 有问题?
因为:
训练集 highly biased。
而且 outlier 类型可能:
- 很少;
- 未知;
- 未来出现新的 anomaly type。
于是使用:
One-Class 思想
只学习:
学习正常区域:
如果:
→ normal。
否则:
→ outlier。
所以本质:
62. Semi-Supervised Detection ★★
课件给出的算法思路:
Step 1
Find clusters。
Step 2
若一个 large cluster 包含:
- mostly labeled normal objects;
- 一些 unlabeled objects;
则将这些 unlabeled objects 视为 normal。
Step 3
使用该 cluster 建立:
Step 4
如果一个 small cluster:
- 已经包含一些 labeled outliers;
- 其余对象 unlabeled;
则可以将其他 unlabeled objects 也标为 outlier。
本质:
63. Mining Contextual Outliers ★★★
现在 anomaly definition 从:
变成:
课件给出两种主要方法。
64. 方法一:Explicit Context Partition ★★★
客户数据:
Contextual attributes:
- age group:
- under 25;
- 25–45;
- 45–65;
- over 65;
- postal code。
Behavioral attributes:
- number of transactions per year;
- annual total transaction amount。
基本方法
对于 customer :
- 根据 contextual attributes 找到同 context customers;
- 只在这个 subgroup 中比较;
- 使用前面任一 conventional detector。
即:
所以 contextual detection 很多时候其实可以转化成 conventional detection。
65. Context 与 Behavior 的 Mixture Model ★★
课件进一步提出:
- 对 contextual attributes 学 mixture model ;
- 对 behavioral attributes 学 mixture model 。
设:
是第 个 context component,
是第 个 behavioral component。
课件给出的 score:
各项意义:
表示对象属于 context cluster 的概率;
表示对象属于 behavior cluster 的概率;
表示 context 下行为模式 的条件关系。
直觉上,这个表达式检查:
对象的 observed behavior 与它可能属于的 contexts 是否匹配。
注意
课件称 为 outlier score,但没有在这一页明确说明“大意味着异常”还是“小意味着异常”。
因此考试时不要擅自加方向;重点记住 mixture-based context–behavior compatibility 的公式结构。
66. Context 太小怎么办?★★
如果 context 定义太精细:
例如:
text
Age=37
Postal code=某个非常具体区域可能只有极少样本。
就无法可靠估计 normal behavior。
课件提出:
generalize contexts。
例如假设:
- similar ages;
- same/similar area;
有相似 normal behavior。
这体现出 contextual detection 的 bias–variance tradeoff:
text
context 太宽
→ 不够个性化
context 太窄
→ 样本不足67. 方法二:直接建模 Behavior Given Context ★★★
为什么需要第二种方法?
因为有些 context:
例如:
用户购买的商品是否与其“最近兴趣”不相关?
“最近兴趣”很难划分成固定 context group。
Solution
训练一个 model:
其中:
- :contextual attributes;
- :behavioral attributes;
- :在 context 下 expected behavior。
然后计算:
如果很大:
contextual outlier。
所以:
课件给出的模型例子:
- Markov models;
- finite state automaton。
68. 两种 Contextual Detection 比较 ★★★
| 方法 | 思想 | 适用条件 |
|---|---|---|
| Context partition | 先分 context,再做普通 anomaly detection | context 可清晰定义 |
| Conditional behavior model | ,再看 residual | context 连续、复杂或难离散 |
演进:
text
Explicit context group
↓
problem: contexts may be hard to define / too small
↓
Learn expected behavior conditioned on context69. Collective Outlier Detection ★★★
Collective anomaly 的困难是:
因此需要首先发现 structure。
不同数据类型的 structure
Temporal data
看:
- time-series segment;
- subsequence。
Spatial data
看:
- local spatial regions。
Graph/network data
看:
- subgraphs。
课件特别强调:
structures 通常并没有预先显式给出,而必须在 anomaly detection 过程中同时发现。
所以 collective anomaly:
70. Graph Collective Outlier ★★★
Input:
unlabeled social network graph。
把:
作为 structure unit。
提取两个 features。
70.1 Subgraph size
即:
S 中 vertices 数。
70.2 Frequency
定义:
网络中有多少不同 subgraphs 与 isomorphic。
71. 哪些 subgraph 异常?★★★
课件给出两类:
Small but extremely rare
且:
异常原因:
一个本应容易重复出现的小模式几乎没有出现。
Large but surprisingly frequent
同时:
因为:
一个复杂的大结构居然反复出现很多次,也可能揭示异常组织行为。
所以 anomaly 不是简单的:
它取决于:
之间的关系。
72. 高维 Outlier Detection:为什么传统方法坏掉?★★★
这是本章最后一条“进化线”。
课件提出四个主要挑战:
- interpretation;
- data sparsity;
- adaptive to subspaces;
- scalability with dimensionality。
73. Curse of Dimensionality 对距离的影响 ★★★
随着:
空间越来越 sparse。
更严重的是:
objects 之间的 distance 会越来越受到 noise dimensions 支配。
因此:
逐渐不能真实反映有意义的 similarity。
这直接打击:
- kNN;
- DB;
- LOF;
- clustering。
于是出现三个主要解决路线:
74. HilOut ★★★
课件把它描述为:
在高维空间中扩展 conventional proximity detector。
主要思想:
不依赖固定 absolute threshold,而根据 distance-derived score 对对象进行 ranking。
74.1 算法
找到 的 个最近邻:
其中:
是 application-dependent parameter。
定义 weight:
然后:
- 所有对象按:
descending 排序;
- 返回 top- objects。
其中:
是用户指定异常数量。
74.2 直觉
如果对象非常 isolated:
都大。
因此:
所以 ranking 靠前。
74.3 课件示例 ★★★
四个点:
令:
课件给出:
排序:
若:
则:
为 outlier。
75. Finding Outliers in Subspaces ★★★
高维异常往往不是:
在所有 dimensions 同时异常。
而可能只在很小的一部分 dimensions 异常。
例如 Alice:
- average transaction amount 极高;
- purchase frequency 极低;
但其他 100 个 features 可能完全普通。
在 full-dimensional space:
信号被 noise dimensions 淹没。
但二维:
中异常非常清楚。
因此:
还能回答:
为什么 Alice 异常?
所以 subspace 方法同时改善:
- detection;
- interpretation。
76. Grid-Based Subspace Detection ★★★
考虑数据在多个 subspaces 上的 projection。
如果某个区域的 density:
则区域中的 points 可能是 outliers。
77. Equal-Depth Partition ★★★
每个 dimension 被划分成:
个 equal-depth ranges。
每个 range 包含相同比例:
的数据。
为什么不用 equal-width?★★
不同 dimensions 的数据分布:
locality 可以完全不同。
如果 equal-width:
text
大量数据可能挤在一个 bin
其余 bin 几乎为空不利于公平比较 density。
Equal-depth 确保单维每个 interval 的 probability mass 近似:
78. Subspace Sparsity Coefficient 推导 ★★★
考虑一个 -dimensional cube。
它由:
个 dimensions 上各选一个 equal-depth range
构成。
单个维度落入指定 range 的概率:
如果 dimensions independently distributed,那么同时落入 个指定 ranges:
78.1 Expected Count
数据集有:
objects。
定义:
为落入 cube 的对象数。
在 independence 假设下:
于是:
78.2 Standard Deviation
Binomial variance:
代入:
得到:
所以:
79. Sparsity Coefficient ★★★
若实际:
个 objects 位于 cube ,定义:
这就是一个:
比较:
和:
80. 如何解释 ?★★★
如果:
说明:
即:
observed number smaller than expected。
而:
意味着:
区域越来越 sparse。
因此:
若进一步假设:
就可以根据 normal distribution 计算:
anomaly significance level。
81. Grid-Based 方法的完整逻辑 ★★★
text
High dimensional space
↓
full-space proximity unreliable
↓
enumerate/project onto subspaces
↓
equal-depth discretization
↓
each k-D cube expected mass = f^k
↓
compare observed n(C) with expected nf^k
↓
compute z-score S(C)
↓
very negative S(C)
↓
sparse subspace region
↓
outlier这个 derivation 很适合期末大题。
82. Outlier Detection Ensemble ★★★
Subspace search 有一个问题:
哪个 subspace 才是正确的?
与其赌一个,不如:
83. Ensemble 基本算法 ★★★
输入:
建立:
个 base detectors。
第 个 detector 使用 random subspace:
维度:
然后使用现成 detector,例如:
得到每个对象的 anomaly scores:
其中:
最后 aggregate:
将:
最大的对象标记为 outliers。
84. Random Subspace 的两种构造 ★★★
84.1 Feature Bagging
从 original features:
随机选择:
个。
也就是:
直接选择 的若干真实 columns。
84.2 Rotated Bagging
不是选 original columns。
首先随机生成:
个 mutually orthonormal vectors。
这些 vectors span 一个 random subspace。
然后:
投影到这个空间。
区别:
85. Aggregation ★★★
课件给两种。
Mean aggregation
用数学式表达:
其中:
表示 normalized base score。
特点:
多个 detector 的 evidence 平均。
Max aggregation
对于第 个对象:
特点:
只要某个 subspace 强烈认为它异常,就保留该异常信号。
86. 为什么 aggregation 前必须 normalize?★★★
不同 detectors 的 score scale 可能是:
另一个:
如果直接平均:
后者完全主导 ensemble。
因此 aggregation 之前必须做 normalization,例如:
- min-max;
- z-score。
即:
而不是反过来。
87. High-Dimensionality → Deep Learning ★★★
Subspace sampling 仍然依赖手工/随机 subspace。
更自然的问题:
能否让模型自己学习一个 meaningful low-dimensional representation?
于是引入 deep learning。
课件列出:
- autoencoder;
- feed-forward neural network;
- CNN;
- RNN;
- GNN。
它们可以学习:
88. Deep Representation 为什么可能更好?★★★
它有两个作用。
88.1 Dimensionality reduction
缓解:
- sparsity;
- distance deterioration;
- computational burden。
88.2 Nonlinear semantic representation
不同于:
deep learning 可以捕捉:
因此一些在 raw feature space 不明显的 outliers:
在 learned embedding space 里可能更容易分离。
89. DL Strategy 1:Deep Learning as Pre-processing ★★★
流程:
例如:
也可以 embedding 后再用 reconstruction-based 方法。
优点
representation learning 与 detector 可以任意组合。
缺点 ★★★
两阶段独立训练:
于是 encoder 可能学习到:
对一般 reconstruction 很好的 feature,
但这些 feature:
不一定最适合区分 outliers。
所以:
这就引出最后一步演进。
90. DL Strategy 2:Joint Embedding + Outlier Detection ★★★
核心目标:
学到专门为了 spotting outliers 服务的 embedding。
即同时优化:
和:
如果成功:
detection accuracy 通常更高。
最终 evolution:
text
Raw high-dimensional data
↓
traditional detector fails
↓
DL dimensionality reduction
↓
two-stage embedding + detector
↓
problem: embedding not anomaly-aware
↓
joint embedding + anomaly detection91. OC-NN ★★
课件例子 1:
传统 one-class 方法可能用:
作为 hyperplane output。
OC-NN 将它替换成:
feed-forward neural network。
该网络:
- output layer → outlier-ness score;
- last hidden layer → embedding。
因此:
其中:
不再只是通用 embedding,而是直接为:
的 anomaly objective 服务。
92. DevNet ★★
课件例子 2:
使用深度模型产生 outlier score:
其中:
- :input;
- :deep model parameters;
- :outlier-ness score。
课件进一步说明:
在 z-normalization 中,不再直接使用 raw feature ,而使用 outlier score 。
因此可以把其标准化思想写成:
其中:
- :normal tuples 的 outlier-score sample mean;
- :normal tuples 的 outlier-score sample standard deviation。
即模型学习:
一个 abnormality score space,
再衡量候选对象偏离 normal score distribution 的程度。
93. 全章真正的方法论演进 ★★★
下面这一张建议作为期末前最后复习用。
| 阶段 | 核心思想 | Why previous method fails? | How new method fixes it? |
|---|---|---|---|
| Gaussian | low probability | 单一分布过强 | Mixture model |
| Mixture | 多个 parametric modes | 仍需指定分布族 | Histogram/KDE |
| Histogram | empirical density | bin size / hard boundary | KDE smoothing |
| Global distance | isolated point | 不同区域 density 不同 | LOF |
| LOF | relative local density | 高维距离退化 | subspace / representation |
| Matrix factorization | reconstruction error | 只适合线性结构 | Autoencoder |
| Numeric factorization | low-rank | categorical one-hot 爆炸 | pattern compression |
| Global detector | 全体 comparison | context 改变 normality | contextual detector |
| Point anomaly | individual score | group 本身可能异常 | collective detector |
| Full-dimensional | all features | noise dimensions dominate | subspace |
| One subspace | specific projection | 不知哪个 subspace 有效 | ensemble |
| Random/manual subspace | projection | representation 不一定语义化 | deep embedding |
| DL preprocessing | learn embedding separately | embedding 与 anomaly objective 不一致 | joint training |
94. 四大异常检测思想的统一视角 ★★★
虽然算法很多,但其实都在定义:
Statistical
Normal means:
Anomaly:
Proximity
Normal means:
Anomaly:
Reconstruction
Normal means:
遵循 common structure,所以:
Anomaly:
Classification
Normal means:
Anomaly:
所以整个 Chapter 11 可以浓缩为:
95. Global / Contextual / Collective 的统一数学理解 ★★★
可以进一步统一成:
Global
Contextual
Collective
区别其实只有:
- whole population;
- conditional population;
- structural population。
96. 所有核心 anomaly score 一张表 ★★★
| 方法 | Score / Criterion | 越异常意味着 |
|---|---|---|
| Gaussian | 越小 | |
| Grubbs | $G=\max_i | x_i-\bar x |
| Mahalanobis | 越大 | |
| 多元 Gaussian | 越大 | |
| Histogram | reciprocal bin rarity | 越大 |
| KDE | 越小 | |
| DB | neighborhood fraction | 越小 |
| LOF | neighbor density / own density | |
| Matrix factorization | 越大 | |
| Pattern compression | encoding length | 越长 |
| Cluster-center | distance to nearest cluster | 越大 |
| Tiny cluster | size/density | 越小 |
| Context model | behavior deviation from expected | 越大 |
| HilOut | 越大 | |
| Grid subspace | 越负 | |
| Ensemble | aggregated score | 越大 |
97. 公式总表:期末必须会写 ★★★
Gaussian MLE
IQR
Grubbs
Mahalanobis
多元 Gaussian 的 阈值
这里的 是平方 Mahalanobis 距离在多元正态假设下的参考分布;不要把 Pearson 计数型 公式代入连续特征值。
Mixture
KDE
DB
-neighborhood
Reachability distance
LRD
LOF
Matrix reconstruction
SVD
Context mixture score
HilOut
Subspace probability
98. 最容易考错的 15 个点 ★★★
Outlier 不等于 noise。
Noise 是随机误差;outlier 暗示可能来自不同机制。Global outlier 是 contextual framework 的特殊情况。
Contextual attributes 为空即可。Collective outlier 中每个 individual point 可以完全正常。
Contextual attributes 决定“跟谁比”;behavioral attributes 决定“比什么”。
Unsupervised anomaly detection 隐含假设 normal objects somewhat clustered。
Gaussian MLE variance 使用:
而不是:
Mahalanobis distance 必须包含:
KDE 的:
是 bandwidth / smoothing parameter。
可能包含超过 个对象,因为有 tied distance。
Reachability distance generally asymmetric。
LOF:
Reconstruction error 越高,outlierness 越高。
Pattern compression 是 encoding length 越长越异常。
Grid sparsity coefficient:
越负,区域越 sparse。
- Ensemble aggregation 前必须 normalize base detector scores。
99. 如果期末出“比较方法”题,可以这样答 ★★★
Statistical vs Proximity vs Reconstruction
| 维度 | Statistical | Proximity | Reconstruction |
|---|---|---|---|
| 核心假设 | 正常数据有概率结构 | 正常数据彼此接近 | 正常数据共享可压缩结构 |
| anomaly 定义 | low probability | isolated / low density | high reconstruction error |
| 是否显式生成模型 | 是 | 否 | 学 latent structure |
| 局部异常 | 不自然 | LOF 很适合 | 取决于模型 |
| nonlinear structure | 模型相关 | metric 相关 | AE 可处理 |
| 高维困难 | 是 | 非常明显 | low-rank/embedding 可缓解 |
100. 本章最后应该形成的“大图景” ★★★
这章并不是 20 个彼此独立的 anomaly algorithms。
真正的发展路线是:
最开始回答:
正常 = 高 probability。
然后发现 distribution assumption 太强:
正常 = 周围有很多类似对象。
再发现 global neighborhood 不能处理不同密度:
正常 = 与自己的 local neighborhood density 相似。
再换一个角度:
正常 = 能够被 common latent structure 很好 reconstruction。
再进一步:
正常并不是全局不变的,它可能取决于 context。
然后:
异常也不一定是单个对象,它可能只存在于 group structure 中。
最后高维情况下发现:
raw space 中的 distance、density、interpretation 全都会退化。
于是:
因此,全章最值得记住的主线其实是:
这正是 Chapter 11 的完整“进化树”。
最后复习时,优先确保自己能不看课件完整解释这六条链:
如果这六条链连同上面的公式都能够自行推导和解释,这 72 页课件的核心结构基本就完整掌握了。
高密度复习:异常检测
1. 先按“异常来自哪里”分类
| 类型 | 核心问题 | 典型方法 |
|---|---|---|
| Global | 对全体数据而言是否罕见? | Gaussian、Mahalanobis、Mixture、Histogram、KDE、Grubbs |
| Proximity / Density | 附近邻居是否太少,或局部密度是否显著更低? | 、-distance、LOF |
| Reconstruction / Compression | 能否被低维结构或短编码重构? | PCA/SVD、matrix factorization、pattern compression/MDL |
| Classification / Contextual | 在给定类别、时间或上下文下是否偏离预期? | classification-based、contextual/behavior deviation |
| Collective / Subspace | 单点不一定异常,但一组对象或某个子空间是否异常? | collective、subspace/grid、ensemble |
2. 分布与距离方法
单变量 Gaussian
低密度意味着更异常:
MLE 与检验中的样本标准差不要混淆:
Grubbs 是在独立、近似正态且一次检验单个最极端候选的前提下,比较
与含 的 t 临界值;不能把它简化成无条件的 。
多变量 Gaussian:Mahalanobis
若总体近似多元正态且协方差估计适用,则 ,用相应分位点判定;协方差奇异、强污染或小样本时考虑稳健估计/有限样本修正。这里的平方距离是把多变量对象变成标量,不等于可以直接套一元 Grubbs。
Mixture 与 KDE
多峰正常数据可用 mixture:
其中输出是连续变量的 density,不是点概率;参数通常用 EM 估计。非参数 KDE 为
带宽 控制平滑程度:过小易过拟合,过大易掩盖局部异常。
3. 邻域与局部密度链
关键定义(查询点不计作自己的邻居):
边界距离相等时 可以大于 。然后
通常 表示与邻居密度相近,显著大于 1 才支持局部异常;注意邻居集合的自排除和 tied distance。
4. 结构、标签与关系型异常
- Reconstruction:拟合 后用 (或适当残差)排序;PCA/SVD 和 matrix factorization 都是在找低维/低秩结构,重构误差大才异常。
- Pattern compression:用最短描述长度(MDL)或编码代价衡量模式;无法被已知模式简洁解释的组合可能是异常。
- Classification-based:有标签时学习正常/异常边界;要检查类别不平衡、训练污染和泛化,不能把分类置信度自动等同于异常分数。
- Contextual:对象在全局不罕见,但在时间、地点、用户或条件上下文中偏离其 expected behavior;需先明确 reference population。
- Collective:一组对象的联合模式异常,单个成员可能都不显著;应以 sequence、子集或结构整体评分。
- High-dimensional:距离和密度会受维数灾难影响,可转到 subspace/grid,并用不同子空间或模型 ensemble 聚合结果。
5. 考试前公式与条件清单
- 先问 score 是 density、distance、density-ratio、reconstruction error 还是 compression cost;“越大越异常”并非所有方法都成立。
- 任何 结论都要写清参考模型与自由度;连续多元正态通常指 ,Pearson 则要求类别/箱计数和正的期望计数。
- 写邻域公式时使用 ;-distance 的 ties 会让邻居数超过 。
- 写 Grubbs 时用样本 、,并注明独立、正态、单个最极端候选等前提。
- 检查协方差可逆性、缺失值、尺度/单位、训练污染、带宽或 的选择,以及是否把同一批数据用于估计和检验。
6. 已审计课件的勘误边界
以下是与本笔记修订相关、但不能误当成笔记错误的原始 PDF 问题或省略:
- 第 24 页给出的 Gaussian 方差数值与其列出的数据和 MLE 分母 不一致;按数据直接计算约为 ,不是 。
- 第 25 页把 说成约覆盖 99.3%,只在正态分布下近似成立;一般分布它只是 Tukey 经验规则。
- 第 26 页省略 Grubbs 的前提并把 简写成单个 ;应使用样本 和 。
- 第 27 页建议对 Mahalanobis 距离套 Grubbs 并非标准多元检验;连续多元正态应优先比较 与 (必要时修正)。
- 第 28 页把 Pearson 计数型 直接解释为连续维度值/均值的多元异常分数是不当的;不能靠把求和上限 改名为维度数来修复。
- 第 29 页 mixture 右端是 density;连续变量的单点 probability 为 0,PDF 中的 只是课件记号上的不严谨。
- 第 36、38 页定义式分别漏写排除自身的条件,虽然第 36 页伪代码写有 ;本复习页统一使用 。第 39 页 LOF 展开式还需警惕排版遗漏的 归一化项。