散度

协方差矩阵和散布矩阵(散度矩阵)的意义

牧云@^-^@ 提交于 2019-11-30 13:20:40
协方差矩阵和散布矩阵的意义 【 尊重 原创,转载请注明出处 】http://blog.csdn.net/guyuealian/article/details/68922981 在机器学习模式识别中,经常需要应用到协方差矩阵C和散布矩阵S。如在 PCA主成分分析中 ,需要计算样本的散度矩阵,有的论文是计算协方差矩阵 。 实质上二者意义差不多,散布矩阵(散度矩阵)前乘以系数 1/(n-1) 就可以得到协方差矩阵了。 在模式识别的教程中,散布矩阵也称为散度矩阵,有的也称为类内离散度矩阵或者类内离差阵,用一个等式关系可表示为: 关系: 散度矩阵 = 类内离散度矩阵 = 类内离差阵 = 协方差矩阵 × ( n-1 ) 样本的协方差矩阵乘以 n-1 倍即为散布矩阵, n 表示样本的个数, 散布矩阵的大小由特征维数 d 决定, 是一个为 d × d 的半正定矩阵。 一、协方差矩阵的基础 对于二维随机变量(X,Y)之间的相互关系的数字特征,我们用协方差来描述,记为Cov(X,Y): 那么二维随机变量 (X,Y) 的 协方差矩阵,为 : 对于三 维随机变量 X = ( X 1 , X 2 , X 3 ) 的协方差矩阵可表示为: 对于 n 维 X = ( X 1 , X 2 ....X n ) 协方差矩阵: 说明: (1)协方差矩阵是一个 对称矩阵 ,且是 半正定矩阵 ,主对角线是各个随机变量 的方差

KL散度

我的梦境 提交于 2019-11-29 04:59:54
参考https://zhuanlan.zhihu.com/p/22464760 1.KL散度为一维高斯分布时: 画图表示式子证明两者的升降关系: import numpy as np import matplotlib.pyplot as plt x = np.linspace(0.5, 2, 100) y = -np.log(x) + x*x/2 - 0.5 plt.plot(x, y) plt.show() 图为: 2. 1.KL散度为多维高斯分布时:(设为n维) 所以最终结果为: 来源: https://www.cnblogs.com/wanghui-garcia/p/11453900.html

【机器学习】交叉熵与KL散度

↘锁芯ラ 提交于 2019-11-28 11:04:33
写在前面的总结: 1、目前分类损失函数为何多用交叉熵,而不是KL散度。 首先损失函数的功能是通过样本来计算模型分布与目标分布间的差异,在分布差异计算中,KL散度是最合适的。但在实际中,某一事件的标签是已知不变的(例如我们设置猫的label为1,那么所有关于猫的样本都要标记为1),即目标分布的熵为常数。而根据下面KL公式可以看到, KL散度 - 目标分布熵 = 交叉熵(这里的“-”表示裁剪) 。所以我们不用计算KL散度,只需要计算交叉熵就可以得到模型分布与目标分布的损失值。 从上面介绍,知道了模型分布与目标分布差异可用交叉熵代替KL散度的条件是目标分布为常数。如果目标分布是有变化的(如同为猫的样本,不同的样本,其值也会有差异),那么就不能使用交叉熵,例如蒸馏模型的损失函数就是KL散度,因为蒸馏模型的目标分布也是一个模型,该模型针对同类别的不同样本,会给出不同的预测值(如两张猫的图片a和b,目标模型对a预测为猫的值是0.6,对b预测为猫的值是0.8)。 注:交叉熵和KL散度应用方式不同的另一种解释(我更倾向于上面我自己的解释,更具公式解释性) : 交叉熵:其用来衡量在给定的真实分布下,使用非真实分布所指定的策略消除系统的不确定性所需要付出的努力的大小 。这也是为什么在机器学习中的分类算法中,我们总是最小化交叉熵,因为交叉熵越低,就证明由算法所产生的策略最接近最优策略

LDA

痞子三分冷 提交于 2019-11-28 09:51:06
LDA简介: LDA的全称是Linear Discriminant Analysis(线性判别分析),是一种supervised learning。因为是由Fisher在1936年提出的,所以也叫Fisher’s Linear Discriminant。 LDA通常作为数据预处理阶段的降维技术,其目标是将数据投影到低维空间来避免维度灾难(curse of dimensionality)引起的过拟合,同时还保留着良好的可分性。 LDA的引出: 经常经过特征提取以后,我们需要进行降维。首先我们简化一下问题便于阐述其原理: 假设在二维特征空间中,有两类样本,那么我们的目标就是对给定的数据集,将其投影到一条直线上,但是投影的方法有千千万万种,那么我们改选择什么样的投影呢? 首先我们的任务是为了分类服务的,那么我们需要投影后的样本尽可能的分开,最简单的度量类别之间分开程度的方式就是类别均值投影之后的距离。 一种比较好的投影方式就是利用不同类别的数据的中心来代表这类样本在空间中的位置,考虑1个2分类问题。两类的均值向量为: 同时保证让投影之后的中心距离尽可能的大,也就是: 其中 是来自类别 的投影数据的均值, 是我们的投影向量。但是,通过增大w,这个表达式可以任意增大。为了解决这个问题,我们可以将w限制为单位长度,即 。 使用拉格朗日乘数法来进行有限制条件的最大化问题的求解,我们可以发现

熵、交叉熵、KL散度、JS散度

﹥>﹥吖頭↗ 提交于 2019-11-27 22:59:41
熵、交叉熵、KL散度、JS散度 一、信息量 事件发生的可能性大,信息量少;事件发生的可能性小,其信息量大。 即一条信息的信息量大小和它的不确定性有直接的关系,比如说现在在下雨,然后有个憨憨跟你说今天有雨,这对你了解获取天气的信息没有任何用处。但是有人跟你说明天可能也下雨,这条信息就比前一条的信息量大。可以看出信息量的大小与事件发生的可能性成反比。 \[ \begin{align} p\left(x\right) &= Pr(X=x),x \in \chi \notag \\ I(x) &= - \log(p(x)) \tag{1} \end{align} \] \(I(x)\) 称为随机变量X的自信息,描述的是随机变量的某个事件(X = \(x\) )发生所带来的信息量。这里可以稍微理解一下为什么使用 \(log\) :例如两个相互独立的事件 \(x,y\) ,因为两者相互独立所以两个事件带来的信息量为 \(I(x)+I(y)\) ,而两个事件同时发生的概率是 \(p(x,y) = p(x)p(y)\) 。 \(log\) 函数就满足这两个式子,其中 \(log\) 的基数可以任意,常用的是2(二进制编码), \(e\) 。 二、熵 从信息量的公式可以看出,当一个事件的发生概率为 \(p(x)\) 时,它的信息量就是 \(-log(p(x))\)

生成式对抗网络(GAN)

拜拜、爱过 提交于 2019-11-26 22:25:28
  生成对抗网络(GAN),是深度学习模型之一,2014年lan Goodfellow的开篇之作 Generative Adversarial Network , GAN概述   GAN包括两个模型,一个是 生成模型 (generative model),一个是 判别模型 (discriminative model)。生成模型要做的事情就是生成看起来真的和原始数据相似的实例,判断模型就是判断给定的实例是生成的还是真实的(真实实例来源于数据集,伪造实例来源于生成模型)。   生成器试图欺骗判别器,判别器则努力不被生成器欺骗。两个模型经过交替优化训练,互相提升 图1-1 GAN网络整体示意图   如上图所示,我们有两个网络,生成网络G(Generayor)和判别网络D(Discriminator)。生成网络接收一个(符合简单分布如高斯分布或者均匀分布的)随机噪声输入,通过这个噪声输出图片,记做G(z)。判别网络的输入是x,x代表一张图片,输出D(x)代表x为真实图片的概率。 GAN模型优化训练 目的 :将一个随机高斯噪声z通过一个生成网络G得到一个和真实数据分布\({p_{data}}(x)\)差不多的生成数据分布\({p_G}(x;\theta )\),其中的参数\(\theta \)是网络参数决定的,我们希望找到\(\theta \)使得\({p_G}(x;\theta )\)和\