我有几个特征可以用来投票决定某个数据项是否值得展示给我的用户。你可以把每个特征看作是0到1之间的一个数字,其中1表示很好,0表示不值得展示给我的用户。我之前一直采用一种相当标准的方法,为每个属性选择一个权重,然后进行加权求和,以确定一个单一的指标来做出决定(这很像一个单一的感知单元)。
然而,有时不同的属性会互相压制,导致结果不佳。我认为基本问题在于最佳函数是相当非线性的,而这些加权求和所能提供的规则本质上是线性的。为了解决这个问题,对于在加权求和中被“压制”的某个特征,我用它来乘以整个单一指标。这使得这个重要的特征可以作为“看门人”——如果这个特征的数值过低,它独自就能阻止数据的输出。
要通过标准的加权求和达到类似的效果,我必须将该特征的权重设得非常高,以至于其他特征几乎没有发言权……基本上,这又回到了最佳规则的非线性问题,因为这个特征在某些范围内可能非常重要,但在其他范围内则不然。
我想知道使用一个特征来乘以整个结果的方法有哪些已知的研究?除了简单性之外,加权求和为何是最常用的方法?
附注:一旦我有了更多的数据,我可能会使用标准的机器学习技术来实际学习规则,但目前我正在用样本数据集手动训练它。我现在追求的是在保持简单性的同时,尽量使其运作良好。
回答:
你的问题非常好。
你提到的确实是一个重要的问题。从理论和实践的角度来看都很重要:我应该如何使用我的特征来获得最佳结果?
让我给你举个例子,在词性标注中,文档的来源并不重要,因为大多数词语的使用方式与文章来源无关,无论文章来自WSJ还是Wired。所以像文章来源这样的特征用你的术语来说是被“压制”的。但有时候你会遇到像“monitor”这样的词,如果你知道它出现在哪里,你几乎就能知道如何标注它(如果来自WSJ:动词,如果在Wired:名词)。
文档来源特征乍看之下不是有用的特征,但它是我们试图标注的词的一个有用的元特征。在领域适应的术语中,它表征了领域。
对于这类问题,你想要关注的一些关键词是:
另一个有用的信息是,线性分类器在捕捉这些交互作用方面特别差,你甚至已经将其描述为非线性的。如果可能的话,你至少应该使用二次或RBF或其他更复杂的方法,至少有希望捕捉到这些交互作用。