前言:
眼前大家对“近似熵算法matlab代码”都比较关心,小伙伴们都需要分析一些“近似熵算法matlab代码”的相关文章。那么小编同时在网摘上汇集了一些对于“近似熵算法matlab代码””的相关资讯,希望小伙伴们能喜欢,看官们一起来了解一下吧!今天我们将集中讨论熵的理论。理解熵的直觉,以及它与逻辑回归的关系。我们将从熵,KL散度,到交叉熵。
熵是从物理学的角度引入热力学系统的。它随后被应用于许多领域,包括统计力学、生物学和信息论。在机器学习中,我们使用信息论中的熵。那么,什么是熵?这和机器学习有什么关系呢?
熵
首先,考虑一个随机变量x,我们想知道当我们观察到这个变量的特定值时获得了多少信息。可以将这些信息量视为学习x值的惊奇程度。将I(x)表示为信息内容。假设x和y是独立且相同分布的(iid),则观察它们的信息增益应该是从它们中分别获得的信息的总和,即I(x,y) = I(x) + I(y)。将p(x)表示为x的概率分布。我们知道p(x,y)= p(x)p(y),因为它们是iid。从这两个关系中,我们可以推导出h(x)是p(x)的对数,我们有
其中负号确保信息是非负的。
对于随机变量X,信息内容E [I(X)]的期望称为熵。将H(X)表示为X的熵,我们有
注意
因此,我们取p(x)lnp(x)=0(当x的值为p(x)=0时)。
更直观的是,我们可以将熵视为无序程度。当x的概率为1或0时,它是最有序的,换句话说,最一致,因此它的熵是0.另一方面,当x的概率是0.5时,它是最无序的(不一致的)。因此,它的熵是1。
这里我们使用2作为对数基数,称为“bits”单位。由于熵首先涉及信息理论中的比特编码(无噪声编码定理),因此将2作为对数基数使用是很自然的。我们也可以使用自然对数来定义熵。在这种情况下,熵以'nats'为单位而不是bits来测量。
我们使用一个简单的例子来显示熵。考虑两个学生,学生A总是考试失败,学生B总是通过考试。将概率p表示为通过测试的概率。如果他们这次都通过了测试,那么我们就有了
不出意料,A这次考试有更多的信息,因为A这次考试通过了,而他以前总是考试不及格。另一方面,学生B总是通过考试,对他来说通过考试是很平常的,当他再次通过考试时,关于这次考试的信息就不多了。
我们现在来看看熵
他们有相同的熵。由于他们在这种情况下具有相同程度的无序。对于A,它有10%通过,90%不通过。对于学生B,它有90%通过,10%不通过。在这种情况下它是对称的。我们还可以从上图中看出熵是对称的。
相对熵(KL散度)
相对熵,也称为KL散度(Kallback-Leiber divergence),是对两个概率分布距离的度量,其中p为真实分布,q为我们所模拟的近似分布。将KL散度定义为
显然,当p = q时,KL散度等于0.在该公式中,H_p(q)表示在p(x)分布中,用q(x)分布表示x所需要的信息量。H(p)表示p分布的熵。因此,KL散度表示使用q(x)而不是真实分布p(x)来指定x值所需的额外信息量。
交叉熵和Logistic回归
将交叉熵定义为
我们可以看到KL散度公式中的H_p(q)实际上是交叉熵。当p已知时,我们可以将H(p)视为常数,并且交叉熵等于KL散度,两者都表示p(x)和q(x)的相似性。由于p(x)是真实的分布,而q(x)是我们模型的近似分布,我们的目标是最小化这两个分布之间的距离。注意,它相当于最小化交叉熵并最小化KL散度。当p = q时,我们将获得最小点(在这种情况下,KL散度等于0)。它也被称为最小交叉熵原理(MCE)。
现在回到逻辑回归,我们有损失函数
在这种情况下考虑交叉熵
它与我们使用最大似然估计具有相同的结果!我们可以通过MLE或交叉熵推导出逻辑回归的代价函数。
最后
当我们想要在互斥类上使用概率模型时,我们需要一种方法来测量预测概率ŷ和ground truth概率y之间的差异。我们的目标是尽量减少它们之间的差异。我们可以看到交叉熵是这项任务的合理选择。此外,最小化交叉熵等同于最小化负对数似然,这是我们从最大似然估计得出的。交叉熵是概率模型中非常重要和基本的概念。它也用于神经网络的softmax函数,这是目前最流行的机器学习技术。
标签: #近似熵算法matlab代码