本文基于Alchemy用戶手冊完成。盡管我這里對內容做了選擇和擴張,并加入了些許個人理解;但是還是強烈建議您閱讀原文。
Alchemy主頁: http://alchemy.cs.washington.edu/
Alchemy用戶手冊: http://alchemy.cs.washington.edu/user-manual/manual.html
1. 介紹
Alchemy是一個用于學習 馬爾可夫邏輯網絡 [ http://en.wikipedia.org/wiki/Markov_logic_network ]和使用馬爾可夫邏輯網絡進行推理的平臺。Alchemy里面包括了一系列基于馬爾可夫邏輯形式表示的 統計關系學習 [ http://en.wikipedia.org/wiki/Statistical_relational_learning ]和概率邏輯推理算法。
注1:如果對統計關系學習和馬爾科夫網絡不熟悉的中文朋友可以閱讀在計算機研究與發展上發表的《統計關系學習研究進展》和軟件學報上發表的《馬爾可夫邏輯網絡研究》。
注2:如果希望更深入的學習馬爾可夫邏輯網絡,推薦閱讀文獻為 http://alchemy.cs.washington.edu/user-manual/Bibliography.html 列出的[3,8,9,11,12]。
注3:Alchemy系統郵箱是 alchemy@cs.washington.edu ; 任何有關該軟件包的問題可以發送至該郵箱。
目前該系統還是Beta版本,該版本包括的功能有:
1) 判別式權重學習(Voted Perceptron, Conjugate Gradient, Newton's Method)
2) 產生式權重學習
3) 結構學習
4) 最大后驗概率估計(MAP)和
偽最大似然估計(MPE)推理(包括節省內存使用的方法)[注:參數學習部分]
5) 概率推斷: MC-SAT, Gibbs抽樣, 模擬退火, 信念擴散(包括lifted)[注:此處不懂]
6) 支持內聯函數[注:指使用C++函數]
7) 對于包含互斥和不全值的變量[注:指一個領域下的變量沒有全部給出],使用基于塊的推理和學習方法
8) 使用EM算法處理學習的時候不確定真值的閉原子
9) Specification of indivisible formulas (i.e. formulas that should not be broken up into separate clauses)[注:此處不懂]
10) 支持連續變量的特征和領域[注:指值的類別,可以理解為type或category]
11) 在線推理
下個版本計劃包括如下功能:
1) 在線學習
2) 對于小領域的精確推理
3) 對于MLN中的規則,不僅僅指明權重還能指明概率,在數據庫中指定閉原子的概率
4) 決策論
5) 更詳細全面的文檔
2. 安裝
Alchemy是安裝在Linux平臺上滴,所以呢,如果你用的是windows,那么只有用Cygwin了。
在安裝Alchemy之前,請確保你的Linux下有以下軟件包:
Bison
Flex
g++
Perl
[注:如果是cygwin也需要手動安裝這些包,默認情況下也是沒有安裝的。]
1) 下載alchemy.tgz文件,放入/home目錄[注:非必須]
2) 解壓文件: tar xvfz alchemy.tgz
3) 如果Bison,Flex,g++,Perl都已經安裝正確了,則進入/home/alchemy/src目錄,編譯代碼,使用如下命令:make depend; make
4) 此時/home/alchemy/bin目錄下就有編譯完成的可執行文件
[注:主要包括infer、learnstruct和learnwts]
好了,此時你就可以用infer做推理,用learnwts學習規則權重,用learnstruct學習結構了。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
