gpt4 book ai didi

cluster-analysis - 结合不同的相似性来构建一个最终的相似性

转载 作者:行者123 更新时间:2023-12-04 07:24:27 24 4
gpt4 key购买 nike

我对数据挖掘和推荐系统非常陌生,现在尝试为具有此类参数的用户构建某种记录系统:

  • 城市
  • 教育
  • 利息

  • 为了计算它们之间的相似度,我将应用余弦相似度和离散相似度。
    例如:
  • 城市:如果 x = y 则 d(x,y) = 0。否则,d(x,y) = 1。
  • 教育:这里我将使用余弦相似度作为出现在部门或学士学位名称中的词
  • 兴趣:将有硬编码的用户可以选择的兴趣数量,余弦相似度将基于两个向量计算,如下所示:

  • 1 0 0 1 0 0 ... n
    1 1 1 0 1 0 ... n

    哪里 1表示存在兴趣和 n是所有利益的总数。

    我的问题是:
    如何以适当的顺序组合这 3 个相似之处?我的意思是,将它们相加听起来不太聪明,是吗?我也想听听对我的“新手相似度系统”的评论,哈哈。

    最佳答案

    没有一成不变的答案,因为这里的答案很大程度上取决于您的输入和问题域。出于这个原因,机器学习的很多工作都是准备输入的艺术(而不是科学)。我可以给你一些一般性的想法来思考。你有两个问题:从这些项目中的每一个中找出有意义的相似之处,然后将它们组合起来。

    城市相似性听起来很合理,但实际上取决于您的域。难道真的是在同一个城市就意味着一切,而在邻近的城市就毫无意义吗?例如,在类似规模的城市中是否有任何意义?在同一个状态?如果他们这样做,您的相似性应该反射(reflect)这一点。

    教育:我理解为什么您可能会使用余弦相似度,但这并不能解决这里的真正问题,即处理表示相同事物的不同标记。你需要“eng”和“engineering”来匹配,以及“ba”和“bachelors”之类的东西。一旦您以这种方式准备 token ,它可能会产生良好的结果。

    兴趣:我认为余弦不是这里的最佳选择,尝试一个简单的 tanimoto 系数相似度(只是交集的大小超过并集的大小)。

    您不能只是对它们求和,因为我假设您仍然需要 [0,1] 范围内的值。你可以平均它们。这使得假设它们中的每一个的输出都是直接可比的,如果你愿意的话,它们是相同的“单位”。他们不在这里;例如,它们并不是概率。

    在实践中对它们求平均可能仍然可行,也许是权重。例如,在这里同一个城市与拥有完全相同的兴趣一样重要。这是真的还是应该不那么重要?

    您可以尝试测试不同的变化和权重,因为希望您有一些针对历史数据进行测试的方案。我会向您指出我们的项目,Mahout ,因为它有一个完整的推荐和评估框架。

    然而,所有这些类型的解决方案都是hacky和启发式的。我认为您可能希望对特征编码和相似性采取更正式的方法。如果您愿意买书并喜欢 Mahout,Mahout in Action在聚类章节中有很好的介绍,介绍了如何选择和编码特征,然后如何从中得出一个相似性。

    关于cluster-analysis - 结合不同的相似性来构建一个最终的相似性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8201708/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com