Andrew Ng机器学习课程笔记--week9(下)
来源:互联网 发布:凯聪网络摄像头app 编辑:程序博客网 时间:2024/05/22 07:48
本周内容较多,故分为上下两篇文章。
本文为下篇。
一、内容概要
1. Anomaly Detection
- Density Estimation
- Problem Motivation
- Gaussian Distribution
- Algorithm
- Building an Anomaly Detection System(创建异常检测系统)
- Developing and Evaluating an Anomaly Detection System
- Anomaly Detection vs. Supervised Learning
- Choosing What Features to Use
- Multivariate Gaussion Distribution(多元高斯分布)
- Multivariate Gaussion Distribution
- Anomaly Detection using the Multivariate Gaussion Distribution
2. Recommender System
- Predicting Movie
- Problem Formulation
- Content Based Recommendations
- Collaborative Filtering(协同过滤)
- Collaborative Filtering
- Collaborative Filtering Algorithm
- Low Rank Matrix Factorization(低秩矩阵分解)
- Vectorization(向量化): Low Rank Matrix Factorization
- Implementational Detail:Mean Normalization -
二、重点&难点
Recommender System(推荐系统)
1.Predicting Movie
1)Problem Formulation
下面将以推荐电影为例来介绍推荐系统的实现。
上面的分数表示用户对该电影的评分(0~5分,?表示未获得评分数据)
为方便下面叙述,对如下符号进行说明:
nu :表示用户数量nm :表示电影数量- r(i,j):如果等于1则表示用户j对电影i进行了评分
y(i,j) :表示用户j对电影i的评分
上面例子中可以知道
2)Content Based Recommendations(基于内容的推荐)
1.获取特征向量
为了实现推荐,我们为每部电影提取出了两个特征值,即x1(浪漫指数)和x2(动作指数)
由上表可知每部电影都可以用一组特征向量表示:
- 每一步电影都加上一个额外的特征,即
x0=1 - 每部电影都有一个(3,1)的特征向量,例如第一部电影(Love at last):
x(1)=[1,0.9,0.1]T - 对于所有数据我们有数据特征向量组为
{x(1),x(2),x(3),x(4),x(5)}
2.特征权重θ
用户j对电影i的评分预测可以表示为
3. 线性回归预测
和线性回归一样,可以得到如下优化目标函数:
- 对单个用户而言
- 对所有用户而言
应用梯度下降:
2.Collaborative Filtering(协同过滤)
1)Collaborative Filtering
在之前的基于内容的推荐系统中,对于每一部电影,我们都掌握了可用的特征,使用这些特征训练出了每一个用户的参数。相反地,如果我们拥有用户的参数,我们可以学习得出电影的特征。即由θ求出x。
注意累计符号的上限由
nu 变成了nm
但是如果我们既没有用户的参数也没有电影的特征该怎么办?这时协同过滤就可以起作用了,只需要对优化目标函数进行改进,如下:
对代价函数求偏导结果如下:
协同过滤算法使用步骤如下:
1. 初始 x (1) ,x (2) ,…,x (
2. 使用梯度下降算法最小化代价函数
3. 在训练完算法后,我们预测
3. Low Rank Matrix Factorization(低秩矩阵分解)
1)Vectorization(向量化): Low Rank Matrix Factorizationv
(同样的例子)很显然我们可以得到评分矩阵Y
推出评分
如何寻找与电影i相关的电影j呢?满足
2)Implementational Detail:Mean Normalization
假如增加了一个用户marsggbo,他很单纯,这5部电影都还没看过,所以没有评分数据,这是可以通过均值正则化来初始化数据,具体实现如下:
此时的评分矩阵为
首先求出每行的均值(未评分不用计算)
预测值为
MARSGGBO♥原创
2017-8-14
- Andrew Ng机器学习课程笔记--week9(下)
- Andrew Ng机器学习课程笔记--week9(上)
- Andrew Ng机器学习笔记week9 异常检测、推荐系统
- Andrew Ng机器学习课程笔记--week5(下)
- Andrew Ng 《机器学习》课程笔记
- Andrew Ng机器学习课程笔记
- Andrew Ng机器学习课程笔记--week3
- Andrew Ng机器学习课程笔记--week4
- Andrew Ng机器学习课程笔记--week6
- Andrew Ng机器学习课程笔记--week7
- Andrew Ng机器学习课程笔记--week8
- Andrew Ng机器学习课程笔记--汇总
- 机器学习——Andrew NG老师课程学习笔记
- Andrew Ng机器学习课程之学习笔记---牛顿方法
- 机器学习课程笔记-andrew ng 多参数线性回归
- Andrew NG 机器学习课程笔记(一)
- Andrew NG 机器学习课程笔记(二)
- Andrew NG 机器学习课程笔记(三)
- left join on 里用逗号分隔表名
- 频道拖拽
- Qt 添加右键菜单
- C++之认识template元编程(48)---《Effective C++》
- Python3之反射及反射在模块上的应用
- Andrew Ng机器学习课程笔记--week9(下)
- PyAutoGUI 简介
- sql语句条件执行顺序
- hdu1272
- 微信小程序自动换行
- tomcat配置默认路径
- 数据预处理
- 剑指offer-16:反转链表(单链表逆序)
- ReactNative——数据存储AsyncStorage