zoukankan      html  css  js  c++  java
  • 【数学基础】深度学习中的一些简单数学原理

    @

    0. 前言

      通常论文中会有一些数学公式来证明作者理论,我觉得读论文不搞懂原理与证明,只了解了框架与流程,是不会有自己的创新以及idea,本文也是记录我自己在读paper遇到的一些数学理论,前面会叙述一些简单的数学知识。

    1. 熵

    1.1 熵的定义

      在信息论中,熵用来衡量一个随机事件的不确定性。假设对一个随机变量(X)(取值集合为(chi),概率分布为(p(x)), (x in chi))进行编码,自信息(I(x))是变量(X=x)时的信息量或编码长度,定义为:

    [I(x) = -log(p(x)) ]

      熵表示随机变量的信息以及稳定性,熵越大,信息越多,不确定性越大,反之同理。比如有两个随机样本概率分别为0.5,0.5与概率分别为0.9,0.1相比,明显是前者的不确定性大于后者,所以前者熵大于后者,熵也是随机变量X的平均编码长度,具体公式如下:

    [H(x) = E_X[I(x)]= - sum_{x in X} p(x) log p(x) (离散) ]

    1.2 联合熵与条件熵

      对于两个离散随机变量X和Y,假设X取值集合为(chi),Y取值集合为(gamma),其联合概率分别满足为(p(x, y))
      X和Y的联合熵为

    [H(X,Y) = -sum_{x in chi} sum_{y in gamma} p(x, y) logp(x, y) ]

      X和Y的条件熵为

    [H(X|Y) = -sum_{x in chi} sum_{y in gamma} p(x, y) log {p(x|y)} \ quad quad quad = -sum_{x in chi} sum_{y in gamma} p(x, y) logfrac{p(x, y)}{p(y)}]

      根据其定义,条熵也可以写为:

    [H(X|Y) = H(X, Y) - H(Y) ]

    1.3 互信息

      互信息是衡量已知一个变量时,另一个变量不确定性的减少程度。两个离散随机变量X和Y的互信息定义为:

    [I(X;Y) = sum_{x in chi} sum_{y in gamma} p(x, y) logfrac{p(x, y)}{p(x)p(y)} ]

      互信息的一个性质为:

    [I(X;Y) = H(X) - H(X|Y) = H(Y) - H(Y|X) ]

      如果相互独立,则相互不提供任何信息,他们的互信息为0

    1.4 交叉熵

      对应分布为(p(x))的随机变量,熵(H(p))表示其最优编码长度。交叉熵是按照概率分布(q)的最优编码对真实分布为(p)的信息进行编码的长度,定义为:

    [H(p, q) = E_{p}[-logq(x)]=-sum_{x}{p(x)} logq(x) ]

      给定(p)情况下,如果(q)(p)越接近,交叉熵越小,如果(q)(p)越远,交叉熵就越大。

    2. 散度

    2.1 KL散度

      (KL)散度,也叫(KL)距离或者相对熵,使用概率分布(q)来近似(p)时所造成的信息损失量。(KL)散度是按照概率分布(q)的最优编码对真实分布为(p)的信息进行编码,其平均编码长度(H(p, q))(p)的最优平均编码长度(H(p))之间的差异。对于离散概率分布(p)(q),从(q)(p)(KL)散度定义为:

    [D_{KL}(p||q) = H(p, q) - H(p) = sum_{x} p(x) logfrac{p(x)}{q(x)} ]

    其中为了保持连续性,定义(0 logfrac{0}{0} = 0, 0 logfrac{0}{q} = 0)
      (KL)散度可以是衡量两个概率分布之间的距离。(KL)散度总是非负的,(D_{KL}(p∥q) ≥0)。只有当(p = q) 时,(D_{KL}(p∥q) = 0)。如果两个分布越接近,(KL)散度越小;如果两个分布越远,(KL)散度就越大。但(KL)散度并不是一个真正的度量或距离,一是(KL)散度不满足距离的对称性,二是(KL)散度不满足距离的三角不等式性质。
    也可以查看另一种解释:如何理解KL散度

    2.2 JS散度

      (JS)散度(Jensen–Shannon divergence)是一种对称的衡量两个分布相似度的度量方式,定义为

    [D_{JS}(p||q) = frac{1}{2}D_{KL}(p||m) + frac{1}{2}D_{KL}(q||m) ]

    其中(m = frac{1}{2}(p+q)).
      (JS)散度是(KL)散度一种改进。但两种散度有存在一个问题,即如果两个分布 (p, q) 个分布没有重叠或者重叠非常少时,(KL) 散度和 (JS) 散度都很难衡量两个分布的距离.

    参考文献

    我校邱锡鹏老师的文档

  • 相关阅读:
    越大优先级越高,优先级越高被OS选中的可能性就越大
    锁标记如果过多,就会出现线程等待其他线程释放锁标记
    使用带缓冲区的输入输出流的速度会大幅提高
    Bufferread有readline()使得字符输入更加方便
    java的开发主要以http为基础
    UDP也需要现有Server端,然后再有Client端
    端口是一种抽象的软件结构,与协议相关
    具有全球唯一性,相对于internet,IP为逻辑地址
    判断是否一个属性或对象可序列化
    把对象通过流序列化到某一个持久性介质称为对象的可持久化
  • 原文地址:https://www.cnblogs.com/kk17/p/9755382.html
Copyright © 2011-2022 走看看