异常检测-线性模型-学习笔记-3

异常检测的学习笔记并非原创,而是搜索各位大佬的帖子整理而得。如有冒犯,请联系我。


真实数据集中不同维度的数据通常具有⾼度的相关性,这是因为不同的属性往往是由相同的基础过程以密切相关的⽅式产⽣的。在古典统计学中,这被称为——回归建模,⼀种参数化的相关性分析。

需要明确的是,这⾥有两个重要的假设:

1. 近似线性相关假设。线性相关假设是使⽤两种模型进⾏异常检测的重要理论基础。

2. ⼦空间假设。⼦空间假设认为数据是镶嵌在低维⼦空间中的,线性⽅法的⽬的是找到合适的低维⼦空间使得异常点(o)在其中区别于正常点(n)。

基于这两点假设,在异常检测的第⼀阶段,为了确定特定的模型是否适合特定的数据集,对数据进⾏探索性和可视化分析是⾮常关键的。

1. 线性回归

在线性回归中,我们假设不同维度的变量具有⼀定的相关性,并可以通过⼀个相关系数矩阵进⾏衡量。因此对于特定的观测值,可以通过线性⽅程组来建模。在实际应⽤中,观测值的数量往往远⼤于数据的维度,导致线性⽅程组是⼀个超定⽅程,不能直接求解。因此需要通过优化的⽅法,最小化模型预测值与真实数据点的误差。

⼴义的回归建模只是⼀种⼯具,这种⼯具既可以⽤来进⾏数据降噪也可以进⾏异常点检测。

1.1 基于⾃变量与因变量的线性回归

1.1.1 最小⼆乘法

⼀元线性回归:Y=\sum_{i=1}^{d} a_{i} \cdot X_{i}+a_{d+1}

变量Y为因变量,也就是我们要预测的值; X_{1} , X_{2} , X_{3}  \ldots  X_{d} 为⼀系列因变量,也就是输⼊值。系数a_{1},a_{2},\ldots ,a_{d+1}
为要学习的参数。

定义⽬标函数为:L(A)=\frac{1}{2}\|Y-U \cdot A\|^{2}

⽬标函数是关于A的凸函数,其对A求偏导为:\frac{\partial L(A)}{\partial A}=\frac{1}{2} \frac{\partial\|Y-U \cdot A\|^{2}}{\partial A}=-U^{T}(Y-U \cdot A)

利用FOC条件,A=\left(U^{T} \cdot U\right)^{-1} \cdot\left(U^{T} \cdot Y\right)。这种求解线性回归参数的⽅法也叫最小⼆乘法。

最小⼆乘法要求矩阵U^{T} \cdot U可逆,即U^{T} \cdot U是满秩的。当U^{T} \cdot U不可逆时可以通过两种⽅法进⾏参数估计,⼀种先使⽤主成分分析等⽅法来预处理数据,消除不同特征之间的相关性,然后再使⽤最小⼆乘法。第⼆种⽅法是使⽤梯度下降法。

1.1.2 梯度下降法

监督学习⼀般靠数据驱动。我们通常收集⼀系列的真实数据,例如多栋房屋的真实售出价格和它们对应的⾯积和房龄。在机器学习术语⾥,该数据集被称为训练数据集(training data set)或训练集(training set),通常还应该有⼀个⽤于防⽌过拟合的交叉验证集和⼀个⽤于评估模型性能的测试集(test set)。⼀栋房屋被称为⼀个样本(sample),其真实售出价格叫作标签(label),⽤来预测标签的两个因素叫作特征(feature)。

如果把线性回归看作是⼀个优化问题,那么我们要优化的⽬标就是损失函数。损失函数是⽤来衡量样本误差的函数,我们的优化⽬标是要求得在误差最小的情况下模型参数的值。

在求数值解的优化算法中,小批量随机梯度下降(mini-batch stochastic gradient descent)被⼴泛使⽤。在每次迭代中,先随机均匀采样⼀个由固定数⽬训练数据样本所组成的小批量(mini-batch),然后求小批量中数据样本的平均损失和有关模型参数的导数(梯度),最后⽤此结果与预先设定的学习率的乘积作为模型参数在本次迭代的减小量。

(\mathbf{w}, b) \leftarrow(\mathbf{w}, b)-\frac{\eta}{|\mathcal{B}|} \sum_{i \in \mathcal{B}} \partial_{(\mathbf{w}, b)} l^{(i)}(\mathbf{w}, b)

学习率(\eta
): 代表在每次优化中,能够学习的步⻓的⼤小;批量⼤小(\mathcal{B}): 是小批量计算中的批量⼤小batch size

1.2 基于异常检测的线性回归

前⼀节讨论了这样⼀种情况:即⼀个特定的变量被认为是特殊的,最优平⾯是通过最小化该特殊变量的均⽅误差而确定的。而我们通常所说的异常检测中并不会对任何变量给与特殊对待,异常值的定义是基于基础数据点的整体分布,因此需要采⽤⼀种更⼀般的回归建模:即以相似的⽅式对待所有变量,通过最小化数据对该平⾯的投影误差确定最佳回归平⾯。这样的⼀个问题可以通过主成分分析⽅法得到有效解决。

以 范数作为⽬标函数:L=\|U \cdot A\|_{2}

2. 主成分分析(PCA)

上⼀节的最小⼆乘法试图找到⼀个与数据具有最佳匹配(d-1)维的超平⾯,主成分分析⽅法可⽤于解决这⼀问题的⼴义版本。具体来说,它可以找到任意k(k<d)最优表⽰超平⾯维。从而使平⽅投影误差最小化。

如何通俗易懂地讲解什么是 PCA 主成分分析?

值得注意的是,对异常得分的⼤部分贡献是由特征值较小的主成分的偏差提供的,这⼀点上⽂中有提及过。主成分分析⽐因变量回归能更稳定地处理少数异常值的存在。这是因为主成分分析是根据最优超平⾯来计算误差的,而不是⼀个特定的变量。当数据中加⼊更多的离群点时,最优超平⾯的变化通常不会⼤到影响离群点的选择。因此,这种⽅法更有可能选择正确的异常值,因为回归模型⼀开始就更准确。

归一化处理:当不同维度的尺度差别较⼤时,使⽤ 有时并不能得到直观有效的结果。例如,考虑⼀个包含年龄和⼯资等属性的⼈口统计数据集。⼯资属性的范围可能是⼏万,而年龄属性⼏乎总是小于100,使⽤主成分分析会导致主成分被⾼⽅差属性所控制。对于⼀个只包含年龄和⼯资的⼆维数据集,最⼤的特征向量⼏乎与⼯资轴平⾏,这会降低异常点检测过程的有效性。因此,⼀个⾃然的解决⽅案是对数据进⾏均值为0⽅差为1的标准化处理。这隐含地导致在主成分分析中使⽤相关矩阵而不是协⽅差矩阵。

3. 回归分析的局限性

为了使回归分析技术有效,数据需要⾼度相关,并沿着低维⼦空间对⻬。当数据不相关,但在某些区域⾼度聚集时,这种⽅法可能不会有效。

另⼀个相关的问题是,数据中的相关性在本质上可能不是全局性的。

因此,为了创建更⼀般的局部⼦空间模型,有时将线性模型与邻近模型(在后续章节中讨论)结合起来是有⽤的。这将是⾼维和⼦空间异常检测的主题,将在后续章节详细讨论。

4. 总结

真实数据中,数据不同属性之间往往具有显著的相关性。在这种情况下,线性建模可以提供⼀种有效的⼯具来从底层数据中移除异常值或者进⾏异常检测。对于其他基于因变量回归的应⽤,线性建模是⼀种⼯具,去除异常值对于提⾼此类应⽤的性能是⾮常重要的。在⼤多数情况下,主成分分析提供了去除异常值和进⾏异常检测最有效的⽅法,因为它对存在少数异常值的数据更有鲁棒性。

5.练习

数据来源:https://download.csdn.net/download/weixin_39940512/14008876

用PCA分析异常:

1. 思路:https://blog.csdn.net/fu_jian_ping/article/details/112491976

2. 代码实现:https://zhuanlan.zhihu.com/p/48110105

3. 拓展:https://www.dazhuanlan.com/2019/12/12/5df17ef1118d2/

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 151,511评论 1 330
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 64,495评论 1 273
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 101,595评论 0 225
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 42,558评论 0 190
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 50,715评论 3 270
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 39,672评论 1 192
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,112评论 2 291
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 29,837评论 0 181
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,417评论 0 228
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 29,928评论 2 232
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,316评论 1 242
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 27,773评论 2 234
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,253评论 3 220
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,827评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,440评论 0 180
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 34,523评论 2 249
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 34,583评论 2 249

推荐阅读更多精彩内容