專利名稱:一種基于mcmc的優(yōu)化信息檢索方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種新的優(yōu)化的信息檢索方法,特別涉及一種基于MCMC進行優(yōu)化的 信息檢索方法,屬于信息檢索領(lǐng)域。
背景技術(shù):
馬爾可夫鏈蒙特卡羅(MCMC)方法的提出是隨著蒙特卡羅技術(shù)的出現(xiàn),直到20世 紀90年代早期,MCMC在貝葉斯統(tǒng)計中的應(yīng)用才被大眾開始慢慢認識。經(jīng)過最近20年的發(fā) 展,MCMC方法的應(yīng)用業(yè)已涉及了統(tǒng)計推斷應(yīng)用的方方面面,例如生物統(tǒng)計領(lǐng)域、統(tǒng)計物理 領(lǐng)域、控制理論、通信技術(shù)、信息科學領(lǐng)域。MCMC包含了兩個基本內(nèi)容蒙特卡羅積分和馬爾可夫鏈。MCMC是利用Markov鏈 的機制探索狀態(tài)空間以生成樣本的方法,這種機制能夠保證Markov鏈將更多的時間放在 最重要的區(qū)域,從而使它產(chǎn)生的樣本能夠模仿目標分布的樣本。由于MCMC方法的以上特點,使得該方法在信息檢索領(lǐng)域被大量采用。在信息檢索 領(lǐng)域,通常使用該方法對檢索結(jié)果進行全局的抽樣處理,得到精簡的結(jié)果集,提高檢索的效 率;或者通過在仿真實驗中使用該方法來對檢索數(shù)據(jù)進行預(yù)測,將預(yù)測結(jié)果用于實際檢索 數(shù)據(jù),縮小檢索的范圍。在現(xiàn)有的使用MCMC模擬方法進行信息檢索的過程中,大多數(shù)的研究往往局限于 對某一個問題的把握,例如對全局搜索結(jié)果的把握,而忽略了搜索的效率,或者僅僅針對如 何提高搜索的效率,而沒有保證最終的搜索結(jié)果的準確度。因此,如何同時兼顧對全局搜索 準確率的把握,并且又能夠保持一定的搜索效率,減輕硬件的負擔成為一個非常有意義的 工作。在實際過程中,可能會擁有多條Morkov鏈,計算的難度會比較大,而且容易陷入 不能得到最優(yōu)解的過程。
發(fā)明內(nèi)容
本發(fā)明的目的是針對現(xiàn)有技術(shù)的不足,提高搜索的效率和對于全局搜索的把握能 力,尋求一種優(yōu)化的信息檢索方法。本發(fā)明提供了一種基于MCMC的優(yōu)化信息檢索方法,包括以下步驟一、設(shè)定初始并行鏈數(shù)目n,根據(jù)檢索數(shù)據(jù)生成η條Markov鏈;設(shè)定總迭代次數(shù)s ;二、根據(jù)對效率和結(jié)果準確率的要求,設(shè)定最小距離值;三、設(shè)定預(yù)迭代時分段的迭代次數(shù)m,對步驟一中的η條Markov鏈進行分段預(yù)迭 代,得到每兩條鏈之間的距離值,即每兩條Markov鏈各段之間的歐式距離的平均值。四、進行判斷,判斷任意兩條鏈之間的距離值是否小于或者等于所設(shè)定的最小距 離值;五、假如結(jié)果是,就將進行比較的這兩條鏈合并看作一條鏈,新鏈上每一點的值為 原兩條鏈的平均值,則η = n-1 ;
六、判斷迭代次數(shù)是否小于s,如果是則繼續(xù)進行迭代,并在迭代完成時回到步驟 四;否則停止迭代,得到最終的結(jié)果,即迭代后的Markov鏈,通過該迭代后的Markov鏈可以 決定遍歷檢索數(shù)據(jù)的路徑。有益效果本發(fā)明所述基于MCMC的優(yōu)化信息檢索方法可以根據(jù)實際的狀況例如計算量的難 易程度去調(diào)控鏈的個數(shù),從而控制和調(diào)整運算的時間,在兼顧全局搜索的準確率的同時保 證一定的搜索效率,減輕硬件的負擔。
圖1為MCGS檢索方法流程圖;圖2為MCGH檢索方法應(yīng)用到檢索數(shù)據(jù)al的迭代曲線(A);圖3為MCGH檢索方法應(yīng)用到檢索數(shù)據(jù)a2的迭代曲線(B);圖4為MCGH檢索方法應(yīng)用到檢索數(shù)據(jù)a3的迭代曲線(C)。
具體實施例方式
下面結(jié)合附圖,具體說明本發(fā)明的優(yōu)選實施方式。圖1是所述基于MCMC的優(yōu)化信息檢索方法的流程圖。本實施方式的具體步驟包 括一、設(shè)定初始并行鏈數(shù)目n,根據(jù)檢索數(shù)據(jù)生成η條Markov鏈;設(shè)定總迭代次數(shù)s ;在本實施方式中,為了確保收斂性,模擬了三條馬爾可夫鏈,即設(shè)定η = 3 ;設(shè)定總 共迭代s = 1500。通過統(tǒng)計軟件,根據(jù)檢索數(shù)據(jù)生成3條馬爾可夫鏈。二、根據(jù)對效率和結(jié)果準確率的要求,設(shè)定最小距離值;最小距離需要是足夠近的距離,但是又要設(shè)置的恰到好處,如果設(shè)的太大的話,雖 然容易減少Markov鏈的個數(shù),但是會將實際距離差的比較遠的兩條鏈合并成一條鏈;同理 可知,如果這個距離設(shè)置的過小的話,容易使兩個分布和性質(zhì)相同的鏈不被發(fā)現(xiàn),而達不到 提高運算效率的作用。在本實施方式中,初始設(shè)定最小距離值為0. 1。三、設(shè)定預(yù)迭代時分段的迭代次數(shù)m,對步驟一中的η條Markov鏈進行分段預(yù)迭 代,得到每兩條鏈之間的距離值,即每兩條Markov鏈各段之間的歐式距離的平均值;因為Markov鏈的迭代需要消耗很長時間,迭代的次數(shù)經(jīng)常需要幾千幾萬甚至更 多的次數(shù),因此,需要分段對多個鏈之間的距離進行運算,然后對每個迭代區(qū)間的值取平均
■VI-
值。例如,第i次迭代的第m個鏈和第η個鏈之間的距離可以表示為Σ ~ nf
i=i此處預(yù)迭代可采用多種方法,比如M-H方法,貝葉斯方法,但是通過仿真實驗發(fā)現(xiàn) 經(jīng)典Gibbs抽樣算法效果最好,效率最高。本實施方式設(shè)定預(yù)迭代次數(shù)為500次,通過經(jīng)典Gibbs抽樣算法進行預(yù)迭代。迭 代過程可以使用統(tǒng)計軟件完成,例如winbugs,R等。預(yù)迭代完成之后根據(jù)上面的距離公式 計算鏈之間的距離值。四、進行判斷,判斷任意兩條鏈之間的距離值是否小于或者等于所設(shè)定的最小距離值;五、假如結(jié)果是,就將進行比較的這兩條鏈合并看作一條鏈,新鏈上每一點的值為 原兩條鏈的平均值,則η = n-1 ;六、判斷迭代次數(shù)是否小于s,如果是則繼續(xù)進行迭代,并在迭代完成時回到步驟 四;否則停止迭代,得到最終的結(jié)果,即迭代后的Markov鏈,通過該迭代后的Markov鏈可以 決定遍歷檢索數(shù)據(jù)的路徑。針對本實施方式采用的方法,通過路徑圖對獲得的Markov鏈進行檢驗。路徑圖 (Trace plot)描述的是鏈迭代時候產(chǎn)生的波動曲線。當鏈達到收斂時,此路徑圖就應(yīng)該呈 現(xiàn)出穩(wěn)定性,即比較平穩(wěn),沒有明顯的趨勢和周期。圖2、圖3、圖4分別為本實施方式應(yīng)用到不 同的檢索數(shù)據(jù)中的路徑圖。為為了確 保收斂性,本實施方式模擬了三條馬爾可夫鏈,每條各迭代1500次,其中預(yù)迭代500次。從圖2中可以看出,本實施方式一開始是采用了 Ll,L2,L3三條鏈對目標分布進行 搜索,上面一直交替迭代的兩條鏈的統(tǒng)計平均值在迭代到50步左右的時候就基本一致了, 所以可以合并成一條鏈;在迭代到400步左右的時候,Ll和L3的統(tǒng)計平均值也比較接近, 因此也可以將其可以合并成一條鏈。在圖2中,本方法最終以Ll鏈完成了對目標分布的抽 取。從圖3中可以看出,本實施方式開始的三條鏈最終還是以合并成一條鏈完成對目 標分布的抽樣。但是在圖3中,將設(shè)定的最小距離值從0. 1提高到了 0. 3,因此鏈之間的迭 代很快就達到了最小距離,而鏈的合并時間也從圖2的大約400步縮小到了 50步左右,很 明顯的提高了計算的效率。從圖4中可以看出,本實施方式最終的結(jié)果也是只搜索到一條鏈完成對目標分布 的抽取,就是這個迭代的過程中僅有一個局部解,顯然從圖中可以看出其抽樣結(jié)果是不具 有代表性的,主要的原因是由于最小距離值設(shè)置的過大,所以使得本屬于不同統(tǒng)計狀態(tài)的 三個鏈,被合并成一個鏈,也可以看出將距離設(shè)置過大顯然對于處理局部搜索分布的時候 效果并不是很好。在附圖2,3,4中可以看出,用本發(fā)明的方法迭代的數(shù)據(jù)路徑圖是非常平穩(wěn)的,并 沒有出現(xiàn)明顯的離群的軌跡,因此,從圖形中可以認為是比較良好的擬合。根據(jù)上面得出的迭代結(jié)果可以知道需要根據(jù)實際情況對最小距離進行設(shè)置,如果 是如果是需要提高運算時間和減少對計算機的壓力的時候,則可以適當?shù)募哟蟆白钚【嚯x” 值,但是這樣的問題就可能使得距離并不是很接近的鏈直接合并成一條鏈,增加計算出現(xiàn) 誤差的概率;反之,如果不需要特別考慮運算時間和計算機的效率的時候,而純以得到全局 搜索的最優(yōu)解為目的的時候,就可以將“最小距離”設(shè)置成比較小的合理值,雖然增加了計 算量和提高了計算時間,但是也增加了計算結(jié)果的合理性和正確性。
權(quán)利要求
一種基于MCMC的優(yōu)化信息檢索方法,其特征在于,包括以下步驟一、設(shè)定初始并行鏈數(shù)目n,根據(jù)檢索數(shù)據(jù)生成n條Markov鏈;設(shè)定總迭代次數(shù)s;二、根據(jù)對效率和結(jié)果準確率的要求,設(shè)定最小距離值;三、設(shè)定預(yù)迭代時分段的迭代次數(shù)m,對步驟一中的n條Markov鏈進行分段預(yù)迭代,得到每兩條鏈之間的距離值,即每兩條Markov鏈各段之間的歐式距離的平均值。四、進行判斷,判斷任意兩條鏈之間的距離值是否小于或者等于所設(shè)定的最小距離值;五、假如結(jié)果是,就將進行比較的這兩條鏈合并看作一條鏈,新鏈上每一點的值為原兩條鏈的平均值,則n=n 1;六、判斷迭代次數(shù)是否小于s,如果是則繼續(xù)進行迭代,并在迭代完成時回到步驟四;否則停止迭代,得到最終的結(jié)果,即迭代后的Markov鏈,通過該迭代后的Markov鏈可以決定遍歷檢索數(shù)據(jù)的路徑。
2.根據(jù)權(quán)利要求1所述的一種基于MCMC的優(yōu)化信息檢索方法,其特征在于,在步驟三 中所述的分段預(yù)迭代的方法為經(jīng)典Gibbs抽樣算法。
3.根據(jù)根據(jù)權(quán)利要求1所述的一種基于MCMC的優(yōu)化信息檢索方法,其特征在于,步驟 二中設(shè)定的最小距離值為0.1。
全文摘要
本發(fā)明涉及一種基于MCMC的優(yōu)化信息檢索方法,包括以下步驟一、設(shè)定初始并行鏈數(shù)目n,根據(jù)檢索數(shù)據(jù)生成n條Markov鏈;設(shè)定總迭代次數(shù)s;二、根據(jù)對效率和結(jié)果準確率的要求,設(shè)定最小距離值;三、設(shè)定預(yù)迭代次數(shù)m,對步驟一中的n條Markov鏈進行分段預(yù)迭代,得到每兩條鏈之間的距離值。四、進行判斷,判斷任意兩條鏈之間的距離值是否小于或者等于所設(shè)定的最小距離值;五、假如結(jié)果是,就將進行比較的這兩條鏈合并看作一條鏈;六、判斷迭代次數(shù)是否小于s,如果是則繼續(xù)進行迭代,并在迭代完成時回到步驟四;否則停止迭代,通過該迭代后的Markov鏈可以決定遍歷檢索數(shù)據(jù)的路徑。本發(fā)明在兼顧全局搜索準確率的同時保證一定的搜索效率,減輕硬件的負擔。
文檔編號G06F17/30GK101968809SQ20101052034
公開日2011年2月9日 申請日期2010年10月27日 優(yōu)先權(quán)日2010年10月27日
發(fā)明者牛振東, 王維強, 趙育民 申請人:北京理工大學