从逻辑回归到最大熵模型

 

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

 

本文中,小夕将带领大家从另外一个角度看待逻辑回归,从这个角度出发,又可以轻易的衍生出一系列如最大熵模型条件随机场,甚至一般化的无向图模型

 

 

还是回到逻辑回归这个熟悉的假设函数上来:

 

 

根据《sigmoid到softmax》,我们很容易通过将sigmoid推广到softmax来将逻辑回归也推广到多类分类器(此时叫softmax分类器)。这时的假设函数:

 

 

至此,有疑问的同学乖乖的回去看《sigmoid与softmax》哦~

 

而根据《逻辑回归到受限玻尔兹曼机》中的做法,上面假设函数中的大分母就可以表示成一个配分函数Z,其作用就可以看作是用来归一化的(通俗的讲就是将不限制范围的“亲密度”值转化为限制在0-1之间的值,即概率)。

 

好啦~重点开始了。既然假设函数h算的就是当前样本属于某个类别的概率,既然Z就是用来将输出值转换为概率值的,那么我们就不管Z了,反正信息量就聚焦在分子上。而当前样本是用特征向量表示的,所以将分子画出来后其实看起来跟神经网络差不多:

 

 

这个图即样本用3个特征表示,通过参数w将这三个特征的值加权得到某类别的判别程度。然而这个图,其实我们可以换一种角度来表示,比如我们假设每一维度的特征有两个取值0和1,那么上图可以表示成:

 

 

也就是说,我们可以将X的每一维度特征下的每个取值与某个类别配对,并同样的用一个参数来描绘这个配对的紧密程度(认为这一对完全不可能成的话即让这一组的参数为0呗),这样的表示看起来好像等价于上一种表示方法,然而实际上我们也注意到了,模型的参数由3个变成了6个,这说明后一种表示方法更加灵活,理论上可以建模更多的信息。为什么这样说呢?

 

试想一下,实际上,很多机器学习问题下,某一个特征下的每个取值并不是都有助于判断其所属类别的,比如我们的机器学习任务是判断男女,样本的一个特征选择为身高,身高分为两个值:1、180以下; 2、180以上。那么当该特征的值为2时,它可以很大程度上判断出来类别为男(小心误伤。。。),也就是说属于强特征!然而当特征的值为1时,它对于分类其实是没有太大作用的,180以下的男生跟女生都非常多,且比例相差不算大,也就是说这时身高又属于弱特征了。

 

显然,当我们用前一种传统的逻辑回归表示时,一旦身高的值为1,这时反而容易引入噪声,更不利于分类了。但是用后一种表示的话,我们就可以让“身高=180以下与男生”和“身高=180以下与女生”的参数为0,甚至直接将这两个配对关系删掉!理论上在很多场合下会有更佳的表现。

 

那么这个所谓的配对关系的正式名字叫什么呢?就叫特征函数。如前所述,它的粒度更小,直接将某个特征下的某个取值(当然这里是机器学习意义上的取值,因此值当然也可以代表180以下这种区间的形式)与某个类别封装成一个特征函数,基于一系列的特征函数去做进一步的分类等工作。所以可以形式化的将特征函数表示为:

 

 

然后对于其他的情况,如果我们觉得没什么用,就可以直接不定义特征函数啦~然后就可以去yy其他的强特征加进来了~当然,就算全加上也没关系,只要训练数据足够足够好的话,是能学出来无效的特征函数的特征的值对于每个类别的参数是几乎相等的。

 

所以用特征函数表示的“逻辑回归”的假设函数即:

 

当然啦,显然这里对所有的特征函数及其参数求和的操作就等效于前面逻辑回归的向量内积的操作(只是说操作等效,不是说值相等!)。

 

那么问题来了,假如我们丧心病狂的定义了1000个特征函数,但是实际上训练集中只能统计出其中100个特征函数的参数情况,剩下900个怎么办呢?更广义的说,我们只能统计出100个特征函数的分布情况,其他的特征函数或者有用但是观测不到,或者对于分类本来就没作用所以我们根本没去统计,那怎么办呢?

 

试想一下,对于那些训练集中没有覆盖的特征函数,就相当于是未知事件。为未知事件我们无法评估啊,又不能直接假设他们不发生(大部分情况是发生了,但是没有观测到而已),如果假设不发生的话,那很显然会导致模型的泛化能力受大影响,即容易过拟合。那么最优的情况是什么呢?当然就是假设那些未知事件等概率分布啦~还是举个栗子吧:

 

比如,我们定义了关于体重与性别分类任务,将体重分3档:90斤以下,90-120,120以上。因此显然一共有6个特征函数(认为无用的特征函数可以不统计,当做没有观察值去处理)。用x1-x6表示:

 


90以下

90-120

120以上

x1

x2

x3

x4

x5

x6

 

然而我们的训练集中只有120斤以上的人群,并且统计出来120斤以上60%是男生,40%是女生。这时怎么办呢?一个很简单的想法是尝试解一个等式与不等式混合的方程组:

 

于是有以下方程组:

 

 

然而真正解的话,我们会发现解并不是唯一的,还是难以衡量最优的情况。那怎么办呢?

 

想一下,我们所知道的信息就是

1、120斤以上的男女比例是6比4;

2、其他事件尽可能等概率分布

3、所有事件的概率和为1

 

试想,我们从所有特征函数构成的整个概率分布出发的话,第一条其实就是一个对概率分布情况的约束条件,第2、3就是表示让未知事件保持最无序的状态(等概率分布的时候就是最无序的,《信息论基础》与《决策树》中都有讲呐,不理解的回去翻看哦)。而衡量无序度的指标就是熵!所以,既有约束条件,有要尽可能保持最无序的状态,那目标状态不就是满足约束条件的情况下,熵最大的状态嘛。这里的熵当然指的是条件熵(已知x的情况下y的无序度),因此我们的训练目标,也就是目标函数即:

 

 至此,假设函数和训练的目标函数都有了,其中假设函数就是换汤不换药,很自然的这个新模型的特色就在于它的目标函数啦~所以它的名字就叫“最大熵模型(ME)”。

 

最后,根据《一般化机器学习》,还缺少最优化算法。它的优化算法自然也很特殊,是用称为通用迭代尺度法(GIS)的算法和改进的迭代尺度法(IIS)去训练的,这对于最大熵模型可谓是量身定做。限于篇幅和该优化算法的影响范围,小夕就不在这里讲啦~有兴趣的同学可以看下面这篇文章,讲的很详细:

 

http://blog.csdn.net/itplus/article/details/26550369

 

在应用上,最大熵可谓是自然语言处理领域最成功的判别式分类模型,几乎渗透在各个可以等效成分类任务的自然语言处理任务如主题分类、语言模型等,可谓是深度学习之前的最有效方法之一。当然啦,如今在样本量不足的情况下,最大熵模型依然是最值得首先尝试的模型。只不过其工程实现难度很大,建议还是采用别人已经写好的工具啦,如下:

 

OpenNLP : http://incubator.apache.org/opennlp/


Malouf: http://tadm.sourceforge.net/


Tsujii: http://www-tsujii.is.s.u-tokyo.ac.jp/~tsuruoka/maxent/ 

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

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

相关文章

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

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

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

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

EJB的相关知识

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

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

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

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

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

SOA基础

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

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

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

WSDL基础知识

一、WSDL的定义 将网络服务描述为对包含面向文档或过程的信息进行操作的一组端点的XML格式 服务接口 访问规范 服务地点 定义Web服务的公共接口(包括功能、如何调用) 定义与目录中列出的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…

有时候,也想过回到过去

人的一生中&#xff0c;总要走走停停。一面向着诗和远方&#xff0c;一面转过身&#xff0c;缅怀过去。她喜欢女生&#xff0c;帅气的女生。我觉得她也很帅&#xff0c;帅气又可爱。初入大学&#xff0c;竞选班委。上台的人中&#xff0c;有阳光幽默的男生&#xff0c;有温柔甜…

SOAP基础知识

一、SOAP是什么&#xff1f; SOAP是一种轻量级协议&#xff0c;旨在在分散的分布式环境中交换结构化信息。 SOAP使用XML技术来定义可扩展的消息传递框架&#xff0c;该框架提供了可以在各种基础协议之间交换的消息构造。 通信协议 用于应用程序之间的通信 发送消息的格式 设…

UDDI基础知识

一、什么是UDDI UDDI基于一组常见的行业标准&#xff0c;包括HTTP&#xff0c;XML&#xff0c;XML Schema和SOAP&#xff0c;为基于Web服务的软件环境提供了一个可互操作的基础基础结构&#xff0c;用于可公开使用的服务和仅在组织内部公开的服务。 仅当潜在用户发现足以允许其…

机器学习算法GBDT的面试总结

def findLossAndSplit(x,y): # 我们用 x 来表示训练数据 # 我们用 y 来表示训练数据的label # x[i]表示训练数据的第i个特征 # x_i 表示第i个训练样本 # minLoss 表示最小的损失 minLoss Integet.max_value # feature 表示是训练的数据第几纬度的特征 feature 0 # split 表示…

线性代数应该这样讲(四)-奇异值分解与主成分分析

在《线性代数这样讲&#xff08;二&#xff09;》&#xff08;以下简称「二」&#xff09;中&#xff0c;小夕详细讲解了特征值与特征向量的意义&#xff0c;并且简单描述了一下矩阵的特征值分解的意义和原理。本文便基于对这几个重要概念的理解来进一步讲解SVD分解。回顾一下&…

BPEL4WS基础知识

一、为什么选择BPEL4WS 可以使用行业范围内的规范来广告、发现和调用Web服务 开发人员和用户可以通过组合和订购可用的基本服务来解决复杂问题 服务组合允许服务重用并加速复杂的服务开发 提供一种表示法&#xff0c;用于将Web服务的交互描述为业务流程 编写使用Web服务的程…

不要再纠结卷积的公式啦!0公式深度解析全连接前馈网络与卷积神经网络!

文章转载自订阅号「夕小瑶的卖萌屋」中的文章《不要再纠结卷积的公式啦&#xff01;0公式深度解析全连接前馈网络与卷积神经网络》。 Hello~你们的小夕终于吐泡泡了&#xff5e;前几天小夕又加班赶project啦&#xff0c;拖了好几天&#xff0c;都快患上拖稿焦虑症了_(:з」∠)…

不要再纠结卷积的公式啦!0公式深度解析全连接前馈网络与卷积神经网络

Hello~你们的小夕终于吐泡泡了&#xff5e;前几天小夕又加班赶project啦&#xff0c;拖了好几天&#xff0c;都快患上拖稿焦虑症了_(:з」∠)_关于卷积神经网&#xff0c;小夕就不从卷积讲啦。以前不止一个粉丝问我卷积神经网络中卷积的意义&#xff0c;甚至在知乎上被邀请回答…

研究生常用的几种风险评估方法-专家调查法、蒙特卡洛模拟法、计划评审技术、敏感性分析法、决策树法、影响图法、模糊综合评价方法

其实风险评估就是在充分掌握资料的基础之上&#xff0c;采用合适的方法对已识别风险进行系统分析和研究&#xff0c;评估风险发生的可能性&#xff08;概率&#xff09;、造成损失的范围和严重程度&#xff08;强度&#xff09;&#xff0c;为接下来选择适当的风险处理方法提供…

从前馈到反馈:解析循环神经网络(RNN)及其tricks

好像已经有两周没有更新啦。最后这几天都不敢打开订阅号后台了&#xff0c;怕一打开发现掉了几百个粉丝的话就难过死了T_T。然而小夕发现你们并没有离开&#xff0c;感动的差点哭出来&#xff0c;都感觉再不认真写一篇文章就太对不起大家的等待啦。而这两周&#xff0c;经历的事…

多因子风险建模-协方差矩阵、投资组合风险

一、为什么要了解投资风险 在探讨投资风险前&#xff0c;我们不妨思考一个问题&#xff1a;好的投资&#xff0c;取决于哪些因素&#xff1f; 其实&#xff0c;卓越的投资回报&#xff0c;主要来源于四个因素&#xff1a; 收益预测&#xff1a;能形成合力的收益预期&#xff…