zoukankan      html  css  js  c++  java
  • 推荐算法-欧几里得距离

    一、欧几里得距离
    用来记录两个向量之间的距离。
    欧氏距离越小,两个用户相似度就越大,
    欧氏距离越大,两个用户相似度就越小。
     
    二维空间的公式:  其中,  为点 与点  之间的欧氏距离;  为点 到原点的欧氏距离。
     
    三维空间的公式:
     
    n维空间的公式:
    二、闵可夫斯基距离
    当p=1时,即为曼哈顿距离;
    当p=2时,即为欧几里得距离
    当  时,即为切比雪夫距离

    三、实现一个简单的音乐推荐系统

    1、基于相似用户做推荐

    跟你听类似歌曲的人,看作口味相同的用户。
    • 通过用户的行为来定义对歌曲的喜爱程度,给每个行为定义一个得分,得分越高表示越喜爱:
    • 每个人对歌曲的喜爱程度表示为如下:
    • 通过欧几里得距离来计算两个向量之间的相似度

     你:(5,3,3,0,-1,2,5,4,1,-1)

    小明:(4,5,2,1,0,3,2,0,1,1)

    2、基于相似歌曲做推荐

    新用户还没收集足够多的行为数据,则基于相似歌曲进行推荐。

    基于歌曲特征项计算相似度,我们可以对歌曲定义一些特征项【伤感、愉快、摇滚、民谣、柔和、高亢】
    人工给每首歌每个特征项打分,工程浩大,存在个人主观性,影响推荐的准确性,不可行。
     
    那么通过什么数据来量化两个歌曲的相似程度?
    对于两首歌,如果喜欢听的人群都是差不多的,就可以侧面反映出这两首歌比较相似。

     

  • 相关阅读:
    Ubuntu +PHP-fpm + Nginx 访问php界面空白的界面的分析
    Erlang 语言简介
    坐标体系WGS84/GCJ02/BD09
    Linux 系统的启动顺序
    母板页 难点---数据交换
    用户控件(二)--常见4 种路径问题解决:
    XML语言:可扩展的标记语言;
    用户控件(一) ----交换信息
    单选款复选款的选择并操作方法
    生成指定格式的流水号
  • 原文地址:https://www.cnblogs.com/wjh123/p/11401653.html
Copyright © 2011-2022 走看看