假设我有一组特征:a、b、c、d、e、f。我现在有兴趣确定最能预测结果的这些特征之间可能的相互作用。例如,特征 a、f 和交互作用 a:b:g、d:f 和 c:e 可能是预测结果的 5 个最重要的因素。算法不仅要考虑特征交互,而且我还希望能够识别这些交互。
我如何通过机器学习解决这个问题?
假设我有一组特征:a、b、c、d、e、f。我现在有兴趣确定最能预测结果的这些特征之间可能的相互作用。例如,特征 a、f 和交互作用 a:b:g、d:f 和 c:e 可能是预测结果的 5 个最重要的因素。算法不仅要考虑特征交互,而且我还希望能够识别这些交互。
我如何通过机器学习解决这个问题?
我认为在这种情况下,问问自己为什么要使用机器学习来检测交互是很重要的。感觉有点像数据挖掘。鉴于您正在研究的现象,使用领域知识来思考可能或可行的交互可能对您有好处。
也就是说,您可以使用例如R. 这将允许您检测复杂和高阶的交互。您可以在此处将其视为第 30 页的示例。请注意,我可能会使用partykit它来拟合树模型,因为它允许您使用非正态分布。但是,如果您有一个非常大的数据集,并且一旦找到它们可能很难将它们拟合到线性模型中(因为它们只能出现在树的一侧),这种方法效果最好。
解决上述一些限制的另一种方法是使用一种称为Additive Groves的技术。这些工作的原则是观察不同受限树模型的相对性能。因为交互作用不是相加的,所以这种技术可以识别交互作用。