我正在设计一个异常检测系统。
有多种方法可以构建这样的系统。我选择通过检测大多数样本共享的特征来实现这种系统的一个方面。我承认这种方法可能存在不足,但对于我的特定用例:(1)知道一个新样本包含(或缺少)大多数过去数据共享的特征就足以做出快速决定。(2)我'我对这种方法将为数据提供的见解感兴趣。
所以,问题来了:
考虑具有M个数据点的大型数据集,其中每个数据点可能包含任意数量的 {key:value} 特征。我选择通过对数据中观察到的所有特征(所有唯一键的集合)进行分组并将其设置为模型的特征空间来对训练数据集进行建模。我通过为现有键设置其值来定义每个样本,并为它不包含的功能中的值设置无。
给定这个训练数据集,我想确定哪些特征在数据中再次出现;对于此类重复出现的功能,它们是否主要共享一个值。
我的问题:
一个简单的解决方案是计算所有内容 - 为N个特征中的每一个计算值的分布。然而,由于M和N可能很大,我想知道是否有更紧凑的方法来表示数据或更复杂的方法来声明特征频率。
我是在重新发明现有的轮子吗?如果有完成此类任务的在线方法会更好。