Coursera 机器学习 第9章(下) Recommender Systems 学习笔记
9.5 Predicting Movie Ratings
9.5.1 Problem Formulation
推荐系统。
推荐系统的问题表述:电影推荐。根据用户对已看过电影的打分来推测用户对其未打分的电影将会打什么分。下面对一部电影的打分区间是[0,5]。

做道题:

9.5.2 Content Based Recommendations
推荐系统的一种实现:基于内容的推荐。

对于每个用户i训练一个参数向量Θ(i),对于每部电影j训练一个特征向量x(j)(其中默认x0=1,实际上特征抽取是不容易的),那么(Θ(i))Tx(k)就是用户i可能对电影k的打分。
下面用线性回归解决上面的问题:
注意min式子的正则化部分的Θ有n+1维,但是是从Θ0维度开始计算的。抽离m(j)不影响最小化的结果。
对于每个用户也就是

对于整体也就是

那么可以这么做(梯度下降法等):

做道题:

D
9.6 Collaborative Filtering
9.6.1 Collaborative Filtering
协同过滤(Collaborative Filtering)。协同过滤能够自行学习所要使用的特征。
协同过滤是执行一个算法时,通过一大堆用户得到的数据,由参数矩阵得出特征,再由特征优化参数矩阵。
最小化下面的式子得到特征矩阵:

基于内容的推荐是最小化下面的式子:
注意两者的区别。
做2道题:

A

D
9.6.2 Collaborative Filtering Algorithm
协同过滤算法(Collaborative Filtering Algothrim)。
将对于参数矩阵和特征矩阵的优化结合:下面有3个式子,第一个式子最优化参数矩阵,第二个式子最优化特征矩阵,最后一个式子将两者结合。

这里注意最后一个式子中的Θ(j)和x(i)都是n维向量,没有默认初始的Θ0和x0,和上面的两个式子不一样。
协同过滤算法:

做道题:

9.7 Low Rank Matrix Factorization
9.7.1 Vectorization: Low Rank Matrix Factorization
协同过滤算法的向量化实现以及协同过滤算法的使用实例。
协同过滤算法的向量化实现(低秩矩阵分解):
协同过滤算法的使用实例:比如当前用户买了A电影的票,判断对于电影B,他是否有可能买。
做道题:


9.7.2 Implementational Detail: Mean Normalization
均值归一化:可以使算法运行得更加有效。
例子:如果有一位用户对所有电影都没有评分,为了推测出该用户对某一个具体电影的评分,需要用到均值归一化。
下图中对于某一部电影i,求已经评分的用户j评分Yij的平均数ui,然后Yij=Yij-ui,得到新的矩阵Y。用新的Y来训练得到参数Θ(j),然后Yi5=(Θ(j))T(X(5))+ui

做道题:

练习:



不知道这题为什么错:

Coursera 机器学习 第9章(下) Recommender Systems 学习笔记的更多相关文章
- Coursera 机器学习 第7章 Support Vector Machines 学习笔记
7 Support Vector Machines7.1 Large Margin Classification7.1.1 Optimization Objective支持向量机(SVM)代价函数在数 ...
- Coursera 机器学习 第5章 Neural Networks: Learning 学习笔记
5.1节 Cost Function神经网络的代价函数. 上图回顾神经网络中的一些概念: L 神经网络的总层数. sl 第l层的单元数量(不包括偏差单元). 2类分类问题:二元分类和多元分类. 上 ...
- 【机器学习】决策树(Decision Tree) 学习笔记
[机器学习]决策树(decision tree) 学习笔记 标签(空格分隔): 机器学习 决策树简介 决策树(decision tree)是一个树结构(可以是二叉树或非二叉树).其每个非叶节点表示一个 ...
- Coursera 机器学习 第8章(下) Dimensionality Reduction 学习笔记
8 Dimensionality Reduction8.3 Motivation8.3.1 Motivation I: Data Compression第二种无监督问题:维数约简(Dimensiona ...
- Coursera 机器学习 第6章(下) Machine Learning System Design 学习笔记
Machine Learning System Design下面会讨论机器学习系统的设计.分析在设计复杂机器学习系统时将会遇到的主要问题,给出如何巧妙构造一个复杂的机器学习系统的建议.6.4 Buil ...
- Coursera 机器学习 第6章(上) Advice for Applying Machine Learning 学习笔记
这章的内容对于设计分析假设性能有很大的帮助,如果运用的好,将会节省实验者大量时间. Machine Learning System Design6.1 Evaluating a Learning Al ...
- Coursera 机器学习 第9章(上) Anomaly Detection 学习笔记
9 Anomaly Detection9.1 Density Estimation9.1.1 Problem Motivation异常检测(Density Estimation)是机器学习常见的应用, ...
- Coursera 机器学习 第8章(上) Unsupervised Learning 学习笔记
8 Unsupervised Learning8.1 Clustering8.1.1 Unsupervised Learning: Introduction集群(聚类)的概念.什么是无监督学习:对于无 ...
- 郑捷《机器学习算法原理与编程实践》学习笔记(第四章 推荐系统原理)(二)kmeans
(上接第二章) 4.3.1 KMeans 算法流程 算法的过程如下: (1)从N个数据文档随机选取K个文档作为质心 (2)对剩余的每个文档测量其到每个质心的距离,并把它归到最近的质心的类 (3)重新计 ...
随机推荐
- .Net Core 项目引用本地类库方式(二)
上篇文章有详细的介绍.Net Core 项目中引用本地类库通过打包,然后Nugety引用方式,这里再介绍一种引用包的方式
- 【模板】二维凸包 / [USACO5.1]圈奶牛Fencing the Cows
Problem surface 戳我 Meaning 坐标系内有若干个点,问把这些点都圈起来的最小凸包周长. 这道题就是一道凸包的模板题啊,只要求出凸包后在计算就好了,给出几个注意点 记得检查是否有吧 ...
- gets()scanf()有害------c++程序设计原理与实践(进阶篇)
最简单的读取字符串的方式是使用gets(),例如: char a[12]; gets(a); 但gets()和scanf()是有害的,曾经有大约1/4的成功黑客攻击是由于gets()和它的近亲scan ...
- 【bzoj1014】: [JSOI2008]火星人prefix 平衡树-字符串-hash-二分
[bzoj1014]: [JSOI2008]火星人 用平衡树维护字符串的hash 然后询问的时候二分一下就好了 /* http://www.cnblogs.com/karl07/ */ #includ ...
- kali linux之主动信息收集(二层发现)
主动信息收集: 直接与目标系统交互信息,无法避免留下访问的痕迹 使用受控的第三方电脑进行探测,如(使用代理或者使用肉鸡,做好被封杀的准备,使用噪声迷惑目标,淹没真实的探测流量) 识别活着的主机,会有潜 ...
- 性能测试常用sql语句
做了一段时间的性能测试,把自己在性能测试过程中,使用到的Oracle中用到的sql语句整理一番,做个备忘: (1)多个字段以某种格式拼接 Oracle方式:"||"字符串拼接符; ...
- 【转】远程桌面关闭后TeamViewer不能连接
源地址:http://www.cnblogs.com/qk2014/p/9274852.html 1.本地安装TeamViewer,完成后如下: 2.远程服务器也安装TeamViewer 在本地Tea ...
- 【转】分析.net中的object sender与EventArgs e
源地址:http://blog.csdn.net/feihu19851111/article/details/7523118
- WebGL学习之法线贴图
实际效果请看demo:纹理贴图 为了增加额外细节,提升真实感,我们使用了漫反射贴图和高光贴图,它们都是向三角形进行附加纹理.但是从光的视角来看是表面法线向量使表面被视为平坦光滑的表面.以光照算法的视角 ...
- WPF:CheckBox竖向的滑块效果
原文:WPF:CheckBox竖向的滑块效果 之前做了一个横向的滑块效果,<WPF:CheckBox滑块效果>,其实我觉得那个不好看,今天又做了一个竖向的玩. <Style Targ ...