解开玻尔兹曼机的封印会发生什么?

上一篇文章中,小夕讲述了逻辑回归为了抗衡贝叶斯网,也开始了自己的进化。然而令我们没有想到的是,逻辑回归最终竟然进化成了一个生成式模型——受限玻尔兹曼机(RBM),也就是变成了敌方(生成式模型)的武器。

 

意外得到RBM的朴素贝叶斯万分惊喜,并且燃起了将它自己做的贝叶斯网与敌方送的RBM融合的冲动!

 

那么朴素贝叶斯的疯狂想法能不能实现呢?

 

 

还是按照惯例,先叙述背景姿势。在《朴素贝叶斯到贝叶斯网》中,小夕为朴素贝叶斯画了一幅肖像:

 

朴素贝叶斯看到自己的肖像后,深感自己的朴(弱)素(鸡),于是进行了进化——抛弃自己的条件独立性假设,建模特征向量X内部各个维度的条件依赖关系。于是,朴素贝叶斯进化出了下图的贝叶斯网:

 

在上一篇文章《逻辑回归到受限玻尔兹曼机》中,RBM相比逻辑回归有了非常大的进步,可以更加合理的计算每个样本与每个类别的“亲密度”,也就是与之关联的概率图模型中能量函数E(v1,v2)的大小。

 

RBM看起来这么复杂,那么灵魂画师夕小瑶能不能像对贝叶斯一样,给RBM画一个肖像呢?

 

RBM的肖像?

当然可以啦~从上一篇文章对能量函数E(v1,v2)的定义来看,这个函数计算向量v1和v2的“亲密度”时是没有方向的,也就是说E(v1,v2)一定等于E(v2,v1)的。所以对于图中的任意两个点来说,他们之间的边是没有方向的(注意区分朴素贝叶斯和贝叶斯网中的有向边哦)。所以对于RBM中有连接的两个点:

 

 

边是无向的,并且用一个蓝色小方块表示用能量函数连接。

 

按照上一篇文章的表述,RBM中的一个参数——矩阵W连接了特征向量X中的每个维度与类别向量Y的每个维度,因此RBM应该是下面这个样子的:

(小方块太多啦,省略掉了~但是每条边依然代表着这两个节点用能量函数(中的参数)连接)

 

诶?有没有觉得。。。还不够乱!(好丧心病狂的想法

 

回想一下,从朴素贝叶斯到贝叶斯网就是经历了将X内部的各个维度(各个随机变量)之间的关系也建模了!而RBM则是跟朴素贝叶斯一样的,对X内部(更一般化的说还包括Y内部)的随机变量是有独立性假设的。而在《朴素贝叶斯到贝叶斯网》中已经详细叙述了这个独立性假设在很多情况下是非常致命的!

 

所以,才不要什么人为的假设呢~解开玻尔兹曼机身上的枷锁吧~让X内部以及Y内部的随机变量也可以随意的交流(即,使模型具备描述X和Y内部各随机变量之间条件依赖性关系的能力,只不过这里直接描述了双向的条件依赖性关系)。所以从图中看是这样子的:

玻尔兹曼机:喵喵喵~最喜欢自由的感觉啦~

 

那么在数学上怎么描述呢?当然可以直接照搬RBM中的做法啦。

 

RBM的假设函数中的能量函数:

用一个矩阵W连接了X所有维度与Y的所有维度。因此要连接X内部所有维度和Y内部所有维度的话,只需要:

 

 

相信聪明的你很轻松就看懂啦,这里用两个与W同理的矩阵R、S来分别连接v1内部的各维度以及v2内部的各维度。

 

所以玻尔兹曼机(BM)的假设函数跟RBM的形式一样,都是


其中配分函数Z:

只是将里面的能量函数换成上面的更丧心病狂的形式了而已~

而根据《一般化机器学习》,我们已经理解了玻尔兹曼机(BM)的假设函数,那么还需要探索如何训练这个自由而强大的模型。而如何训练,即寻找或设计一个合适的损失函数,然后选择合适的最优化算法来最小化损失函数从而得到model。

然而,自由而随意所带来的代价就是:

非!常!难!以!训!练!

 

设想一下,假如损失函数我们就用最通用的似然函数(诶诶?是不是还缺一篇写损失函数的文章?没事没事,还好在《EM算法》中有讲似然函数),那么任何主流的最优化算法都会计算量爆炸(想象一下对玻尔兹曼机的假设函数求导,尤其是对配分函数这个恐怖大分母!),哪怕是最简单的梯度下降法(当然这里最大化似然函数就是梯度上升啦),都会使得工程上训练BM很不现实。

 

那么怎么办呢?

一个主流的解决办法是使用一种改良的梯度上升法——MCMC算法来最大化似然函数。

这个算法的由来就是一个纯数学过程了,需要一篇很长很崩溃的堆砌公式的文章才能讲清楚,所以。。。详情可以参考《Deep Learning》(中文版链接https://github.com/exacity/deeplearningbook-chinese)的第18章啦( ̄∇ ̄),数学不太好的慎入哦(小夕诚实的讲,小夕也没有很清晰的理解透...所以现在讲的肯定不如书上好~)

 

诶诶?爱思考的小夕又有疑问惹:

 

首先,这就是玻尔兹曼机的全部潜力了吗?怎么看着能量函数有点眼熟呢。。。有点像,神经张量网络(NTN)?诶?会不会跟神经网络有关系呢?会不会。。。会不会跟深度学习碰撞出火花?叫做深度玻尔兹曼机

 

而且,既然贝叶斯网络是用有方向的边去描述的,玻尔兹曼机是用无方向的边去描述的,而且这两者看起来都很自由~那这两个。。。哪个更好呢?

 

就让小夕站在概率图的高度来描述一场新的战争吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/481179.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

KMP算法的核心,是一个被称为部分匹配表(Partial Match Table)的数组以及next数组求解

KMP算法的核心,是一个被称为部分匹配表(Partial Match Table)的数组。我觉得理解KMP的最大障碍就是很多人在看了很多关于KMP的文章之后,仍然搞不懂PMT中的值代表了什么意思。这里我们抛开所有的枝枝蔓蔓,先来解释一下这个数据到底是什么。 对…

Softmax(假神经网络)与词向量的训练

今天终于要完成好久之前的一个约定了~在很久很久以前的《如果风停了,你会怎样》中,小夕提到了“深刻理解了sigmoid的同学一定可以轻松的理解用(假)深度学习训练词向量的原理”,今天就来测测各位同学对于sigmoid的理解程度啦~习惯性的交待一下…

二叉树的先序遍历、中序遍历、后序遍历、层次遍历-图文详解

概述 二叉树的遍历是一个很常见的问题。二叉树的遍历方式主要有:先序遍历、中序遍历、后序遍历、层次遍历。先序、中序、后序其实指的是父节点被访问的次序。若在遍历过程中,父节点先于它的子节点被访问,就是先序遍历;父节点被访问…

写给我的女神,一个用灵魂歌唱的小精灵

我对娱乐圈不感兴趣,也很少关注娱乐圈。对于专业的歌唱艺术更是不在行。但我认为,一首歌,不应因为技法的平庸而被认为是烂歌,不应因为曲风的通俗而被认为是俗歌,不应因为声音和唱法的非主流而被认为是“非主流”歌曲。…

完美世界2020编程题-救雅典娜 英雄AB PK

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请注明出处。 https://blog.csdn.net/u012319493/article/details/82154113 </div><link rel"stylesheet" href"https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-f…

训练神经网络时如何确定batch size?

前言 当我们要训练一个已经写好的神经网络时&#xff0c;我们就要直面诸多的超参数了。这些超参数一旦选不好&#xff0c;那么很有可能让神经网络跑的还不如感知机。因此在面对神经网络这种容量很大的model前&#xff0c;是很有必要深刻的理解一下各个超参数的意义及其对model的…

腾讯2013实习生笔试题+答案1-5aadaa 6-10adbcc 11-15 acacc16-20 bbddc

一、 单项选择题1) 给定3个int类型的正整数x&#xff0c;y&#xff0c;z&#xff0c;对如下4组表达式判断正确的选项(A) Int a1xy-z; int b1x*y/z;Int a2x-zy; int b2x/z*y;int c1x<<y>>z; int d1x&y|z;int c2x>>z<<y; int d2x|z&y;A) a1一定等…

训练神经网络时如何确定batch的大小?

当我们要训练一个已经写好的神经网络时&#xff0c;我们就要直面诸多的超参数啦。这些超参数一旦选不好&#xff0c;那么很有可能让神经网络跑的还不如感知机。因此在面对神经网络这种容量很大的model前&#xff0c;是很有必要深刻的理解一下各个超参数的意义及其对model的影响…

【论文翻译】学习新闻事件预测的因果关系

一、摘要 本文在这项工作中解决的问题是产生一个可能由给定事件引起的可能的未来事件。 论文提出了一种使用机器学习和数据挖掘技术建模和预测未来新闻事件的新方法。论文的Pundit算法概括了因果关系对的例子&#xff0c;以推断因果关系预测因子。为了获得精确标记的因果关系示…

阿里内推算法岗位编程笔试题

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/u014744127/article/details/79431847 </div><link rel"stylesheet" href"https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_v…

从逻辑回归到最大熵模型

在《逻辑回归》与《sigmoid与softmax》中&#xff0c;小夕讲解了逻辑回归背后藏着的东西&#xff0c;这些东西虽然并不是工程中实际看起来的样子&#xff0c;但是却可以帮助我们很透彻的理解其他更复杂的模型&#xff0c;以免各个模型支离破碎。本文中&#xff0c;小夕将带领大…

【论文翻译】统一知识图谱学习和建议:更好地理解用户偏好

一、摘要 将知识图谱&#xff08;KG&#xff09;纳入推荐系统有望提高推荐的准确性和可解释性。然而&#xff0c;现有方法主要假设KG是完整的并且简单地在实体原始数据或嵌入的浅层中转移KG中的“知识”。这可能导致性能欠佳&#xff0c;因为实用的KG很难完成&#xff0c;并且…

机器学习与深度学习常见面试题

为了帮助参加校园招聘、社招的同学更好的准备面试&#xff0c;SIGAI整理出了一些常见的机器学习、深度学习面试题。理解它们&#xff0c;对你通过技术面试非常有帮助&#xff0c;当然&#xff0c;我们不能只限于会做这些题目&#xff0c;最终的目标是真正理解机器学习与深度学习…

EJB的相关知识

一、EJB发展历史 IBM、SUN公司力推EJB前景&#xff0c;大公司开始采用EJB部署系统。主要价值&#xff1a;对分布式应用进行事务管理 出现问题&#xff1a; ①EJB的API难度大 ②规范要求必须抛出特定异常的接口并将Bean类作为抽象类实现&#xff08;不正常不直观&#xff09; ③…

深度前馈网络与Xavier初始化原理

前言 基本的神经网络的知识&#xff08;一般化模型、前向计算、反向传播及其本质、激活函数等&#xff09;小夕已经介绍完毕&#xff0c;本文先讲一下深度前馈网络的BP过程&#xff0c;再基于此来重点讲解在前馈网络中用来初始化model参数的Xavier方法的原理。 前向 前向过程很…

线性代数应该这样讲(三)-向量2范数与模型泛化

在线性代数&#xff08;一&#xff09;中&#xff0c;小夕主要讲解了映射与矩阵的关系&#xff1b;在线性代数&#xff08;二&#xff09;中&#xff0c;小夕讲解了映射视角下的特征值与特征向量的物理意义。本文与下一篇会较为透彻的解析一下向量的二范数与一范数&#xff0c;…

SOA基础

一、架构的演化&#xff1a; 结构化 客户端-服务端 三层 N层 分布式对象 组件 服务&#xff1a;是应用程序或者企业的不同功能单元&#xff0c;每个功能单元作为实例存在&#xff0c;并与应用程序和其他组件交互。通过基于消息的松散耦合的通信模型提供服务。 二、体系结…

从点到线:逻辑回归到条件随机场

开篇高能预警&#xff01;本文前置知识&#xff1a;1、理解特征函数/能量函数、配分函数的概念及其无向图表示&#xff0c;见《逻辑回归到受限玻尔兹曼机》和《解开玻尔兹曼机的封印》&#xff1b;2、理解特征函数形式的逻辑回归模型&#xff0c;见《逻辑回归到最大熵模型》。从…

WSDL基础知识

一、WSDL的定义 将网络服务描述为对包含面向文档或过程的信息进行操作的一组端点的XML格式 服务接口 访问规范 服务地点 定义Web服务的公共接口&#xff08;包括功能、如何调用&#xff09; 定义与目录中列出的Web服务交互所需的协议绑定和消息格式 抽象地描述了支持的操…

【NLP】Google BERT详解

版权声明&#xff1a;博文千万条&#xff0c;版权第一条。转载不规范&#xff0c;博主两行泪 https://blog.csdn.net/qq_39521554/article/details/83062188 </div><link rel"stylesheet" href"https://csdnimg.cn/release/phoenix/template/cs…