推荐系统(recommender systems):预测电影评分--构造推荐系统的一种方法:协同过滤(collaborative filtering )...
协同过滤(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 )...相关推荐
- 推荐系统:协同过滤collaborative filtering
http://blog.csdn.net/pipisorry/article/details/51788955 (个性化)推荐系统构建三大方法:基于内容的推荐content-based,协同过滤col ...
- 基于关联规则(Apriori)+协同过滤(collaborative filtering)实现电影推荐系统
基于关联规则算法+协同过滤算法的电影推荐系统 一.前言 1.数据集介绍 2.方法概述 3.运行环境 二.数据准备与预处理 1.数据熟悉 2.数据读取 3.数据预处理 3.1 无用属性删除 3.2 缺失 ...
- 机器学习实战(十三)推荐系统(协同过滤 Collaborative Filtering)
目录 0. 前言 1. 相似度 1.1. 欧式距离(Euclidean metric) 1.2. 皮尔逊相关系数(Pearson correlation coefficient) 1.3. 余弦相似度 ...
- 入门机器学习(十九)--推荐系统(Recommender Systems)
推荐系统(Recommender System) 1. 问题规划(Problem Formulation) 2. 基于内容的推荐系统(Content Based Recommendations) 3. ...
- [C11] 推荐系统(Recommender Systems)
推荐系统(Recommender Systems) 问题阐述(Problem Formulation) 将 推荐系统 纳入这门课程来讲有以下两个原因: 第一.仅仅因为它是机器学习中的一个重要的应用.在 ...
- 吴恩达机器学习系列课程笔记——第十六章:推荐系统(Recommender Systems)
16.1 问题规划 https://www.bilibili.com/video/BV164411b7dx?p=96 在接下来的视频中,我想讲一下推荐系统.我想讲推荐系统有两个原因: 第一.仅仅因为它 ...
- NLP实战|如何用280多万条豆瓣影评预测电影评分?
为了预测电影评分,我们收集了豆瓣电影网站上2.8万名用户对5万多部电影的280万条评论... 真实目的,其实是为了让大家能够通过这次的教程,更加了解自然语言处理. 所以,使用电影评论来预测电影评分,到 ...
- Java+SSM(Spring+SpringMVC+Mybatis)+Mysql个性化新闻推荐系统 基于用户、项目、内容、聚类、混合的协同过滤推荐算法WebNewsRSM 源代码下载
Java+SSM(Spring+SpringMVC+Mybatis)+Mysql个性化新闻推荐系统 基于用户.项目.内容.聚类.混合的协同过滤推荐算法WebNewsRSM 源代码下载 一.项目简介 1 ...
- JS实现星星评分功能实例代码(两种方法)
转载自 JS实现星星评分功能实例代码(两种方法) 一.方法1 1.用到图片 2.结构和样式 <!DOCTYPE html> <html lang="en"&g ...
- Graph Convolutional Neural Networks for Web-Scale Recommender Systems(用于Web级推荐系统的图形卷积神经网络)
Graph Convolutional Neural Networks for Web-Scale Recommender Systems 用于Web级推荐系统的图形卷积神经网络 ABSTRACT R ...
最新文章
- 原创 | 《相机标定》深入理解原理与实战(一)
- Android更改浮动操作按钮颜色
- 监听文件修改,自动加载xml文件。
- 质子交换膜燃料电池稳压器的设计及仿真
- 数智化时代合格数据架构师如何养成?
- [BUUCTF-pwn]——xdctf2015_pwn200
- 受限玻尔兹曼机准备知识——MCMC方法和Gibbs采样
- Linux内核态之间进程通信,内核态和用户态通信(二)--实现
- 【渝粤教育】国家开放大学2018年秋季 0222-22T模拟电子电路 参考试题
- MySQl Got a packet bigger than ' max_allowed_packet' bytes
- centos 删除crontab_centos下crontab的使用
- C语言执行Linux的shell命令并获得返回值
- (翻译)UIP Application Block学习系列(三)UIP概念
- Window.localStorage
- html怎么写java代码_html中怎么写java代码
- 《深入浅出WPF》——事件学习
- java工作描述怎么写,太厉害了!
- source-map讲解
- 快速找出bug的几点建议
- Excel学习笔记:P18-COUNTIFS函数与SUMIFS函数