自动选择特征以进行异常检测


11

自动选择特征以进行异常检测的最佳方法是什么?

我通常将异常检测视为一种算法,由专家选择特征:重要的是输出范围(如“异常输入-异常输出”),因此即使具有许多功能,您也可以通过组合来得出更小的子集特点。

但是,假定在一般情况下功能列表可能很大,则有时自动学习有时会更可取。据我所知,有一些尝试:

  • 概括支持向量数据描述的“异常检测的自动特征选择”pdf
  • 我想使用粗糙集理论的“使用粗糙集理论的基于主机的快速入侵检测系统”(没有可用的pdf?)
  • 使用统计方法的“异常检测敌对网络流量的学习规则”pdf视频

因此,现在我想知道是否有人可以告诉您-假设检测到异常并具有非常大的功能(数百个):

  1. 这些庞大的功能集是否有意义?我们不应该将功能集减少到几十个吗?
  2. 如果庞大的功能集确实有意义,那么上述哪种方法会给出更好的预测,为什么?有没有列出更好的东西?
  3. 与降维或通过聚类/排序/等进行特征构建相比,为什么它们应该提供更好的结果?

您的链接没有为我提出任何具体问题。您能否简要说明问题?目的是什么?它是有监督的还是无监督的学习问题?
AdamO '02

问题来自现在关闭的ML.SE-显然,管理员并未合并所有问题。我现在编辑文本以明确指出问题!
andreister

Answers:


1

一种实用的方法(至少在监督学习的情况下)是包括所有可能的相关特征,并使用具有正则化(L1和/或L2)的(广义)线性模型(逻辑回归,线性svm等)。有开源工具(例如Vowpal Wabbit)可以处理这些类型的模型的数万亿个示例/功能组合,因此可伸缩性不是问题(此外,始终可以使用子采样)。正则化有助于处理特征选择。


但是,如何在无人监督的设置中选择特征(无需使用线性模型等来提出重要特征)?我能想到的一种方法是使用PCA保留一些差异并减小数据大小。但是同样,减少异常检测问题中的数据似乎很危险,因为您可能最终会丢失想要预测的实际异常值。因此造成混乱。
2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.