机器学习的特征选择

时间:2012-12-24 16:06:25

标签: machine-learning

我正在对网站进行分类。其中一项任务是过滤色情内容。我正在使用的是带有词袋的二进制SVM分类器。我对BoW中应该包含的词语有疑问:它应该只是与色情相关的词语(在色情网站上常见的词语),还是应该包含在色情网站上很少发现的词语,但在其他网站上经常发现好吧(例如,“数学”,“工程”,“吉他”,“出生”等)?。

我遇到的问题是医学和家庭相关网站上的误报。如果我只查找与色情相关的单词,那么此类网站的向量最终会非常稀疏。像“性”这样的词语经常出现,但却完全是无辜的。

我是否应该包含非色情词?或者我应该看看解决误报的其他方法?建议是最受欢迎的。

4 个答案:

答案 0 :(得分:2)

另一种可能的方法是专门为色情网站制作语言模型。我认为,如果你有n-gram(例如3克),应该更容易识别特定词“性”是否与色情或其他领域有关。

理论猜测:如果你有这样的语言模型,你甚至不需要分类器。 (困惑,n-gram的可能性应该足以决定...)

答案 1 :(得分:2)

主题建模(尝试Latent Dirichlet Allocation http://en.wikipedia.org/wiki/Latent_Dirichlet_allocation)将能够很好地处理这个问题。

将文档主题作为功能提供给分类器有助于避免遇到的问题。

答案 2 :(得分:1)

你应该包括尽可能多的单词;理想情况下,整本字典。分类器能够通过确定网站与您定义的类的相似程度来识别网站。你需要给它提供识别两个类的方法,而不仅仅是其中一个。想象一下被要求在照片中识别猫,但只是被猫咪训练。虽然对于任何特定的图片你可能会说它看起来不像猫(或者你看过的任何猫),你无法确定是否有足够的猫咪仍然是它一只猫。

答案 3 :(得分:1)

包括所有单词并让SVM决定哪些是有用的 - 分类器需要能够区分正面和负面,负面也可以用不在你的目标域中的单词(色情)来表征,从而使示例之间的分裂可能更加清晰。

优选地,不仅使用单个单词,而且还使用n-gram(例如,高于特定频率2或3克)作为附加特征(这应该有助于解决您的药物误报问题)。如果您使用TF-IDF加权,N-gram也适合您的方法。

相关问题