一、概述
在日常生活中或者科學試驗中,很多的事情發生都具有一定的隨機性,即最終產生的結果是隨機發生的,我們不清楚這些結果是否服從什么規律,我們所擁有的只有一些實驗樣本,在這種情況下,我們如何根據現擁有的東西對結果產生一個合理的推斷呢?最大熵方法就是解決這種問題的一個方法。 最大熵原理是有E.T.Jaynes在1957年提出的,其基本思想如下:在只掌握未知部分的部分知識時,我們應該選取符合這些知識並且熵值最大的概率分布。熵從定義上來說就是一個隨機變量的不確定性,熵值最大即不確定性最大。從這方面來看,最大熵原理實質上就是在滿足已知所有的知識前提下,對於未知的分布應該是自己最不能確定或者最隨機的分布,因為只有這樣,最終的分布才能代表一個最公平的選擇,任何帶有主觀性的選擇其實質上就是為模型加入了約束條件,而這些條件都是根據目前已知信息所無法得出的。 目前最大熵原理在自然語言處理上已經得到了極大的應用。由於最大熵模型可以將不同源的信息集中到一個框架下進行綜合考慮,所以在解決一些復雜問題時體現出極大的優勢。也因此,自Della Pietra在1992年首度用最大熵原理進行語言處理,現在越來越多的學者都用最大熵原理處理文本分類、短語識別和詞性標注等問題,並且取得了比較滿意的效果。
最大熵模型的基本思想是:當我們對一個隨機事件的發生建立預測模型時,模型應當滿足全部從訓練樣本中獲取的已知特征信息,而對其他未知的信息不做任何主觀假設,在這種情況下,條件概率分布最均勻,預測的風險最小,此時預測模型滿足約束條件下的信息熵值最大,所以這種模型被稱為“最大熵模型”。生活中所說的不要把所有的雞蛋都放在同一個籃子里面,就是最大熵思想的一個很朴素的說法,當我們遇到不確定性事件時,就要盡量保留各種可能性,這一原則符合簡單可取性。
二、條件最大熵模型
由於目前很多最大熵模型都是應用在語言處理領域,那么我們就用處理語言舉例來闡述最大熵模型。其實最大熵模型最終的任務就是概率估計,即估計目標類y,在實例x或者理解成條件x下出現的概率,即估計p(y|x)的值。x的集合表示成X,y的集合表示成Y。另外,我們用P表示所有條件概率分布的集合,則p(y|x)只是P中的一個元素。 在具體的語言處理中,產生一個y都是要受到x的影響,即假設隨機輸入一個“吃”字,那么它的上下文肯定是分布在“吃”字周邊的一些漢字,即y肯定是集合{動詞、名詞}中的一個。那么最大熵方法就是基於一些具體的統計學方法,根據x,y之前的出現特征,可靠的估計p(y|x)這個概率模型。 其實最大熵方法在使用的時候並不局限於條件最大熵,最初是估計 p(x)的值,后來才逐漸演變成估計p(y|x),區別起見,通常把p(x,y)或者p(x)成為聯合最大熵模型。在語言處理包括文中后來用到的基於內容處理中都是使用條件最大熵模型,在此特此說明。
三、模型簡介
吃”周圍的詞語就是實例x,詞性為y。這里的x實際上就是上下文信息對於“吃”周圍詞語的一種限制。而y在實際情況當中的可能性則非常巨大,有可能是“吃喝”、“吃蘋果”、“好吃”等。由此,我們可以看出實例空間是非常巨大的。從訓練樣集中,我們可以得到像1 1 2 2 N N(x ,y ),(x ,y ),...,(x ,y ) z主要的經驗概率分布,用出現的對數除以總對數表示概率,即最大熵模型先通過這些訓練樣例來訓練模型,然后再顧及p(x,y)的概率分布。 模型框架中的應用系統是利用訓練好的模型去估計實例 x’的概率分布p(y|x’),其中1<=y<=Y。最后通過概率的從大到小排列形成最后的推薦結果。
四、協同過濾
在一般的電子商務系統中,用戶往往只會對很少的一部分商品進行評分,整個用戶集合與項目集合相關聯的是一個非常稀疏的評分矩陣。在計算相似度的方法中,用戶或者項目間相關的評分信息非常不充分,反映為兩個用戶或者項目間共有評分非常有限,因此相似度計算結果非常不可靠,而實際計算出來的相似值往往不是太高,失去了線性相關本身的意義。由此,依靠相似度選擇最近鄰居的推薦方法在數據稀疏的情形下推薦結果受到嚴重的負面影響。
五、參考文獻
[1]基於最大熵模鶩解決協同過濾稀 疏性問題研究
[2]融合用戶屬性和興趣的最大熵 推薦算法研究