对数据分布进行约束
写这一篇博客,并不是想要系统的讲解深度学习中所使用到的与概率论相关的知识,只是近期在阅读一些论文时,频繁地遇到了与此相关的知识点。我上网查了相关资料,总结出此文。
1 supervised learning
对于 supervised learning,分布指的是关于特征 \(X\) 和结果 \(Y\) 的联合分布 \(F(X,Y)\) 或条件分布 \(F(Y|X)\)。
训练集和测试集如果服从同一个分布,指的是训练集和测试集都是由服从同一分布的随机样本组成的。即:
\[(X_{train}, Y_{train}),(X_{test}, Y_{test}) \ \ i.i.d \ \ \text{~} F(X,Y)
\]
2 unsupervised learning
对于 unsupervised learning,分布指的是特征 \(X\) 的分布 \(F(X)\),即:
\[X_{train}, X_{test} \ \ i.i.d \text{~} \ \ F(X)
\]
3 分布约束
-
KL散度(Kullback-Leibler divergence):
两个几率分布P和Q差别的非对称性的度量。 KL散度是用来度量使用基于Q的分布来编码服从P的分布的样本所需的额外的平均比特数。典型情况下,P表示数据的真实分布,Q表示数据的理论分布、估计的模型分布、或P的近似分布。
-
离散型随机变量:
对于离散随机变量,其几率分布P 和 Q的KL散度可按下式定义为
\[D_{KL}(P||Q) = -\sum_{i} P(i)\ln \frac{Q(i)}{P(i)} \]等价于
\[D_{KL}(P||Q) = \sum_{i} P(i) \ln \frac{P(i)}{Q(i)} \]在深度学习中更多使用离散型随机变量 KL 散度。
-
分布约束
我们可以对原数据求其真实分布\(P\), 并且根据 \(P\) 计算其满足某一个先验分布 \(Q\),然后计算 \(P\) 和 \(Q\) 的差异(可以通过 KL 散度等方法)约束 \(P\) 与 \(Q\) 尽可能相似。
---- suffer now and live the rest of your life as a champion ----