目录
1. 高斯分布(Gaussian distribution)
学习完吴恩达老师机器学习课程的异常检测,简单的做个笔记。文中部分描述属于个人消化后的理解,仅供参考。
如果这篇文章对你有一点小小的帮助,请给个关注喔~我会非常开心的~
0. 前言
易知,采集的数据或者数据本身,有可能出现异常,这些数据大部分会集中在一起,而有少部分会分散在周围。
一般地,采集的数据服从某种概率分布模型,例如服从高斯分布(Gaussian distribution),数据大概率的落在正常的区间范围内,而有小概率出现异常落在区间范围外。我们采用高斯分布作为数据的概率模型。
异常检测,则是对新的测试样本进行检测,判断这个样本是否是异常的。如果用概率模型 表示,则 表示数据有异常, 为一个很小的常数。
1. 高斯分布(Gaussian distribution)
变量 服从高斯分布可表示为 ,其中 为均值, 为方差,概率分布有如下定义:
2. 参数估计
通过已知的样本数据集,估计这些数据分布中的未知参数,就是参数估计。
例如,已知一样本数据集,假设数据服从高斯分布,则需要估计的参数就是 和 ,根据统计的思想,可采用下式:
此外,还有极大似然估计、最小二乘法等参数估计方法。
3. 异常检测算法(原始模型)
假设特征间相互独立,且均服从高斯分布,。算法步骤如下:
- 提取特征
- 计算每个特征的均值 和方差
- 建立高斯模型
- 对于新样本 ,若 ,则是异常的
4. 高斯分布异常阈值的选择
对于高斯分布异常阈值 的选择,如果我们已知数据集中,一部分数据标记为异常,一部分数据标记为正常,可通过如下步骤选择阈值:
- 设定一个 ,并划分训练集和测试集
- 通过训练集建立概率模型 ,对测试集进行测试(异常点是否检测为异常点,正常点是否检测为正常点)
- 计算评估参数 ,不断尝试 ,选择使得 最大的
注:这与监督学习中,数据分类相似,但是并不相同。异常检测中,异常点不是人为造成的,是属于异常事件,而在监督学习中,数据标记为异常是人为刻意的,因为搭建的模型需对其进行分类。
异常检测 | 监督学习 |
---|---|
异常样本非常少 | 异常样本与正常样本数量相当 |
未来出现的异常可能不相同 | 未来出现的异常比较近似 |
5. 多变量高斯分布(多元模型)
对于多个特征,向量化计算均值 ,协方差矩阵 :
其中, 为 的向量, 为 的矩阵,概率模型如下表示:
6. 原始模型和多元模型的区别
同样对于多维的数据向量,有两种模型,原始模型和多元模型。
我们已知,在原始模型中,我们假设特征之间是相互独立的,若在多元模型中,协方差矩阵 ,则特征间也是相互独立的,多元模型与原始模型相同。
所以多元模型中,特征间可以不是相互独立的,原始模型特征间相互独立是多元高斯分布的特殊情况。
原始模型 | 多元模型 |
---|---|
特征间相互独立 | 特征间不相互独立 |
计算成本低 | 计算成本高 |
很大的计算量也可接受 | 很大计算成本高 且必须满足 (不然协方差矩阵不可逆) |
如果这篇文章对你有一点小小的帮助,请给个关注喔~我会非常开心的~