当前位置:谷歌学术镜像_Google学术搜索 » 学术资讯 » 学术界 » 文章详细

对LN-SNE(一种数据降维技术)论文阅读

发布时间:2021-04-14

LN-SNE(一种数据降维技术)论文阅读,解读论文全称:LN-SNE:Log-Normal Distribute Stochastic Neighbor Embedding for Anomaly Detection(TKDE 2020)。

一、背景

获取标签成本巨大,因此本文关注的是无监督异常检测。 

许多领域(如欺诈和入侵检测)的数据的特点是:数据量大、维度大。

分析这些数据的复杂性与其数据大小和维度成正比。 

在数据包含大量的特征的情况下,使用可视化技术进行数据分析。 

区分正常和异常数据与数据维度成反比。 

降维方法可以缓解上述的问题,但现有的降维方法存在如下问题: 当出现新的未知数据时,现有的方法大部分需要重新计算映射的参数。 

希望寻找一个能提高异常检测性能的映射,但在无监督的情况下,没有标签来区分映射的好坏。 

数据映射的维度是未知的,维度的不同对异常检测的性能影响很大。

二、LN-SNE贡献

LN-SNE的引用在谷歌学术中被称为是一种数据降维技术——LN-SNE,它是第一个具有无监督fine-tuning的降维技术。并使用该技术进行异常检测。

LN-SNE有如下的优点: 使用对数正态分布模拟隐空间的条件概率,保证异常样本远离正常样本,且密度低于正常样本的密度。 对降维的维度不敏感 计算复杂度与数据维呈线性关系。

三、LN-SNE方法详解

LN-SNE分为两步: 使用RBMs预训练自动编码器 使用fine-tuning得到适当的映射 LN-SNE训练一个RBM作为一个参数映射 ϕ \phi ϕ,将数据 X X X从 R d R^d R d 映射到 R d ′ R^{d^\prime} R d ′ ,其中 d ′ < < d d^\prime<<d d ′ <<d。目标就是找到一个正常数据的紧凑表示,并保持异常与正常的不同。

第一步:初始化 使用RBM预训练,得到如下的参数映射:

ϕ ( x i ; W ) = b + W T x i \phi\left(x_{i} ; W\right)=b+W^{T} x_{i} ϕ(x i ;W)=b+W T x i。

第二步:无监督fine-tuning 这一步骤是为了保证正常样本和异常样本的分离。

 X n d X_{nd} X nd 和 X a d X_{ad} X ad 分别表示 正常和异常数据的未知子集,则 ϕ ( X n d ; W ) \phi\left(X_{n d} ; W\right) ϕ(X nd ;W)和 ϕ ( X a d ; W ) \phi\left(X_{a d} ; W\right) ϕ(X ad ;W)为它们的降维后的表示。假设存在M个 R d R^d R d 和 R d ′ R^{d^\prime} R d ′ 空间中数据差异的度量 { D m : m = 1.. M } \left\{\mathcal{D}_{m}: m=1 . . M\right\} {D m :m=1..M},则有如下的目标: min ⁡ W ∑ m = 1.. M ∑ x i ∈ X n d x j ∈ X a d ∣ D m ( x i , x j ) − D m ( ϕ ( x i ; W ) , ϕ ( x j ; W ) ) ∣ \min _{W} \sum_{m=1 . . M}\sum_{x_{i} \in X_{n d} \atop x_{j} \in X_{a d}}\left|\mathcal{D}_{m}\left(x_{i}, x_{j}\right)-\mathcal{D}_{m}\left(\phi\left(x_{i} ; W\right), \phi\left(x_{j} ; W\right)\right)\right| W min m=1..M ∑ x j ∈X ad x i ∈X nd ∑ ∣D m (x i ,x j )−D m (ϕ(x i ;W),ϕ(x j ;W))∣ 但是直接优化上述目标是比较困难的,因此采用如下的方法达到上述目标。 数据空间中的两个样本相似性度量: 将欧式距离转换成使用高斯分布表示的条件概率,如下所示。 p i j = exp ⁡ ( − s ∥ x i − x j ∥ ) ∑ k ≠ l exp ⁡ ( − s ∥ x k − x l ∥ ) p_{i j}=\frac{\exp \left(-s\left\|x_{i}-x_{j}\right\|\right)}{\sum_{k \neq l} \exp \left(-s\left\|x_{k}-x_{l}\right\|\right)} p ij = ∑ k  =l exp(−s∥x k −x l ∥) exp(−s∥x i −x j ∥) 表示样本 x j x_j x j 作为样本 x i x_i x i 邻居的概率。其中 s s s表示以 x i x_i x i 为中心的方差。 对于 s s s的取值,Pt-SNE为每个样本 x i x_i x i 单独计算。但LN-SNE使用固定的取值。计算 s s s取值的过程如下: 首先通过下式,找到一个样本 x i x_i x i i = argmax ⁡ i 1 n ∑ j ∥ x i − x j ∥ i=\operatorname{argmax}_{i}\frac{1}{n}\sum_{j}\left\|x_{i}-x_{j}\right\| i=argmax i n 1 j ∑ ∥x i −x j ∥ 然后计算样本 x i x_i x i 的混乱度 Perp ⁡ i = − ∑ j p i j log ⁡ ( p i j ) \operatorname{Perp}_{i}=-\sum_{j} p_{i j} \log \left(p_{i j}\right) Perp i =− j ∑ p ij log(p ij ) 更新 s s s直到 P e r p i Perp_i Perp i 满足用户定义的值 所有样本 s s s取值相同有如下优点: p i j p_{ij} p ij 和 p j i p_{ji} p ji 是对称的 对于异常的样本,计算的概率更小 训练的更快 隐空间相似性度量 两个样本在隐空间的相似性使用如下公式计算: q i j = d i j − 1 exp ⁡ ( − 0.5 ( ln ⁡ d i j / σ ) 2 ) ∑ k ≠ l d k l − 1 exp ⁡ ( − 0.5 ( ln ⁡ d k l / σ ) 2 ) q_{i j}=\frac{d_{i j}^{-1} \exp \left(-0.5\left(\ln d_{i j} / \sigma\right)^{2}\right)}{\sum_{k \neq l} d_{k l}^{-1} \exp \left(-0.5\left(\ln d_{k l} / \sigma\right)^{2}\right)} q ij = ∑ k  =l d kl −1 exp(−0.5(lnd kl /σ) 2 ) d ij −1 exp(−0.5(lnd ij /σ) 2 ) 其中 d i j = ∥ ϕ ( x i ; W ) − ϕ ( x j ; W ) ∥ + r d_{ij} = \left\|\phi\left(\boldsymbol{x}_{\boldsymbol{i}} ; W\right)-\phi\left(\boldsymbol{x}_{\boldsymbol{j}} ; W\right)\right\|+r d ij =∥ϕ(x i ;W)−ϕ(x j ;W)∥+r, r r r是控制分布峰值的参数, σ \sigma σ是控制重尾分布尾巴参数。 使用KL散度衡量两个分布之间的差异,公式如下所示: C = ∑ i ≠ j p i j log ⁡ p i j q i j C=\sum_{i \neq j} p_{i j} \log \frac{p_{i j}}{q_{i j}} C= i  =j ∑ p ij log q ij p ij 在fine-tuning过程中,使用加权随机选择策略对每个batch进行二次采样,增大选择重构误差更大的样本概率,以此确保了从正常数据中分离异常样本。

四、实验

数据集: MNIST、Shuttle、NSL-KDDg和Credit Card

比较方法: PCA、自动编码器和Pt-SNE

分类器: OCSVM

评价指标: AUC、CPU时间

五、实验结果

LN-SNE的结果正常和异常的分离性更好,且密度低。