返回

常见算法类型(八)相似

字符串相似度

字符串相似度

推荐系统 Recommendation System

解析推荐系统

  1. 找到偏好相似的用户,推荐他们喜欢的内容
  2. 找到特征相似的内容,推荐这些内容

基于相似用户推荐

  1. 需要有当前用户喜爱歌曲的数据,根据用户间的“口味”相似度来进行推荐
  2. 定义“口味”相似
    • 遍历所有的用户,对比每个用户和你共同喜爱的歌曲个数,并且设置一个阈值,当通过喜爱的歌曲个数超过这个阈值,则认为这个用户和你的“口味”相似
    • 将和你“口味”相似的用户喜爱且你没有听过的歌曲,推荐给你
  3. 定义喜爱程度
    • 给每个行为定义一个得分,得分越高表示喜爱程度越高

      定义得分
      定义得分

    • 使用欧几里得距离来计算两个用户之间的相似度

      • 使用向量表示每个用户对所有歌曲的喜爱程度
      • 计算两个向量之间的欧几里得距离,度量两个用户的“口味”相似程度

      计算向量距离
      计算向量距离

基于相似歌曲推荐

  1. 根据当前用户喜欢的歌曲,找到相似的歌曲来进行推荐
  2. 定义歌曲“相似”
    • 对歌曲定义一些特征项,基于歌曲特征项向量的距离来比表示两首歌曲相似度,缺点是需要人工标记出每首歌的特征项,数据量太大且有很高的主观性

    • 找到喜欢听的“相似”人群,如果两首歌曲的喜爱人群相似,则说明这两首歌比较相似

    • 遍历所有的歌曲,将每个用户的打分作为向量,计算出歌曲的相似度

      歌曲的相似度
      歌曲的相似度

© Licensed Under CC BY-NC-SA 4.0