Neural Networks for Machine Learning Lecture 13
课程地址:https://www.coursera.org/learn/neural-networks
老师主页:http://www.cs.toronto.edu/~hinton
备注:笔记内容和图片均参考老师课件。
这周介绍了Sigmoid Belief Networks,这里主要回顾下选择题。
对于一般的Sigmoid Belief Networks,网络及计算公式如下:
题目中的网络为
所以
$h_1,h_2$的概率是$\frac 1 2$是因为没有输入,由由于$h_1,h_2$没有连接,所以$h_1,h_2$独立,从而
选择题 2
import numpy as np
def prob(w1, w2, h1, h2):
s = w1*h1 + w2*h2
return 1/(1 + np.exp(-s))
w1 = -6.90675478
w2 = 0.40546511
p2 = prob(w1, w2, 0, 1)
p2
0.60000000045404056
选择题 3
p3 = p2*0.5*0.5
p3
0.15000000011351014
选择题 4
所以
p4 = (1 - p2)*0
p4
0.0
选择题 5
p5 = (1 - p2)*1
p5
0.39999999954595944
选择题 6
w1 = 10
w2 = -4
s1 = prob(w1, w2, 0, 1)
s2 = prob(w1, w2, 0, 0)
p6 = s1 / (s1 + s2)
p6
0.034723337448322934
选择题 7
s3 = prob(w1, w2, 1, 1)
s4 = prob(w1, w2, 1, 0)
p7 = s3/(s3 + s4)
p7
0.49939242873941264
最后回顾编程题11,参考资料
编程题 11
我们要计算的量是
对$-E (v,h)$进行处理
最后一步左边一共有$2^m$项($v\in R^m$),右边是$m$个二项的乘积,对比之后可以发现两边相等,这样做的好处在于不需要计算$2^m$次,只要计算$m$项的乘积。
利用上式计算$Z$
对于此题来说,$n =10$,所以$v$一共有$2^n=2^{10}=1024$种状态,只要对$1024$项求和即可,里面的乘积项可以利用向量和矩阵的乘法快速计算出来。
备注:作业里面的small_test_rbm_w是我这里$W$的转置。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Doraemonzzz!
评论
ValineLivere