从逻辑回归到受限玻尔兹曼机

在那很久很久以前,可爱的小夕写了一篇将逻辑回归小题大做的文章,然后在另一篇文章中阐述了逻辑回归的本质,并且推广出了softmax函数。

 

从那之后,小夕又在一篇文章中阐述了逻辑回归与朴素贝叶斯的恩仇录,这两大祖先级人物将机器学习的国度划分为两大板块——生成式与判别式

 

后来,朴素贝叶斯为了将自己的国度发扬光大,进化出了贝叶斯网以抗衡逻辑回归,一雪前耻。

 

然而,傲娇的逻辑回归怎能就此善罢甘休呢?

 

ps:对上面的故事有不认识的名词的同学,务必点一下上面的文章链接复习一下哦。

 

 

先复习一下逻辑回归的结论。在之前的文章1文章2中已经解释了,逻辑回归是个二类分类器,它的假设函数是,并且本质上这个假设函数算出来的是其中一个类别的后验概率p(y=1|x)

而sigmoid函数本身并不单纯,而是一个现实意义非常丰富的函数,所以逻辑回归模型可以表示成

p(y=1|x) = exp(x与类别1的"亲密度") / exp(x与所有类别的"亲密度"之和)

其中,亲密度直接用内积x·y描述。

 

对上面的结论有疑问的同学,回看一下那两篇文章哦。

再次提醒!前方超级高能预警!!!

请务必在进入战场前确认已经装备以下三神器:

1、浅入深出被人看扁的逻辑回归

2、sigmoid与softmax的血缘关系

3、逻辑回归与朴素贝叶斯的战争

 

显然,逻辑回归这么简单的model有很大的改良余地。尤其是所谓的亲密度!

 

想象一下,在逻辑回归中,亲密度就是用x与y的内积来表示了,但是这个做法过于简单了。我们暂且不管最佳描述亲密度的函数是什么,我们就直接用一个函数E(x,y)来表示x与y的亲密度,然后我们尽可能的让E(x,y)的形式变得合理,尽可能的用最优的方式去描述x与y的亲密度。

 

首先,描述x与y的亲密度,就是描述两个向量的亲密度嘛~为了避免让大家思考的时候总是带着机器学习的影子,我们不妨用两个一般的向量v1和v2来表示x与y。

为了找出最优的描述v1与v2亲密度的函数E(v1,v2),我们想想以前直接用v1·v2来描述亲密度有什么缺陷。

 

设想一下,如果v1代表老板,v2代表老板手下的秘书呢?

 

显然,v1与v2的亲密度来说,v2并没有多大的发言权,老板(v1)想跟谁亲密,那么v1就跟哪个v2的亲密度大。所以!我们需要一个权重来表示某个向量在计算亲密度时的说话分量:

 

我们就用参数b来表示v1的说话分量,用参数c来表示v2的说话分量啦~

 

然后,再想象一下,v1和v2的亲密度完全可以体现在方方面面呀~比如老板与小王由于都喜欢美妆从而比较亲密,老板与小李都喜欢打篮球从而比较亲密,但是由于老板心里觉得美妆比篮球更重要,所以综合来看老板跟小王更亲密。

 

而之前用v1直接用v2做内积的话,显然向量的各个维度(篮球、美妆等各个方面)的权重都是相等的,无法描述不同维度在老板心里的权重。那么如何分出来不同维度在老板心里的权重呢?

显然!在v1与v2之间加个同样维度的向量描述各个维度权重!这个参数暂时用小写的w表示。诶?不对啊,如果w是个向量的话,v1、v2、w这三个向量无论怎么计算,都不可能乘出来一个表示亲密度的值啊(回想一下做矩阵乘法时的结果的维度与各乘子的维度的关系)

所以这里的w不能是向量!假如v1和v2的维度是n的话,那么w只需要是个n*n对角矩阵就可以啦!这样就是维度 1*n 乘以 n*n 乘以 n*1 ,这样得到的结果就是一个值了~

 

所以,我们把前面的参数b和c也高级化一下,让b也能刻画不同维度下v1的分量,以及c刻画不同维度下v2的分量,所以参数b和c就是个n维向量~,就是维度1*n与维度n*1相乘,直接得到一个值。v2与c同理。)

再想想,这时参数b和c是n维向量,w是个n*n的对角矩阵。还能继续优化亲密度的描述吗?

 

设想一下,如果老板(v1)的第1维的含义是“喜欢化妆”,秘书(v2)的第5维的含义是“喜欢买化妆品”,那么当v1与v2直接求内积的时候,哪怕v1的第1维与v2的第5维会碰撞出强烈的亲密度,但是由于v1与v2直接求内积,也就是说v1的第i维只能跟v2的第i维碰撞,这样明显丧失了很多潜在的亲密度啊!所以我们要用额外的参数来描述v1的第i维与v2的任意的第j维之间的“关联度”,如果关联度非常大,那参数就尽可能大,让v1的第i维去尽情碰撞v2的第j维,看看能不能出来强烈的亲密度~当然,两个关联度很小的维度的话,对应的参数的值就会接近0,就没有碰撞的必要啦~碰撞的结果也没有啥影响力啦~

 

想的很好,那么这个复杂的参数怎么表示呢?

 

其实对于数学基础扎实的同学来说非常简单!参数矩阵的非对角线元素就是描述这种关系的!(有没有想起概率统计中的协方差矩阵?想起的肯定秒懂啦,没想起同学也没关系~)

 

所以,我们只要把对角矩阵w变成普通的矩阵W!这样W的对角线元素依然描述每个维度的权重,而非对角线元素就可以描述上述v1的各个维度与v2的各个维度之间的关联度啦!

 

通过向量b、向量c、矩阵W,简直是不能更完美的刻画v1与v2的亲密度了!所以综合起来,亲密度函数如下:

 

 

所以,这个新的机器学习模型跟逻辑回归一样,只是把亲密度定义了一下,并且:

 

1、跟逻辑回归一样可以很自由的推广到多类分类的情况(不理解的同学回这篇文章复习一下sigmoid到softmax)

 

2、跟逻辑回归一样可以很自由的由判别式推广到生成式(不理解的同学回这篇文章复习一下逻辑回归到朴素贝叶斯)

 

好!那么我们就将这些进化全都用上(好疯狂...):

 

1、改良亲密度的定义

2、推广到多类

3、推广到生成式

 

那么得到的超级模型的假设函数就是:

 

 

其中,E(x,y)就是本文的改良版“亲密度”函数;M代表样本数量,K代表类别数量。

 

在这个模型中,参数就是亲密度函数中的向量b、向量c、矩阵W。

 

这个用尽高级技术的复杂而优美的模型叫什么呢?

 

这就是:受限玻尔兹曼机(Restricted Boltzmann Machine,即RBM)

 

其中,这里小夕讲的亲密度函数的前面加个负号,就是概率图模型中所谓的能量函数,也叫势能函数(理论物理中的概念),这里也是用E(v1,v2)表示(新的E(v1,v2)=-旧的E(v1,v2))。假设函数中那个有两个求和号的恐怖大分母,就是概率图模型中的配分函数Z,跟小夕这里讲的意思是一模一样的,只不过用新的E(v1,v2)表示而已啦。

所以用概率图中的表示方法,RBM的假设函数即:

 

 

其中,配分函数:

 

看~概率图中被包装的如此抽象的RBM,本质上就是个究极进化版的逻辑回归而已啦。

那么,为什么说这是“受限”玻尔兹曼机呢?难道还有不受限的玻尔兹曼机吗?这个答案就让小夕在下一篇文章中告诉你吧,看看RBM是如何继续进化的~

 

等等!

 

纳尼???逻辑回归培养到最后,怎么培养成了生成式模型呀!所以竟然培养成了对方战场的究级武器???

╮( ̄▽ ̄"")╭

我想,这大概跟小夕父母的心情差不多吧——明明生的是儿子,养着养着就成女儿了(生儿育女)。

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

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

相关文章

Peacock:大规模主题模型及其在腾讯业务中的应用-2015

Peacock:大规模主题模型及其在腾讯业务中的应用 作者:赵学敏 王莉峰 王流斌 孙振龙 严浩 靳志辉 王益 摘要 如果用户最近搜索了“红酒木瓜汤”,那么应该展示什么样的广告呢?从字面上理解,可能应该返回酒水或者水果类广…

史上最简单的玻尔兹曼机模型讲解

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

从头到尾彻底理解KMP(2014年8月22日版)

从头到尾彻底理解KMP 作者:July 时间:最初写于2011年12月,2014年7月21日晚10点 全部删除重写成此文,随后的半个多月不断反复改进。后收录于新书《编程之法:面试和算法心得》第4.4节中。 1. 引言 本KMP原文最初写于2年多…

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

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

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;…