学习
实践
活动
专区
工具
TVP
写文章

受限玻尔兹曼机

关注AI君,领略人工智能之美

受限玻尔兹曼机

Restricted Bolltzmann Machine

概述

各位读者,新年好!

在《技术词条》系列文章的上一篇中,AI君讲了一个监督式学习的算法LDA,这篇文章AI君就来讲一个非监督式学习的经典算法——受限玻尔兹曼机,英文全称Restricted Boltzmann Machine, 简称RBM。

受限玻尔兹曼机(RBM)能学习并发现数据的复杂规则分布,将多个RBM堆叠就构成了深度置信网络(deep belief network, DBN),从而可以从更加复杂的高维输入数据中抽取维数更低、区别度较高的特征。

正是凭借着它与众不同的特点,受限玻尔兹曼机在各种商用推荐系统中发挥着不可替代的作用,比如购物推荐,搜索系统等。

示例

接下来以推荐系统为例,讲解受限玻尔兹曼机算法的原理。如下图所示,受限玻尔兹曼机是一种两层的神经网络模型,由可见层(visible layer)和隐藏层(hidden layer)组成,每层有若干个节点。隐藏层和可见层之间是无向(undirected)连接的,但隐藏层各单元之间没有连接,可见层各单元之间也没有连接。各隐藏节点和各可见节点之间是相互独立的。

观测数据从可见层传入,隐藏层数据则代表了推荐结果。图中各参数的含义。

v表示可见层节点的状态,h表示隐藏层节点的状态。一般情况下,v 和 h 只在中二选一进行取值,这种结构被称做二元受限玻尔兹曼机(Binary RBM)。

与普通神经网络类似,w 表示可视层和隐藏层的连接权重(weight),b 和c 表示连接偏置(bias)。

受限玻尔兹曼机一个最主要的优点就是所有可见节点独立于其它可见节点。从图中可以看出,隐藏层节点之间没有连接,当观测数据在可视层给定后,隐藏层的各个节点之间是相互独立的。

大部分机器学习方法的本质都是一种优化方法,因为每种方法都有相应的能量函数(energy function)或者损失函数(loss function)。算法训练的过程就是优化能量函数的过程。受限玻尔兹曼机的能量函数如下:

其中,wij表示第 i 个可视节点和第 j 个隐藏节点的连接权值;bi和 bj则表示偏置;v 和 h 表示节点状态,二元RBM中取值为0或者1。

与普通神经网络类似,RBM算法在训练阶段,通过不断地训练,学习更新权值和偏置参数。然后用学习到的参数预测评价输出(隐藏层)。

总结

通过上述上述例子中我们看到受限玻尔兹曼机本质是一种两层的神经网络结构。

这一神经网络结构包括隐藏层和可视层,一般可视层用来代表数据;隐藏层用来发掘数据的联系。

受限玻尔兹曼机作为非监督式学习领域的经典算法,能够自动学习数据特征广泛应用于目标检测、识别、预测和可视化任务中。

祝好!

AI君

2018年1月1日 于欧洲

End

图片来源

http://www.aitists.com/wp-content/uploads/2016/07/7-8-2.jpg

Fischer A,I.gel C.An introduction to restricted Boltzmann machines[C]//Proc of the 17th Iberoamerican Congress on Progress in Pattern Recognition,Image Analysis,Com puter Vision,and Applications,2012:23.Fig.1.

参考文献

Fischer A,I.gel C.An introduction to restricted Boltzmann machines[C]//Proc of the 17th Iberoamerican Congress on Progress in Pattern Recognition,Image Analysis,Com puter Vision,and Applications,2012:14—36.

关注AI君,领略人工智能之美

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180101G0OYBH00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

同媒体快讯

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券