首页 > 解决方案 > 使用高斯分布自动选择异常检测的特征

问题描述

对于某些数据,我们可能需要手动创建特征,这些特征是早期特征的组合,以获得更好的算法。下面的分布(以及任何其他分布是椭圆且其轴未与特征轴对齐的分布)是高斯分布不起作用的简单示例。

图片来自斯坦福大学coursera上的机器学习课程。

在那门课程中被告知,多元高斯分布最适合它,或者我们可以开发一个新特征 x_3 = x_2 - x_1 和 x_4 = x_2 + x_1,并使用这两个新特征作为椭圆的轴,因为这些轴椭圆将不再倾斜,正态高斯分布可以工作。

我想自动化这个新的特征选择,并认为使用 PCA(具有高方差 %)将有助于创建“线性类型”的新特征,如 x_2 - x_1。这张图片中的长对角黑线(来自与上面相同的课程)正是我们所需要的,这条黑线是使用 PCA 生成的。

上面的方法有用吗?有没有比我们能做的更好的方法来自动生成新特征(线性类型和其他类型)?神经网络和内核是我也想到的东西,但我有一种预感,它们在计算方面会非常昂贵。

标签: machine-learningpcagaussiananomaly-detection

解决方案


您正在寻找的问题系列称为降维。是的,PCA 是此类问题的默认方法,完全类似于线性回归是回归的默认方法。

但是,它不会找到 x_2 / x_1 形式的特征,因为这是一个非线性变换。它将找到的特征将采用 a_1 x_1 + a_2 x_2 的形式(在平均中心坐标中)。有许多方法可让您自动查找此类功能。您提到的内核 PCA 就是这样一种方法,尽管与所有内核方法一样,它不会显式搜索功能,而只会从预定义的集合中选择最有用的功能。在可以搜索无限类非线性特征的方法中,我个人最喜欢的是遗传编程. 它主要关注回归,但应该直接将其应用于降维。请注意,这不是开箱即用的东西,需要一些试验和错误。如果您决定采取这条路线,这里有一些有用的资源:34

搜索大类非线性的方法本质上计算成本很高。如果性能至关重要,请研究生成分布的系统,确定可能有用的一类非线性,并使用内核 PCA 之类的东西进行特征选择。或者采用类似于3中描述的方法,在一次缓慢但自动的研究中从数据中提取有用的特征,然后冻结特征搜索并让位于其顶部的线性选择器为每个特定测量做出决策。


推荐阅读