9 i6 X8 r0 ]& g% i0 U2 S玻尔兹曼从玻尔兹曼分布到推荐算法
$ i- L1 V* k. K( _+ Z; C5 W% V神经网络的两大基本功能是: 特征变换和分类(回归)预测。每个基本的神经网络模型至少具备两者功能之一。而RBM则是用于进行特征变换的。考虑输入特征为 以及转化的特征为 (注: 这里 是 的另一种表示,而不是预测结果,这里不考虑预测的问题),RBM的任务是找到 的映射关系。基本的神经网络模型,通常用决策函数 表示这种映射关系,而对于RBM来说,则用联合概率分布 表示这种映射关系。无论是判别函数还是联合概率分布,都是可以描述变量关系的,且在任意条件下二者可以互相转化。因此,RBM从概率的角度去描述变量之间的关系,提供了另外一种解决特征提取问题的思路。 来源:https://zhuanlan.zhihu.com/p/24989699 玻尔兹曼分布是基于最大信息熵原理的,而当一个随机变量的平均值给定时,还可以有多种概率分布与之相容。现在的问题是如何从这些相容的概率分布中挑选出“最可几”的分布来作为实际上的分布。显然,要做到这点,必须有个挑选标准,最大信息熵原理就可作为这种挑选标准。 信息熵最大值的概率分布为: ' y/ m" _; g# [' V
. h2 }* i9 y7 G# U# |, qRBM模型的损失函数与优化
7 }$ Z! c7 o. H+ n! }! j# Z- GRBM模型的关键就是求出我们模型中的参数W,a,bW,a,b。如果求出呢?对于训练集的m个样本,RBM一般采用对数损失函数,即期望最小化下式:
. l5 O. K3 V7 b. v# j7 Q1 \. O \
/ I6 h- X- T1 x2 ]- G, n9 M& l1 T来源:https://www.cnblogs.com/pinard/p/6530523.html 受限玻尔兹曼机在协同过滤的应用。 将该模型应用到协同过滤需要解决以下两个问题: - 鉴于RBM中的单元都是二元变量, 如果用这些二元变量来对整数值的评分建模?
- 用户的打分是非常稀疏的, 亦即用户只会对很少的物品(比如电影)打分, 如何处理这些缺失的评分?* T6 o, n3 E3 C4 g
2. 基于RBM的协同过滤 R. R. Salakhutdinov等人提出了一种使用RBM来进行协同过滤的方法: 假设有m个电影, 则使用m个softmax单元来作为可见单元来构造RBM. 对于每个用户使用不同的RBM, 这些不同的RBM仅仅是可见单元不同, 因为不同的用户会对不同的电影打分, 所有的这些RBM的可见单元共用相同的偏置以及和隐藏单元的连接权重W. 该方法很好的解决了之前提到的问题: - 使用softmax来对用户的评分进行建模, softmax是一种组合可见单元, 包含k个二元单元, 第i个二元单元当且只当用户对该电影打分为i时才会置为1.
- 如果一个用户没有对第j个电影评分, 则该用户的RBM中不存在第j个softmax单元.
5 u) e3 p$ j. D( N7 T5 i
来源:http://www.cnblogs.com/kemaswill/p/3269138.html 3 m, ~& u/ y( Z; h- V
6 X) y- Q. }4 E1 [4 [+ L* F+ L0 ^- d% ]4 c9 O( o& L
' Q" [ j+ E1 h# B
% X: d1 `# Y& s9 B) d& {! n s
/ W' e8 `1 f6 n+ V2 ?9 V
5 I) u+ I. J8 g# M% T! Q: [! ]9 V. v. |! P& n
: R/ H+ `8 M- m4 |. @/ @, [9 @& Z6 T" ^7 C3 s' N c+ `/ [+ [+ @9 W6 _. j
! r7 D$ i9 w& K- N" o) g% `9 [
. H; _ L4 _- t: q! ]8 N
|