第三课 week2
文章目录
1.1 推荐系统
1.2 使用每个特征
参数含义:
n u n_u nu:用户数量
n m n_m nm:电影数量
n n n:特征数量
x ( i ) x^{(i)} x(i):第 i i i 个电影的特征
m
(
j
)
m^{(j)}
m(j)只是一个常数,消除
m
(
j
)
m^{(j)}
m(j)项计算会更加方便。
1.3 协同过滤算法
执行求和的第一种方法是先对用户求和,然后为每部有评级的电影设置一个项。
执行求和的另一种方法是先看电影1,然后包括所有对电影1评分的用户,然后看电影2和所有对电影2评分的用户。
1.4 二进制标签
很多推荐系统里并不是1~5分去打分,而是使用二进制标签去判断“喜欢”还是“不喜欢”。
在该模型中,将预测
y
(
i
,
j
)
=
1
y^{(i,j)}=1
y(i,j)=1的概率,即用户喜欢或参与使用此项目。
2.1 均值归一化
均值归一化将帮助该算法为尚未对任何电影进行评级的新用户更好的预测电影的评分。
2.2 Tensorflow实现
2.3 寻找相关特征
对于给定的项目
i
i
i的特征
x
(
i
)
x^{(i)}
x(i),比如电影
i
i
i相关的其他电影,那么我们将尝试寻找具有特征
x
(
k
)
x^{(k)}
x(k)的项目
k
k
k,
x
(
k
)
x^{(k)}
x(k)类似于项目
x
(
i
)
x^{(i)}
x(i)。
对于向量
x
(
i
)
x^{(i)}
x(i)和
x
(
k
)
x^{(k)}
x(k),通过计算平方距离来确定其相似性。
冷启动问题:当有一个新项目时,很少有用户评价过,或者一个新用户评价的项目很少,那么该项目或该用户的协同过滤可能不会非常准确。
3.1 协同过滤与基于内容过滤对比
在协同过滤中,有许多用户对不同项目进行评分。而在基于内容的过滤中,我们有用户的特征和项目的特征,我们想找到一种方法来找到用户和项目之间的良好匹配。我们的做法是计算这些向量, v u v_u vu 代表用户, v m v_m vm 代表电影中的项目,然后对他们进行点积以尝试找到良好的匹配。
3.2 基于内容过滤的深度学习方法
3.3 从大型目录中推荐
两步:检索和排名。
3.4 推荐系统中的伦理
3.5 Tensorflow实现
4.1降低特征数量
注意: z z z 轴是平面里的轴,不是三维空间的。
进行特征压缩。
4.2 PCA算法
4.3 PCA代码实现