PRML学习总结(1)——Introduction

1.1 Example: Polynomial Curve Fitting

对于训练数据集x(x1,,xN)T,t(t1,,tN)T\mathbf { x } \equiv \left( x _ { 1 } , \ldots , x _ { N } \right) ^ { \mathrm { T } },\mathbf { t } \equiv \left( t _ { 1 } , \ldots , t _ { N } \right) ^ { \mathrm { T } },其由sin(2πx)sin(2\pi x)加上一定的噪声生成,采用多项式曲线拟合:
y(x,w)=w0+w1x+w2x2++wMxM=j=0Mwjxj y ( x , \mathbf { w } ) = w _ { 0 } + w _ { 1 } x + w _ { 2 } x ^ { 2 } + \ldots + w _ { M } x ^ { M } = \sum _ { j = 0 } ^ { M } w _ { j } x ^ { j }
其中MM代表改模型的最高次幂,也就是代表模型的复杂度。有了数据跟模型后,接下来就是需要训练模型,而训练模型需要一个目标函数,我们可以最小化以下目标函数:
E(w)=12n=1N{y(xn,w)tn}2 E ( \mathbf { w } ) = \frac { 1 } { 2 } \sum _ { n = 1 } ^ { N } \left\{ y \left( x _ { n } , \mathbf { w } \right) - t _ { n } \right\} ^ { 2 }
不难发现,该目标函数的最小值为0,当且仅当曲线穿过所有训练数据时才满足最小值。而且该函数为关于w\mathbf { w }的二次函数,那么在最小化该函数时很容易得到一个解析解得w\mathbf { w } ^ { \star }
现在需要关注另一个模型,那就是模型选择问题,即MM到底选择多少才合适,不同的MM,模型的表达能力也不同,太小则模型的拟合能力不足,太大则会过拟合,如下图所示。
PRML学习总结(1)——Introduction
当过拟合后,对于新来的测试数据,我们将会得到非常差的结果,这并不是我们想要的,这归根结底就是在模型选择上出了问题。为了定量地分析在新的数据上,模型的泛化能力,通常采用均方根误差进行度量:
ERMS=2E(w)/N E _ { \mathrm { RMS } } = \sqrt { 2 E \left( \mathbf { w } ^ { \star } \right) / N }
利用此误差,可以得到训练数据和测试数据的ERMSE _ { \mathrm { RMS } }
PRML学习总结(1)——Introduction
从上图可以发现,当MM较小时,模型的拟合能力不足,导致测试和训练的误差都很大,当M=9M=9时,模型就会陷入过拟合,即训练误差为0,而测试误差很大,最合适的M[3,8]M\in[3,8]
我们的数据最理想的拟合函数应该为sin(2πx)sin(2\pi x),而该函数展开后,其幂次数应该是包括了无穷多次幂,按照我们的想法,模型应该是随着MM的增加,拟合得越好。但是却出现了过拟合,我们可以进一步探索我们模型中所学出来的最优值为多少。
PRML学习总结(1)——Introduction
从结果可以看出,随着MM的增加,所得到的参数的绝对值很越来越大的,正是在这样变化大的参数下,导致最终拟合的曲线波动很大。我们也可以进一步看看模型与训练数据量的关系
PRML学习总结(1)——Introduction
从上图可以发现,增大训练数据量可以有效地减少过拟合。但是现实生活中我们的数据是很有限的,因此如何让模型保持一定的复杂性和灵活性,且不会出现过拟合是一个需要解决的问题。正则化正好可以解决这个问题。也就是在目标函数中加入对参数的惩罚项:
E~(w)=12n=1N{y(xn,w)tn}2+λ2w2 \widetilde { E } ( \mathbf { w } ) = \frac { 1 } { 2 } \sum _ { n = 1 } ^ { N } \left\{ y \left( x _ { n } , \mathbf { w } \right) - t _ { n } \right\} ^ { 2 } + \frac { \lambda } { 2 } \| \mathbf { w } \| ^ { 2 }
其中λ\lambda控制正则项和原目标函数之间的重要性。这样就不可避免地为模型又引入了一个参数,在M=9M=9时,不同的λ\lambda拟合结果如下
PRML学习总结(1)——Introduction
从上图可以看出,当λ\lambda太大时,即参数的绝对值大小将会在很大程度上得到惩罚,因此最后拟合结果近似一条在0附近的线。更加定量地看待引入正则项的好处,得到如下表
PRML学习总结(1)——Introduction
可以看出引入正则项能够在一定程度上限制模型的复杂度,从而能够减少过拟合。在确定M,λM,\lambda时,往往将数据分为训练数据和验证数据,但是对于数据非常少的情况,这种方式将会很“浪费”有效的数据!

1.2 Probability Theory

这一部分主要介绍一些概率的基本概念,这儿简要提出这几个概念,详细的内容参照书中内容。

The Rules of probability

 sum rule p(X)=Yp(X,Y) \text { sum rule } \quad p ( X ) = \sum _ { Y } p ( X , Y )
 product rule p(X,Y)=p(YX)p(X) \text { product rule } \quad p ( X , Y ) = p ( Y | X ) p ( X )

Bayes’ Theorem

p(YX)=p(XY)p(Y)p(X) p ( Y | X ) = \frac { p ( X | Y ) p ( Y ) } { p ( X ) }
 posterior  likelihood × prior  \text { posterior } \propto \text { likelihood } \times \text { prior }

Curve fitting re-visited

介绍了一些基本的概率概念后,现在再回看之前的曲线拟合问题,我们可以建模如下
p(tx,w,β)=N(ty(x,w),β1) p ( t | x , \mathbf { w } , \beta ) = \mathcal { N } \left( t | y ( x , \mathbf { w } ) , \beta ^ { - 1 } \right)
可以形象地表示为下图
PRML学习总结(1)——Introduction
对于模型中的参数w,β\mathbf { w },\beta,我们利用训练数据{x,t}\{ \mathbf { x } , \mathbf { t } \}进行最大似然估计,一般来说我们都假设数据是独立的,因此
p(tx,w,β)=n=1NN(tny(xn,w),β1) p ( \mathbf { t } | \mathbf { x } , \mathbf { w } , \beta ) = \prod _ { n = 1 } ^ { N } \mathcal { N } \left( t _ { n } | y \left( x _ { n } , \mathbf { w } \right) , \beta ^ { - 1 } \right)
转化为log
lnp(tx,w,β)=β2n=1N{y(xn,w)tn}2+N2lnβN2ln(2π) \ln p ( \mathbf { t } | \mathbf { x } , \mathbf { w } , \beta ) = - \frac { \beta } { 2 } \sum _ { n = 1 } ^ { N } \left\{ y \left( x _ { n } , \mathbf { w } \right) - t _ { n } \right\} ^ { 2 } + \frac { N } { 2 } \ln \beta - \frac { N } { 2 } \ln ( 2 \pi )
对于w\mathbf{w},发现优化的目标与一开始的目标函数一致,这儿记为wML\mathbf { w } _ { \mathrm { ML } }。对β\beta求导,可以得到
1βML=1Nn=1N{y(xn,wML)tn}2 \frac { 1 } { \beta _ { \mathrm { ML } } } = \frac { 1 } { N } \sum _ { n = 1 } ^ { N } \left\{ y \left( x _ { n } , \mathbf { w } _ { \mathrm { ML } } \right) - t _ { n } \right\} ^ { 2 }
当确定了w,β\mathbf { w },\beta之后,就可以得到预测概率
p(tx,wML,βML)=N(ty(x,wML),βML1) p \left( t | x , \mathbf { w } _ { \mathrm { ML } } , \beta _ { \mathrm { ML } } \right) = \mathcal { N } \left( t | y \left( x , \mathbf { w } _ { \mathrm { ML } } \right) , \beta _ { \mathrm { ML } } ^ { - 1 } \right)
以上的方法为最大似然估计(点估计)ML,接下来我们在参数上引入一个先验概率
p(wα)=N(w0,α1I)=(α2π)(M+1)/2exp{α2wTw} p ( \mathbf { w } | \alpha ) = \mathcal { N } \left( \mathbf { w } | \mathbf { 0 } , \alpha ^ { - 1 } \mathbf { I } \right) = \left( \frac { \alpha } { 2 \pi } \right) ^ { ( M + 1 ) / 2 } \exp \left\{ - \frac { \alpha } { 2 } \mathbf { w } ^ { \mathrm { T } } \mathbf { w } \right\}
其中α\alpha为超参数。利用贝叶斯公式,我们可以得到β\beta的后验概率
p(wx,t,α,β)p(tx,w,β)p(wα) p ( \mathbf { w } | \mathbf { x } , \mathbf { t } , \alpha , \beta ) \propto p ( \mathbf { t } | \mathbf { x } , \mathbf { w } , \beta ) p ( \mathbf { w } | \alpha )
需要说明的一点是,此时的β\beta我们也考虑为超参。也是一个预先给定的值。不像之前通过最大似然估计出来。
在后验上进行最大点估计,也就是最大后验估计(点估计),MAP。最终结果为
β2n=1N{y(xn,w)tn}2+α2wTw \frac { \beta } { 2 } \sum _ { n = 1 } ^ { N } \left\{ y \left( x _ { n } , \mathbf { w } \right) - t _ { n } \right\} ^ { 2 } + \frac { \alpha } { 2 } \mathbf { w } ^ { \mathrm { T } } \mathbf { w }
这个结果正是之前说的正则化方式!!!
无论是ML还是MAP,它们都是点估计!点估计有个致命的弱点是会导致过拟合!而全贝叶斯的观点是,我们不需要对参数进行点估计,我们只要得到其后验概率,然后在预测概率上,我们利用积分积掉参数部分,这样就不会涉及点估计就能得到预测概率!
p(tx,x,t)=p(tx,w)p(wx,t)dw p ( t | x , \mathbf { x } , \mathbf { t } ) = \int p ( t | x , \mathbf { w } ) p ( \mathbf { w } | \mathbf { x } , \mathbf { t } ) \mathrm { d } \mathbf { w }
最终可得
p(tx,x,t)=N(tm(x),s2(x))m(x)=βϕ(x)TSn=1Nϕ(xn)tns2(x)=β1+ϕ(x)TSϕ(x) \begin{aligned} p ( t | x , \mathbf { x } , \mathbf { t } ) &= \mathcal { N } \left( t \| m ( x ) , s ^ { 2 } ( x ) \right)\\m ( x ) & = \beta \boldsymbol {\phi} ( x ) ^ { \mathrm { T } } \mathbf { S } \sum _ { n = 1 } ^ { N } \boldsymbol {\phi} \left( x _ { n } \right) t _ { n } \\ s ^ { 2 } ( x ) & = \beta ^ { - 1 } + \boldsymbol {\phi} ( x ) ^ { \mathrm { T } } \mathbf { S } \boldsymbol {\phi} ( x ) \end{aligned}
其中
S1=αI+βn=1Nϕ(xn)ϕ(x)T \mathbf { S } ^ { - 1 } = \alpha \mathbf { I } + \beta \sum _ { n = 1 } ^ { N } \boldsymbol {\phi} \left( x _ { n } \right) \boldsymbol { \phi } ( x ) ^ { \mathrm { T } }
ϕi(x)=xi for i=0,,M \phi _ { i } ( x ) = x ^ { i } \text { for } i = 0 , \ldots , M

1.3 Model Selection

在1.1中,我们发现不同的MM导致模型的泛化能力也不同,因此如何选择一个恰当的模型是一个很重要的问题。往往采用的方式为交叉验证的方式
PRML学习总结(1)——Introduction
但是这种方式最大的问题就是效率太低,需要对模型进行很多次训练!最理想的情况下就是对模型就行一次训练就能达到效果!这一类方法将在后续讲到。

1.4 The Curse of Dimensionality

为了更加深刻地了解这个问题,首先引入一个数据集
PRML学习总结(1)——Introduction
这个数据集中的数据有12个维度,且有三个类别,上图展示了x6,x7x_6,x_7的二维分布图。当我们要判断图中黑色交叉点到底是属于哪一类时,可以发现该点周围大部分都是红色或是绿色的点,因此很大程度上可以判断为属于这两个类别,或是可以说不可能属于蓝色点那一类,因为离得太远了!因此我们可以利用这样的最近邻方式判断点到底属于哪一类。我们可以把该空间划分为规则的块,同一块中的点最多的点决定改块的类别!
该方法有个致命的缺点是,随着维度的增加,这样划分出来的块的数量将会呈指数增长!
PRML学习总结(1)——Introduction
不仅如此,在高维空间中,一个单位超球体的体积大部分都集中在一个球体表面!高维所带来的一系列问题都可以称为维数灾难。在低维所构建的模型,一般来说泛化到高维空间中会导致效果很差!但是在现实生活中,我们的数据往往处于低维的流形中,因此可以借助于其他手段处理高维的数据!

1.5 Decision Theory

概率理论告诉我们对不确定进行度量,而决策理论则告诉我们怎么利用这个不确定度进行最优决策!下面以一个医疗问题入手,对于一个病人的X光照图片xx,需要判断该病人是(C1\mathcal { C } _ { 1 })否(C2\mathcal { C }_2)得了癌症。

Minimizing the misclassification rate

我们的目标是尽可能最小化错分率。定义决策域Rk\mathcal { R } _ { k }表示在这个区域中的xx属于Ck\mathcal { C }_k类。
p( mistake )=p(xR1,C2)+p(xR2,C1)=R1p(x,C2)dx+R2p(x,C1)dx \begin{aligned} p ( \text { mistake } ) & = p \left( \mathbf { x } \in \mathcal { R } _ { 1 } , \mathcal { C } _ { 2 } \right) + p \left( \mathbf { x } \in \mathcal { R } _ { 2 } , \mathcal { C } _ { 1 } \right) \\ & = \int _ { \mathcal { R } _ { 1 } } p \left( \mathbf { x } , \mathcal { C } _ { 2 } \right) \mathrm { d } \mathbf { x } + \int _ { \mathcal { R } _ { 2 } } p \left( \mathbf { x } , \mathcal { C } _ { 1 } \right) \mathrm { d } \mathbf { x } \end{aligned}
为了最小化以上表达式,如果存在p(x,C1)>p(x,C2)p \left( \mathbf { x } , \mathcal { C } _ { 1 } \right)>p \left( \mathbf { x } , \mathcal { C } _ { 2 } \right),那么我们应该让xx属于C1\mathcal { C } _ { 1 }p(x,Ck)=p(Ckx)p(x)p \left( \mathbf { x } , \mathcal { C } _ { k } \right) = p \left( \mathcal { C } _ { k } | \mathbf { x } \right) p ( \mathbf { x } ),由于p(x)p(\mathbf{x})都一样,所以最小化错分率,就等同于最大化后验概率。
对于KK分类问题,定义为最大化正确分类率
p( correct )=k=1Kp(xRk,Ck)=k=1KRkp(x,Ck)dx \begin{aligned} p ( \text { correct } ) & = \sum _ { k = 1 } ^ { K } p \left( \mathbf { x } \in \mathcal { R } _ { k } , \mathcal { C } _ { k } \right) \\ & = \sum _ { k = 1 } ^ { K } \int _ { \mathcal { R } _ { k } } p \left( \mathbf { x } , \mathcal { C } _ { k } \right) \mathrm { d } \mathbf { x } \end{aligned}
发现同样等同于最大后验概率!

Minimizing the expected loss

在现实生活中,有些问题更加复杂,对于上面的医疗诊断问题来说,误诊为癌症比误诊为健康好!因此可以适当地错分为癌症,但要最大程度上减少错分为健康!处理这个问题,其实就是进行加权!对于该问题,我们可以引入这样的权重
PRML学习总结(1)——Introduction
LkjL_{kj}代表属于Ck\mathcal { C } _ { k }的而被判别为Cj\mathcal { C } _ { j}所引入的权重。从上图可以看出对误分为健康的权重很大。
E[L]=kjRjLkjp(x,Ck)dx \mathbb { E } [ L ] = \sum _ { k } \sum _ { j } \int _ { \mathcal { R } _ { j } } L _ { k j } p \left( \mathbf { x } , \mathcal { C } _ { k } \right) \mathrm { d } \mathbf { x }
按照上面一样的推导,对于某一个新的点xx,我们只需要找到jj类使得下式最小即可
kLkjp(Ckx) \sum _ { k } L _ { k j } p \left( \mathcal { C } _ { k } | \mathbf { x } \right)

The reject option

PRML学习总结(1)——Introduction

Inference and decision

之前我们将分类问题划分为两个阶段:inference和decision。inference stage:利用训练样本得到后验概率p(Ckx)p \left( \mathcal { C } _ { k } | \mathbf { x } \right),decision stage 利用得到的这个后验概率进行决策。
总共有以下三种形式(按照难度减少):

a) generative model

首先infer p(xCk)p \left( \mathbf { x } | \mathcal { C } _ { k } \right),然后infer p(Ck)p \left( \mathcal { C } _ { k } \right),然后利用贝叶斯公式
p(Ckx)=p(xCk)p(Ck)p(x) p \left( \mathcal { C } _ { k } | \mathbf { x } \right) = \frac { p \left( \mathbf { x } | \mathcal { C } _ { k } \right) p \left( \mathcal { C } _ { k } \right) } { p ( \mathbf { x } ) }
得到后验概率,其中
p(x)=kp(xCk)p(Ck) p ( \mathbf { x } ) = \sum _ { k } p \left( \mathbf { x } | \mathcal { C } _ { k } \right) p \left( \mathcal { C } _ { k } \right)
同样的我们也可以直接建模联合概率分布p(x,Ck)p \left( \mathbf { x } , \mathcal { C } _ { k } \right)。在得到了后验概率后就可以利用决策论进行类别划分。

b) discriminative models

直接建模后验概率分布p(Ckx)p \left( \mathcal { C } _ { k } | \mathbf { x } \right)

c) discriminant function

直接找一个判别函数f(x)f ( \mathbf { x } ),将输入xx直接映射到类别标签,在二分类的情况下,我们可以令f=0f=0代表C1\mathcal { C } _ { 1 }类,而f=1f=1代表C2\mathcal { C } _ { 2 }类。

Loss functions for regression

以上讨论的是分类模型的损失函数,这个部分主要讨论回归问题的损失函数
E[L]=L(t,y(x))p(x,t)dxdt \mathbb { E } [ L ] = \iint L ( t , y ( \mathbf { x } ) ) p ( \mathbf { x } , t ) \mathrm { d } \mathbf { x } \mathrm { d } t
一般来说,我们取平方误差
L(t,y(x))={y(x)t}2L ( t , y ( \mathbf { x } ) ) = \{ y ( \mathbf { x } ) - t \} ^ { 2 }
如果我们的y(x)y ( \mathbf { x } )为任意函数的话,我们利用变分可以得到
δE[L]δy(x)=2{y(x)t}p(x,t)dt=0 \frac { \delta \mathbb { E } [ L ] } { \delta y ( \mathbf { x } ) } = 2 \int \{ y ( \mathbf { x } ) - t \} p ( \mathbf { x } , t ) \mathrm { d } t = 0
y(x)=tp(x,t)dtp(x)=tp(tx)dt=Et[tx] y ( \mathbf { x } ) = \frac { \int t p ( \mathbf { x } , t ) \mathrm { d } t } { p ( \mathbf { x } ) } = \int t p ( t | \mathbf { x } ) \mathrm { d } t = \mathbb { E } _ { t } [ t | \mathbf { x } ]
这个函数称为回归函数,下图为回归函数的具体意义
PRML学习总结(1)——Introduction
回归函数还可以按照如下方式得到
{y(x)t}2={y(x)E[tx]+E[tx]t}2={y(x)E[tx]}2+2{y(x)E[tx]}{E[tx]t}+{E[tx]t}2 \begin{array} { l } { \{ y ( \mathbf { x } ) - t \} ^ { 2 } = \{ y ( \mathbf { x } ) - \mathbb { E } [ t | \mathbf { x } ] + \mathbb { E } [ t | \mathbf { x } ] - t \} ^ { 2 } } \\ { \quad = \{ y ( \mathbf { x } ) - \mathbb { E } [ t | \mathbf { x } ] \} ^ { 2 } + 2 \{ y ( \mathbf { x } ) - \mathbb { E } [ t | \mathbf { x } ] \} \{ \mathbb { E } [ t | \mathbf { x } ] - t \} + \{ \mathbb { E } [ t | \mathbf { x } ] - t \} ^ { 2 } } \end{array}
先对tt进行积分,则获得
E[L]={y(x)E[tx]}2p(x)dx+{E[tx]t}2p(x)dx \mathbb { E } [ L ] = \int \{ y ( \mathbf { x } ) - \mathbb { E } [ t | \mathbf { x } ] \} ^ { 2 } p ( \mathbf { x } ) \mathrm { d } \mathbf { x } + \int \{ \mathbb { E } [ t | \mathbf { x } ] - t \} ^ { 2 } p ( \mathbf { x } ) \mathrm { d } \mathbf { x }
为了使上式最小,则能得到回归函数。上式右边的第二部分为ttp(x)p(\mathbf{x})上的方差,是固有噪声,不可消除!
与分类问题类似,回归问题也可以按照先难后易有三种解决回归问题的方法:
a)直接建模p(x,t)p ( \mathbf { x } , t ),然后得到p(tx)p ( t | \mathbf { x } ),最后得到回归函数;
b)直接建模p(tx)p ( t | \mathbf { x } )
c)建模一个映射函数y(x)y ( \mathbf { x } )

1.6 Information Theory

简要介绍一些关于信息论的概念

Entropy

H[x]=p(x)lnp(x)dx \mathrm { H } [ \mathrm { x } ] = - \int p ( \mathrm { x } ) \ln p ( \mathrm { x } ) \mathrm { d } \mathrm { x }

Conditional Entropy

H[yx]=p(y,x)lnp(yx)dydx \mathrm { H } [ \mathbf { y } | \mathbf { x } ] = - \iint p ( \mathbf { y } , \mathbf { x } ) \ln p ( \mathbf { y } | \mathbf { x } ) \mathrm { d } \mathbf { y } \mathrm { d } \mathbf { x }
H[x,y]=H[yx]+H[x] \mathrm { H } [ \mathrm { x } , \mathrm { y } ] = \mathrm { H } [ \mathbf { y } | \mathrm { x } ] + \mathrm { H } [ \mathrm { x } ]

Relative entropy and mutual information

KL divergence
KL(pq)=p(x)lnq(x)dx(p(x)lnp(x)dx)=p(x)ln{q(x)p(x)}dx \begin{aligned} \mathrm { KL } ( p \| q ) & = - \int p ( \mathbf { x } ) \ln q ( \mathbf { x } ) \mathrm { d } \mathbf { x } - \left( - \int p ( \mathbf { x } ) \ln p ( \mathbf { x } ) \mathrm { d } \mathbf { x } \right) \\ & = - \int p ( \mathbf { x } ) \ln \left\{ \frac { q ( \mathbf { x } ) } { p ( \mathbf { x } ) } \right\} \mathrm { d } \mathbf { x } \end{aligned}
需要注意的是KL(pq)̸=KL(qp)\mathrm { KL } ( p \| q ) \not= \mathrm { KL } ( q \| p ),且KL(qp)0\mathrm { KL } ( q \| p ) \geqslant 0,当且仅当q(x)=p(x)q(x)=p(x)时,取等。下面从KL散度来推导最大似然估计,假设我么有个未知分布p(x)p(x),我们利用q(xθ)q ( \mathbf { x } | \boldsymbol { \theta } )去近似这个未知分布,则
KL(pq)n=1N{lnq(xnθ)+lnp(xn)} \mathrm { KL } ( p \| q ) \simeq \sum _ { n = 1 } ^ { N } \left\{ - \ln q \left( \mathbf { x } _ { n } | \boldsymbol { \theta } \right) + \ln p \left( \mathbf { x } _ { n } \right) \right\}
右边的第二部分与θ\boldsymbol { \theta }无关,只需要看第一部分,这部分正好就是最大似然估计项!!最小KL散度就是在最大似然函数!
下面开始介绍互信息,其是在KL散度上定义的,用于衡量x,yx,y与独立的距离!
I[x,y]KL(p(x,y)p(x)p(y))=p(x,y)ln(p(x)p(y)p(x,y))dxdy \begin{aligned} \mathrm { I } [ \mathbf { x } , \mathbf { y } ] & \equiv \mathrm { KL } ( p ( \mathbf { x } , \mathbf { y } ) \| p ( \mathbf { x } ) p ( \mathbf { y } ) ) \\ & = - \iint p ( \mathbf { x } , \mathbf { y } ) \ln \left( \frac { p ( \mathbf { x } ) p ( \mathbf { y } ) } { p ( \mathbf { x } , \mathbf { y } ) } \right) \mathrm { d } \mathbf { x } \mathrm { d } \mathbf { y } \end{aligned}
I(x,y)0I ( \mathbf { x } , \mathbf { y } ) \geqslant 0,当且仅当独立时取等。
互信息与熵有如下关系
I[x,y]=H[x]H[xy]=H[y]H[yx] \mathrm { I } [ \mathrm { x } , \mathrm { y } ] = \mathrm { H } [ \mathrm { x } ] - \mathrm { H } [ \mathrm { x } | \mathrm { y } ] = \mathrm { H } [ \mathrm { y } ] - \mathrm { H } [ \mathrm { y } | \mathrm { x } ]