1. 程式人生 > >多變數高斯分佈之間的KL散度(KL Divergence)

多變數高斯分佈之間的KL散度(KL Divergence)

單變數高斯分佈的概率密度函式如下(均值:u,方差:σ):

N(x|u,σ)=1(2πσ2)1/2exp{12σ2(xu)2}
多變數高斯分佈(假設n維)的概率密度函式如下(均值:u,協方差矩陣:Σ): N(x|u,Σ)=1(2π)n/2|Σ|1/2exp{12(xu)TΣ1(xu)}

在公式推導之前,首先介紹一些用到的性質。

  1. 矩陣的跡的性質:
    (1)tr(αA+βB)=αtr(A)+βtr(B)
    (2)tr(A)=tr(AT)
    (3)tr(AB)=tr(BA)
    根據性質(3)可以得到性質(4)
    (4)tr(ABC)=tr(CAB)=tr(BCA)

  2. 在推導公式過程中,使用到的一個重要的trick

    如下:
    對於列向量λ,公式λTAλ的結果是一個標量,所以:

    λTAλ=tr(λTAλ)=tr(AλλT)
  3. 多變數分佈中期望E與協方差Σ的性質:
    (1)E[xxT]=Σ+uuT
    證明:

    Σ=E[(xu)(xu)T]=E[xxTxuTuxT+uuT]=E[xxT]uuTuuT+uuT=E[xxT]uuT
    (2)E(xTAx)=tr(AΣ)+uTAu
    證明:
    因為xTAx的結果是一個標量,利用前面提到的trick,可得:
    E(xTAx)=E[tr(xTAx)]=E[tr(AxxT)]=tr[E(

    相關推薦

    變數分佈之間KLKL Divergence

    單變數高斯分佈的概率密度函式如下(均值:u,方差:σ): N(x|u,σ)=1(2πσ2)1/2exp{−12σ2(x−u)2} 多變數高斯分佈(假設n維)的概率密度函式如下(均值:u,協方差矩陣:Σ): N(x|u,Σ)=1(2π)n/2|Σ|1/2ex

    兩個分佈之間KL推導

      在深度學習中,我們通常對模型進行抽樣並計算與真實樣本之間的損失,來估計模型分佈與真實分佈之間的差異。並且損失可以定義得很簡單,比如二範數即可。但是對於已知引數的兩個確定分佈之間的差異,我們就要通過推導的方式來計算了。   下面對已知均值與協方差矩陣的兩個多維高斯分佈之間的KL散度進行推導。當然,因為便於分

    python 分佈資料生成

    import numpy as np import matplotlib.pyplot as plt def gen_clusters(): mean1 = [0,0] cov1 = [[1,0],[0,10]] data = np.random.multi

    matlab練習程式生成分佈概率密度函式

    clear all; close all; clc; randn('seed',0); %%一維高斯函式 mu=0; sigma=1; x=-6:0.1:6; y=normpdf(x,mu,sigma); plot(x,y); figure; %%二維或多維高斯函式 m

    KL相對熵,資訊增益學習筆記

    1.定義 根據查閱相關資料,知相對熵(relative entropy)又稱為KL散度(Kullback–Leibler divergence,簡稱KLD),資訊散度(information divergence),資訊增益(information gain)

    K-L相對熵的理解

    資訊量 I I I 訊息中有意義的內容成為資訊。資訊量函式:

    多元分佈KL

    kl散度意義: In the context of machine learning, is often called the information gain achieved if Q is used instead of P. This reflects

    伯努利分佈、二項分佈分佈、貝塔分佈、狄利克雷分佈分佈

    伯努利分佈: 伯努利分佈(Bernoulli distribution)又名兩點分佈或0-1分佈,介紹伯努利分佈前首先需要引入伯努利試驗(Bernoulli trial)。 伯努利試驗是隻有兩種可能結果的單次隨機試驗,即對於一個隨機變數X而言: 伯努利試驗都可以表達為“是或否”

    產生分佈的隨機變數

    for j=1:1:1000 aa(j) = sqrt(-2*log(rand(1,1)))*cos(2*pi*rand(1,1)); end bb=randn(1,1000) ; figure(1) histfit(aa); normplot(aa); figu

    分佈 協方差

    高斯分佈(Gaussian Distribution)的概率密度函式(probability density function): 對應於numpy中: numpy.random.normal(loc=0.0, scale=1.0, size=None) 引數的意義為: loc:flo

    【學習筆記】Pattern Recognition&Machine Learning [1.2] Probability Theory(2) 基於分佈和貝葉理論的曲線擬合

        高斯分佈不必贅述,這裡記錄個有意思的東西,即從高斯分佈和貝葉斯理論出發看曲線擬合(即選擇引數w)。     首先假設我們使用多項式擬合曲線,根據泰勒展開的方法,我們可以用有限項多項式在一定精度內擬合任何曲線。  &nb

    機器學習儲備2分佈

    今天講解獨立同分布的概念,高斯分佈,一維高斯分佈。 1、獨立同分布 指隨機過程中,任何時刻的取值都為隨機變數,如果這些隨機變數服從同一分佈,並且互相獨立,那麼這些隨機變數是獨立同分布。 先說說獨立這個概念。在預測德克薩斯州區域的房屋價值時,房屋樣本x1和樣本x2之間的預測是相互獨立的,它

    廣義分佈GGD

    廣義高斯分佈(GGD)-Generalized Gaussian Distribution  廣義高斯分佈及其在影象去噪的應用_百度文庫 https://wenku.baidu.com/view/2b86384c852458fb770b5651.html     &n

    到現在才理解分佈的均值與方差為什麼是0和1

    問題的來源,如圖所示:為什麼標準正態分佈的期望值0,方差為1呢,如果是針對x變數,期望值為0可以理解,那麼方差為1怎麼理解呢,顯然不可能為1,如果針對y變數,顯然所有值都大於0,怎麼會期望值會大於0呢: 先看數學期望的定義: 期望值本身是對所有值進行加權的過程,是針對一個變數存在的;每

    概率分佈---分佈

    條件高斯分佈 邊緣高斯分佈 高斯變數的貝葉斯定理 高斯分佈的最大似然估計 順序估計 高斯分佈的貝葉斯推斷 學生t

    多元分佈

    多元高斯分佈 1.協方差矩陣 協方差衡量的是變數X與Y之間是否存線上性關係,cov(X,Y)>0說明X與Y的變化趨勢是一致的,X增長的時候Y也隨著增長。如果X,Y互相獨立的話,cov(X,Y)=0. cov(X,X)=D(X),變數X與自身的協方差就是方差,cov(X,Y)=cov

    伯努利分佈分佈下的最大似然估計

    最大似然估計: 由於每一個樣本是否出現都對應著一定的概率,而且一般來說這些樣本的出現都不那麼偶然,因此我們希望這個概率分佈的引數能夠以最高的概率產生這些樣本。如果觀察到的資料為D1 , D2 , D3 ,…, DN ,那麼極大似然的目標如下: 通常上面這個概率的計算並不容易。

    Stanford機器學習-異常檢測和多元分佈

    一、異常檢測 這章主要學習異常檢測問題,它是機器演算法的一個常見應用,同時也對於我們生活中的很多問題有很大的幫助,總的來說,它主要用於非監督的學習問題。 那我們怎麼來理解異常檢測是一個怎麼樣的問題呢?我們來看一個相關的問題:飛機引擎的檢測。因為引擎對於飛機來說

    python畫分佈圖形

    高斯分佈,也叫正態分佈,是一個在數學、物理及工程等領域都非常重要的概率分佈,在統計學的許多方面有著重大的影響力。 若隨機變數X服從一個數學期望為μ、方差為σ^2的正態分佈,記為N(μ,σ^2)。其概率密度函式為正態分佈的期望值μ決定了其位置,其標準差σ決定了分佈的寬度。當μ = 0,σ = 1時的正態分佈是

    C++ 產生均勻分佈 分佈 函式

    class Sample { public: static int uniform(int from, int to); static double uniform(); static double gaussian(double sigma); }; static double