week_9(推荐系统)
Andrew Ng 机器学习笔记 ---By Orangestar
Week_9(推荐系统)
1. Problem Formulation
这节就仅仅简单地介绍了一下 推荐系统的应用和实例。完全可以略。只需要清楚如何表示 评分还有未评分
2. Content Based Recommendations
上节课谈到的电影评分推荐机制是
由用户已评分过的电影来预测用户未评分过的电影
这节课我们来学习 “基于内容的推荐”
我们首先用x_1,x_2来表示一部电影是属于爱情电影还是动作电影的比率,也就是成分
然后,每部电影我们都可以用一个特征向量来表示
所以,我们可以把对每个观众打分的预测,当成一个独立的线性回归问题,具体来说,比如对每一个用户j,我们都学习出一个参数\(\theta^{(j)}\) ,在这里是一个三维向量。 当然,普遍来说是n+1维向量
如图所示:
总结:
那么,问题来了,如何来计算 \(\theta\)?
计算\(\theta\)本质上就是一个基本的最小二乘回归或者线性回归
在这里可以把前面的常数项去掉
再重复一下:
所以,可以采取和线性回归一样的优化方法:(梯度下降)
与线性回归的唯一区别就是 : 没有1\m项!
好了,这就是基于推荐内容的推荐系统
下一次,我们讲了解没有推荐内容的推荐系统
注:
在这里摘抄一下别人的笔记:
3. Collaborative Filtering(协同过滤)
也就是 相似推荐? 例如你买了一本书,然后买完后,会显示:买了这本书的用户也买了其他书。
现在我们的情况:
然后通过用户对不同种类的电影的评价得到:
让我们写正式一点:
对于一个的时候:
当然,我们面对多个的时候:
这时候,我们需要的梯度下降规则就是:
总结:这相当于从theta推导x,
上次我们是从x来推导theta
4. Collaborative Filtering Algorithm 协同过滤算法的改进
在上一节中,我们介绍了2种算法:
那么,如何同时计算出theta和x呢?
我们可以发现,这两项本质上是一样的:
所以,要同时计算theta和x就可以优化这个函数:
以前是鸡生蛋蛋生鸡,现在是一起生。
不过要注意的是,在新的算法中,
我们要去掉x_0 = 1 这个前提,因为
X和\theta此时变成n维
总结:“
注意,使用新算法的时候,开始的时候由于2个参数都没有计算出来,也没有得到,所以要随机初始化!!!
5. Vectorization: Low Rank Matrix Factorization(算法的向量化及其实例)
先看一个实例:
所以这时候Y就包含了这些数据了
然后,如图所示,可以将这个矩阵分解:
这种方法也叫:low rank matrix factorization
低秩矩阵分解
如何应用?
6. Implementational Detail: Mean Normalization
细节介绍:均值归一化
例子:有一个用户没有给任何一个电影评分
这样我们就要采用均值归一化了
然后。使用均值归一化:
然后,使用过均值归一化后,我们要对这个矩阵进行操作,像之前一样用协同过滤算法
如图:
最后,感觉这一周学得不是很好,特别是推荐算法这一节,概念还是很模糊,可能是由于前面的下线性回归算法没有搞清楚吧。
做编程作业的时候一定要搞清楚!!!
week_9(推荐系统)的更多相关文章
- SVD的几何意义,以及在去噪,推荐系统中的应用
很多文章说到奇异值分解的时候总是大概罗列下它的功能,并没有对功能及物理意义进行过多的阐述,现在我来对奇异值进行整理一下. 一 奇异值分解 对任意的矩阵A∈Fmn,rank(A)=r(矩阵的秩),总可以 ...
- F#之旅6 - 简单AV推荐系统
上回说到用F#来写爬虫,这只是F#学习第一阶段的第一步.最开始,就对第一阶段做了这样的安排: 1.爬虫爬取AV数据 2.数据处理和挖掘 3.数据可视化(使用ECharts) 4.推荐系统 第一步很快就 ...
- [Recommendation System] 推荐系统之协同过滤(CF)算法详解和实现
1 集体智慧和协同过滤 1.1 什么是集体智慧(社会计算)? 集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web ...
- 推荐相关学习 & 典型算法、典型特征、典型推荐系统框架
总的来说,信息爆炸,产生了信息过载.解决的方法主要有两类:检索和推荐.检索是主动的有目的的.意图明确,推荐是非主动的.意图不明确. 推荐方面最经典的,就是协同过滤推荐了.我博客这里有两篇,一篇偏理论, ...
- 推荐系统学习--cb+cf 初见
对于推荐系统的推出有两个条件:1.信息过载 ,2用户没有明确的需求 推荐系统算法中常见的有基于内容推荐,协同过滤推荐,协同过滤还可以分为基于人的协同过滤,基于内容协同过滤:社会推荐等 如何理解这些推荐 ...
- Amazon的推荐系统
本文引自http://blog.csdn.net/fwing/article/details/4942886 现在的推荐系统特别火啊.做得最好的应该是Amazon了. 上面是Amazon的图书推荐. ...
- Java程序员的日常——SpringMVC+Mybatis开发流程、推荐系统
今天大部分时间都在写业务代码,然后算是从无到有的配置了下spring与mybatis的集成. SpringMVC+Mybatis Web开发流程 配置数据源 在applicationContext.x ...
- 转:netflix推荐系统竞赛
原文链接:Netflix recommendations: beyond the 5 stars (Part 1), (Part 2) 原文作者:Xavier Amatriain and Justin ...
- 推荐系统(协同过滤,slope one)
1.推荐系统中的算法: 协同过滤: 基于用户 user-cf 基于内容 item –cf slop one 关联规则 (Apriori 算法,啤酒与尿布) 2.slope one 算法 slope o ...
随机推荐
- ERP是什么呢?
ERP(Enterprise Resource Planning,企业资源计划)系统,是进行物质资源.资金资源和信息资源集成一体化管理的企业信息管理系统,ERP统领企业全局,为管理层服务,重心在于企业 ...
- C#并发编程-2 异步编程基础-Task
一 异步延迟 在异步方法中,如果需要让程序延迟等待一会后,继续往下执行,应使用Task.Delay()方法. //创建一个在指定的毫秒数后完成的任务. public static Task Delay ...
- Spring笔记三
Spring-03 1. AOP 1.1 概念 AOP为Aspect Oriented Programming的缩写,意为:面向切面编程.他是一种可以在不修改原来的核心代码的情况下给程序动态统一进 ...
- POJ2728 Desert King (最小生成树、0/1分数规划)
显然的0/1分数规划问题,用二分来解决,检验mid,就用prim算法求最小生成树,看总边权是否大等于0即可验证. 1 #include<bits/stdc++.h> 2 using nam ...
- 代码随想录第七天| 454.四数相加II、383. 赎金信 、15. 三数之和 、18. 四数之和
第一题454.四数相加II 给你四个整数数组 nums1.nums2.nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, ...
- CentOS 7 安全基线检查
注意:操作时建议做好记录或备份 1.设置密码失效时间 | 身份鉴别 描述: 设置密码失效时间,强制定期修改密码,减少密码被泄漏和猜测风险,使用非密码登陆方式(如密钥对)请忽略此项. 加固建议: 使用非 ...
- KubeEdge SIG AI发布首个分布式协同AI Benchmark调研
摘要:AI Benchmark旨在衡量AI模型的性能和效能. 本文分享自华为云社区<KubeEdge SIG AI发布首个分布式协同AI Benchmark调研>,作者:KubeEdge ...
- JavaScript基本语法(函数与对象)
3.函数 #①内置函数 内置函数:系统已经声明好了可以直接使用的函数. #[1]弹出警告框 alert("警告框内容"); #[2]弹出确认框 用户点击『确定』返回true,点 ...
- 获取cpu的核数
//获取cpu的核数 System.out.println(Runtime.getRuntime().availableProcessors());
- photoshop 2021 for mac安装教程,亲测可用!!!
小编分享下photoshop cc 2021 for mac 安装教程,适配M1芯片,让大家完美使用ps2021,畅享所有新功能Adobe Photoshop2021(简称PS) 新版本主要增加了Ne ...