关键字关联学习算法

时间:2015-01-22 06:57:43

标签: algorithm machine-learning data-mining prediction reinforcement-learning

为了模拟我的问题,我将以约会网站为例(虽然这不是实际情况)。我的问题是我有一组用户可以输入他们喜欢的关键字。说"高大的黑发,蓝眼睛"等等,我想将它们映射到符合该标准的其他用户。然而,除此之外,我需要能够从我回来的数据中学习,以做出更好的预测,这些预测不是那么精确的匹配。

例如,如果其他用户正在寻找有深色头发的人。比如黑头发的用户,或者身高6到4但不提他们身材高大。我希望能够在这些相似的关键字之间建立关联,并且能够同时建议这些关键字,以便最好地返回用户想要的内容,即使它不是他们所要求的。

我的问题是什么算法/方法最适合这个?我一直在研究像:

这样的领域
  • 决策树,但是当没有关键字匹配时,这些似乎会崩溃。
  • 天真的贝叶斯,似乎对丢失的连接更加宽容,但需要一些关于连接的先验知识,并且由于关键字可以是任何东西,这似乎是一个道路背景
  • ANN,但这些似乎不太适合文字输入
  • KNN,但我不确定如何处理可能无限的用户分类?
  • 某种A *地图搜索,每次用户1喜欢用户2时,我在用户1的喜欢和用户2的特征之间建立地图连接,如果该连接已经存在,我只是缩短它,然后找到最近的N个用户。我不确定这是多么可扩展。

赞赏任何意见, 谢谢!

1 个答案:

答案 0 :(得分:2)

这听起来像是association rule learning的一个相当经典的应用:基本上,如果人们寻找像“黑头发”这样的“黑发”的伙伴,那么你们之间就有了一个关联规则。有些算法可以检测到这一点。

至于你的建议,你试过人工神经网吗?人工神经网络根本无法使用文本输入,但对于大多数机器学习+文本任务,您可以将文本转换为数字数据(例如,请参阅单词模型包)。一旦掌握了数字功能,就不应该做得太糟糕了。

例如,您希望您的网络经过培训,根据配置文件设置返回足够的推荐,对吧?您可以将其提供给配置文件设置,如果您有训练数据显示用户正在寻找“黑发”喜欢“黑发”的用户,那么ANN应该了解这种关系。

关联规则听起来像是要走的路。