当前位置:K88软件开发文章中心办公应用办公应用07 → 文章内容

深度学习中你必须知道的信息论

减小字体 增大字体 作者:华军  来源:华军资讯  发布时间:2019-2-21 2:31:53

原标题:深度学习中你必须知道的信息论图源:unsplash原文来源:Towards Data Science作者:Abhishek Parbhakar「雷克世界」编译:嗯~是阿童木呀、EVA导语:1948年,数学家和电气工程师克劳德?香农(Claude Elwood Shannon)在其开创性论文《通信的数学理论》中提出了“信息论”,这一概念。对深度学习和人工智能的发展具有非凡的意义。那么,对于信息论大家又了解多少呢?在本文中,Abhishek Parbhakar对在深度学习和数据科学中广泛流行和通用、且必须知道的信息论概念进行了介绍,希望能够为大家了解这些概念有所助益。信息论(Information Theory)是对深度学习和AI做出重大贡献的重要领域,但对许多人而言,信息论是很陌生的。我们可以将信息论看作深度学习的基础构建块(basic building block)的复杂融合,这些基础构建块包括微积分、概率论和统计学。AI中的一些概念源自信息论或其相关领域,例如:· 流行的交叉熵损失函数· 在最大信息增益基础上构建决策树· 广泛应用于自然语言处理(Natural Language Processing, NLP)和语音的维特比算法(Viterbi algorithm)· 在机器翻译循环神经网络(Recurrent Neural Network, RNN)和各种其他类型的模型中被广泛使用的编码器-解码器概念信息论史简介信息时代之父:克劳德?香农在20世纪早期,科学家和工程师正在努力解决这样一个问题:“如何量化信息?是否有一种分析方法或数学方法可以告诉我们关于信息内容的信息?”例如,考虑以下两句话:Bruno是一条狗。Bruno是一条棕色的大狗。不难看出,第二句话为我们提供了更多的信息,因为它还告诉我们,Bruno除了是一条“狗”之外还是 “棕色”和“大”的。我们如何量化两句话的区别?我们能否用一种数学方法来告诉我们第二句话比第一个句子多出多少信息?科学家正在努力解决这些问题。数据的语义、领域和形式只会增加问题的复杂性。然后,数学家和工程师克劳德?香农(Claude Shannon)提出了“熵”的概念,这个概念改变了我们的世界,并标志着“数字信息时代(Digital Information Age)”的开始。香农提出,“数据的语义方面是无关紧要的”,而数据的性质和意义在信息内容方面并不重要。相反,他用概率分布(probability distribution)和“不确定性(uncertainty)”来量化信息。香农还引入了“比特(bit)”一词,他谦逊地将其归功于他的同事John Tukey。这个革命性的概念不仅奠定了信息论的基础,而且为人工智能领域的进步开辟了新的道路。下面,我们将讨论在深度学习和数据科学中四种流行的,广泛使用的,且必须知道的信息论概念:熵(Entropy)也叫信息熵(Information Entropy)或香农熵(Shannon Entropy)。在实验中,熵给出了随机度和不确定度的度量。让我们来考虑两个实验:1.抛一个均匀的硬币(P(H)=0.5)并观察它的输出H。2.抛一个有偏差的硬币(P(H)=0.99)并观察它的输出H。如果我们比较这两个实验,在实验2中预测结果要比在实验1中容易。所以,我们可以说实验1本质上比实验2更不确定/不可预测。实验中的不确定性是使用熵来测量的。因此,如果实验中存在固有的不确定性越多,那么它的熵就会越高。或者可预测的实验越少,熵就会越多。用实验的概率分布来计算熵。一个完全可以预测的确定性实验(deterministic experiment),比如抛硬币P(H)=1,熵为零。一个完全随机的实验,比如掷骰子,是最不可预测的,具有最大的不确定性,在这样的实验中具有最高的熵。另一种查看熵的方法是在我们观察随机实验的结果时所获得的平均信息。所获得的实验结果信息被定义为该结果发生的概率函数。该结果越为罕见,通过观察所获得的信息越多。例如,在一个确定性实验中,我们总是知道结果,所以在这里没有从观察结果中得到新的信息,因此熵是零。对于一个离散的随机变量X,可能的结果(状态)x_1,...,x_n,以位为单位的熵被定义为:其中p(x_i)是X的第i个结果的概率。应用熵用于自动决策树的构建。在构建树的每一步中,特征选择都是使用熵标准来完成的。基于最大熵原理(Principle of Maximum Entropy)的模型选择,从竞争模型中选择具有最高熵的模型是最好的。交叉熵(Cross-Entropy)交叉熵是用来比较两个概率分布的。它会告诉我们两个分布的相似程度。在同一组结果上定义的两个概率分布p和q之间的交叉熵是由下列公式给出的:应用基于卷积神经网络的分类器通常使用softmax层作为使用交叉熵损失函数进行训练的最终层。·交叉熵损失函数广泛用于逻辑回归(logistic regression)等分类模型。交叉熵损失函数会随着预测结果与真实输出之间的偏离而增加。·在像卷积神经网络这样的深度学习体系结构中,最终的输出“softmax”层经常使用交叉熵损失函数。互信息(Mutual Information)互信息是两个概率分布或随机变量之间相互依赖的度量。它告诉我们一个变量的多少信息量是被另一个变量携带的。互信息捕捉随机变量之间的依赖关系,并且比普通相关系数更具有泛化性,而普通相关系数仅捕获线性关系。两个离散随机变量X和Y的互信息被定义为:其中p(x,y)是X和Y的联合概率分布,p(x)和p(y)分别是X和Y的边际概率分布。应用在贝叶斯网络中,变量之间的关系结构可以使用互信息来确定。.特征选择:使用的不是相关性,而是使用互信息。相关性仅捕获线性依赖关系,并遗漏了非线性依赖关系,但互信息却没有。零的互独立保证随机变量是独立的,但零相关不是。.在贝叶斯网络中,互信息用于学习随机变量之间的关系结构并定义这些关系的强度。KL散度(Kullback Leibler Divergence)KL散度也称为相对熵。KL散度是寻找两个概率分布之间相似性的另一种方法。它衡量了一个分配与另一个分配之间的差异程度。假设,我们有一些数据,真实的分布是“P”。但我们不知道这个“P”,所以我们选择一个新的分布“Q”来对这个数据进行近似。由于“Q”只是一个近似值,它不能对数据的近似做到像“P”那样好,并且会发生一些信息丢失。而这种信息损失是由KL散度给出的。“P”和“Q”之间的KL散度会告诉我们,当我们尝试用“Q”近似“P”给出的数据时,我们失去了多少信息。来自另一概率分布P的概率分布Q的KL散度定义为:应用KL散度通常用于无监督机器学习技术变分自编码器。原文链接:https://towardsdatascience.com/must-know-information-theory-concepts-in-deep-learning-ai-e54a5da9769d

深度学习中你必须知道的信息论