协同过滤(collaborative filtering )能自行学习所要使用的特征

如我们有某一个数据集,我们并不知道特征的值是多少,我们有一些用户对电影的评分,但是我们并不知道每部电影的特征(即每部电影到底有多少浪漫成份,有多少动作成份)

假设我们通过采访用户得到每个用户的喜好,如上图中的Alice喜欢爱情电影,不喜欢动作电影,则我们将θ(1)设为[0,5,0],如此设置θ(2),θ(3),θ(4)的值,这样我们有了每个用户的θ的值以及他们对电影的打分,就可以推断出每部电影的x(特征)的值。

如对于上图中的第一部电影,Alice的打分是5,Bob的打分是5,Carol的打分是0,Dave的打分也是0,我们有每个用户的θ值,这样根据这些值来评估第一部电影的x1与x2的值,根据什么来评估呢,这是使θ(1)与x(1)的内积约等于5,使θ(2)与x(1)的内积约等于5,使θ(3)与x(1)的内积约等于0,使θ(4)与x(1)的内积约等于0,这样估算出x(1)的值。据此依次算出x(2)等的值。

我们有nu个用户,知道这些用户的喜好,即知道用户的θ值,根据这些用户的值去估计第i部电影的特征值。

下面是对所有的电影的特征值的估计,有nm部电影。

协同过滤算法

我们将上面的两个算法结合起来,我们可以由知道x的值( 即每部电影的特征值)和每个用户对电影的打分,来推断出每个用户的喜好值(及θ的值)

也可以知道每个用户的喜好值(及θ的值)和每个用户对电影的打分来推荐出电影的特征值(即x的值)。

先有鸡还是先有蛋问题:根据θ的值可以估计x的值,根据x的值可以用来估计θ的值.

这样我们先猜测一个θ的值,然后根据这个θ的值估计出x的值,再根据x的值估计出θ的值,这样一直迭代下去,直至收敛。

这样我们就可以根据用户对电影的打分,反复进行上面的过程,来估计出θ与x的值。

总结

协同过滤算法:通过一大堆用户得到的数据,这些用户实际上在高效地进行协同合作,来得到每个人对电影的评分。只要用户对某几部电影进行了评分,每个用户就又都在帮助算法更好地学习出特征,这些特征可以被系统运用来为其它人做出更准确的电影预测。

协同是说每位用户都在为了大家的利益,学习出更好的特征

转载于:https://www.cnblogs.com/yan2015/p/7544930.html

推荐系统(recommender systems):预测电影评分--构造推荐系统的一种方法:协同过滤(collaborative filtering )...相关推荐

  1. 推荐系统:协同过滤collaborative filtering

    http://blog.csdn.net/pipisorry/article/details/51788955 (个性化)推荐系统构建三大方法:基于内容的推荐content-based,协同过滤col ...

  2. 基于关联规则(Apriori)+协同过滤(collaborative filtering)实现电影推荐系统

    基于关联规则算法+协同过滤算法的电影推荐系统 一.前言 1.数据集介绍 2.方法概述 3.运行环境 二.数据准备与预处理 1.数据熟悉 2.数据读取 3.数据预处理 3.1 无用属性删除 3.2 缺失 ...

  3. 机器学习实战(十三)推荐系统(协同过滤 Collaborative Filtering)

    目录 0. 前言 1. 相似度 1.1. 欧式距离(Euclidean metric) 1.2. 皮尔逊相关系数(Pearson correlation coefficient) 1.3. 余弦相似度 ...

  4. 入门机器学习(十九)--推荐系统(Recommender Systems)

    推荐系统(Recommender System) 1. 问题规划(Problem Formulation) 2. 基于内容的推荐系统(Content Based Recommendations) 3. ...

  5. [C11] 推荐系统(Recommender Systems)

    推荐系统(Recommender Systems) 问题阐述(Problem Formulation) 将 推荐系统 纳入这门课程来讲有以下两个原因: 第一.仅仅因为它是机器学习中的一个重要的应用.在 ...

  6. 吴恩达机器学习系列课程笔记——第十六章:推荐系统(Recommender Systems)

    16.1 问题规划 https://www.bilibili.com/video/BV164411b7dx?p=96 在接下来的视频中,我想讲一下推荐系统.我想讲推荐系统有两个原因: 第一.仅仅因为它 ...

  7. NLP实战|如何用280多万条豆瓣影评预测电影评分?

    为了预测电影评分,我们收集了豆瓣电影网站上2.8万名用户对5万多部电影的280万条评论... 真实目的,其实是为了让大家能够通过这次的教程,更加了解自然语言处理. 所以,使用电影评论来预测电影评分,到 ...

  8. Java+SSM(Spring+SpringMVC+Mybatis)+Mysql个性化新闻推荐系统 基于用户、项目、内容、聚类、混合的协同过滤推荐算法WebNewsRSM 源代码下载

    Java+SSM(Spring+SpringMVC+Mybatis)+Mysql个性化新闻推荐系统 基于用户.项目.内容.聚类.混合的协同过滤推荐算法WebNewsRSM 源代码下载 一.项目简介 1 ...

  9. JS实现星星评分功能实例代码(两种方法)

    转载自   JS实现星星评分功能实例代码(两种方法) 一.方法1 1.用到图片 2.结构和样式 <!DOCTYPE html> <html lang="en"&g ...

  10. Graph Convolutional Neural Networks for Web-Scale Recommender Systems(用于Web级推荐系统的图形卷积神经网络)

    Graph Convolutional Neural Networks for Web-Scale Recommender Systems 用于Web级推荐系统的图形卷积神经网络 ABSTRACT R ...

最新文章

  1. 原创 | 《相机标定》深入理解原理与实战(一)
  2. Android更改浮动操作按钮颜色
  3. 监听文件修改,自动加载xml文件。
  4. 质子交换膜燃料电池稳压器的设计及仿真
  5. 数智化时代合格数据架构师如何养成?
  6. [BUUCTF-pwn]——xdctf2015_pwn200
  7. 受限玻尔兹曼机准备知识——MCMC方法和Gibbs采样
  8. Linux内核态之间进程通信,内核态和用户态通信(二)--实现
  9. 【渝粤教育】国家开放大学2018年秋季 0222-22T模拟电子电路 参考试题
  10. MySQl Got a packet bigger than ' max_allowed_packet' bytes
  11. centos 删除crontab_centos下crontab的使用
  12. C语言执行Linux的shell命令并获得返回值
  13. (翻译)UIP Application Block学习系列(三)UIP概念
  14. Window.localStorage
  15. html怎么写java代码_html中怎么写java代码
  16. 《深入浅出WPF》——事件学习
  17. java工作描述怎么写,太厉害了!
  18. source-map讲解
  19. 快速找出bug的几点建议
  20. Excel学习笔记:P18-COUNTIFS函数与SUMIFS函数

热门文章

  1. 【渝粤教育】国家开放大学2019年春季 242机械制图 参考试题
  2. 【渝粤教育】广东开放大学 微信平台开发与应用 形成性考核 (54)
  3. 23种设计模式(九)对象创建之原型模式
  4. C语言宏定义,内置宏的用法
  5. freeswitch 一些坑
  6. springboot实现热部署,修改代码不用重启服务
  7. Delphi程序开启XP的ClearType显示效果
  8. python学习day02
  9. Datatables+Bootstrap
  10. JS 获取WEB请求路径