如何理解Bregman divergence?

時間 2021-05-05 17:42:40

1樓:

Bregman 散度(Bregman divergence or divergence distance)是一種類似於距離度量的方式,用於衡量兩者之間的差異大小。

可以認為,Bregman散度是損失或者失真函式。考慮如下情況:設點 p 是點 q 的失真或者近似的點,也就是說可能 p 是由 q 新增了一些雜訊形成的,損失函式的目的是度量 p 近似 q 導致的失真或者損失,因而Bregman散度可以用作相異性函式

更為形式化地,定義函式 F:Ω→R 。其中Ω是乙個凸集,F是乙個嚴格凸二次可微函式

由該函式F生成的Bregman散度通過下面的公式給出:

DF(p.q)=F(p)F(q)F(q),(pq)

其中F(q)表示函式F在q處的梯度,(pq)表示兩個向量的差,F(q),(pq)是F(q)和(pq)的內積

以上公式的後半部分L(p,q)=F(q)+F(q),(pq)表示了函式F在q點附近的線性部分,而Bregman散度是乙個函式與該函式的線性近似(一階Taylor展開)之間的差,選取不同的函式F可以得到不同的Bregman散度。

1.不滿足三角不等式,即對任意的x、y、z,以下不等式不一定成立:

DF(x,z)≤DF(x,y)+DF(y,z)

2.不滿足對稱性,即對任意x和y,下式不一定成立:

DF(x,y)=DF(y,x)

3. 非負性:對於所有的p和q,滿足DF(p,q)≥0,這一點是由函式F的凸性決定的;

4. 凸性:DF(p,q)在第乙個引數上是凸的,但是在第二個引數上不一定是;

5. 線性:如果我們將Bregman散度考慮為函F的操作符,那麼它對於非負的係數是線性的。即對於嚴格凸且可微的函式F1和F2,以及係數λ≥0,滿足:

DF1+λF2(p,q)=DF1(p,q)+λDF2(p,q)

6. 對偶性:函式F具有凸的共軛F,則F的Bregman散度與DF(p,q)存在著如下的聯絡:

DF(p,q)=DF(q,p)

其中,p=F(p), q=F(q)是p和q的對偶點。

選擇不同的函式F,就可以得到不同的Bregman散度形式:

歐式距離平方

DF(x,y)=||xy||2

是令F(x)=||x||2得到的。

馬氏距離平方

DF(x,y)=12(xy)TQ(xy)

是令F(x)=12xTQx得到的,這可以看作是以上歐式距離平方的推廣。

KL散度

DF(p,q)=∑p(i)logp(i)q(i)∑p(i)+∑q(i)

是令F(p)=∑p(i)logp(i)∑p(i)得到的。

IS距離

DF(p,q)=∑i(p(i)q(i)logp(i)q(i)1)

是令F(p)=∑p(i)得到的。

2樓:

不開心強答此題洩洩憤

Bregman divergence的乙個主要用途:復合非光滑凸優化(composite nonsmooth convex minimization)的一階演算法設計和複雜度分析。

設計思路:將一階演算法看作是MM(Majorization-Minimization)演算法, 單步迭代都是最小化目標函式的乙個凸的上界函式, 在當前迭代點處目標函式與上界函式有相同函式值,這樣能保證目標函式序列單調下降。Bregman類演算法就是將這個上界函式設計為:

一階梯度項 + L*Bregman distance,這裡L是待設計引數,Bregman distance是由Bregman divergence生成的距離函式。

複雜度分析難點:根據現有經驗,可以猜到通常一階演算法具有O(1/t)的收斂速度。然而上述設計思路無法從理論上保證這一點,也沒有理論依據來確定引數L的最佳數值。

分析光滑目標函式的梯度下降演算法的證明可以發現, 梯度下降演算法採用的距離函式是L2範數函式,引數L是目標函式的梯度與這個範數有關的Lipschitz常數,關鍵引理是與此距離函式和Lipschitz常數有關的乙個descent lemma。關於Lipschitz條件的介紹,請讀 @王哲 的專欄文章 非凸優化基石:Lipschitz Condition。

因此,要理解Bregman divergence及對應的一階Bregman類演算法,關鍵點就是確認對應的descent lemma和類似的Lipschitz常數是什麼?這個問題同時在[1]和[2]給出了統一而清晰的回答。對於只有單純形約束的凸優化問題,熟悉Mirror descent演算法[3]的朋友知道,用到的是L1範數及其對應的Lipschitz常數,這是Bregman演算法的乙個直接案例。

[3]Amir Beck, Marc Teboulle, Mirror descent and nonlinear projected subgradient methods for convex optimization[J]. Operations Research Letters, Volume 31, Issue 3, Pages 167-175, 2003.

理解應該如何理解?

CHON 如果兩種 理解 在同一平面,在邏輯上,這是乙個關於表意的 自指性 問題,轉化成問題 我能認識自己嗎 但如果兩種 理解 不在同一平面,一種理解是相對高位,一種理解是相對低位,同樣也可以看作是函式的公升降階問題 那麼跳出問題本身,我們是否真的需要 理解 這種概念?以及在各種語境中 理解 的各自...

如何理解「同情之理解」這句話?

了解之同情 這是陳寅恪在為馮友蘭 中國哲學史 上冊所寫的審查報告中的一句話,原文如下 了解之同情 是針對古代學說而言的,有兩個含義,一是 了解 二是 同情 了解 是屬於科學認知的範疇。我們古人雖然有很多共通之處,但畢竟世殊事異,古今的政治制度,社會風氣,思想觀念,乃至自然環境,都和現在有很大的差距,...

如何理解中庸

i007 沒啥,孔子是可愛的,千萬別太較真,太認真也不行,差不多就行了。中心,如心,忠恕。鼓勵活出你自己,但是永遠允許你不做英雄。2019.04.29.周一。 史思明 聖人說極高明而道中庸。孔子都說中行很難啊。退而求其次,他也只能選狂狷之士了。我個人的理解,比如乙個仁人志士勇敢赴死。就說譚嗣同。我們...