每次我想看电影的时候,都会去问我的朋友,小健。一般他推荐的电影,我都比较喜欢。显然不是所有人都有小健这样的能力。因为我碰巧和小健有类似的品味。

这个生活中的经验,实际上有着广泛的用途。

当系统需要为某个人做出推荐时,一种机器学习的算法是这样工作的:就是在一大群人中找出一部分与他品味类似的人,把这些人的喜欢的东西排序,然后推荐给他。

自然引出两个问题:

  1. 谁是与他相近品味的人;
  2. 怎么对这些人喜欢的东西排序;

对于上述两个问题有多种不同的答案,不同的答案意味着不同的算法。

---

问题1的答案有两种:

  1. 欧拉距离;给定n个物体,两人分别打分{S1}{S2},那么欧拉距离就是S1和S2的各个元素只差的平方和;
  2. pearson相关系数。给定n个物理,两个人对他们的评分一致的程度可以通过这个系数进行衡量。下图每个名词所代表的点表示两个人给定分数(x,y),可以看到右图中点的位置更靠近直线,这说明右图中两人的评分的趋势更加接近,虽然分数的绝对值不同。:

 

可以想象,如果两个人,一个比较刻薄,一个比较慷慨,使用#2比#1更容易发现被评价物体的特征。

-------

问题2的回答是什么呢?

一种常见的办法是对每个推荐物体进行推荐值的加权求和:比如有个人相似度为90%,这个人推荐这个物体的值是80分,那么他贡献了80*0.9=72。

对上图来说,经过排序就能得到最被推荐的物体了。

显然上述的逻辑在于,和你相似的人推荐的东西更符合你的心意。

collaborative filtering协同过滤的更多相关文章

  1. 从item-base到svd再到rbm,多种Collaborative Filtering(协同过滤算法)从原理到实现

    http://blog.csdn.net/dark_scope/article/details/17228643 〇.说明 本文的所有代码均可在 DML 找到,欢迎点星星. 一.引入 推荐系统(主要是 ...

  2. Collaborative Filtering(协同过滤)算法详解

    基本思想 基于用户的协同过滤算法是通过用户的历史行为数据发现用户对商品或内容的喜欢(如商品购买,收藏,内容评论或分享),并对这些喜好进行度量和打分.根据不同用户对相同商品或内容的态度和偏好程度计算用户 ...

  3. Andrew Ng机器学习课程笔记--week9(下)(推荐系统&协同过滤)

    本周内容较多,故分为上下两篇文章. 本文为下篇. 一.内容概要 1. Anomaly Detection Density Estimation Problem Motivation Gaussian ...

  4. 基于物品的协同过滤推荐算法——读“Item-Based Collaborative Filtering Recommendation Algorithms” .

    ligh@local-host$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.3 基于物品的协同过滤推荐算法--读"Item-Based ...

  5. 【RS】Sparse Probabilistic Matrix Factorization by Laplace Distribution for Collaborative Filtering - 基于拉普拉斯分布的稀疏概率矩阵分解协同过滤

    [论文标题]Sparse Probabilistic Matrix Factorization by Laplace Distribution for Collaborative Filtering  ...

  6. 【RS】Factorization Meets the Neighborhood: a Multifaceted Collaborative Filtering Model - 当因式分解遇上邻域:多层面协同过滤模型

    [论文标题]Factorization Meets the Neighborhood: a Multifaceted Collaborative Filtering Model   (35th-ICM ...

  7. 亚马逊 协同过滤算法 Collaborative filtering

    这节课时郭强的三维课.他讲的是MAYA和max .自己对这个也不怎么的感兴趣.而且这个课感觉属于数字媒体.自己对游戏,动画,这些东西一点都不兴趣,比如大一的时候刚开学的时候,张瑞的数字媒体的导论课.还 ...

  8. 【RS】List-wise learning to rank with matrix factorization for collaborative filtering - 结合列表启发排序和矩阵分解的协同过滤

    [论文标题]List-wise learning to rank with matrix factorization for collaborative filtering   (RecSys '10 ...

  9. 【RS】AutoRec: Autoencoders Meet Collaborative Filtering - AutoRec:当自编码器遇上协同过滤

    [论文标题]AutoRec: Autoencoders Meet Collaborative Filtering (WWW'15) [论文作者]Suvash Sedhain †∗ , Aditya K ...

随机推荐

  1. powerdesigner mysql逆向工程注释不显示问题

  2. 清华大学 TUNA 协会

    https://tuna.moe/ 技术,实力,优越感,环境..,镜像

  3. Linux日志文件总管——logrotate

    日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到.对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题.除此之外,处理一个单个的庞大日 ...

  4. 2017多校1 hdu-Balala Power!

    其实这道题的思路挺简单的,就是找在第一位置没有出现过并且权值小的那个字母为0. 把a~z按照权值排序,其实难就难在这里,权值很大我们怎么给他排序. 其实可以开个数组来存他们每位数是多少,然后给他们比个 ...

  5. BP神经网络的数学常识

    输入数据X1-Xn. 输入层和隐层之间的权Wji 隐层的输入数据为:∑iwjixi 隐层的输出数据为:yj = f(∑iwjixi).其中f(x)= 隐层的输入数据为:∑jwkjyj 隐层的输出数据为 ...

  6. 进度条的制作unity

    不说了直接上代码: LoadingPanel: using UnityEngine;using System.Collections;using UnityEngine.UI;using UnityE ...

  7. 2019.02.09 bzoj4455: [Zjoi2016]小星星(容斥原理+dp)

    传送门 题意简述:给一张图和一棵树(点数都为n≤17n \le17n≤17),问有多少种给树的标号方法方法使得图中去掉多余的边之后和树一模一样. 思路: 容斥好题啊. 考虑fi,jf_{i,j}fi, ...

  8. 2019.01.14 bzoj2648: SJY摆棋子(kd-tree)

    传送门 kd−treekd-treekd−tree模板题. 题意简述:支持在平面上插入一个点,求对于一个点的最近点对. 思路:cdqcdqcdq是一种很不错的分治方法 只是好像码量有点窒息 所以我用了 ...

  9. 2018.12.29 codeforces 940E. Cashback(线性dp)

    传送门 题意:给出一个nnn个数的序列,要求将序列分成若干段,对于一段长度为kkk的自动删去最小的⌊kc⌋\left \lfloor \frac{k}{c} \right \rfloor⌊ck​⌋个数 ...

  10. java常用设计模式总览

    一.java的设计模式大体上分为三大类: 创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式. 结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组 ...