algorithm - 关键词联想学习算法

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

为了模拟我的问题,我将使用约会网站作为示例(尽管这不是实际情况)。我的问题是我有一组关键字,用户可以输入他们喜欢的关键字。说“高个子、黑头发、蓝眼睛”等,我想将它们映射到符合该标准的其他用户。然而,不仅如此,我还需要能够从我返回的数据中学习,以便在不那么精确匹配的情况下做出更好的预测。

例如,如果正在寻找“黑头发”人的其他用户喜欢“黑头发”的用户,或者高度为 6'4 但没有提到他们很高。我希望能够在这些相似的关键字之间建立关联,并且也能够建议这些关键字,以便最好地返回用户想要的内容,即使这不是他们所要求的。

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

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

任何输入表示赞赏, 谢谢!

最佳答案

这听起来像是 association rule learning 的一个相当经典的应用: 基本上,如果人们寻找像很多“黑发”帐户一样具有“黑发”的合作伙伴,那么您在两者之间有一个关联规则。有一些算法可以检测到这一点。

至于您的建议,您是否尝试过 ANN?人工神经网络根本不适用于文本输入,但对于大多数机器学习 + 文本任务,您可以将文本转换为数字数据(例如,参见词袋模型)。一旦你有了数字特征,它们就不会做得太差。

例如,您希望您的网络经过培训能够根据个人资料设置返回足够的推荐,对吧?您可以为它提供配置文件设置,如果您有训练数据显示用户寻找“黑头发”的人喜欢“黑头发”的用户,ANN 应该了解这种关系。

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

关于algorithm - 关键词联想学习算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28082922/

相关文章:

machine-learning - 用于机器学习算法的 Flink HBase 输入

machine-learning - 递归特征消除 (RFE) SKLearn

sql-server-2008 - SQL Server 2008 列仅存在于一张表中

machine-learning - 回归模型评估

c - 找到 a + b + c = 1000 的毕达哥拉斯三元组

algorithm - 算法时间复杂度的输入单元

algorithm - 在不可靠的网络中复制一组约 10000 条唯一标识的数据的更改

python - 如何在训练期间从 Scikit Learn SVM 中的每个类中抽取相同数量的示例?

algorithm - ELKI COPAC 实现

algorithm - 查找数组中的多数元素