《白话深度学习与Tensorflow》学习笔记(7)RBM限制玻尔兹曼机

不受限的:在实际工程中用处不大,所以目前只需要研究受限玻尔兹曼机。

一层是可视化层,一般来说是输入层,另一层是隐含层,也就是我们一般指的特征提取层。

RBM是可以多层叠加在一起的。


上面的h1到hn是n个实数,下面的v1到vm是m个实数,都是0到1之间的数字,它们各自组成了一个h向量和一个v向量。

逻辑回归:其实这是一个伯努利分布(二项分布)的演化,正例概率是p,负例为1-p。

令s=P/1-p  t=ln(s).




f(x)就是1产生的概率p,x就是这个多维向量。

逻辑回归的损失函数:


最大似然度:有一个未知参数向量,这是一种条件描述。观测对象数据用x来表示,在观测过程中x会有一定的概率分布。

未知向量

如果你观测到一个正态分布,那么P(x)就表示为


最大似然:一个连乘关系的最大值可以根据取对数后找到极大值的点。

对于完整的X=wTx,x1到xn叫做“解释变量”,而u叫做随机扰动项,是在随机过程中的一种不确定的值,且这个u也是服从正太分布的。

3sigma准则。

损失函数:

RBM的损失函数是CD(contrasive divergence对比散度)学习目标是最大似然度 让网络学习到一个矩阵,使得网络中拟合的概率“全局性”最大。

RBM的能量模型:



就是参数w,c,b后面的能量表示:一个是权重w连接两侧节点的v和h产生的,必须三个都为1才算有能量的输出;另外两个则是节点上的偏置和节点输入的向量维度值相乘,也必须都为1才算有能量的输出。

通过最大化这个P(v)(取其对数的值)对于对比散度,只利用这两个式子,然后让向量在这个网络的两侧不断反弹,吃书画网络权重w,用一个向量v通过网络映射来得到h,然后是第一次反弹,用h通过网络反过来生成v’;然后是第二次反弹,用这个v’通过网络生成h’。然后根据L函数的导数来更新w。

能量模型的意义:

[if !supportLists]第一、[endif]RBM网络是一种无监督学习的方法,无监督学习的目的是最大可能的拟合输入数据,所以学习RBM网络的目的是让RBM网络最大可能地拟合输入数据。

[if !supportLists]第二、[endif]能量模型能为无监督学习方法提供两个东西:a)目标函数;b)目标解。

[if !supportLists]第三、[endif]任何概率分布都可以转变成基于能量的模型,而且很多的分布都可以利用能量模型的特有的性质和学习过程,有些甚至从能量模型中找到了通用的学习方法。

能量模型需要两个东西,一个是能量函数,另一个是概率,有了概率才能跟要求解的问题联合起来。

深度学习中可以由多个RBM叠加而成。

应用:分类问题,降维可进行串并联的使用,也就是通过多个RBM模型来形成一个完整的工作网络。

你可能感兴趣的:(RBM,限制玻尔兹曼机,深度学习,能量模型)