术语
样本空间(sample space): Ω \Omega Ω,包含了所有可能出现的结果的集合。比如在掷一次骰子的样本空间可以用{1,2,3,4,5,6}表示。
事件集(event space): F F F,a collection of subsets of Ω \Omega Ω,用来表示出现的结果。事件集未必是样本空间中的单一元素,也可以是复杂元素。比如在掷一次骰子的样本空间中,可以用{1,3,5}表示结果为奇数的事件。
概率函数(probability function): P P P,该函数完成了从事件到该事件发生概率的映射。
概率法则
贝叶斯
A的先验概率(prior probability of A): P(A)
A的后验概率(posterior probability of an event A given B): P(A|B)
P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) P(A|B) = \frac {P(B|A)P(A)} {P(B)} P(A∣B)=P(B)P(B∣A)P(A)
独立事件
事件 A 1 , A 2 , . . . , A n A_1, A_2,\ ...\ , A_n A1,A2, ... ,An相互独立,当且仅当该事件集合的所有子集满足条件 P ( A i 1 , A i 2 , . . . , A i k ) = ∏ j = 1 k P ( A i j ) P(A_{i1}, A_{i2},\ ...\ , A_{ik}) = \prod_{j=1}^k P(A_{ij}) P(Ai1,Ai2, ... ,Aik)=∏j=1kP(Aij)
随机变量
一般来说,我们使用大写字母表示随机变量本身,用对应的小写字母代表该变量的取值。
可以从CDF分辨一个随机变量是离散变量、连续变量、抑或是两者都不是。
离散变量
满足条件 P ( X ∈ X ) = 1 P(X \in \mathcal X) = 1 P(X∈X)=1 for some countable set X ⊂ R \mathcal X \sub R X⊂R。
离散变量可以被其概率质量函数充分说明。
概率质量函数
probability mass function (pmf)。定义 p ( x ) = P ( X = x ) ∀ x ∈ X p(x) = P(X=x) \ \forall \ x \in X p(x)=P(X=x) ∀ x∈X。
性质:
- p ( x ) ≥ 0 p(x) \ge 0 p(x)≥0
- ∑ x ∈ X p ( x ) = 1 \sum_{x \in X} p(x) = 1 ∑x∈Xp(x)=1
我们常用记号 X ∼ p ( x ) X \sim p(x) X∼p(x)来表示X的pmf是p(x)。
累积分布函数
cumulative density function (cdf)。定义 F ( x ) = P ( X ≤ x ) F(x) = P(X \le x) F(x)=P(X≤x)。
性质
-
F ( x ) ≥ 0 F(x) \ge 0 F(x)≥0,且单调非递减
-
l i m x − > ∞ F ( x ) = 1 lim_{x->\infty} F(x) = 1 limx−>∞F(x)=1, l i m x − > − ∞ F ( x ) = 0 lim_{x->-\infty} F(x) = 0 limx−>−∞F(x)=0
-
F ( x ) F(x) F(x) 是右连续的,即 l i m x − > a + F ( x ) = F ( a ) lim_{x->a^+} F(x) = F(a) limx−>a+F(x)=F(a)
-
P ( X = a ) = F ( a ) − l i m x − > a − F ( a ) P(X=a) = F(a) \ - \ lim_{x->a^-} F(a) P(X=a)=F(a) − limx−>a−F(a)
经典的离散变量
Bernoulli
p ( x ) = p x + ( 1 − p ) ( 1 − x ) ; x ∈ { 0 , 1 } p(x) = px + (1-p)(1-x); \ x \in \{0,1\} p(x)=px+(1−p)(1−x); x∈{ 0,1}
应用场景为投篮投进的概率。
v a r ( X ) = p ( 1 − p ) var(X) = p(1-p) var(X)=p(1−p)
Geometric
p ( x ) = p ( 1 − p ) x p(x) = p(1-p)^x p(x)=p(1−p)x
应用场景为抛硬币直到看到一次正面朝上的概率。
Binomial
p ( x ) = C ( n , k ) ∗ p k ( 1 − p ) n − k p(x) = C(n, k)*p^k(1-p)^{n-k} p(x)=C(n,k)∗pk(1−p)n−k
应用场景为连续抛n次硬币看到k次正面朝上的概率。
Poisson
p ( x ) = λ x x ! e − λ ; λ > 0 p(x) = \frac {\lambda^x} {x!} e^{-\lambda}; \lambda > 0 p(x)=x!λxe−λ;λ>0
应用场景为在给定时间段内事件的数量。
Categorical
可以自己根据场景定义pmf。
连续变量
概率密度函数
probability density function (pdf)。定义 f ( x ) = d F ( x ) d x f(x) = \frac {dF(x)} {dx} f(x)=dxdF(x)。
性质
- f ( x ) ≥ 0 f(x) \ge 0 f(x)≥0
- ∫ − ∞ ∞ f ( x ) d x = 1 \int_{-\infty}^{\infty} f(x) dx = 1 ∫−∞∞f(x)dx=1,同理 P ( X ≤ a ) = ∫ − ∞ a f ( x ) d x P(X \le a) = \int_{-\infty}^{a} f(x) dx P(X≤a)=∫−∞af(x)dx
- P ( X ∈ A ) = ∫ x ∈ A f ( x ) d x P(X \in A) = \int_{x \in A} f(x) dx P(X∈A)=∫x∈Af(x)dx
我们常用记号 X ∼ f ( x ) X \sim f(x) X∼f(x)来表示 X X X的pdf是 f ( x ) f(x) f(x)。
累积分布函数
与离散变量的CDF部分相同。
经典的连续变量
高斯Gaussian
X ∼ N ( μ , σ 2 ) X \sim \mathcal N(\mu, \sigma^2) X∼N(μ,σ2)
f ( x ) = 1 2 π σ 2 ∗ e − ( x − μ ) 2 2 σ 2 f(x) = \frac {1} {\sqrt{2\pi \sigma^2}} * e^{-\frac {(x-\mu)^2} { 2\sigma^{2}}} f(x)=2πσ21∗e−2σ2(x−μ)2
Logistic
X ∼ l o g i s t i c ( μ = 0 , s = 0 ) X \sim logistic(\mu=0, s=0) X∼logistic(μ=0,s=0)
f ( x ) = e − x ( 1 + e − x ) 2 f(x) = \frac {e^{-x}} {(1+e^{-x})^2} f(x)=(1+e−x)2e−x
Uniform
X ∼ U [ a , b ] X \sim U[a,b] X∼U[a,b]
f ( x ) = 1 b − a ; f o r a ≤ x ≤ b f(x) = \frac 1 {b-a}; \ for \ a \le \ x \le b f(x)=b−a1; for a≤ x≤b
v a r ( X ) = ( b − a ) 2 12 var(X) = \frac {(b-a)^2} {12} var(X)=12(b−a)2
Exponential
X ∼ E x p ( λ ) ; λ > 0 X \sim Exp(\lambda); \lambda > 0 X∼Exp(λ);λ>0
f ( x ) = λ e − λ x ; x ≥ 0 f(x) = \lambda e^{-\lambda x}; \ x \ge 0 f(x)=λe−λx; x≥0
Laplace
X ∼ L a p ( μ , b ) ; b > 0 X \sim Lap(\mu, b); \ b > 0 X∼Lap(μ,b); b>0
f ( x ) = 1 2 b e − ∣ x − μ ∣ b f(x) = \frac 1 {2b} e^{-\frac{|x - \mu|} {b}} f(x)=2b1e−b∣x−μ∣
期望&方差&矩
期望
假设 X ∼ p ( x ) X \sim p(x) X∼p(x),则 E [ X ] = ∑ x ∈ X x p ( x ) E[X] = \sum_{x \in X} xp(x) E[X]=∑x∈Xxp(x)。容易得到 E [ g ( X ) ] = ∑ x ∈ X g ( x ) p ( x ) E[g(X)] = \sum_{x \in X} g(x)p(x) E[g(X)]=∑x∈Xg(x)p(x)。
假设 X ∼ f ( x ) X \sim f(x) X∼f(x),则 E [ X ] = ∫ − ∞ ∞ x f ( x ) E[X] = \int_{-\infty}^{\infty} xf(x) E[X]=∫−∞∞xf(x)。容易得到 E [ g ( X ) ] = ∫ − ∞ ∞ g ( x ) f ( x ) d x E[g(X)] = \int_{-\infty}^{\infty} g(x)f(x) dx E[g(X)]=∫−∞∞g(x)f(x)dx。
需要注意的是,期望是有可能发散的。比如 g ( x ) = x − 2 ; x ≥ 1 g(x) = x^{-2}; \ x \ge 1 g(x)=x−2; x≥1的期望就是正无穷。
性质
- 线性, E [ a ∗ g ( X ) + b ∗ h ( X ) + c ] = a ∗ E [ g ( X ) ] + b ∗ E [ h ( X ) ] + c E[a*g(X) + b*h(X) + c] = a*E[g(X)] + b*E[h(X)] + c E[a∗g(X)+b∗h(X)+c]=a∗E[g(X)]+b∗E[h(X)]+c
- 可转换性,如果 Y = g ( X ) Y = g(X) Y=g(X),那么 E [ Y ] = E [ g ( X ) ] E[Y] = E[g(X)] E[Y]=E[g(X)]
方差
方差 v a r ( X ) var(X) var(X),有时候也用 D ( X ) D(X) D(X)表示。
D [ X ] = E [ ( X − E [ X ] ) 2 ] = E [ X 2 ] − ( E [ X ] ) 2 D[X] = E[(X - E[X])^2] = E[X^2] - (E[X])^2 D[X]=E[(X−E[X])2]=E[X2]−(E[X])2。数学推导见下,
D [ X ] = ∑ i = 1 n ( x i − μ ) 2 p i = ∑ i = 1 n x i 2 p i − 2 μ ∑ i = 1 n x i p i + μ 2 ∑ i = 1 n p i = ∑ i = 1 n x i 2 p i − 2 μ 2 + μ 2 ∑ i = 1 n p i = ∑ i = 1 n x i 2 p i − μ 2 = E [ X 2 ] − ( E [ X ] ) 2 D[X] = \sum_{i=1}^n (x_i - \mu)^2 p_i \\\\ = \sum_{i=1}^n x_i^2 p_i - 2\mu \sum_{i=1}^n x_i p_i + \mu^2 \sum_{i=1}^n p_i \\\\ = \sum_{i=1}^n x_i^2 p_i - 2 \mu^2 + \mu^2 \sum_{i=1}^n p_i \\\\ = \sum_{i=1}^n x_i^2 p_i - \mu^2 \\\\ = E[X^2] - (E[X])^2 D[X]=i=1∑n(xi−μ)2pi=i=1∑nxi2pi−2μi=1∑nxipi+μ2i=1∑npi=i=1∑nxi2pi−2μ2+μ2i=1∑npi=i=1∑nxi2pi−μ2=E[X2]−(E[X])2
性质
- D [ a x + b ] = a 2 ∗ D ( x ) D[ax+b] = a^2*D(x) D[ax+b]=a2∗D(x)
矩
英文是moment,有时候被称为动差。
i i i阶矩被定义为 E [ X i ] E[X^i] E[Xi],可以发现一阶矩正好就是期望。0阶矩被定义为1。
联合概率
假设iid, p ( x , y ) = P ( X = x , Y = y ) p(x, y) = P(X=x, Y=y) p(x,y)=P(X=x,Y=y), ( X , Y ) ∼ p ( x , y ) (X,Y) \sim p(x,y) (X,Y)∼p(x,y)。
联合概率质量函数
边缘分布(marginals)可以表示成 p ( x ) = ∑ y ∈ Y p ( x , y ) p(x) = \sum_{y \in \mathcal Y} p(x, y) p(x)=∑y∈Yp(x,y)
X X X, Y Y Y相互独立<=> p ( x , y ) = p ( x ) p ( y ) ∀ x ∈ X , y ∈ Y p(x, y) = p(x)p(y) \ \forall \ x \in \mathcal X, y \in \mathcal Y p(x,y)=p(x)p(y) ∀ x∈X,y∈Y
联合累积分布函数
F ( x , y ) = P ( X ≤ x , Y ≤ y ) ∀ x ∈ R , y ∈ R F(x,y) = P(X \le x, Y \le y) \ \forall \ x \in R, y \in R F(x,y)=P(X≤x,Y≤y) ∀ x∈R,y∈R
容易得到 P ( a < X ≤ b , c < Y ≤ d ) = F ( b , d ) − F ( a , d ) − F ( b , c ) + F ( a , c ) P(a < X \le b, c < Y \le d) = F(b,d) - F(a,d) - F(b,c) + F(a,c) P(a<X≤b,c<Y≤d)=F(b,d)−F(a,d)−F(b,c)+F(a,c)。
性质
- 在x和y方向均不递减
- l i m x − > + ∞ F ( x , y ) = F ( y ) lim_{x->+\infty} F(x,y) = F(y) limx−>+∞F(x,y)=F(y)
联合概率密度函数
f ( x , y ) = ∂ 2 F ( x , y ) ∂ x ∂ y f(x,y) = \frac {\partial^2 F(x,y)} {\partial x \partial y} f(x,y)=∂x∂y∂2F(x,y)
计算 X X X的边缘联合概率质量函数(marginal pdf): f ( x ) = ∫ − ∞ ∞ f ( x , y ) d y f(x) = \int_{-\infty}^{\infty} f(x,y) dy f(x)=∫−∞∞f(x,y)dy
性质
- P ( ( X , Y ) ∈ A ) = ∫ ( x , y ) ∈ A f ( x , y ) d x d y P((X,Y) \in A) = \int_{(x,y) \in A} f(x,y) dxdy P((X,Y)∈A)=∫(x,y)∈Af(x,y)dxdy
联合高斯
Jointly Gaussian,也被称为Bivariate Gaussian。定义 ρ \rho ρ为关联系数(correlation coefficient)。
变量间的相互关系
协方差
covariance。用于衡量两个随机变量的联合变化程度。
c o v ( X , Y ) = E [ ( X − E [ X ] ) ( Y − E [ Y ] ) ] = E [ X Y ] − E [ X ] E [ Y ] cov(X, Y) = E[(X - E[X])(Y - E[Y])] = E[XY] - E[X]E[Y] cov(X,Y)=E[(X−E[X])(Y−E[Y])]=E[XY]−E[X]E[Y]
如果两个变量相互独立,那么协方差是0。但是反之并不成立!如果两个变量的协方差是0,我们只能说这两个变量不相关,但是不能得出相互独立的结论。
上面这张图就是协方差为0但变量不相互独立的例子。
我们仔细观察可以发现,方差是协方差的一种特殊情况,是变量与自身的协方差。
v a r ( X + Y ) = v a r ( X ) + v a r ( Y ) + 2 c o v ( X , Y ) var(X+Y) = var(X) + var(Y) + 2cov(X,Y) var(X+Y)=var(X)+var(Y)+2cov(X,Y)。
我们可以用方差的公式证明这一推论。
v a r ( X + Y ) = E [ ( X + Y ) 2 ] − ( E [ X + Y ] ) 2 = E [ X 2 ] + E [ Y 2 ] + 2 E [ X Y ] − ( E [ X + Y ] ) 2 = ( E [ X 2 ] − E [ X ] 2 + E [ X ] 2 ) + ( E [ Y 2 ] − E [ Y ] 2 + E [ Y ] 2 ) + 2 E [ X Y ] − ( E [ X + Y ] ) 2 = v a r ( X ) + E [ X ] 2 + v a r ( Y ) + E [ Y ] 2 + 2 E [ X Y ] − ( E [ X + Y ] ) 2 = v a r ( X ) + v a r ( Y ) + E [ X ] 2 + E [ Y ] 2 + 2 E [ X Y ] − ( E [ X ] + E [ Y ] ) 2 = v a r ( X ) + v a r ( Y ) + 2 E [ X Y ] + E [ X ] 2 + E [ Y ] 2 − ( E [ X ] + E [ Y ] ) 2 = v a r ( X ) + v a r ( Y ) + 2 E [ X Y ] − 2 E [ X ] [ Y ] = v a r ( X ) + v a r ( Y ) + 2 c o v ( X , Y ) var(X+Y) = E[(X+Y)^2] - (E[X+Y])^2 \\\\ = E[X^2] + E[Y^2] + 2E[XY] - (E[X+Y])^2 \\\\ = (E[X^2] - E[X]^2 + E[X]^2) + (E[Y^2] - E[Y]^2+ E[Y]^2) + 2E[XY] - (E[X+Y])^2 \\\\ = var(X) + E[X]^2 + var(Y) + E[Y]^2 + 2E[XY] - (E[X+Y])^2 \\\\ = var(X) + var(Y) + E[X]^2 + E[Y]^2 + 2E[XY] - (E[X]+E[Y])^2 \\\\ = var(X) + var(Y) + 2E[XY] + E[X]^2 + E[Y]^2 - (E[X]+E[Y])^2 \\\\ = var(X) + var(Y) + 2E[XY] - 2E[X][Y] \\\\ = var(X) + var(Y) + 2cov(X,Y) var(X+Y)=E[(X+Y)2]−(E[X+Y])2=E[X2]+E[Y2]+2E[XY]−(E[X+Y])2=(E[X2]−E[X]2+E[X]2)+(E[Y2]−E[Y]2+E[Y]2)+2E[XY]−(E[X+Y])2=var(X)+E[X]2+var(Y)+E[Y]2+2E[XY]−(E[X+Y])2=var(X)+var(Y)+E[X]2+E[Y]2+2E[XY]−(E[X]+E[Y])2=var(X)+var(Y)+2E[XY]+E[X]2+E[Y]2−(E[X]+E[Y])2=var(X)+var(Y)+2E[XY]−2E[X][Y]=var(X)+var(Y)+2cov(X,Y)
性质
- 对称性
- c o v ( a X , b Y ) = a b c o v ( X , Y ) cov(aX, bY) = ab \ cov(X,Y) cov(aX,bY)=ab cov(X,Y)
相关
correlation。显示两个随机变量之间线性关系的强度和方向。如果变量之间有很强的关系但不是线性关系,correlation也很可能是0。
E [ X Y ] = ∑ x ∈ X ∑ y ∈ Y x y p ( x , y ) E[XY] = \sum_{x \in X} \sum_{y \in Y} xyp(x,y) E[XY]=∑x∈X∑y∈Yxyp(x,y)
上面图示分别对应correlation值接近0,1,-1.
相关系数
Correlation Coefficient。一般指的都是皮尔森系数。
ρ = c o v ( X , Y ) v a r ( X ) v a r ( Y ) \rho = \frac {cov(X, Y)} {\sqrt{var(X)var(Y)}} ρ=var(X)var(Y)cov(X,Y)
性质
- 对称性
协方差矩阵
一个向量由多个随机变量组成(默认是列向量),用 v v v或者 x x x表示。
随机向量$ v $的协方差矩阵是所有RV对之间的协方差的矩阵。实际上,我们可以将其视为对单个RV的方差的扩展。
我们可以从定义出发进行推导得到一个推论,注意下面多处包含的是向量的外积:
Σ v = E [ ( v − μ v ) ( v − μ v ) T ] = E [ v v T − v μ v T − μ v v T + μ v μ v T ] = E [ v v T ] − E [ v μ v T ] − E [ μ v v T ] + E [ μ v μ v T ] = E [ v v T ] − E [ v ] μ v T − μ v E [ v T ] + μ v μ v T = E [ v v T ] − μ v μ v T − μ v μ v T + μ v μ v T = E [ v v T ] − μ v μ v T \Sigma_{v} = E[(v-\mu_v)(v-\mu_v)^T] \\\\ = E[vv^T - v\mu_v^T - \mu_vv^T + \mu_v\mu_v^T] \\\\ = E[vv^T] - E[v\mu_v^T] - E[\mu_v v^T] + E[\mu_v \mu_v^T] \\\\ = E[vv^T] - E[v]\mu_v^T - \mu_v E[v^T] + \mu_v\mu_v^T \\\\ = E[vv^T] - \mu_v \mu_v^T - \mu_v \mu_v^T + \mu_v\mu_v^T \\\\ = E[vv^T] - \mu_v \mu_v^T Σv=E[(v−μv)(v−μv)T]=E[vvT−vμvT−μvvT+μvμvT]=E[vvT]−E[vμvT]−E[μvvT]+E[μvμvT]=E[vvT]−E[v]μvT−μvE[vT]+μvμvT=E[vvT]−μvμvT−μvμvT+μvμvT=E[vvT]−μvμvT
性质
- 对称性
- 半正定性
参数估计
最大后验概率
Maximum-a-posteriori (MAP)。对于分类问题,MAP将0-1损失最小化。
假设 x , y x,y x,y都是离散的。
y ^ = g ( x ) = a r g m a x y p ( y ∣ x ) = a r g m a x y p ( x , y ) = a r g m a x y p ( x ∣ y ) p ( y ) \hat y = g(x) = argmax_y p(y|x) \\\\ = argmax_y p(x,y) \\\\ = argmax_y p(x|y)p(y) \\\\ y^=g(x)=argmaxyp(y∣x)=argmaxyp(x,y)=argmaxyp(x∣y)p(y)
假设 x x x是连续的, y y y是离散的。
y ^ = g ( x ) = a r g m a x y p ( y ∣ x ) = a r g m a x y f ( x ∣ y ) p ( y ) \hat y = g(x) = argmax_y p(y|x) \\\\ = argmax_y f(x|y)p(y) y^=g(x)=argmaxyp(y∣x)=argmaxyf(x∣y)p(y)
缺点
- 随机变量相互独立的假设通常不成立
- 训练集中未出现某个值的样本导致概率为0,可以通过smoothing解决
最大似然估计
Maximum Likelihood Estimation (MLE)。在MAP的基础上,我们假设 y y y的先验概率都相同。
y ^ = a r g m a x y p ( y ∣ x ) = a r g m a x y p ( x ∣ y ) \hat y = argmax_y p(y|x) \\\\ = argmax_y p(x|y) \\\\ y^=argmaxyp(y∣x)=argmaxyp(x∣y)
用 y y y表示会显得完全随机,有可能该参数是服从某个分布的,所以常用 θ \theta θ表示。在保证独立的情况下,可以得到
p θ ( x ) = ∏ i = 1 N p ( x i ) p_\theta(x) = \prod_{i=1}^N p(x_i) \\\\ pθ(x)=i=1∏Np(xi)
假设进行 n n n次伯努利实验,观察到 k k k次成功。我们想要预测其成功概率,用 θ \theta θ来表示。当 θ = k / n \theta=k/n θ=k/n时有最大值。
a r g m a x θ θ k ( 1 − θ ) n − k = a r g m a x θ l o g [ θ k ( 1 − θ ) n − k ] = a r g m a x θ [ k l o g θ + ( n − k ) l o g ( 1 − θ ) ] k / θ − ( n − k ) / ( 1 − θ ) = 0 θ ∗ = k / n argmax_\theta \theta^k(1-\theta)^{n-k} \\\\ = argmax_\theta log[\theta^k(1-\theta)^{n-k}] \\\\ = argmax_\theta[k log\theta + (n-k)log(1-\theta)] \\\\ k/\theta - (n-k)/(1-\theta) = 0 \\\\ \theta^* = k/n argmaxθθk(1−θ)n−k=argmaxθlog[θk(1−θ)n−k]=argmaxθ[klogθ+(n−k)log(1−θ)]k/θ−(n−k)/(1−θ)=0θ∗=k/n
同理,在 θ \theta θ服从高斯分布的情况下,我们可以得到 θ ∗ = 1 n ∑ x i \theta^* = \frac 1 n \sum x_i θ∗=n1∑xi。
最小二乘法
Minimum Mean Squared Error (MMSE)。最小化平方误差函数。
y ^ = f ( x ) = E [ y ∣ x ] \hat y = f(x) = E[y|x] \\\\ y^=f(x)=E[y∣x]
考虑两个向量 x x x 和 y y y 有联合分布 p ( x , y ) p(x,y) p(x,y)。我们可以得到,
E [ ( y − E [ y ∣ x ] ) 2 ] = E [ y 2 − 2 y E [ y ∣ x ] + ( E [ y ∣ x ] ) 2 ] = E [ y 2 ] − 2 E [ y E [ y ∣ x ] ] + E [ ( E [ y ∣ x ] ) 2 ] = E [ y 2 ] − 2 E [ E [ y E [ y ∣ x ] ∣ x ] ] + E [ ( E [ y ∣ x ] ) 2 ] = E [ y 2 ] − 2 E [ E [ y ∣ x ] E [ y ∣ x ] ] + E [ ( E [ y ∣ x ] ) 2 ] = E [ y 2 ] − E [ ( E [ y ∣ x ] ) 2 ] = E [ E [ y 2 ∣ x ] ] − ( E [ E [ y ∣ x ] ] ) 2 = E [ v a r ( y ∣ x ) ] E[(y - E[y|x])^2] = E[y^2 - 2yE[y|x] + (E[y|x])^2] \\\\ = E[y^2] - 2E[yE[y|x]] + E[(E[y|x])^2] \\\\ = E[y^2] - 2E[E[yE[y|x]|x]] + E[(E[y|x])^2] \\\\ = E[y^2] - 2E[E[y|x]E[y|x]] + E[(E[y|x])^2] \\\\ = E[y^2] - E[(E[y|x])^2] \\\\ = E[E[y^2|x]] - (E[E[y|x]])^2 \\\\ = E[var(y|x)] E[(y−E[y∣x])2]=E[y2−2yE[y∣x]+(E[y∣x])2]=E[y2]−2E[yE[y∣x]]+E[(E[y∣x])2]=E[y2]−2E[E[yE[y∣x]∣x]]+E[(E[y∣x])2]=E[y2]−2E[E[y∣x]E[y∣x]]+E[(E[y∣x])2]=E[y2]−E[(E[y∣x])2]=E[E[y2∣x]]−(E[E[y∣x]])2=E[var(y∣x)]
条件独立
我们认为当前概率可能与其前面发生事件的概率相关(即条件), p ( x ) = p ( x 1 ) p ( x 2 ∣ x 1 ) p ( x 3 ∣ x 1 , x 2 ) . . . p ( x n ∣ x 1 , . . . x n − 1 ) p(x) = p(x_1)p(x_2|x_1)p(x_3|x_1, x_2)\ ...\ p(x_n|x_1, \ ...\ x_{n-1}) p(x)=p(x1)p(x2∣x1)p(x3∣x1,x2) ... p(xn∣x1, ... xn−1)。
p ( x ) = ∏ j = 1 N p ( x j ∣ x 1 , x 2 , . . . , x j − 1 ) p(x) = \prod_{j=1}^N p(x_j | x_1, x_2, \ ...\ ,x_{j-1}) p(x)=j=1∏Np(xj∣x1,x2, ... ,xj−1)
需要注意的是,分解形式并不唯一,我们也可以调换分解的顺序。不过,上式是最常见的形式。
我们将X和Y两个RV相互独立记作 X ⊥ Y X \bot Y X⊥Y。
条件独立的英文是conditional independence。
X 1 X_1 X1和 X 2 X_2 X2在 X 3 X_3 X3发生时条件独立是 p ( x 1 , x 2 ∣ x 3 ) = p ( x 1 ∣ x 3 ) p ( x 2 ∣ x 3 ) p(x_1, x_2|x_3) =p(x_1|x_3)p(x_2|x_3) p(x1,x2∣x3)=p(x1∣x3)p(x2∣x3)的充要条件,记作 X 1 ⊥ X 2 ∣ X 3 X_1 \bot X_2 | X_3 X1⊥X2∣X3。我们也可以推出此时 p ( x 1 ∣ x 2 , x 3 ) = p ( x 1 ∣ x 3 ) p(x_1|x_2, x_3) = p(x_1|x_3) p(x1∣x2,x3)=p(x1∣x3)。
我们来看一个例子。我们抛一枚质地均匀的硬币两次。结果分别记为 X 1 X_1 X1和 X 2 X_2 X2,令 X 3 X_3 X3为前两者的异或结果。容易得到 p ( x 1 ) = p ( x 2 ) = p ( x 3 ) = 1 2 ; x = { 0 , 1 } p(x_1) = p(x_2) = p(x_3) = \frac {1} {2}; x = \{0,1\} p(x1)=p(x2)=p(x3)=21;x={ 0,1}。我们发现任意两个RV之间都是独立的,例如 X 1 X_1 X1, X 3 X_3 X3。但是当 X 3 X_3 X3发生时(已知 x 3 x_3 x3), X 1 X_1 X1和 X 2 X_2 X2之间并非独立的。
再来看一个例子。我们抛一枚质地均匀的硬币,结果记为 X 1 X_1 X1。如果结果为1,再抛一次硬币结果记为 X 2 X_2 X2,否则将 X 2 X_2 X2设为0。令 X 3 X_3 X3等于 X 2 X_2 X2。此时当 X 2 X_2 X2发生时, X 1 , X 3 X_1, X_3 X1,X3是独立的(条件独立),即 X 1 ⊥ X 3 ∣ X 2 X_1 \bot X_3 | X_2 X1⊥X3∣X2。
X 1 X_1 X1 | X 2 X_2 X2 | X 3 X_3 X3 | p ( x 1 , x 2 , x 3 ) p(x_1, x_2, x_3) p(x1,x2,x3) |
---|---|---|---|
0 | 0 | 0 | 1 2 \frac{1} {2} 21 |
1 | 0 | 0 | 1 4 \frac{1} {4} 41 |
1 | 1 | 1 | 1 4 \frac{1} {4} 41 |
概率图模型
普通的图由节点和边的集合构成。 G : = ( V , E ) G := (V, E) G:=(V,E)。通常用边表(edge list)表示。
应用包括社区发现(community detection),图向量嵌入(graph embeddings)等。
概率图模型是用图论方法以表现数个独立随机变量之间关联的一种建模方法。形式通常是有向无环图(directed acyclic graphical models, DAGs)。我们也可以称为贝叶斯网络(bayesian networks)。我们用 x ∼ p ( x ) x \sim p(x) x∼p(x)联系到图的性质中,使用一个节点代表一个RV,使用边代表不同RV间的依赖,即 p ( x ) = ∏ j p ( x j ∣ p a r e n t s o f x j ) p(x) = \prod_j p(x_j | parents\ of\ x_j) p(x)=∏jp(xj∣parents of xj)。通常情况下,我们对节点进行编号时,父节点会被先编号。
我们可以得到$X_i \bot X_j | {parents\ of X_i}\ \forall \ j < i \ & \ X_j \notin {parents\ of X_i} $。
例如,在上面图示中, X 7 ⊥ X 3 ∣ X 5 , X 6 X_7 \bot X_3 | X_5, X_6 X7⊥X3∣X5,X6。
由此,我们可以得到结论
p ( x ) = ∏ j = 1 N p ( x j ∣ p a r e n t s o f x j ) p(x) = \prod_{j=1}^N p(x_j | parents\ of\ x_j) p(x)=j=1∏Np(xj∣parents of xj)
马尔科夫链
这是概率图模型的一种特殊情况,即下一状态的概率分布只由当前状态决定,在时间序列中它前面的事件均与之无关。 p ( x ) = p ( x 1 ) p ( x 2 ∣ x 1 ) p ( x 3 ∣ x 2 ) . . . p ( x n ∣ x n − 1 ) p(x) = p(x_1)p(x_2|x_1)p(x_3|x_2)...p(x_n|x_{n-1}) p(x)=p(x1)p(x2∣x1)p(x3∣x2)...p(xn∣xn−1)。
信息熵
英文是Entropy。对于每一个事件,我们从它的发生能够获取到的信息是 l o g 2 ( 1 P ( A ) ) log_2(\frac 1 {P(A)}) log2(P(A)1)。这一个公式其实是符合我们的直觉的。如果一个不寻常事件它发生了,透露的信息应该比常见事件透露的信息更多。
信息熵的定义如下,
H ( X ) = ∑ i = 1 m E [ l o g 2 1 p ( x i ) ] = − ∑ i = 1 m p ( x i ) l o g 2 p ( x i ) H(X) = \sum_{i=1}^mE[log_2 \frac{1} {p(x_i)}] = -\sum_{i=1}^m p(x_i) log_2 p(x_i) H(X)=i=1∑mE[log2p(xi)1]=−i=1∑mp(xi)log2p(xi)
性质
- H ( x ) ≥ 0 H(x) \ge 0 H(x)≥0
- H ( x ) ≤ l o g 2 ( ∣ X ∣ ) H(x) \le log_2(|\mathcal X|) H(x)≤log2(∣X∣)
通过上式,我们可以推导出联合信息熵
H ( X , Y ) = − ∑ i = 1 m ∑ j = 1 n p ( x i , y j ) l o g 2 ( p ( x i , y j ) ) H(X, Y) = -\sum_{i=1}^m\sum_{j=1}^n p(x_i, y_j) log_2 (p(x_i, y_j)) H(X,Y)=−i=1∑mj=1∑np(xi,yj)log2(p(xi,yj))
同理,可以得到条件信息熵
H ( X ∣ Y ) = − ∑ y p ( y ) H ( X ∣ Y = y ) H(X|Y) = -\sum_{y} p(y) H(X|Y=y) \\\\ H(X∣Y)=−y∑p(y)H(X∣Y=y)
实际上,通过信息熵的链式法则,我们可以使用条件信息熵得到联合信息熵。
H ( X , Y ) = H ( X ) + H ( Y ∣ X ) H(X, Y) = H(X) + H(Y|X) H(X,Y)=H(X)+H(Y∣X)
推导如下,
H ( X , Y ) = − ∑ x ∑ y p ( x , y ) l o g 2 ( p ( x , y ) ) = − ∑ x ∑ y p ( x , y ) l o g 2 ( p ( x ) ∗ p ( y ∣ x ) ) = − ∑ x ∑ y p ( x , y ) ( l o g 2 p ( x ) + l o g 2 p ( y ∣ x ) ) = − ∑ x ∑ y p ( x , y ) l o g 2 p ( x ) − ∑ x ∑ y p ( x , y ) l o g 2 p ( y ∣ x ) = − ∑ x p ( x ) l o g 2 p ( x ) − ∑ x ∑ y p ( x ) p ( y ∣ x ) l o g 2 p ( y ∣ x ) = H ( X ) − ∑ x p ( x ) H ( Y ∣ X = x ) = H ( X ) + H ( Y ∣ X ) H(X, Y) = -\sum_{x}\sum_{y} p(x, y) log_2 (p(x, y)) \\\\ = -\sum_{x}\sum_{y} p(x, y) log_2 (p(x) * p(y|x)) \\\\ = -\sum_{x}\sum_{y} p(x, y) (log_2p(x) + log_2p(y|x)) \\\\ = -\sum_{x}\sum_{y} p(x, y) log_2p(x) -\sum_{x}\sum_{y} p(x, y) log_2p(y|x) \\\\ = -\sum_{x} p(x) log_2p(x) -\sum_{x}\sum_{y} p(x)p(y|x) log_2p(y|x) \\\\ = H(X) -\sum_{x}p(x)H(Y|X=x) \\\\ = H(X) + H(Y|X) \\\\ H(X,Y)=−x∑y∑p(x,y)log2(p(x,y))=−x∑y∑p(x,y)log2(p(x)∗p(y∣x))=−x∑y∑p(x,y)(log2p(x)+log2p(y∣x))=−x∑y∑p(x,y)log2p(x)−x∑y∑p(x,y)log2p(y∣x)=−x∑p(x)log2p(x)−x∑y∑p(x)p(y∣x)log2p(y∣x)=H(X)−x∑p(x)H(Y∣X=x)=H(X)+H(Y∣X)
通过多次使用该链式法则,我们可以得到
H ( X 1 , X 2 , . . . , X n ) = ∑ i = 1 n H ( X i ∣ X 1 , X 2 , . . . , X i − 1 ) H(X_1, X_2,\ ...\ , X_n) = \sum_{i=1}^n H(X_i | X_1, X_2,\ ...\ , X_{i-1}) H(X1,X2, ... ,Xn)=i=1∑nH(Xi∣X1,X2, ... ,Xi−1)
性质
- H ( X ) ≥ H ( X ∣ Y ) H(X) \ge H(X|Y) H(X)≥H(X∣Y),已知条件减小了不确定性
- H ( X ) = H ( X ∣ Y ) ; X ⊥ Y H(X) = H(X|Y); X \bot Y H(X)=H(X∣Y);X⊥Y
- H ( X , Y ) = H ( X ) + H ( Y ) ; X ⊥ Y H(X, Y) = H(X) + H(Y); X \bot Y H(X,Y)=H(X)+H(Y);X⊥Y
- H ( X , Y ) = H ( X ) ; Y = g ( X ) H(X, Y) = H(X); Y = g(X) H(X,Y)=H(X);Y=g(X)
微分熵
是从以离散随机变量所计算出的夏农熵推广,以连续型随机变量计算所得之熵。
H ( X ) = ∫ x p ( x ) l o g 2 ( 1 p ( x ) ) d x H(X) = \int_x p(x) log_2(\frac 1 {p(x)}) dx H(X)=∫xp(x)log2(p(x)1)dx
假设 X ∼ N ( μ , σ 2 ) X \sim \mathcal N(\mu, \sigma^2) X∼N(μ,σ2)。那么 H ( X ) = 1 2 l o g 2 ( 2 π e σ 2 ) H(X) = \frac 1 2 log_2(2\pi e \sigma^2) H(X)=21log2(2πeσ2)比特(bits)。
互信息
互信息被定义为 I ( Y ; X ) = H ( Y ) − H ( Y ∣ X ) I(Y;X) = H(Y) - H(Y|X) I(Y;X)=H(Y)−H(Y∣X),用于表示由于已知 X X X, Y Y Y的不确定性被减小了的部分。
性质
- I ( Y ; X ) = I ( X ; Y ) I(Y;X) = I(X;Y) I(Y;X)=I(X;Y)
- I ( Y ; X ) = ∑ x , y p ( x , y ) l o g ( p ( x , y ) p ( x ) p ( y ) ) I(Y;X) = \sum_{x, y} p(x, y) log(\frac{p(x, y)} {p(x)p(y)}) I(Y;X)=∑x,yp(x,y)log(p(x)p(y)p(x,y))
从下面这张韦恩图,我们可以直观地看见各个部分。
多变量高斯分布
我们考虑一个RV向量 x x x,期望是 μ \mu μ,有协方差矩阵 Σ x \Sigma_x Σx。可以得到联合高斯RV如下。
x ∼ N ( μ , Σ ) x \sim \mathcal N(\mu, \Sigma) x∼N(μ,Σ)
f ( x ) = 1 ( 2 π ) n ∣ Σ ∣ ∗ e − ( x − μ ) T Σ − 1 ( x − μ ) 2 f(x) = \frac {1} {\sqrt{(2\pi)^{n} |\Sigma|}} * e^{-\frac {(x-\mu)^T\Sigma^{-1}(x-\mu)} { 2}} f(x)=(2π)n∣Σ∣1∗e−2(x−μ)TΣ−1(x−μ)
因为 Σ \Sigma Σ是半正定的,我们知道 Σ − 1 \Sigma^{-1} Σ−1是半正定的。指数部分的等高线我们可以得到一个椭圆如下。
( x − μ ) T Σ − 1 ( x − μ ) ≥ 0 ; i f x − μ ≠ 0 ( x − μ ) T Σ − 1 ( x − μ ) = c (x-\mu)^T\Sigma^{-1}(x-\mu) \ge 0; \ if\ x- \mu \ne 0 \\\\ (x-\mu)^T\Sigma^{-1}(x-\mu) = c (x−μ)TΣ−1(x−μ)≥0; if x−μ=0(x−μ)TΣ−1(x−μ)=c
在最简单的情况下, x ∼ N ( 0 , I ) x \sim \mathcal N(0, I) x∼N(0,I),我们得到一个圆心在原点的圆。在一般情况下,我们需要对协方差矩阵进行分解。
Σ = U Λ U T = ∑ λ i u u T ( x − μ ) T Σ − 1 ( x − μ ) = ∑ 1 λ i ( x − μ ) T u i u i T ( x − μ ) = ∑ y i 2 λ i \Sigma = U\Lambda U^T = \sum \lambda_i uu^T \\\\ (x-\mu)^T\Sigma^{-1}(x-\mu) = \sum \frac 1 {\lambda_i} (x-\mu)^T u_i u_i^T (x-\mu) \\\\ = \sum \frac {y_i^2} {\lambda_i} Σ=UΛUT=∑λiuuT(x−μ)TΣ−1(x−μ)=∑λi1(x−μ)TuiuiT(x−μ)=∑λiyi2
这里的 y y y并没有特殊含义,只是为了书写简便,对表达式进行了简化。
性质
-
线性变换:已知 x ∼ N ( μ , Σ ) x \sim \mathcal N(\mu, \Sigma) x∼N(μ,Σ),则 A x ∼ N ( A μ , A Σ A T ) Ax \sim \mathcal N(A \mu, A \Sigma A^T) Ax∼N(Aμ,AΣAT)
-
如果RV之间无关联,即相互独立,则 Σ \Sigma Σ是对角矩阵, f ( x ) = ∏ i f ( x i ) f(x) = \prod_i f(x_i) f(x)=∏if(xi)
-
边缘概率分布(marginal)也是高斯随机变量
-
条件概率(conditional)也是高斯随机变量
对于性质1,在求边缘分布(marginal)的时候特别有用。我们一般需要通过对其他特征维度进行积分的方法求解,但我们也可以利用性质1构造一个巧妙的 A A A来求解。比如此时有三维特征,我们想求 p ( x 2 ) p(x_2) p(x2),那么我们将 A A A设置成 [ 0 1 0 ] [0\ 1\ 0] [0 1 0]即可。这个方法帮助我们省去积分的繁琐步骤。
对于性质3,要注意它反过来并不成立。即,假设边缘概率分布都是高斯随机变量,并不意味着由这些随机变量组成的RV服从高斯分布。
我们再对性质4做一些说明。通过线代,我们知道可以对矩阵做划分如下。
我们将 Σ x 2 ∣ x 1 \Sigma_{x_2|x_1} Σx2∣x1称为 Σ 11 \Sigma_{11} Σ11的舒尔补(Schur complement)。从操作上看其实非常容易理解,将 Σ \Sigma Σ取逆,将和已知条件相关的行和列去掉,再将得到的小矩阵取逆。这里的描述有些抽象,具体过程请参阅 (Murphy, 2012, 4.1-4.2)。
Σ x 2 ∣ x 1 = Σ 22 − Σ 21 Σ 11 − 1 Σ 12 \Sigma_{x_2|x_1} = \Sigma_{22} - \Sigma_{21}\Sigma_{11}^{-1}\Sigma_{12} Σx2∣x1=Σ22−Σ21Σ11−1Σ12
由舒尔补,我们可以得到
x 2 ∣ x 1 ∼ N ( Σ 21 Σ 11 − 1 ( x 1 − μ 1 ) + μ 2 , Σ 22 − Σ 21 Σ 11 − 1 Σ 12 ) x_2|x_1 \sim \mathcal N(\Sigma_{21}\Sigma_{11}^{-1}(x_1 - \mu_1) + \mu_2, \Sigma_{22} - \Sigma_{21}\Sigma_{11}^{-1}\Sigma_{12}) x2∣x1∼N(Σ21Σ11−1(x1−μ1)+μ2,Σ22−Σ21Σ11−1Σ12)
同理可得
x 1 ∣ x 2 ∼ N ( Σ 12 Σ 22 − 1 ( x 2 − μ 2 ) + μ 1 , Σ 11 − Σ 12 Σ 22 − 1 Σ 21 ) x_1|x_2 \sim \mathcal N(\Sigma_{12}\Sigma_{22}^{-1}(x_2 - \mu_2) + \mu_1, \Sigma_{11} - \Sigma_{12}\Sigma_{22}^{-1}\Sigma_{21}) x1∣x2∼N(Σ12Σ22−1(x2−μ2)+μ1,Σ11−Σ12Σ22−1Σ21)
高斯判别分析
我们假设观测数据来自于条件高斯分布。
p ( x ∣ y = 0 ) ∼ N ( μ 0 , Σ 0 ) p ( x ∣ y = 1 ) ∼ N ( μ 1 , Σ 1 ) p(x | y = 0) \sim \mathcal N(\mu_0, \Sigma_0) \\\\ p(x | y = 1) \sim \mathcal N(\mu_1, \Sigma_1) \\\\ p(x∣y=0)∼N(μ0,Σ0)p(x∣y=1)∼N(μ1,Σ1)
我们通过将两者的概率相除,然后取对数,就可以得到对数似然比(log likelihood ratio)。大于0的归为一类,小于0的归为另一类。
分类边界为 x T B x + w T x = c x^T B x + w^T x = c xTBx+wTx=c。如果两个高斯分布的协方差矩阵相同,那么分类边界可以简化成为 w T x = c w^T x= c wTx=c。这里我们假设两类的先验概率相同。
f ( x ) = l o g ( f ( x ∣ Y = 0 ) f ( x ∣ Y = 1 ) ) = l o g ( f ( x ∣ Y = 0 ) ) − l o g ( f ( x ∣ Y = 1 ) ) = l o g ( 1 ( 2 π ) 2 ∣ Σ 0 ∣ ∗ e − ( x − μ 0 ) T Σ 0 − 1 ( x − μ 0 ) 2 ) − l o g ( 1 ( 2 π ) 2 ∣ Σ 1 ∣ ∗ e − ( x − μ 1 ) T Σ 1 − 1 ( x − μ 1 ) 2 ) = l o g ( 1 ( 2 π ) 2 ∣ Σ 0 ∣ ) − ( x − μ 0 ) T Σ 0 − 1 ( x − μ 0 ) 2 − l o g ( 1 ( 2 π ) 2 ∣ Σ 1 ∣ ) + ( x − μ 1 ) T Σ 1 − 1 ( x − μ 1 ) 2 = l o g ( ∣ Σ 1 ∣ ∣ Σ 0 ∣ ) + 1 2 [ ( x − μ 1 ) T Σ 1 − 1 ( x − μ 1 ) − ( x − μ 0 ) T Σ 0 − 1 ( x − μ 0 ) ] = 1 2 l o g ( ∣ Σ 1 ∣ ) − 1 2 l o g ( ∣ Σ 0 ∣ ) + 1 2 [ ( x − μ 1 ) T Σ 1 − 1 ( x − μ 1 ) − ( x − μ 0 ) T Σ 0 − 1 ( x − μ 0 ) ] f(x) = log(\frac{f(x|Y=0)} {f(x|Y=1)}) \\\\ = log(f(x|Y=0)) - log(f(x|Y=1)) \\\\ = log(\frac {1} {\sqrt{(2\pi)^{2} |\Sigma_0|}} * e^{-\frac {(x-\mu_0)^T\Sigma_0^{-1}(x-\mu_0)} {2}}) - log(\frac {1} {\sqrt{(2\pi)^{2} |\Sigma_1|}} * e^{-\frac {(x-\mu_1)^T \Sigma_1^{-1} (x-\mu_1)} {2}}) \\\\ = log(\frac {1} {\sqrt{(2\pi)^{2} |\Sigma_0|}}) -\frac {(x-\mu_0)^T\Sigma_0^{-1}(x-\mu_0)} {2} - log(\frac {1} {\sqrt{(2\pi)^{2} |\Sigma_1|}}) + \frac {(x-\mu_1)^T\Sigma_1^{-1}(x-\mu_1)} {2} \\\\ = log(\sqrt{\frac { |\Sigma_1|}{|\Sigma_0|}}) + \frac{1} {2} [(x-\mu_1)^T\Sigma_1^{-1}(x-\mu_1) - (x-\mu_0)^T\Sigma_0^{-1}(x-\mu_0)] \\\\ = \frac{1} {2} log({|\Sigma_1|}) - \frac{1} {2} log({|\Sigma_0|}) + \frac{1} {2} [(x-\mu_1)^T\Sigma_1^{-1}(x-\mu_1) - (x-\mu_0)^T\Sigma_0^{-1}(x-\mu_0)] \\\\ f(x)=log(f(x∣Y=1)f(x∣Y=0))=log(f(x∣Y=0))−log(f(x∣Y=1))=log((2π)2∣Σ0∣1∗e−2(x−μ0)TΣ0−1(x−μ0))−log((2π)2∣Σ1∣1∗e−2(x−μ1)TΣ1−1(x−μ1))=log((2π)2∣Σ0∣1)−2(x−μ0)TΣ0−1(x−μ0)−log((2π)2∣Σ1∣1)+2(x−μ1)TΣ1−1(x−μ1)=log(∣Σ0∣∣Σ1∣)+21[(x−μ1)TΣ1−1(x−μ1)−(x−μ0)TΣ0−1(x−μ0)]=21log(∣Σ1∣)−21log(∣Σ0∣)+21[(x−μ1)TΣ1−1(x−μ1)−(x−μ0)TΣ0−1(x−μ0)]
边界可以通过乘以常数得到
l o g ( ∣ Σ 1 ∣ ) − l o g ( ∣ Σ 0 ∣ ) + ( x − μ 1 ) T Σ 1 − 1 ( x − μ 1 ) − ( x − μ 0 ) T Σ 0 − 1 ( x − μ 0 ) = 0 x T ( Σ 1 − 1 − Σ 0 − 1 ) x + 2 ( μ 0 T Σ 0 − 1 − μ 1 T Σ 1 − 1 ) x = l o g ( ∣ Σ 0 ∣ ) − l o g ( ∣ Σ 1 ∣ ) + μ 0 T Σ 0 − 1 μ 0 − μ 1 T Σ 1 − 1 μ 1 log({|\Sigma_1|}) - log({|\Sigma_0|}) + (x-\mu_1)^T\Sigma_1^{-1}(x-\mu_1) - (x-\mu_0)^T\Sigma_0^{-1}(x-\mu_0) = 0 \\\\ x^T (\Sigma_1^{-1} - \Sigma_0^{-1}) x + 2(\mu_0^T\Sigma_0^{-1} - \mu_1^T \Sigma_1^{-1})x = log({|\Sigma_0|}) - log({|\Sigma_1|}) + \mu_0^T\Sigma_0^{-1}\mu_0 - \mu_1^T\Sigma_1^{-1}\mu_1 \\\\ log(∣Σ1∣)−log(∣Σ0∣)+(x−μ1)TΣ1−1(x−μ1)−(x−μ0)TΣ0−1(x−μ0)=0xT(Σ1−1−Σ0−1)x+2(μ0TΣ0−1−μ1TΣ1−1)x=log(∣Σ0∣)−log(∣Σ1∣)+μ0TΣ0−1μ0−μ1TΣ1−1μ1
其中的参数如下
B = Σ 1 − 1 − Σ 0 − 1 w = 2 ( Σ 0 − 1 μ 0 − Σ 1 − 1 μ 1 ) c = l o g ( ∣ Σ 0 ∣ ) − l o g ( ∣ Σ 1 ∣ ) + μ 0 T Σ 0 − 1 μ 0 − μ 1 T Σ 1 − 1 μ 1 B = \Sigma_1^{-1} - \Sigma_0^{-1} \\\\ w = 2(\Sigma_0^{-1}\mu_0 - \Sigma_1^{-1}\mu_1) \\\\ c = log({|\Sigma_0|}) - log({|\Sigma_1|}) + \mu_0^T\Sigma_0^{-1}\mu_0 - \mu_1^T\Sigma_1^{-1}\mu_1 \\\\ B=Σ1−1−Σ0−1w=2(Σ0−1μ0−Σ1−1μ1)c=log(∣Σ0∣)−log(∣Σ1∣)+μ0TΣ0−1μ0−μ1TΣ1−1μ1
参数估计
下面是对数据中某个分类而言的,即 x i x_i xi都属于同一类别。对一组观测到的数据 x 1 , . . . , x n x_1, \ ...\ , x_n x1, ... ,xn,我们假设iid。我们看到实际上算术上的平均值就是对参数的MLE估计。
μ ^ = 1 n ∑ x i Σ ^ = 1 n ∑ ( x i − μ ^ ) ( x i − μ ^ ) T \hat \mu = \frac 1 n \sum x_i \\\\ \hat \Sigma = \frac 1 n \sum (x_i - \hat \mu)(x_i - \hat \mu)^T μ^=n1∑xiΣ^=n1∑(xi−μ^)(xi−μ^)T
下面是证明过程。这里的 L L L并不是损失Loss的意思,而是似然Likelihood。
L ( μ , Σ ) = ∏ i p μ ( x i ) = ∏ i = 1 n 1 ( 2 π ) d / 2 ∣ Σ ∣ 1 / 2 ∗ e − ( x i − μ ) T Σ − 1 ( x i − μ ) 2 l o g ( L ( μ , Σ ) ) = d n 2 l o g ( 2 π ) − n 2 l o g ( ∣ Σ ∣ ) − 1 2 ∑ i = 1 n ( x i − μ ) T Σ − 1 ( x i − μ ) L(\mu, \Sigma) = \prod_i p_{_\mu}(x_i) = \prod_{i=1}^{n} \frac {1} {(2\pi)^{d/2} |\Sigma|^{1/2}} * e^{-\frac {(x_i-\mu)^T\Sigma^{-1}(x_i-\mu)} {2}} \\\\ log(L(\mu, \Sigma)) = \frac {dn} {2} log(2\pi) - \frac {n} {2} log(|\Sigma|) - \frac {1} {2} \sum_{i=1}^{n}(x_i-\mu)^T\Sigma^{-1}(x_i-\mu) L(μ,Σ)=i∏pμ(xi)=i=1∏n(2π)d/2∣Σ∣1/21∗e−2(xi−μ)TΣ−1(xi−μ)log(L(μ,Σ))=2dnlog(2π)−2nlog(∣Σ∣)−21i=1∑n(xi−μ)TΣ−1(xi−μ)
这里给出求导定理。
∇ x a T x = a ∇ x x T A x = ( A + A T ) x ∇ X t r ( A X ) = A ∇ X l o g ∣ X ∣ = ( X − 1 ) T \nabla_x \ a^T x = a \\\\ \nabla_x \ x^T A x = (A + A^T)x \\\\ \nabla_X \ tr(AX) = A \\\\ \nabla_X log |X| = (X^{-1})^T ∇x aTx=a∇x xTAx=(A+AT)x∇X tr(AX)=A∇Xlog∣X∣=(X−1)T
我们想要求出 μ ∗ \mu^* μ∗,需要对似然进行求导。我们发现log表达式第一项是常数,第二项跟 μ \mu μ没有关系,所以直接对第三项求导。
∇ μ l o g ( L ( μ ) ) = 0 − 2 Σ − 1 x i T + 2 Σ − 1 μ = 0 Σ − 1 ∑ i ( x i − μ ) = 0 μ ∗ = 1 n ∑ i x i \nabla_\mu log(L(\mu)) = 0 \\\\ -2 \Sigma^{-1}x_i^T + 2 \Sigma^{-1} \mu = 0 \\\\ \Sigma^{-1} \sum_i(x_i - \mu) = 0 \\\\ \mu^* = \frac 1 n \sum_i x_i \\\\ ∇μlog(L(μ))=0−2Σ−1xiT+2Σ−1μ=0Σ−1i∑(xi−μ)=0μ∗=n1i∑xi
同理,我们可以求出 Σ ∗ \Sigma^* Σ∗。这个稍微麻烦一些,需要对log表达式后两项求导。我们令 Φ = Σ − 1 \Phi = \Sigma^{-1} Φ=Σ−1,对其进行求导。
∇ l o g ∣ Φ − 1 ∣ = − ( Φ − 1 ) T \nabla log|\Phi^{-1}| = -(\Phi^{-1})^T ∇log∣Φ−1∣=−(Φ−1)T
再解得 Σ \Sigma Σ。
∇ Φ l o g ( L ( Φ ) ) = 0 n 2 Φ − 1 − 1 2 ∑ ( x i − μ ) ( x i − μ ) T = 0 Σ ∗ = 1 n ∑ i ( x i − μ ) ( x i − μ ) T \nabla_\Phi log(L(\Phi)) = 0 \\\\ \frac{n} {2}\Phi^{-1} - \frac{1} {2} \sum (x_i - \mu)(x_i - \mu)^T = 0 \\\\ \Sigma^* = \frac 1 n \sum_i (x_i - \mu)(x_i - \mu)^T \\\\ ∇Φlog(L(Φ))=02nΦ−1−21∑(xi−μ)(xi−μ)T=0Σ∗=n1i∑(xi−μ)(xi−μ)T
我们无法保证协方差矩阵是满秩的(如果不是将无法取逆),所以需要加入正则化参数。 ( Σ ^ + λ I ) (\hat \Sigma + \lambda I) (Σ^+λI)可以在 λ \lambda λ为正的情况下保证满秩。当然,也有很多其他的方法。
最后,我们给出log-likelihood。
l o g L ( μ , Σ ) = − n 2 l o g ∣ Σ ∣ − ∑ i 1 2 ( x i − μ ) T Σ − 1 ( x i − μ ) log L(\mu, \Sigma) = -\frac n 2 log|\Sigma| - \sum_i \frac 1 2 (x_i-\mu)^T\Sigma^{-1}(x_i-\mu) logL(μ,Σ)=−2nlog∣Σ∣−i∑21(xi−μ)TΣ−1(xi−μ)
补充说明
上面的推导是假设了两个类别的先验概率相同。这里的推导放宽了这个限制。
L ( μ , Σ ) = p ( y = 0 ) f ( x ∣ y = 0 ) p ( y = 1 ) f ( x ∣ y = 1 ) = [ p 0 ( 2 π ) n ∣ Σ 0 ∣ ∗ e − ( x − μ 0 ) T Σ 0 − 1 ( x − μ 0 ) 2 ] / [ p 1 ( 2 π ) n ∣ Σ 1 ∣ ∗ e − ( x − μ 1 ) T Σ 1 − 1 ( x − μ 1 ) 2 ] = [ p 0 ∣ Σ 0 ∣ ∗ e − ( x − μ 0 ) T Σ 0 − 1 ( x − μ 0 ) 2 ] / [ p 1 ∣ Σ 1 ∣ ∗ e − ( x − μ 1 ) T Σ 1 − 1 ( x − μ 1 ) 2 ] L(\mu, \Sigma) = \frac {p(y=0) f(x|y=0)} {p(y=1) f(x|y=1)} \\\\ = [\frac {p_0} {\sqrt{(2\pi)^{n} |\Sigma_0|}} * e^{-\frac {(x-\mu_0)^T\Sigma_0^{-1}(x-\mu_0)} { 2}}] / [\frac {p_1} {\sqrt{(2\pi)^{n} |\Sigma_1|}} * e^{-\frac {(x-\mu_1)^T\Sigma_1^{-1}(x-\mu_1)} { 2}}] \\\\ = [\frac {p_0} {\sqrt{|\Sigma_0|}} * e^{-\frac {(x-\mu_0)^T\Sigma_0^{-1}(x-\mu_0)} { 2}}] / [\frac {p_1} {\sqrt{ |\Sigma_1|}} * e^{-\frac {(x-\mu_1)^T\Sigma_1^{-1}(x-\mu_1)} { 2}}] \\\\ L(μ,Σ)=p(y=1)f(x∣y=1)p(y=0)f(x∣y=0)=[(2π)n∣Σ0∣p0∗e−2(x−μ0)TΣ0−1(x−μ0)]/[(2π)n∣Σ1∣p1∗e−2(x−μ1)TΣ1−1(x−μ1)]=[∣Σ0∣p0∗e−2(x−μ0)TΣ0−1(x−μ0)]/[∣Σ1∣p1∗e−2(x−μ1)TΣ1−1(x−μ1)]
通过求对数进行简化。
l o g ( L ( μ , Σ ) ) = l o g ( p 0 ∣ Σ 0 ∣ ) − l o g ( p 1 ∣ Σ 1 ∣ ) + 1 2 [ ( x − μ 1 ) T Σ 1 − 1 ( x − μ 1 ) − ( x − μ 0 ) T Σ 0 − 1 ( x − μ 0 ) ] = 1 2 l o g ( p 0 2 ∣ Σ 0 ∣ ) − 1 2 l o g ( p 1 2 ∣ Σ 1 ∣ ) + 1 2 [ ( x − μ 1 ) T Σ 1 − 1 ( x − μ 1 ) − ( x − μ 0 ) T Σ 0 − 1 ( x − μ 0 ) ] log(L(\mu, \Sigma)) = \\\\ log(\frac{p_0} {\sqrt{|\Sigma_0|}}) - log(\frac{p_1} {\sqrt{|\Sigma_1|}}) + \frac{1} {2} [(x-\mu_1)^T\Sigma_1^{-1}(x-\mu_1) - (x-\mu_0)^T\Sigma_0^{-1}(x-\mu_0)] \\\\ = \frac 1 2 log(\frac{p_0^2} {|\Sigma_0|}) - \frac 1 2 log(\frac{p_1^2} {|\Sigma_1|}) + \frac{1} {2} [(x-\mu_1)^T\Sigma_1^{-1}(x-\mu_1) - (x-\mu_0)^T\Sigma_0^{-1}(x-\mu_0)] \\\\ log(L(μ,Σ))=log(∣Σ0∣p0)−log(∣Σ1∣p1)+21[(x−μ1)TΣ1−1(x−μ1)−(x−μ0)TΣ0−1(x−μ0)]=21log(∣Σ0∣p02)−21log(∣Σ1∣p12)+21[(x−μ1)TΣ1−1(x−μ1)−(x−μ0)TΣ0−1(x−μ0)]
经过推导,我们发现不平衡的类别先验概率只是影响了常数项。
B = Σ 1 − 1 − Σ 0 − 1 w = 2 ( Σ 0 − 1 μ 0 − Σ 1 − 1 μ 1 ) c = 2 l o g ( p ( y = 1 ) ) − 2 l o g ( p ( y = 0 ) ) + l o g ( ∣ Σ 0 ∣ ) − l o g ( ∣ Σ 1 ∣ ) + μ 0 T Σ 0 − 1 μ 0 − μ 1 T Σ 1 − 1 μ 1 B = \Sigma_1^{-1} - \Sigma_0^{-1} \\\\ w = 2(\Sigma_0^{-1}\mu_0 - \Sigma_1^{-1}\mu_1) \\\\ c = 2log(p(y=1)) - 2log(p(y=0)) + log({|\Sigma_0|}) - log({|\Sigma_1|}) + \mu_0^T\Sigma_0^{-1}\mu_0 - \mu_1^T\Sigma_1^{-1}\mu_1 \\\\ B=Σ1−1−Σ0−1w=2(Σ0−1μ0−Σ1−1μ1)c=2log(p(y=1))−2log(p(y=0))+log(∣Σ0∣)−log(∣Σ1∣)+μ0TΣ0−1μ0−μ1TΣ1−1μ1
我们来看一个具体的例子。
我们来计算该分类器出错的情况。
P ( y ^ ≠ y ) = p ( y = 0 ) P ( y ^ = 1 ∣ y = 0 ) + p ( y = 1 ) P ( y ^ = 0 ∣ y = 1 ) P(\hat y \ne y) = p(y=0)P(\hat y = 1|y=0) + p(y=1)P(\hat y = 0|y=1) P(y^=y)=p(y=0)P(y^=1∣y=0)+p(y=1)P(y^=0∣y=1)
我们可以通过画ROC曲线来评判该分类器的效果。横坐标是假正type I error (false positive),即 P ( y ^ ≠ y ∣ y = 0 ) P(\hat y \ne y | y = 0) P(y^=y∣y=0);纵坐标是假负type II error (false negative),即 P ( y ^ ≠ y ∣ y = 1 ) P(\hat y \ne y | y = 1) P(y^=y∣y=1)。
潜变量模型
目标是通过无标签的训练数据学习 p ( x ) p(x) p(x)。既然是非监督学习,我们对 p ( x ) p(x) p(x)更感兴趣,而不是 p ( x , y ) p(x,y) p(x,y)。假设 z z z是潜在变量, p ( x ) = ∫ p ( x , z ) d z p(x) = \int p(x,z) dz p(x)=∫p(x,z)dz。例如,在MNIST中 z z z就是数字(不过在此处是无标签的)。在 z z z是离散的情况下,可以由混合模型来解释。
应用场景
聚类、密度预测、社区发现等。
高斯混合模型
混合模型是潜变量模型的一种,是最常见的形式之一。而高斯混合模型(Gaussian Mixture Models, GMM)是混合模型中最常见的一种。 z z z代表该数据点是由某一个高斯分布产生的。 π \pi π在这里是指该点属于哪一个高斯分布的先验概率。除次之外,我们还需要找到每一个高斯分布的参数,即均值和协方差矩阵。
p ( x ) = ∑ k = 1 K π k p k ( x ) ( 1 ) p ( x ) = ∑ k = 1 K π k N ( x ∣ μ k , Σ k ) ( 2 ) p(x) = \sum_{k=1}^K \pi_k p_k(x) \qquad \qquad (1)\\\\ p(x) = \sum_{k=1}^K \pi_k \mathcal N(x| \mu_k, \Sigma_k) \qquad (2) p(x)=k=1∑Kπkpk(x)(1)p(x)=k=1∑KπkN(x∣μk,Σk)(2)
我们对混合模型的一般形式即(1)进行拓展,已知每一种分布单独的期望和协方差矩阵,求出 x x x的期望和协方差矩阵。
E [ x ] = ∑ x x p ( x ) = ∑ x x ∑ k π k p k ( x ) = ∑ k π k ∑ x x p k ( x ) = ∑ k π k E [ p k ( x ) ] = ∑ k π k μ k E[x] = \sum_x x p(x) \\\\ = \sum_x x \sum_k \pi_k p_k(x) \\\\ = \sum_k \pi_k \sum_x x p_k(x)\\\\ = \sum_k \pi_k E[p_k(x)] \\\\ = \sum_k \pi_k \mu_k E[x]=x∑xp(x)=x∑xk∑πkpk(x)=k∑πkx∑xpk(x)=k∑πkE[pk(x)]=k∑πkμk
Σ x = E [ x 2 ] − ( E [ x ] ) 2 = E [ x x T ] − ( ∑ k π k μ k ) 2 = ∫ x x T p ( x ) d x − ( ∑ k π k μ k ) 2 = ∫ x x T ∑ k π k p k ( x ∣ k ) d x − ( ∑ k π k μ k ) 2 = ∑ k π k ∫ x x T p k ( x ∣ k ) d x − ( ∑ k π k μ k ) 2 = ∑ k π k E [ x x T ∣ k ] − ( ∑ k π k μ k ) 2 = ∑ k π k ( E [ x x T ∣ k ] − μ k μ k T + μ k μ k T ) − ( ∑ k π k μ k ) 2 = ∑ k π k ( Σ k + μ k μ k T ) − ( ∑ k π k μ k ) 2 \Sigma_x = E[x^2] - (E[x])^2 \\\\ = E[xx^T] - (\sum_k \pi_k \mu_k)^2 \\\\ = \int xx^T p(x) dx - (\sum_k \pi_k \mu_k)^2 \\\\ = \int xx^T \sum_k \pi_k p_k(x|k) dx - (\sum_k \pi_k \mu_k)^2 \\\\ = \sum_k \pi_k \int xx^T p_k(x|k) dx - (\sum_k \pi_k \mu_k)^2 \\\\ = \sum_k \pi_k E[xx^T|k] - (\sum_k \pi_k \mu_k)^2 \\\\ = \sum_k \pi_k (E[xx^T|k] - \mu_k\mu_k^T + \mu_k\mu_k^T) - (\sum_k \pi_k \mu_k)^2 \\\\ = \sum_k \pi_k (\Sigma_k + \mu_k\mu_k^T) - (\sum_k \pi_k \mu_k)^2 \\\\ Σx=E[x2]−(E[x])2=E[xxT]−(k∑πkμk)2=∫xxTp(x)dx−(k∑πkμk)2=∫xxTk∑πkpk(x∣k)dx−(k∑πkμk)2=k∑πk∫xxTpk(x∣k)dx−(k∑πkμk)2=k∑πkE[xxT∣k]−(k∑πkμk)2=k∑πk(E[xxT∣k]−μkμkT+μkμkT)−(k∑πkμk)2=k∑πk(Σk+μkμkT)−(k∑πkμk)2
下面介绍KMeans和EM两种方法。
K-平均演算法
我们可以通过K-Means (KMeans)得到每个类的聚类中心 μ k \mu_k μk。
过程
- 初始化聚类中心 μ k \mu_k μk
- 将每个数据点分配到离自己最近的聚类中心 z i = a r g m i n k ∣ ∣ x i − μ k ∣ ∣ 2 2 z_i = arg min_k ||x_i - \mu_k||_2^2 zi=argmink∣∣xi−μk∣∣22
- 更新聚类中心 μ k = 1 N k ∑ i : z i = k x i \mu_k = \frac 1 {N_k} \sum_{i:z_i=k} x_i μk=Nk1∑i:zi=kxi
由于KMeans更擅长发现凸类型簇,聚类结果有可能出现偏差。
最大期望算法
Expectation Maximization (EM)。在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐变量。
在经过推导之后,可以发现当类别先验相同且方差为单位矩阵的时候,EM算法和KMeans实际上是一样的。
过程
初始化先验概率均等,协方差矩阵为单位矩阵(Identity Matrix)。
E-step:
如果是软分类(soft assignment),计算每个点到每个聚类的概率(responsibility,注意不是probability),
r i , k = π k N ( x ∣ μ k , Σ k ) ∑ k ′ π k ′ N ( x ∣ μ k ′ , Σ k ′ ) r_{i,k} = \frac{\pi_k \mathcal N(x| \mu_k, \Sigma_k)} {\sum_{k'} \pi_k' \mathcal N(x| \mu_k', \Sigma_k')} ri,k=∑k′πk′N(x∣μk′,Σk′)πkN(x∣μk,Σk)
如果是硬分类(hard assignment),直接分配到最有可能的中心,
z i = a r g m a x k π k N ( x ∣ μ k , Σ k ) ∑ k ′ π k ′ N ( x ∣ μ k ′ , Σ k ′ ) z_i = argmax_k \frac{\pi_k \mathcal N(x| \mu_k, \Sigma_k)} {\sum_{k'} \pi_k' \mathcal N(x| \mu_k', \Sigma_k')} zi=argmaxk∑k′πk′N(x∣μk′,Σk′)πkN(x∣μk,Σk)
M-step:
重新估计先验、聚类中心和协方差矩阵,
μ k = 1 ∑ i r i , k ∑ i r i , k x i Σ k = 1 ∑ i r i , k ∑ i r i , k ( x i − μ k ) ( x i − μ k ) T π k = 1 N ∑ i r i , k \mu_k = \frac 1 {\sum_i r_{i,k}} \sum_i r_{i,k}x_i \\\\ \Sigma_k = \frac 1 {\sum_i r_{i,k}} \sum_i r_{i,k} (x_i-\mu_k)(x_i-\mu_k)^T\\\\ \pi_k = \frac 1 N \sum_i r_{i,k} μk=∑iri,k1i∑ri,kxiΣk=∑iri,k1i∑ri,k(xi−μk)(xi−μk)Tπk=N1i∑ri,k
目标函数
最大化对数似然。
l o g L ( θ ) = ∑ i = 1 n l o g p θ ( x i ) = ∑ i = 1 n l o g ∑ z i p θ ( x i ∣ z i ) log L(\theta) = \sum_{i=1}^n log p_\theta(x_i) = \sum_{i=1}^n log \sum_{z_i}p_\theta(x_i|z_i) logL(θ)=i=1∑nlogpθ(xi)=i=1∑nlogzi∑pθ(xi∣zi)
该函数有可能不是凸函数。
E-step: 对于每个数据点,在已知 θ t − 1 \theta_{t-1} θt−1计算 z i z_i zi的期望值
M-step: 对于 z i z_i zi求出 θ t \theta_t θt的最大似然
概率边界
实际情况下,我们有可能不知道 X i X_i Xi的真实分布。有一些定理可以帮助我们大致确定我们的估计有多少偏差。
马尔科夫不等式
英文是Markov inequality。假设 X X X是一个非负随机变量(RV),那么对于任何非负的实数 a a a有 P ( X ≥ a ) ≤ E [ X ] a P(X \ge a) \le \frac {E[X]} a P(X≥a)≤aE[X]。( X ≥ 0 X \ge 0 X≥0, a ≥ 0 a \ge 0 a≥0)
a ∗ I { X ≥ a } ≤ X E [ a ∗ I { X ≥ a } ] ≤ E [ X ] a E [ I { X ≥ a } ] ≤ E [ X ] a ∑ x ∈ X [ P ( X = x ) I { X ≥ a } ] ≤ E [ X ] a P ( X ≥ a ) ≤ E [ X ] a*\mathbb{I}_{\{X \ge a\}} \le X \\\\ E[a*\mathbb{I}_{\{X \ge a\}}] \le E[X] \\\\ a E[\mathbb{I}_{\{X \ge a\}}] \le E[X] \\\\ a \sum_{x \in X} [P(X=x) \mathbb{I}_{\{X \ge a\}}] \le E[X] \\\\ a P(X \ge a) \le E[X] \\\\ a∗I{
X≥a}≤XE[a∗I{
X≥a}]≤E[X]aE[I{
X≥a}]≤E[X]ax∈X∑[P(X=x)I{
X≥a}]≤E[X]aP(X≥a)≤E[X]
切比雪夫不等式
英文是Chebyshev inequality。假设 X X X是一个随机变量(RV),那么对于任何实数 a > 1 a>1 a>1(否则不是很有意义,因为RHS会大于1),有 P ( ∣ X − E [ X ] ∣ ≥ a σ ) ≤ 1 a 2 P(|X-E[X]| \ge a\sigma) \le \frac 1 {a^2} P(∣X−E[X]∣≥aσ)≤a21。
这里Chebyshev概率边界只不过是Markov概率边界的拓展,假设 μ ^ = 1 n ∑ i X i \hat \mu = \frac 1 n \sum_i X_i μ^=n1∑iXi,并且 μ = E [ X i ] \mu = E[X_i] μ=E[Xi]
P ( ∣ μ ^ − μ ∣ ≥ δ ) ≤ σ 2 n δ 2 P(|\hat \mu - \mu| \ge \delta) \le \frac {\sigma^2} {n\delta^2} P(∣μ^−μ∣≥δ)≤nδ2σ2
证明如下,(第二行是通过马尔科夫不等式推导得来)
P ( ∣ μ ^ − μ ∣ ≥ δ ) = P ( ( μ ^ − μ ) 2 ≥ ( δ ) 2 ) ≤ E [ ( μ ^ − μ ) 2 ] δ 2 = v a r ( μ ^ ) δ 2 = σ 2 n δ 2 P(|\hat \mu - \mu| \ge \delta) = P((\hat \mu - \mu)^2 \ge (\delta)^2) \\\\ \le \frac {E[(\hat \mu - \mu)^2]} {\delta^2} \\\\ = \frac {var(\hat \mu)} {\delta^2} \\\\ = \frac {\sigma^2} {n\delta^2} P(∣μ^−μ∣≥δ)=P((μ^−μ)2≥(δ)2)≤δ2E[(μ^−μ)2]=δ2var(μ^)=nδ2σ2
样本复杂度
英文是sample complexity。为了达到错误率小于等于 ϵ \epsilon ϵ的概率大于或等于 1 − δ 1 - \delta 1−δ所需要的样本数量。
定理1(上界):我们找到了一个算法能够在小于 n ( δ , ϵ ) n(\delta, \epsilon) n(δ,ϵ)个样本数量的前提下达到错误率小于等于 ϵ \epsilon ϵ的概率大于或等于 1 − δ 1 - \delta 1−δ。
定理2(下界):我们目前已经测试的所有算法达到错误率小于等于 ϵ \epsilon ϵ的概率大于或等于 1 − δ 1 - \delta 1−δ都需要大于 n ( δ , ϵ ) n(\delta, \epsilon) n(δ,ϵ)个样本数量。
真正需要的样本数量就是介于下界(lower limit)和上界(upper limit)之间。
拿多变量高斯分布举例。在iid的前提条件下,我们假设 X i ∼ N ( μ , σ 2 ) X_i \sim \mathcal N(\mu, \sigma^2) Xi∼N(μ,σ2)。我们对均值进行预测 μ ^ = 1 n ∑ i X i \hat \mu = \frac 1 n \sum_i X_i μ^=n1∑iXi。那么得到的预测服从 μ ^ ∼ N ( μ , σ 2 / n ) \hat \mu \sim \mathcal N(\mu, \sigma^2/n) μ^∼N(μ,σ2/n)。下面的推导假设 μ = 0 \mu = 0 μ=0。
那么如何衡量这个预测?中间的第二步利用 y = x σ 2 / n y = \frac{x} {\sqrt{\sigma^2/n}} y=σ2/nx进行了换元操作。
P ( ∣ μ ^ − μ ∣ ≥ t ) = 2 ∫ t ∞ 1 2 π σ 2 / n e x p ( − x 2 2 σ 2 / n ) d x = 2 ∫ t n / σ 2 ∞ 1 2 π e x p ( − y 2 2 ) d y = 2 Q ( t n / σ 2 ) ≤ 2 ∗ e x p ( − t 2 n / 2 σ 2 ) P(|\hat \mu - \mu| \ge t) = 2 \int_t^{\infty} \frac {1} {\sqrt{2\pi\sigma^2/n}} exp(-\frac{x^2} {2\sigma^2/n}) dx\\\\ = 2 \int_{t\sqrt{n/\sigma^2}}^{\infty} \frac {1} {\sqrt{2\pi}} exp(-\frac{y^2} {2}) dy\\\\ = 2Q(t\sqrt{n/\sigma^2}) \le 2*exp(-t^2n/2\sigma^2) P(∣μ^−μ∣≥t)=2∫t∞2πσ2/n1exp(−2σ2/nx2)dx=2∫tn/σ2∞2π1exp(−2y2)dy=2Q(tn/σ2)≤2∗exp(−t2n/2σ2)
这里的Q指的是Q函数,用于表示标准正态分布的尾部分布函数。有人也将此称为高斯尾(Gaussian tail)。
Q ( x ) : = ∫ x ∞ 1 2 π e x p ( − y 2 2 ) d y ≤ ∫ x ∞ y x 2 π e x p ( − y 2 2 ) d y = e x p ( − x 2 / 2 ) x 2 π ≤ e x p ( − x 2 / 2 ) f o r x ≥ 1 2 π Q(x) := \int_x^{\infty} \frac {1} {\sqrt{2\pi}} exp(-\frac{y^2} {2}) dy\\\\ \le \int_x^{\infty} \frac {y} {x\sqrt{2\pi}} exp(-\frac{y^2} {2}) dy \\\\ = \frac{exp(-x^2/2)} {x\sqrt{2\pi}} \\\\ \le exp(-x^2/2) \ for \ x \ge \frac{1} {\sqrt{2\pi}} Q(x):=∫x∞2π1exp(−2y2)dy≤∫x∞x2πyexp(−2y2)dy=x2πexp(−x2/2)≤exp(−x2/2) for x≥2π1
高斯尾边界
英文是Gaussian tail bounds,就是上文提到的Q函数。令 X ∼ N ( 0 , 1 ) X \sim \mathcal N(0,1) X∼N(0,1)。在这里,对 t t t(也就是上文的 x x x)拓宽了限制条件,具体可以使用Chernoff Bound(下文有介绍)。对于所有 t ≥ 0 t \ge 0 t≥0,
P ( X ≥ t ) ≤ e − t 2 / 2 P(X \ge t) \le e^{-t^2/2} P(X≥t)≤e−t2/2
切尔诺夫界
英文是Chernoff Bound。对于随机变量 X X X和实数 s ≥ 0 s \ge 0 s≥0,有
P ( X ≥ t ) ≤ e − s t E [ e s X ] P(X \ge t) \le e^{-st} E[e^{sX}] P(X≥t)≤e−stE[esX]
证明如下
I { X ≥ t } ≤ e s ( X − t ) P ( X ≥ t ) ≤ E [ e s ( X − t ) ] = e − s t E [ e s X ] \mathcal I\{X \ge t\} \le e^{s(X-t)} \\\\ P(X \ge t) \le E[e^{s(X-t)}] = e^{-st}E[e^{sX}]\\\\ I{
X≥t}≤es(X−t)P(X≥t)≤E[es(X−t)]=e−stE[esX]
下图非常直观的显示LHS和RHS的大小关系。绿色的线代表证明中的LHS,红色的代表证明中的RHS。
我们来看看为什么上面高斯尾函数能够拓宽限制条件。求期望需要用到矩生成函数(Moment-generating function)。
P ( X ≥ t ) ≤ e − s t E [ e s X ] = e − s t e s 2 / 2 ≤ e − t 2 / 2 P(X \ge t) \le e^{-st}E[e^{sX}] \\\\ = e^{-st}e^{s^2/2} \\\\ \le e^{-t^2/2} P(X≥t)≤e−stE[esX]=e−stes2/2≤e−t2/2
最后一行我们令 s = t s =t s=t。
霍夫丁不等式
英文是Hoeffding’s Inequality。假设 X i X_i Xi都是iid的随机变量且 X i ∈ [ a , b ] X_i \in [a,b] Xi∈[a,b]。 μ ^ = 1 n ∑ i X i \hat \mu = \frac 1 n \sum_i X_i μ^=n1∑iXi,并且 μ = E [ X i ] \mu = E[X_i] μ=E[Xi]。可以通过Chernoff Bound进行推导(选择一个合适的 s s s)。
P ( ∣ μ ^ − μ ∣ ≥ t ) ≤ 2 ∗ e x p ( − 2 t 2 n ( b − a ) 2 ) P(|\hat \mu - \mu| \ge t) \le 2*exp(-\frac{2t^2n} {(b-a)^2}) P(∣μ^−μ∣≥t)≤2∗exp(−(b−a)22t2n)
假设iid且 X i ∼ N ( μ , σ 2 ) X_i \sim \mathcal N(\mu, \sigma^2) Xi∼N(μ,σ2),那么
P ( ∣ μ ^ − μ ∣ ≥ t ) ≤ 2 ∗ e x p ( − t 2 n σ 2 ) P(|\hat \mu - \mu| \ge t) \le 2*exp(-\frac{t^2n} {\sigma^2}) P(∣μ^−μ∣≥t)≤2∗exp(−σ2t2n)
大数定律
英文是Law of Large Numbers (LLN),也被称作大数法则。根据这个定律知道,样本数量越多,则其算术平均值就有越高的概率接近期望值。当然,期望本身不能是发散的。
我们先介绍弱形式。即假设 X i X_i Xi都是iid的随机变量,那么从概率的角度 1 n ∑ i X i \frac 1 n \sum_i X_i n1∑iXi会逐渐收敛到 E [ X i ] E[X_i] E[Xi]。
证明如下,
P ( ∣ μ ^ − μ ∣ ≥ δ ) ≤ σ 2 n δ 2 l i m n − > ∞ P ( ∣ 1 n ∑ i X i − E [ X i ] ∣ ≥ δ ) ≤ l i m n − > ∞ σ 2 n δ 2 = 0 P(|\hat \mu - \mu| \ge \delta) \le \frac {\sigma^2} {n\delta^2} \\\\ lim_{n -> \infty} P(|\frac 1 n \sum_i X_i - E[X_i]| \ge \delta) \le lim_{n -> \infty} \frac {\sigma^2} {n\delta^2} = 0 \\\\ P(∣μ^−μ∣≥δ)≤nδ2σ2limn−>∞P(∣n1i∑Xi−E[Xi]∣≥δ)≤limn−>∞nδ2σ2=0
我们再介绍强形式。即假设 X i X_i Xi都是iid的随机变量,那么 1 n ∑ i X i \frac 1 n \sum_i X_i n1∑iXi一定会收敛到 E [ X i ] E[X_i] E[Xi]。
P ( l i m n − > ∞ 1 n ∑ i X i = E [ X i ] ) = 1 P(lim_{n -> \infty} \frac 1 n \sum_i X_i = E[X_i]) = 1 P(limn−>∞n1i∑Xi=E[Xi])=1
中心极限定理
无人不知的Central Limit Theorem (CLT)。
假设 X i X_i Xi都是iid的随机变量,均值为 μ \mu μ,方差为 σ 2 \sigma^2 σ2。那么 n ( μ ^ − μ ) \sqrt{n}(\hat \mu - \mu) n(μ^−μ)会趋近于服从正态分布 N ( 0 , σ 2 ) \mathcal N(0, \sigma^2) N(0,σ2)。
下面的图例是对抛1、2、10、50次抛硬币结果的统计。
K-L散度
我们使用Kullback-Leibler Divergence来衡量两个分布 p p p和 q q q究竟有多相似。对数函数的底不是很重要,只要在计算时保持一致即可。如果是以 e e e为底,那么单位是nats;如果是以2为底,那么单位是bits。需要注意的是,需要对所有 x x x满足 q ( x ) ≠ 0 q(x) \ne 0 q(x)=0,否则K-L散度不存在。另外,K-L散度不是距离,并不具有对称性(symmetric)。
D ( p ∣ ∣ q ) = ∑ p ( x ) l o g p ( x ) q ( x ) D ( p ∣ ∣ q ) = ∫ p ( x ) l o g p ( x ) q ( x ) d x D(p||q) = \sum p(x) log \frac {p(x)} {q(x)} \\\\ D(p||q) = \int p(x) log \frac {p(x)} {q(x)} dx D(p∣∣q)=∑p(x)logq(x)p(x)D(p∣∣q)=∫p(x)logq(x)p(x)dx
假设有 P P P和 Q Q Q两个分布,均为iid。我们发现,当 p p p是正确标签的时候,K-L散度实际上是对数似然比例的期望。
D ( p ∣ ∣ q ) = E p [ l o g p ( x ) q ( x ) ] D(p||q) = E_p[log \frac {p(x)} {q(x)}] D(p∣∣q)=Ep[logq(x)p(x)]
我们可以通过计算 D ( p ∣ ∣ q ) D(p||q) D(p∣∣q)找到,在服从先验假设和观测的前提下,最有可能的分布。更加便捷的是,K-L散度在p和q维度上都是凸优化问题。
m i n p D ( p ∣ ∣ q ) min_p D(p||q) minpD(p∣∣q)
性质
- 非负性,当且仅当对于所有 x x x有 p ( x ) = q ( x ) p(x) = q(x) p(x)=q(x)的时候,散度为0
对于性质1的非负性,我们有如下证明。
− D ( p ∣ ∣ q ) = − ∑ p ( x ) l o g p ( x ) q ( x ) = ∑ p ( x ) l o g q ( x ) p ( x ) ≤ l o g ( ∑ p ( x ) q ( x ) p ( x ) ) = 0 -D(p||q) = -\sum p(x) log \frac {p(x)} {q(x)} \\\\ = \sum p(x) log \frac {q(x)} {p(x)} \\\\ \le log (\sum p(x)\frac {q(x)} {p(x)}) \\\\ = 0 −D(p∣∣q)=−∑p(x)logq(x)p(x)=∑p(x)logp(x)q(x)≤log(∑p(x)p(x)q(x))=0
证明后半句,需要用到下面提到的詹森不等式。
假设检验中的误差指数
英文是Error exponents in hypothesis testing,有时候也被称为Chernoff-Stein Lemma。假设观察到n个i.i.d.来自p或q的样本,并且 P ( y ^ = q ∣ y = p ) ≤ ϵ P(\hat y=q | y=p) \le \epsilon P(y^=q∣y=p)≤ϵ,那么
P ( y ^ = p ∣ y = q ) ≥ e x p ( − n D ( p ∣ ∣ q ) ) P(\hat y=p | y=q) \ge exp(-nD(p||q)) P(y^=p∣y=q)≥exp(−nD(p∣∣q))
相当于我们在固定type-I error的时候,type-II error的下降速率与指数为n和K-L散度的数相关。
误差指数的计算如下
l i m n − > ∞ − l n P e r r o r n = D ( p ∣ ∣ q ) lim_{n->\infty} \frac {-ln P_{error}} {n} = D(p||q) limn−>∞n−lnPerror=D(p∣∣q)
詹森不等式
Jensen’s inequality。对于任意凸函数 f f f和随机变量 X X X
E [ f ( X ) ] ≥ f ( E [ X ] ) ∑ p ( x ) f ( x ) ≥ f ( ∑ x p ( x ) ) E[f(X)] \ge f(E[X]) \\\\ \sum p(x)f(x) \ge f(\sum xp(x)) E[f(X)]≥f(E[X])∑p(x)f(x)≥f(∑xp(x))
证明
对于任何一组 x x x,有
p ( x 1 ) f ( x 1 ) + p ( x 2 ) f ( x 2 ) ≥ f ( x 1 p ( x 1 ) + x 2 p ( x 2 ) ) p(x_1)f(x_1) + p(x_2)f(x_2) \ge f(x_1p(x_1) + x_2p(x_2)) p(x1)f(x1)+p(x2)f(x2)≥f(x1p(x1)+x2p(x2))
接下来,可以使用induction证明。
与信息熵和互信息的关系
我们知道互信息是
I ( Y ; X ) = ∑ x , y p ( x , y ) l o g ( p ( x , y ) p ( x ) p ( y ) ) = E [ l o g ( p ( x , y ) p ( x ) p ( y ) ) ] I(Y;X) = \sum_{x, y} p(x, y) log(\frac{p(x, y)} {p(x)p(y)})\\\\ = E[log(\frac{p(x, y)} {p(x)p(y)})] I(Y;X)=x,y∑p(x,y)log(p(x)p(y)p(x,y))=E[log(p(x)p(y)p(x,y))]
那么,我们可以将K-L散度中的 P P P看成是 X X X和 Y Y Y的联合概率, Q Q Q看成是 X X X和 Y Y Y两个边缘分布的乘积。
I ( Y ; X ) = D ( p ( x , y ) ∣ ∣ p ( x ) p ( y ) ) I(Y;X) = D(p(x,y) || p(x)p(y)) I(Y;X)=D(p(x,y)∣∣p(x)p(y))
由熵的性质,我们也可以推出K-L散度的非负性。我们接下来看看熵的第二个性质 H ( x ) ≤ l o g 2 ( ∣ X ∣ ) H(x) \le log_2(|\mathcal X|) H(x)≤log2(∣X∣)。
我们假设 X X X是离散且有限的, q ( x ) = 1 ∣ X ∣ q(x) = \frac 1 {|\mathcal X|} q(x)=∣X∣1,即类别概率相同。
D ( p ∣ ∣ q ) = ∑ p ( x ) l o g p ( x ) q ( x ) = ∑ p ( x ) ( l o g ( ∣ X ∣ ) + l o g ( p ( x ) ) ) = l o g ( ∣ X ∣ ) − H ( X ) ≥ 0 D(p||q) = \sum p(x) log \frac {p(x)} {q(x)} \\\\ = \sum p(x) (log(|\mathcal X|) + log(p(x))) \\\\ = log(|\mathcal X|) - H(X) \\\\ \ge 0 D(p∣∣q)=∑p(x)logq(x)p(x)=∑p(x)(log(∣X∣)+log(p(x)))=log(∣X∣)−H(X)≥0
我们通过上面的推导也同样得出了熵的第二个性质。最后一行可以取等号当前仅当 p ( x ) = 1 ∣ X ∣ p(x) = \frac 1 {|\mathcal X|} p(x)=∣X∣1。
法诺不等式
英文是Fano’s Inequality,有时候也称作the Fano converse。
假设我们有如上图所示的模型。
P ( Y ^ ≠ Y ) ≥ H ( Y ∣ X ) − 1 l o g ( ∣ Y ∣ ) P(\hat Y \ne Y) \ge \frac {H(Y|X) - 1} {log(|\mathcal Y|)} P(Y^=Y)≥log(∣Y∣)H(Y∣X)−1
我们将错误定义为 E = I { Y ^ ≠ Y } E = \mathcal I_{\{\hat Y \ne Y\}} E=I{
Y^=Y}。证明如下。
H ( E , Y ∣ Y ^ ) = H ( Y ∣ Y ^ ) + H ( E ∣ Y , Y ^ ) = H ( Y ∣ Y ^ ) ≥ H ( Y ∣ X ) H(E,Y|\hat Y) = H(Y|\hat Y) + H(E|Y,\hat Y) \\\\ = H(Y|\hat Y) \\\\ \ge H(Y|X) \\\\ H(E,Y∣Y^)=H(Y∣Y^)+H(E∣Y,Y^)=H(Y∣Y^)≥H(Y∣X)
我们将信息熵以另一种方式拆解。
H ( E , Y ∣ Y ^ ) = H ( E ∣ Y ^ ) + H ( Y ∣ E , Y ^ ) ≤ H ( E ) + H ( Y ∣ E , Y ^ ) ≤ 1 + H ( Y ∣ E , Y ^ ) = 1 + P ( E = 1 ) H ( Y ∣ E = 1 , Y ^ ) + P ( E = 0 ) H ( Y ∣ E = 0 , Y ^ ) = 1 + P ( Y ^ ≠ Y ) H ( Y ∣ E = 1 , Y ^ ) ≤ 1 + P ( Y ^ ≠ Y ) H ( Y ) ≤ 1 + P ( Y ^ ≠ Y ) l o g ( ∣ Y ∣ ) H(E,Y|\hat Y) = H(E|\hat Y) + H(Y|E,\hat Y) \\\\ \le H(E) + H(Y|E,\hat Y) \\\\ \\\\ \le 1 + H(Y|E,\hat Y) \\\\ = 1 + P(E=1)H(Y|E=1,\hat Y) + P(E=0)H(Y|E=0,\hat Y) \\\\ = 1 + P(\hat Y \ne Y)H(Y|E=1,\hat Y) \\\\ \le 1 + P(\hat Y \ne Y)H(Y) \\\\ \le 1 + P(\hat Y \ne Y)log(|\mathcal Y|) H(E,Y∣Y^)=H(E∣Y^)+H(Y∣E,Y^)≤H(E)+H(Y∣E,Y^)≤1+H(Y∣E,Y^)=1+P(E=1)H(Y∣E=1,Y^)+P(E=0)H(Y∣E=0,Y^)=1+P(Y^=Y)H(Y∣E=1,Y^)≤1+P(Y^=Y)H(Y)≤1+P(Y^=Y)log(∣Y∣)
应用
两个多变量正态分布的K-L散度求解如下。
D ( p ( x ) ∣ ∣ q ( x ) ) = ∫ p ( x ) [ 1 2 l o g ( ∣ Σ 2 ∣ ∣ Σ 1 ∣ ) + 1 2 ( x − μ 2 ) T Σ 2 − 1 ( x − μ 2 ) − 1 2 ( x − μ 1 ) T Σ 1 − 1 ( x − μ 1 ) ] d x = 1 2 l o g ( ∣ Σ 2 ∣ ∣ Σ 1 ∣ ) + 1 2 E p [ ( x − μ 2 ) T Σ 2 − 1 ( x − μ 2 ) ] − 1 2 E p [ ( x − μ 1 ) T Σ 1 − 1 ( x − μ 1 ) ] = 1 2 l o g ( ∣ Σ 2 ∣ ∣ Σ 1 ∣ ) + 1 2 E p [ t r ( ( x − μ 2 ) T Σ 2 − 1 ( x − μ 2 ) ) ] − 1 2 E p [ t r ( ( x − μ 1 ) T Σ 1 − 1 ( x − μ 1 ) ) ] = 1 2 l o g ( ∣ Σ 2 ∣ ∣ Σ 1 ∣ ) + 1 2 t r ( Σ 2 − 1 E p [ ( x − μ 2 ) ( x − μ 2 ) T ] ) − 1 2 t r ( Σ 1 − 1 E p [ ( x − μ 1 ) ( x − μ 1 ) T ] ) = 1 2 l o g ( ∣ Σ 2 ∣ ∣ Σ 1 ∣ ) + 1 2 t r ( Σ 2 − 1 E p [ ( x x T − 2 x μ 2 T + μ 2 T μ 2 ) ] ) − 1 2 t r ( Σ 1 − 1 Σ 1 ) = 1 2 l o g ( ∣ Σ 2 ∣ ∣ Σ 1 ∣ ) + 1 2 t r ( Σ 2 − 1 ( E p [ x x T ] − E p [ 2 x μ 2 T ] + E p [ μ 2 T μ 2 ] ) ) − n 2 = 1 2 l o g ( ∣ Σ 2 ∣ ∣ Σ 1 ∣ ) + 1 2 t r ( Σ 2 − 1 ( Σ 1 + μ 1 T μ 1 − 2 μ 1 μ 2 T + μ 2 T μ 2 ) ) − n 2 = 1 2 l o g ( ∣ Σ 2 ∣ ∣ Σ 1 ∣ ) + 1 2 t r ( Σ 2 − 1 Σ 1 ) + ( μ 1 − μ 2 ) T Σ 2 − 1 ( μ 1 − μ 2 ) − n 2 D(p(x) || q(x)) \\\\ = \int p(x)[\frac 1 2 log(\frac{|\Sigma_2|} {|\Sigma_1|}) + \frac{1} {2}(x-\mu_2)^T\Sigma_2^{-1}(x-\mu_2) - \frac{1} {2}(x-\mu_1)^T\Sigma_1^{-1}(x-\mu_1)] dx \\\\ = \frac 1 2 log(\frac{|\Sigma_2|} {|\Sigma_1|}) + \frac{1} {2}E_p[(x-\mu_2)^T\Sigma_2^{-1}(x-\mu_2)] - \frac{1} {2}E_p[(x-\mu_1)^T\Sigma_1^{-1}(x-\mu_1)]\\\\ = \frac 1 2 log(\frac{|\Sigma_2|} {|\Sigma_1|}) + \frac{1} {2}E_p[tr((x-\mu_2)^T\Sigma_2^{-1}(x-\mu_2))] - \frac{1} {2}E_p[tr((x-\mu_1)^T\Sigma_1^{-1}(x-\mu_1))]\\\\ = \frac 1 2 log(\frac{|\Sigma_2|} {|\Sigma_1|}) + \frac{1} {2}tr(\Sigma_2^{-1}E_p[(x-\mu_2)(x-\mu_2)^T]) - \frac{1} {2}tr(\Sigma_1^{-1}E_p[(x-\mu_1)(x-\mu_1)^T]) \\\\ = \frac 1 2 log(\frac{|\Sigma_2|} {|\Sigma_1|}) + \frac{1} {2}tr(\Sigma_2^{-1}E_p[(xx^T-2x\mu_2^T+\mu_2^T\mu_2)]) - \frac{1} {2}tr(\Sigma_1^{-1}\Sigma_1) \\\\ = \frac 1 2 log(\frac{|\Sigma_2|} {|\Sigma_1|}) + \frac{1} {2}tr(\Sigma_2^{-1}(E_p[xx^T]-E_p[2x\mu_2^T]+E_p[\mu_2^T\mu_2]))-\frac{n} {2} \\\\ = \frac 1 2 log(\frac{|\Sigma_2|} {|\Sigma_1|}) + \frac{1} {2}tr(\Sigma_2^{-1}(\Sigma_1+\mu_1^T\mu_1-2\mu_1\mu_2^T+\mu_2^T\mu_2)) - \frac{n} {2} \\\\ = \frac 1 2 log(\frac{|\Sigma_2|} {|\Sigma_1|}) + \frac{1} {2}tr(\Sigma_2^{-1}\Sigma_1) + (\mu_1-\mu_2)^T\Sigma_2^{-1}(\mu_1-\mu_2) - \frac{n} {2} \\\\ D(p(x)∣∣q(x))=∫p(x)[21log(∣Σ1∣∣Σ2∣)+21(x−μ2)TΣ2−1(x−μ2)−21(x−μ1)TΣ1−1(x−μ1)]dx=21log(∣Σ1∣∣Σ2∣)+21Ep[(x−μ2)TΣ2−1(x−μ2)]−21Ep[(x−μ1)TΣ1−1(x−μ1)]=21log(∣Σ1∣∣Σ2∣)+21Ep[tr((x−μ2)TΣ2−1(x−μ2))]−21Ep[tr((x−μ1)TΣ1−1(x−μ1))]=21log(∣Σ1∣∣Σ2∣)+21tr(Σ2−1Ep[(x−μ2)(x−μ2)T])−21tr(Σ1−1Ep[(x−μ1)(x−μ1)T])=21log(∣Σ1∣∣Σ2∣)+21tr(Σ2−1Ep[(xxT−2xμ2T+μ2Tμ2)])−21tr(Σ1−1Σ1)=21log(∣Σ1∣∣Σ2∣)+21tr(Σ2−1(Ep[xxT]−Ep[2xμ2T]+Ep[μ2Tμ2]))−2n=21log(∣Σ1∣∣Σ2∣)+21tr(Σ2−1(Σ1+μ1Tμ1−2μ1μ2T+μ2Tμ2))−2n=21log(∣Σ1∣∣Σ2∣)+21tr(Σ2−1Σ1)+(μ1−μ2)TΣ2−1(μ1−μ2)−2n
过程有点长,每一个步骤的依据如下
- 将数字代入,对数和指数相抵消
- 概率之和为1,期望的定义
- 一个标量的迹就是它本身
- 矩阵迹数的循环排列定律
- 协方差矩阵的定义
- 拆括号,$tr(I) = n $
- 协方差矩阵的定义
- 矩阵乘积的迹数
逻辑回归
逻辑回归(Logistic Regression)是判别式模型,不需要学习 x x x的分布。
与熵的关系
信息熵
计算对iid随机变量进行编码所需要的最少bits。
H ( p ) = ∑ i p i l o g ( 1 p i ) H(p) = \sum_i p_i log(\frac{1} {p_i}) H(p)=i∑pilog(pi1)
交叉熵
计算使用对 q q q最优化的编码方式将iid随机变量 p p p进行编码所需要的最少bits。
H ( p , q ) = ∑ i p i l o g ( 1 q i ) H(p,q) = \sum_i p_i log(\frac{1} {q_i}) H(p,q)=i∑pilog(qi1)
如果对于某些 i i i有 q i ≪ p i q_i \ll p_i qi≪pi,那么 H ( p , q ) H(p,q) H(p,q)会很大。
K-L散度
D ( p ∣ ∣ q ) = ∑ i p i l o g ( p i q i ) D(p||q) = \sum_i p_i log(\frac{p_i} {q_i}) D(p∣∣q)=i∑pilog(qipi)
除了将损失函数定义为交叉熵,我们亦可以定义其为K-L散度 l ( y i , y ^ i ) = D ( y i ∣ ∣ y ^ i ) l(y_i, \hat y_i) = D(y_i || \hat y_i) l(yi,y^i)=D(yi∣∣y^i)。
三者关系
H ( p , q ) = H ( p ) + D ( p ∣ ∣ q ) H(p,q) = H(p) +D(p||q) H(p,q)=H(p)+D(p∣∣q)
二分类逻辑回归
θ i = 1 1 + e − x i T w \theta_i = \frac 1 {1 + e^{-x_i^Tw}} θi=1+e−xiTw1
θ i \theta_i θi是 y i y_i yi为1的概率。 x T w x^T w xTw代表到决策边界的距离(带有符号的距离)。当这个距离为0时,正好是决策边界,标记为任何一类的概率都是0.5。上面的 σ \sigma σ公式就是将该点与决策边界的距离转化成为分类概率。
为了计算的方便,我们令分类的标记为-1和1(而不是0和1)。当 y i y_i yi标记为-1时,我们令 p i = [ 1 0 ] T p_i=[1 \quad 0]^T pi=[10]T;当 y i y_i yi标记为1时,我们令 p i = [ 0 1 ] T p_i=[0 \quad 1]^T pi=[01]T; q i = [ 1 − θ i θ i ] T q_i = [1-\theta_i \quad \theta_i]^T qi=[1−θiθi]T。
我们仍然假设每一个数据点是相互独立的。运用MLE可以得到,
p w ( y 1 , . . . , y n ) = ∏ i θ I { y i = 1 } ( 1 − θ ) I { y i = − 1 } p_w(y_1, ..., y_n) = \prod_i \theta^{I\{y_i=1\}} (1-\theta)^{I\{y_i = -1\}} pw(y1,...,yn)=i∏θI{
yi=1}(1−θ)I{
yi=−1}
取对数有
l o g L ( w ) = ∑ i I { y i = 1 } l o g ( θ ) + I { y i = − 1 } l o g ( 1 − θ ) = − ∑ i H ( p i , q i ) log L(w) = \sum_i I\{y_i=1\}\ log(\theta) + I\{y_i = -1\}\ log(1-\theta) \\\\ = -\sum_i H(p_i, q_i) logL(w)=i∑I{
yi=1} log(θ)+I{
yi=−1} log(1−θ)=−i∑H(pi,qi)
我们将上式转化成为负对数损失(negative log loss, nll)。而且,由于 p i p_i pi是第 i i i条数据的标签(独热编码),它的信息熵是0。
n l l ( w ) = ∑ i H ( p i , q i ) = ∑ i H ( p i ) + D ( p i ∣ ∣ q i ) = ∑ i D ( p i ∣ ∣ q i ) nll(w) = \sum_i H(p_i, q_i) \\\\ = \sum_i H(p_i) + D(p_i || q_i) \\\\ = \sum_i D(p_i || q_i) nll(w)=i∑H(pi,qi)=i∑H(pi)+D(pi∣∣qi)=i∑D(pi∣∣qi)
实质上,我们的目标就是最小化逻辑损失函数(logistic loss)。
w ∗ = a r g m a x w − ∑ i l o g ( 1 + e − y i x i T w ) = a r g m i n w ∑ i l o g ( 1 + e − y i x i T w ) w^* = argmax_w -\sum_i log(1 + e^{-y_ix_i^Tw}) \\\\ = argmin_w \sum_i log(1 + e^{-y_ix_i^Tw}) w∗=argmaxw−i∑log(1+e−yixiTw)=argminwi∑log(1+e−yixiTw)
可以看到,如果 x T w x^Tw xTw和 y y y的符号相同,说明预测准确,那么损失将非常接近于0。
目标函数是一个凸函数,所以局部最优就是全局最优。
我们可以通过证明Hessian是半正定,从而证明该函数是凸函数。亦可以通过另一些凸函数的性质证明。
d 2 d z 2 l o g ( 1 + e − z ) = e z ( e z + 1 ) 2 \frac {d^2} {dz^2} log(1 + e^{-z}) = \frac {e^z} {(e^z+1)^2} dz2d2log(1+e−z)=(ez+1)2ez
上面证明了一维成立。同时,我们知道线性变换是保留凸函数性的,并且非负的凸函数之和也为凸函数。得证,该函数是凸函数。
逻辑回归没有解析解(closed-form solution)。这里给出一个SGD的结论。
∇ w f ( w ) = ∑ i − y i 1 + e y i w T x i x i \nabla_w f(w) = \sum_i \frac {-y_i} {1 + e^{y_i w^T x_i}} x_i ∇wf(w)=i∑1+eyiwTxi−yixi
多分类逻辑回归
对二分类进行延伸,当 y i y_i yi标记为c时,我们令 p i p_i pi等于在c位置为1的独热编码。
θ i , c = P ( y = c ∣ x i ) = e x p ( x i T w c ) ∑ c ′ = 1 C e x p ( x i T w c ′ ) y ^ = a r g m a x y P ( y ∣ x ) \theta_{i,c} = P(y=c|x_i) = \frac{exp(x_i^Tw_c)} {\sum_{c'=1}^C exp(x_i^Tw_{c'})} \\\\ \hat y = argmax_y P(y|x) θi,c=P(y=c∣xi)=∑c′=1Cexp(xiTwc′)exp(xiTwc)y^=argmaxyP(y∣x)
假设我们想比较数据点更有可能两类中哪一类。
P ( y = c 1 ∣ x i ) P ( y = c 2 ∣ x i ) = e x p ( x i T w c 1 ) e x p ( x i T w c 2 ) = 1 x i T ( w c 1 − w c 2 ) = 0 \frac{P(y=c_1|x_i)} {P(y=c_2|x_i)} = \frac{exp(x_i^Tw_{c_1})} {exp(x_i^Tw_{c_2})} = 1 \\\\ x_i^T (w_{c_1} - w_{c_2}) = 0 P(y=c2∣xi)P(y=c1∣xi)=exp(xiTwc2)exp(xiTwc1)=1xiT(wc1−wc2)=0
假设iid。
p w ( y 1 , . . . , y n ) = ∏ i = 1 n ∏ c = 1 C θ i , c I { y i = c } p_w(y_1, ..., y_n) = \prod_{i=1}^n \prod_{c=1}^C \theta_{i,c}^{I\{y_i=c\}} pw(y1,...,yn)=i=1∏nc=1∏Cθi,cI{
yi=c}
我们对其取对数
l o g ( p w ) = − ∑ i H ( p i , q i ) = ∑ i = 1 n ∑ c = 1 C I { y i = c } l o g ( e x p ( x i T w c ) ∑ c ′ = 1 C e x p ( x i T w c ′ ) ) = ∑ i = 1 n ∑ c = 1 C I { y i = c } [ x i T w c − l o g ( ∑ c ′ = 1 C e x p ( x i T w c ′ ) ) ] = ∑ i = 1 n [ x i T w y i − l o g ( ∑ c ′ = 1 C e x p ( x i T w c ′ ) ) ] log(p_w) = -\sum_i H(p_i, q_i) \\\\ = \sum_{i=1}^n \sum_{c=1}^C I\{y_i=c\} log(\frac{exp(x_i^Tw_c)} {\sum_{c'=1}^C exp(x_i^Tw_{c'})}) \\\\ = \sum_{i=1}^n \sum_{c=1}^C I\{y_i=c\}[x_i^Tw_c -log(\sum_{c'=1}^C exp(x_i^Tw_{c'}))] \\\\ = \sum_{i=1}^n [x_i^Tw_{y_i} - log(\sum_{c'=1}^C exp(x_i^Tw_{c'}))] \\\\ log(pw)=−i∑H(pi,qi)=i=1∑nc=1∑CI{
yi=c}log(∑c′=1Cexp(xiTwc′)exp(xiTwc))=i=1∑nc=1∑CI{
yi=c}[xiTwc−log(c′=1∑Cexp(xiTwc′))]=i=1∑n[xiTwyi−log(c′=1∑Cexp(xiTwc′))]
这个函数没有解析解,只能使用梯度下降找到最值。
∇ w c f ( w ) = ∑ i ( I { y i = c } − e x p ( x i T w c ) ∑ c ′ = 1 C e x p ( x i T w c ′ ) ) x i \nabla_{w_c} f(w) = \sum_i (I\{y_i=c\} - \frac{exp(x_i^Tw_c)} {\sum_{c'=1}^C exp(x_i^Tw_{c'})}) x_i ∇wcf(w)=i∑(I{
yi=c}−∑c′=1Cexp(xiTwc′)exp(xiTwc))xi
思路延伸
我们可以从另一个角度来理解。二分类逻辑回归相当于一个神经元,而多分类逻辑回归相当于神经网络中一层神经元,只不过激活函数是sigmoid函数。当多层神经元进行叠加,我们的目标函数不一定是凸函数了。不过,我们的决策边界也从线性边界拓宽到非线性边界。那么我们可以将这个神经网络用于回归问题。
神经网络
损失函数
m i n W 1 , W 2 , . . . ∑ i l ( y i , y i ) m i n W 1 , W 2 , . . . ∑ i D ( y i ∣ ∣ ϕ ( W l T . . . ϕ ( W 2 T ϕ ( W 1 T x i ) ) . . . ) ) min_{W_1,W_2,...} \sum_i l(y_i, y_i) \\\\ min_{W_1,W_2,...} \sum_i D(y_i||\phi(W_l^T...\phi(W_2^T\phi(W_1^Tx_i))...))\\\\ minW1,W2,...i∑l(yi,yi)minW1,W2,...i∑D(yi∣∣ϕ(WlT...ϕ(W2Tϕ(W1Txi))...))
此处的损失函数沿用了K-L散度而非交叉熵(见逻辑回归章节)。这已经不是凸优化问题了,我们只能使用SGD进行求解。
训练过程
如果我们的激活函数 ϕ \phi ϕ是Sigmoid,那么
σ ( z ) = 1 1 + e − z d σ ( z ) d z = σ ( z ) ( 1 − σ ( z ) ) \sigma(z) = \frac 1 {1+e^{-z}} \\\\ \frac{d\sigma(z)}{dz} = \sigma(z)(1-\sigma(z)) σ(z)=1+e−z1dzdσ(z)=σ(z)(1−σ(z))
使用反向传播(backpropagation)计算梯度:向网络输入数据 x i x_i xi,计算其相对于前一层网络权重的梯度。
函数逼近
英文是function approximation。
通用近似定理
英文是universal approximation theorem。人工神经网络近似任意函数的能力。
考虑一个单层NN类似 y ^ = f ( x ) = ϕ ( W 2 T ϕ ( W 1 T x ) ) \hat y = f(x) = \phi(W_2^T\phi(W_1^Tx)) y^=f(x)=ϕ(W2Tϕ(W1Tx))。对于该映射函数 f : R d → R D f: R^d \rightarrow R^D f:Rd→RD,一定存在一组权重 W 1 , W 2 W_1, W_2 W1,W2满足
s u p x ∣ ∣ y − f ( x ) ∣ ∣ ≤ ϵ sup_x||y - f(x)|| \le \epsilon supx∣∣y−f(x)∣∣≤ϵ
此处 ϵ \epsilon ϵ是错误率,非负。 s u p sup sup代表上界,与 m a x max max的区别是最大值必须在值域内(函数值必须可以取到max),但是 s u p sup sup可以不在值域内。当 m a x max max存在的时候,两者相等。
自编码器
引子:伯努利实验的观察
在n次伯努利试验下,根据霍夫丁不等式,我们可以推出
P ( ∣ k − n θ ∣ ≥ m ) ≤ 2 ∗ e x p ( − 2 m 2 / n ) P(|k - n\theta| \ge m) \le 2*exp(-2m^2/n) P(∣k−nθ∣≥m)≤2∗exp(−2m2/n)
现在有一种彩票,序列是100次伯努利实验结果的拼接。 X ∼ B e r n ( 0.9 ) X \sim Bern(0.9) X∼Bern(0.9)。
假设我们赢得彩票的方式是猜对编码。假设我们只买一张,那么我们应该买序列全是1的彩票,因为其概率最大。假设我们可以多买100张彩票,那么我们应该将序列中包含1个0的彩票也全部买下。购买顺序以此类推。
假设我们赢得彩票的方式是猜对中奖序列中1的个数。那我们应该猜90。
如果对信息熵进行绘图,我们会发现他的形状会和第一张图C(n,k)的形状一模一样。
构造
自编码器(autoencoder)由编码器和解码器两部分组成。编码器负责压缩,解码器负责还原。我们的目标是使得编码的表示更加高效,即在尽可能减小信息损失的前提下,中间产物 y y y的大小应该远小于输入 x x x。
信源编码定理
Shannon的信源编码定理(source coding theorem)是量化信息的基础。我们考虑离散且有限的随机变量 X X X。n个iid随机变量,每个变量的信息熵都是 H ( X ) H(X) H(X)。这组变量可以压缩为 n H ( X ) nH(X) nH(X) bits的大小,而不用太担心有过多的信息损失。换言之,如果压缩的大小小于这个临界点,那么一定会有信息损失。
接下来是进一步解释该定理,不过不是严格的证明。
我们假设encoder的输入 x ∈ { 0 , 1 } n x \in \{0, 1\}^n x∈{ 0,1}n并将其映射到 y ∈ { 0 , 1 } m y \in \{0, 1\}^m y∈{ 0,1}m。数据是 X ∼ B e r n ( 0.8 ) X \sim Bern(0.8) X∼Bern(0.8)。
我们先看 n = 1000 n = 1000 n=1000的情况。假设我们自编码器的波动容纳是100,也就是说当 x x x中包含少于700个1,或者多于900个1的时候自编码器会失效。我们下面计算自编码器失效的概率。
P ( ∣ k − n θ ∣ ≥ t ) ≤ 2 ∗ e x p ( − 2 t 2 / n ) P ( ∣ k − 800 ∣ ≥ 100 ) ≤ 2 ∗ e x p ( − 2 ∗ 10 0 2 / 1000 ) = 4.12 ∗ 1 0 − 9 P(|k-n\theta| \ge t) \le 2*exp(-2t^2/n) \\\\ P(|k-800| \ge 100) \le 2*exp(-2*100^2/1000) = 4.12*10^{-9} \\\\ P(∣k−nθ∣≥t)≤2∗exp(−2t2/n)P(∣k−800∣≥100)≤2∗exp(−2∗1002/1000)=4.12∗10−9
在之前,我们需要对所有序列编码。
∑ k = 1 1000 C ( 1000 , k ) = 2 1000 \sum_{k=1}^{1000} C(1000, k) = 2^{1000} k=1∑1000C(1000,k)=21000
我们现在只需要对规定范围内的序列进行编码。
∑ k = 700 900 C ( 1000 , k ) ≈ 2 877 \sum_{k=700}^{900} C(1000, k) \approx 2^{877} k=700∑900C(1000,k)≈2877
目前的压缩率是 877 / 1000 = 0.877 877/1000 = 0.877 877/1000=0.877。
改变出现在指数项是量级上的改变!
我们再来看 n = 100 , 000 n = 100,000 n=100,000的情况。假设我们自编码器的波动容纳是1000,也就是说当 x x x中包含少于79000个1,或者多于81000个1的时候自编码器会失效。我们下面计算自编码器失效的概率。
P ( ∣ k − n θ ∣ ≥ t ) ≤ 2 ∗ e x p ( − 2 t 2 / n ) P ( ∣ k − 80000 ∣ ≥ 1000 ) ≤ 2 ∗ e x p ( − 2 ∗ 100 0 2 / 100000 ) = 4.12 ∗ 1 0 − 9 P(|k-n\theta| \ge t) \le 2*exp(-2t^2/n) \\\\ P(|k-80000| \ge 1000) \le 2*exp(-2*1000^2/100000) = 4.12*10^{-9} \\\\ P(∣k−nθ∣≥t)≤2∗exp(−2t2/n)P(∣k−80000∣≥1000)≤2∗exp(−2∗10002/100000)=4.12∗10−9
我们需要编码的序列范围是
∑ k = 79000 81000 C ( 100000 , k ) ≤ 2000 ∗ C ( 100000 , 79000 ) ≈ 2 74163 \sum_{k=79000}^{81000} C(100000, k) \le 2000*C(100000,79000) \approx 2^{74163} k=79000∑81000C(100000,k)≤2000∗C(100000,79000)≈274163
目前的压缩率是 74163 / 100 k = 0.74163 74163/100k = 0.74163 74163/100k=0.74163。序列的信息熵是0.722 bits。已经非常接近了。
我们总结一下,当 n n n足够大,始终保持自编码器的波动容纳是 t = c n t = c \sqrt n t=cn,那么自编码器失效的概率是
P ( ∣ k − n θ ∣ ≥ t ) ≤ 2 ∗ e x p ( − 2 t 2 / n ) = 2 ∗ e x p ( − 2 c 2 ) P(|k-n\theta| \ge t) \le 2*exp(-2t^2/n) = 2*exp(-2c^2) P(∣k−nθ∣≥t)≤2∗exp(−2t2/n)=2∗exp(−2c2)
我们需要编码的序列是
∑ k = n θ − t n θ + t C ( n , k ) ≈ 2 t ∗ C ( n , n θ ) ≈ 2 l o g 2 ( 2 t ) 2 n H ( X ) \sum_{k=n\theta-t}^{n\theta+t} C(n, k) \\\\ \approx 2t*C(n, n\theta) \\\\ \approx 2^{log_2(2t)} 2^{nH(X)} k=nθ−t∑nθ+tC(n,k)≈2t∗C(n,nθ)≈2log2(2t)2nH(X)
由此得知,压缩率大约是 H ( X ) H(X) H(X)。
已知斯特灵公式(Stirling’s approximation)
n ! = 2 π n ∗ ( n / e ) n ≈ n n n! = \sqrt{2\pi n}*(n/e)^n \approx n^n n!=2πn∗(n/e)n≈nn
我们来看看上式后半部分成立的原因。
l o g [ C ( n , n θ ) ] = l o g [ n ! k ! ( n − k ) ! ] ≈ l o g [ n n k k ( n − k ) ( n − k ) ] = n l o g ( n ) − k l o g ( k ) − ( n − k ) l o g ( n − k ) = ( n − k ) l o g ( n ) + k l o g ( n ) − k l o g ( k ) − ( n − k ) l o g ( n − k ) = ( n − k ) l o g ( n n − k ) + k l o g ( n k ) log[C(n, n\theta)] = log[\frac{n!} {k!(n-k)!}] \\\\ \approx log[\frac{n^n} {k^k(n-k)^{(n-k)}}] \\\\ = nlog(n) - klog(k) - (n-k)log(n-k) \\\\ = (n-k)log(n) + klog(n) - klog(k) - (n-k)log(n-k) \\\\ = (n-k)log(\frac{n} {n-k}) + k log(\frac{n} {k}) log[C(n,nθ)]=log[k!(n−k)!n!]≈log[kk(n−k)(n−k)nn]=nlog(n)−klog(k)−(n−k)log(n−k)=(n−k)log(n)+klog(n)−klog(k)−(n−k)log(n−k)=(n−k)log(n−kn)+klog(kn)
将 k = θ n k = \theta n k=θn代入上式,有
l o g [ C ( n , θ n ) ] = n θ l o g ( 1 θ ) + n ( 1 − θ ) l o g ( 1 1 − θ ) log[C(n, \theta n)] = n\theta log(\frac{1} {\theta}) + n(1-\theta)log(\frac{1} {1-\theta}) log[C(n,θn)]=nθlog(θ1)+n(1−θ)log(1−θ1)
渐近等分性质
在信息论中,渐近均分性质(Asymptotic equipartition property, AEP)是随机源输出样本的一般性质。对于数据压缩理论中使用的典型集合的概念而言,这是基础。
我们只关心熵典型集(entropy typical set)
A ϵ n = { x : ∣ 1 n l o g ( 1 p ( x ) ) − H ( X ) ∣ ≤ ϵ } A_{\epsilon}^n = \{x:|\frac 1 n log(\frac 1 {p(x)}) - H(X)| \le \epsilon \} Aϵn={
x:∣n1log(p(x)1)−H(X)∣≤ϵ}
重写熵典型集的定义(将绝对值拆开),我们可以得到,在 x ∈ X n x \in \mathcal X^n x∈Xn时,如下不等式成立。
2 − n ( H ( X ) + ϵ ) ≤ p ( x ) ≤ 2 − n ( H ( X ) − ϵ ) 2^{-n(H(X)+\epsilon)} \le p(x) \le 2^{-n(H(X)-\epsilon)} 2−n(H(X)+ϵ)≤p(x)≤2−n(H(X)−ϵ)
这个不等式在对性质的证明上很有帮助。
性质
对于 n n n足够大时,
-
P ( A ϵ n ) ≥ 1 − ϵ P(A_{\epsilon}^n) \ge 1-\epsilon P(Aϵn)≥1−ϵ
-
∣ A ϵ n ∣ ≤ 2 n ( H ( X ) + ϵ ) |A_{\epsilon}^n| \le 2^{n(H(X)+\epsilon)} ∣Aϵn∣≤2n(H(X)+ϵ)
-
∣ A ϵ n ∣ ≥ ( 1 − ϵ ) 2 n ( H ( X ) − ϵ ) |A_{\epsilon}^n| \ge (1-\epsilon) 2^{n(H(X)-\epsilon)} ∣Aϵn∣≥(1−ϵ)2n(H(X)−ϵ)
对于性质2,有如下证明
1 = ∑ x ∈ X p ( x ) ≥ ∑ x ∈ A ϵ n p ( x ) ≥ ∑ x ∈ A ϵ n 2 − n ( H ( X ) + ϵ ) = 2 − n ( H ( X ) + ϵ ) ∣ A ϵ n ∣ 1 = \sum_{x \in \mathcal X} p(x) \\\\ \ge \sum_{x \in A_{\epsilon}^n} p(x) \\\\ \ge \sum_{x \in A_{\epsilon}^n} 2^{-n(H(X)+\epsilon)} \\\\ = 2^{-n(H(X)+\epsilon)}|A_{\epsilon}^n| \\\\ 1=x∈X∑p(x)≥x∈Aϵn∑p(x)≥x∈Aϵn∑2−n(H(X)+ϵ)=2−n(H(X)+ϵ)∣Aϵn∣
可得 ∣ A ϵ n ∣ ≤ 2 n ( H ( X ) + ϵ ) |A_{\epsilon}^n| \le 2^{n(H(X)+\epsilon)} ∣Aϵn∣≤2n(H(X)+ϵ)
对于性质3,有如下证明
1 − ϵ < P ( x ∈ A ϵ n ) ≤ ∑ x ∈ A ϵ n 2 − n ( H ( X ) − ϵ ) = 2 − n ( H ( X ) − ϵ ) ∣ A ϵ n ∣ 1-\epsilon < P(x \in A_{\epsilon}^n) \\\\ \le \sum_{x \in A_{\epsilon}^n} 2^{-n(H(X)-\epsilon)} \\\\ = 2^{-n(H(X)-\epsilon)}|A_{\epsilon}^n| \\\\ 1−ϵ<P(x∈Aϵn)≤x∈Aϵn∑2−n(H(X)−ϵ)=2−n(H(X)−ϵ)∣Aϵn∣
可得 ∣ A ϵ n ∣ ≥ ( 1 − ϵ ) 2 n ( H ( X ) − ϵ ) |A_{\epsilon}^n| \ge (1-\epsilon) 2^{n(H(X)-\epsilon)} ∣Aϵn∣≥(1−ϵ)2n(H(X)−ϵ)
损失函数
假设我们的激活函数是线性函数,我们的损失函数是MSE。中间产物的维度是 m m m。
x ^ = W 2 T W 1 T x W 2 T W 1 T ≈ I r a n k ( W 2 T W 1 T ) ≤ m < d \hat x = W_2^TW_1^Tx \\\\ W_2^TW_1^T \approx I \\\\ rank(W_2^TW_1^T) \le m < d x^=W2TW1TxW2TW1T≈Irank(W2TW1T)≤m<d
我们现在计算它的损失。我们令 A = W 2 T W 1 T A = W_2^TW_1^T A=W2TW1T。
m i n W 1 , W 2 ∑ i l ( x i , x ^ i ) = m i n W 1 , W 2 ∑ i ∣ ∣ x i − W 2 T W 1 T x i ∣ ∣ 2 2 = m i n W 1 , W 2 ∣ ∣ X − W 2 T W 1 T X ∣ ∣ 2 2 = m i n A : r a n k ( A ) ≤ m ∣ ∣ X − A X ∣ ∣ F 2 min_{W_1, W_2} \sum_i l(x_i, \hat x_i) \\\\ = min_{W_1, W_2} \sum_i ||x_i - W_2^TW_1^Tx_i||_2^2 \\\\ = min_{W_1, W_2} ||X - W_2^TW_1^TX||_2^2 \\\\ = min_{A:rank(A)\le m} ||X - AX||_F^2 minW1,W2i∑l(xi,x^i)=minW1,W2i∑∣∣xi−W2TW1Txi∣∣22=minW1,W2∣∣X−W2TW1TX∣∣22=minA:rank(A)≤m∣∣X−AX∣∣F2
应用
自编码器的应用体现在mp3和jpeg形式上,而gzip利用的是霍夫曼编码(Huffman coding)。
可以用于去除噪音、数据可视化、流形学习(manifold learning)等领域。
变分自动编码器
是自编码器的升级版,目标是构建一个从隐变量 Z Z Z生成目标数据 X X X的模型。我们需要假设 Z Z Z服从某种分布,最常见的就是正态分布(也有假设服从均匀分布的)。接下来,我们只需要保证模型能够学习到分布的参数即可。这个就是变分自动编码器和自动编码器的最主要的区别,变分自动编码器只学习参数,而自动编码器学习代表数据的函数。
我们以MNIST数据集为例展示过程如下。
我们延续之前自编码器的符号标记,用 f f f代表编码器部分的函数,用 g g g代表解码器部分的函数。这两个函数之间有点类似互为反函数的关系。我们的目标就是使得 x ^ ≈ x \hat x \approx x x^≈x,需要令 p ( z ) ∼ N ( 0 , I ) p(z) \sim \mathcal N(0,I) p(z)∼N(0,I)。后一个要求是为了计算简便,方便根据学习到的参数进行抽样。
我们再来复习一下隐变量模型。该模型的目的是从数据集 D = { ( x i ) } n D = \{(x_i)\}^n D={
(xi)}n中学习 x x x的分布 p ( x ) p(x) p(x)。其中 Z Z Z是隐变量,有可能有具体的意义,也有可能只是为了计算的方便。
p ( x ) = ∑ z p ( x , z ) = ∑ z p ( z ) p ( x ∣ z ) p ( x ) = ∫ p ( x , z ) d z = ∫ p ( z ) p ( x ∣ z ) d z p(x) = \sum_z p(x,z) = \sum_z p(z) p(x|z) \\\\ p(x) = \int p(x,z) dz = \int p(z) p(x|z) dz p(x)=z∑p(x,z)=z∑p(z)p(x∣z)p(x)=∫p(x,z)dz=∫p(z)p(x∣z)dz
在MNIST数据集中, Z Z Z是预期数字。
我们先考虑 Z Z Z是离散变量的情况,即预测 x x x分布的模型是混合模型。
p ( x ) = ∑ k = 1 K p ( Z = k ) N ( x ∣ μ k , Σ k ) p(x) = \sum_{k=1}^K p(Z=k) \mathcal N(x|\mu_k, \Sigma_k) p(x)=k=1∑Kp(Z=k)N(x∣μk,Σk)
我们希望学习到 x x x和 z z z之间的关系,也就是后验概率。
p ( z ∣ x ) = p ( x , z ) p ( x ) = p ( x ∣ z ) p ( z ) p ( x ) = p ( x ∣ z ) p ( z ) ∑ z p ( x ∣ z ) p(z|x) = \frac{p(x,z)} {p(x)} = \frac{p(x|z)p(z)} {p(x)} = \frac{p(x|z)p(z)} {\sum_z p(x|z)} p(z∣x)=p(x)p(x,z)=p(x)p(x∣z)p(z)=∑zp(x∣z)p(x∣z)p(z)
例如,在之前介绍的高斯混合模型使用EM算法,我们知道
p ( z ∣ x ) = r i , k = π k N ( x ∣ μ k , Σ k ) ∑ k ′ π k ′ N ( x ∣ μ k ′ , Σ k ′ ) p(z|x) = r_{i,k} = \frac{\pi_k \mathcal N(x| \mu_k, \Sigma_k)} {\sum_{k'} \pi_k' \mathcal N(x| \mu_k', \Sigma_k')} p(z∣x)=ri,k=∑k′πk′N(x∣μk′,Σk′)πkN(x∣μk,Σk)
变分推理(variational inference):我们希望通过另一个分布 q ( z ∣ x ) q(z|x) q(z∣x)来估计 p ( z ∣ x ) p(z|x) p(z∣x)。我们将 q ( z ∣ x ) q(z|x) q(z∣x)限制成容易处理的形式,例如正态分布 N ( μ ( x ) , Σ ( x ) ) \mathcal N(\mu(x), \Sigma(x)) N(μ(x),Σ(x))。我们用K-L散度来计算两个分布之间的相似程度。为了书写简便,我们将 q ( z ∣ x ) q(z|x) q(z∣x)简写成 q ( z ) q(z) q(z)。
D ( q ( z ) ∣ ∣ p ( z ∣ x ) ) = ∫ q ( z ) l o g q ( z ) p ( z ∣ x ) d z = ∫ q ( z ) l o g q ( z ) p ( x ) p ( x , z ) d z = ∫ q ( z ) [ l o g q ( z ) p ( x , z ) + l o g ( p ( x ) ) ] d z = ∫ q ( z ) l o g q ( z ) p ( x , z ) d z + ∫ q ( z ) l o g ( p ( x ) ) d z = ∫ q ( z ) l o g q ( z ) p ( x , z ) d z + l o g ( p ( x ) ) D(q(z) || p(z|x)) = \int q(z)log \frac{q(z)} {p(z|x)} dz \\\\ = \int q(z)log \frac{q(z)p(x)} {p(x,z)} dz \\\\ = \int q(z) [log \frac{q(z)} {p(x,z)} + log(p(x))] dz \\\\ = \int q(z) log \frac{q(z)} {p(x,z)} dz + \int q(z) log(p(x)) dz \\\\ = \int q(z) log \frac{q(z)} {p(x,z)} dz + log(p(x)) D(q(z)∣∣p(z∣x))=∫q(z)logp(z∣x)q(z)dz=∫q(z)logp(x,z)q(z)p(x)dz=∫q(z)[logp(x,z)q(z)+log(p(x))]dz=∫q(z)logp(x,z)q(z)dz+∫q(z)log(p(x))dz=∫q(z)logp(x,z)q(z)dz+log(p(x))
我们知道K-L散度具有非负性,所以我们可以改写上式成下面形式。
l o g ( p ( x ) ) ≥ ∫ q ( z ) l o g p ( x , z ) q ( z ) d z = ∫ q ( z ) l o g p ( x ∣ z ) p ( z ) q ( z ) d z = ∫ q ( z ) l o g ( p ( x ∣ z ) ) d z + ∫ q ( z ) l o g p ( z ) q ( z ) d z = E Z ∼ q ( z ) [ l o g ( p ( x ∣ z ) ) ] − D ( q ( z ) ∣ ∣ p ( z ) ) log(p(x)) \ge \int q(z) log \frac{p(x,z)}{q(z)} dz \\\\ = \int q(z) log \frac{p(x|z)p(z)}{q(z)} dz \\\\ = \int q(z) log(p(x|z)) dz + \int q(z) log \frac{p(z)}{q(z)} dz \\\\ = E_{Z \sim q(z)}[log(p(x|z))] - D(q(z)||p(z)) log(p(x))≥∫q(z)logq(z)p(x,z)dz=∫q(z)logq(z)p(x∣z)p(z)dz=∫q(z)log(p(x∣z))dz+∫q(z)logq(z)p(z)dz=EZ∼q(z)[log(p(x∣z))]−D(q(z)∣∣p(z))
我们的目标是最大化 p ( x ) p(x) p(x),实际上就等同于最大化下界中的期望,最小化下界中的K-L散度。我们之前求解过类似的K-L散度。
D ( p ( x ) ∣ ∣ q ( x ) ) = 1 2 l o g ( ∣ Σ 2 ∣ ∣ Σ 1 ∣ ) + 1 2 t r ( Σ 2 − 1 Σ 1 ) + ( μ 1 − μ 2 ) T Σ 2 − 1 ( μ 1 − μ 2 ) − n 2 D(p(x) || q(x)) = \frac 1 2 log(\frac{|\Sigma_2|} {|\Sigma_1|}) + \frac{1} {2}tr(\Sigma_2^{-1}\Sigma_1) + (\mu_1-\mu_2)^T\Sigma_2^{-1}(\mu_1-\mu_2) - \frac{n} {2} \\\\ D(p(x)∣∣q(x))=21log(∣Σ1∣∣Σ2∣)+21tr(Σ2−1Σ1)+(μ1−μ2)TΣ2−1(μ1−μ2)−2n
这里,我们将 p ( z ) ∼ N ( 0 , I ) p(z) \sim \mathcal N(0,I) p(z)∼N(0,I)和 q ( z ) ∼ N ( μ ( x ) , Σ ( x ) ) q(z) \sim \mathcal N(\mu(x),\Sigma(x)) q(z)∼N(μ(x),Σ(x))代入。
1 2 l o g ( 1 ∣ Σ 1 ∣ ) + 1 2 t r ( Σ 1 ( x ) ) + ( μ ( x ) ) 2 − n 2 \frac 1 2 log(\frac{1} {|\Sigma_1|}) + \frac{1} {2}tr(\Sigma_1(x)) + (\mu(x))^2 - \frac{n} {2} \\\\ 21log(∣Σ1∣1)+21tr(Σ1(x))+(μ(x))2−2n
接下来我们要计算目标函数前面的部分。
E Z ∼ q ( z ) [ l o g ( p ( x ∣ z ) ) ] ≈ 1 n ∑ l o g ( p ( x i ∣ z ) ) E_{Z \sim q(z)}[log(p(x|z))] \approx \frac 1 n \sum log(p(x_i|z)) EZ∼q(z)[log(p(x∣z))]≈n1∑log(p(xi∣z))
其中 g g g是确定性函数,所有的不确定性都来自根据分布的参数进行抽样。所以,如果我们知道了 z z z,我们就知道了 x ^ \hat x x^,反之亦然。
l o g p ( x i ∣ z ) = l o g p ( x i ∣ x ^ i ) log p(x_i|z) = log p(x_i|\hat x_i) logp(xi∣z)=logp(xi∣x^i)
再用那张图复习一遍。
我们想要最大化这个期望,那么就需要使 x ^ \hat x x^和 x x x尽可能接近。在损失函数的选择上,平方误差函数(squared error loss)可以帮我们最大化。这里直接给出损失函数公式。
l ( x , x ^ ) = ∣ ∣ x − x ^ ∣ ∣ 2 + D ( N ( μ , Σ ) ∣ ∣ N ( 0 , I ) ) l(x,\hat x) = ||x -\hat x||^2 + D(\mathcal N(\mu, \Sigma)||\mathcal N(0,I)) l(x,x^)=∣∣x−x^∣∣2+D(N(μ,Σ)∣∣N(0,I))
Reference
- Probability and Information Theory in Machine Learning (ECE 601), Matthew Malloy, Fall 2020
- Machine Learning, A Probabilistic Perspective, Kevin P. Murphy, 2012