作者:桂。
時間:2017-04-06 12:29:26
鏈接:http://www.cnblogs.com/xingshansi/p/6672908.html
聲明:歡迎被轉載,不過記得注明出處哦~

前言
之前在梳理最小二乘的時候,矩陣方程有一類可以利用非負矩陣分解(Non-negative matrix factorization, NMF)的方法求解,經常見到別人提起這個算法,打算對此梳理一下。優化問題求解,最基本的是問題描述與准則函數的定義,緊接着才涉及准則函數的求解問題,本文為NMF系列第一篇,主要梳理:
1)矩陣方程基本問題;
2)准則函數定義;
內容為自己的學習總結,其中多有借鑒他人的地方,最后一並給出鏈接。
一、矩陣方程基本問題
本段描述NMF對應的基本問題。
許多問題都可以建模成矩陣方程:
${\bf{AS}} = {\bf{X}}$
其中根據向量
和矩陣
的不同,矩陣方程的求解主要分為以下三類問題:
1)超定矩陣方程;m>n,$\bf{X}$和$\bf{A}$均已知,其中之一或二者可能存在觀測誤差、干擾;
2)盲矩陣方程:僅向量$\bf{X}$已知,矩陣$\bf{A}$未知;
3)欠定稀疏矩陣方程:m<n,$\bf{X}$和$\bf{A}$均已知.
每一類問題,都有對應的方法:如對於盲矩陣方程,由於只有觀測向量$\bf{X}$,因此引入誤差的時候只能假設觀測向量存在誤差,而不會像最小二乘那樣分為普通最小二乘、數據最小二乘、總體最小二乘。給出矩陣方程及對應求解的示意圖:

其實${\bf{AS}} = {\bf{X}}$僅僅是一個線性表達,求解本身沒有非負的限制。但對於現實中很多應用:比如一張圖片,可以認為它由鼻子、眼睛、眉毛...等等拼成,每一個成分對應一些像素值,而這些理論上都應該是非負的,因此在一些矩陣求解問題中,我們希望加入非負的限制。本系列文章主要針對其中的:盲矩陣方程求解——非負矩陣分解算法。
二、准則函數定義
這里只分析最常用的兩類准則函數,對於廣義AB-散度不作討論。假設非負矩陣${\bf{X}}$可以分解成:
${\bf{AS}} = {\bf{X}}$
由於觀測數據${\bf{X}}$難免帶來誤差,因此有:
${\bf{X}} = {\bf{AS}} + \bf{N}$
針對誤差最小化,引入准則函數:
![]()
下面分析准則函數$D\left( {{\bf{X}}|{\bf{AS}}} \right)$.
A-平方歐幾里得(Euclidean)距離
當假設誤差服從正態分布時,此時的最大似然估計與最小二乘等價,此時對應的准則函數為平方Euclidean距離,有時為了求導方便常添加比例系數1/2:
![]()
B-Kullback-Leibler(KL)散度
1-KL定義
首先給出KL散度定義:

KL散度與Euclidean距離不同,是非對稱的。
2-KL的含義
KL不像Euclidean那么直觀,這就有了一個疑問?這么古怪的家伙是從哪冒出來的?
下面一點點理解。

從圖中很容易求解$(x_0,y_0)$處的切線方程,其實$x$如果接近$x_0$,這就是一階Taylor近似,寫成更一般的形式:
![]()
一階Taylor逼近的誤差則定義為:
![]()
推廣開來這就是Bregman距離:
令$\phi $:
為定義在閉合凸集
的一連續可微分凸函數。與函數$\phi $對應的兩個向量:
之間的Bregman距離記作:
,定義為:
如果$\phi $取凸函數:
其實如果$x_i$看作是概率密度,這個就是熵的表達式啊,也就是這里函數調用熵的形式。此時,Bregman距離對應的就是Kullback-Leibler散度,也叫信息散度、信息增益、相對熵、I散度。
從而可以得到:

對號入座,同樣可以得出准則函數:
這樣一來,KL散度的實際意義就比較明顯了:它表達了不同信息熵一階Taylor的近似,如果細究,二階、三階....Taylor近似同樣可以得出。
3-KL對應分布
Euclidean距離對應:誤差服從正態分布,KL散度是不是也該對應某種分布?答案是當然——泊松分布。泊松分布前面有文章分析過。泊松分布就常見的計數過程,描述的是一段時間事件發生的次數,與它關聯較大的一個是二項分布,一個是指數分布。不過這里分析完之后,是不是該多出一個疑問:泊松分布與信息熵有何關系?下面說說泊松分布為什么可以對應KL散度。
給出泊松分布的定義:

從而對於兩個分布:

概率相比並取對數:

已經有點KL散度的味道了,因為$x$是隨機數,所以需要進行基於統計意義的均值計算:

KL散度就這么推導出來了。
參考:
張賢達《矩陣分析與應用》
