自然語言處理之一:最大熵模型
一直對自然語言處理中的各種模型一知半解。總是抓不住它們的思想。
今天看了一下這個“最大熵模型”(A Maximum Entropy Approach to Natural Language Processing),寫寫自己的想法吧。呵呵。
就像論文中所說的:希望找到一個最佳的uniform。也就是在模型的建立時,將所有已知的事實建入模型中,而對於未知的則儘量的使它們一致。
比如我們目前只知道的事實是某個隨機變數取值的概率分佈具有約束條件:
(1)P(A+B)=0.2,
(2)P(C+D+E+F)=0.8。
那麼我們在預測P(A),P(B),P(C),P(D),P(E),P(F)的各個值時,按照直覺應該對(A,B)和(C,D,E,F)平均分配概率。
P(A)=0.1;
P(B)=0.1;
P(C)=0.2;
P(D)=0.2;
P(E)=0.2;
P(F)=0.2。
那麼這樣的一種uniform應該在公式上面怎樣體現呢,文章隨之就引入了最大熵的思想。
最大化條件熵:
H(p)=-∑{x,y}{~p(x)p(y|x)log p(y|x)}即能夠滿足我們所需要的uniform條件。
而我們的事實應該怎麼表達呢?
原文文章中的公式1,2,3的綜合給了我們他的表示方法。
《文字挖掘》中所寫的式子感覺更加容易理解。
p(f)=∑{x,y}p(x,y)f(x,y)=P(f)=∑{x,y}P(x,y)f(x,y)
在實際中由於不好計算真實的期望值,因此使用經驗值,只在訓練樣本熵進行求和,則有:
pE(f)=∑{i=1...N}∑{y∈Y}p(y|xi)f(xi,y)/N=PE(f)=∑{i=1...N}f(xi,yi)/N
由於對於每個f都有一個公式,這組公式很像上面例子中給出的(1),(2)兩個公式。公式的右邊已知,而我們希望公式左邊的概率p(y|x)能夠服從這個約束條件。該公式可以理解為特徵函式f生成的約束條件。在這個特徵函式下的概率和滿足右邊式子的值。
其中引入了一個特徵函式f(x,y)。這個特徵函式的取值要麼為1,要麼為0。表示了我們希望考慮的一些條件,而我們不想考慮的條件則由於=0的原因而沒有考慮到等式中。因此被叫做特徵函式,他表示我們感興趣的特徵。
最大上模型的大概思想我感覺就是這個樣子了。當然,具體的尋找最優解的演算法還是很複雜的。
相關推薦
自然語言處理之一:最大熵模型
一直對自然語言處理中的各種模型一知半解。總是抓不住它們的思想。 今天看了一下這個“最大熵模型”(A Maximum Entropy Approach to Natural Language Processing),寫寫自己的想法吧。呵呵。 就像論文中所說的:希望找到
自然語言期末複習筆記—最大熵馬爾科夫模型MEMM
在這篇部落格,我們來談一談最大熵馬爾科夫模型MEMM 關於這部分內容,我看了一晚上,整個公式都都梳理了之後,愣是沒明白這個最大熵體現在哪裡,當然我最終查閱了很多資料,終於還是弄明白了,我會在這篇部落格上詳細講解。不得不說一下,咱們國內的部落格基本都是來自同一個
斯坦福大學-自然語言處理入門 筆記 第十一課 最大熵模型與判別模型(2)
一、最大熵模型 1、模型介紹 基本思想:我們希望資料是均勻分佈的,除非我們有其他的限制條件讓給我們相信資料不是均勻分佈的。均勻分佈代表高熵(high entropy)。所以,最大熵模型的基本思想就是我們要找的分佈是滿足我們限制條件下,同時熵最高的分佈。 熵:表示分佈的不
斯坦福大學-自然語言處理入門 筆記 第八課 最大熵模型與判別模型
一、生成模型與判別模型 1、引言 到目前為止,我們使用的是生成模型(generative model),但是在實際使用中我們也在大量使用判別模型(discriminative model),主要是因為它有如下的優點: 準確性很高 更容易包含很多和
自然語言處理怎麽最快入門?
改進 一個 問答系統 好的 必須 開源 都在 程序 得出 自然語言處理(簡稱NLP),是研究計算機處理人類語言的一門技術,包括: 1.句法語義分析:對於給定的句子,進行分詞、詞性標記、命名實體識別和鏈接、句法分析、語義角色識別和多義詞消歧。 2.信息抽取:從給定文本中抽
用深度學習解決自然語言處理中的7大問題,文字分類、語言建模、機器翻譯
摘要: 本文講的是用深度學習解決自然語言處理中的7大問題,文字分類、語言建模、機器翻譯等,自然語言處理領域正在從統計學方法轉向神經網路方法。在自然語言中,仍然存在許多具有挑戰性的問題。但是,深度學習方法在某些特定的語言問題上取得了state-of-the-art的結果。 本文講的是用深度學習解決自
自然語言處理之:搭建基於HanLP的開發環境(轉)
環境搭建比FNLP的簡單,具體參考:https://github.com/hankcs/HanLP 各個版本的下載:https://github.com/hankcs/HanLP/releases 完畢後有一個報錯: 字元型別對應表載入失敗: D:/eclipse_workspace
ml課程:最大熵與EM演算法及應用(含程式碼實現)
以下是我的學習筆記,以及總結,如有錯誤之處請不吝賜教。 本文主要介紹最大熵模型與EM演算法相關內容及相關程式碼案例。 關於熵之前的文章中已經學習過,具體可以檢視:ml課程:決策樹、隨機森林、GBDT、XGBoost相關(含程式碼實現),補充一些 基本概念: 資訊量:資訊的度量,即
NLP自然語言處理例項:預測天氣冷暖
NLP:自然語言處理(Natural Language Processing)是人工智慧和語言學領域的分支學科。主要包括自然語言理解和生成,自然語言理解系統把自然語言轉化為計算機程式更易於處理的形式即讓電腦懂人類的語言。自然語言生成系統把計算機資料轉化自然語言。 處理過程:形式化描述->數
精通Python自然語言處理 4 :詞性標註--單詞識別
詞性標註被用於資訊檢索、機器翻譯、NER、語言分析等1、詞性標註簡介 一個對句中的每個識別符號分配詞類(如名詞、動詞、形容詞等)標記的過程。在nltk.tag包中並被TaggerIbase類所繼承。>>> text1 = nltk.word_tok
自然語言處理一:基於樸素貝葉斯的語種檢測
本文來自是對七月線上寒小陽自然語言處理課程的總結。 本文使用樸素貝葉斯完成一個語種檢測的分類器,準確度經過簡單的引數調優可以達到99.1%。 機器學習的演算法要取得好效果,離不開資料,咱們先拉點資料(twitter資料,包含English, French, Germa
自然語言處理之:c++中文分詞(附原始碼)
githup地址:https://github.com/jbymy 一、簡介 中文分詞是地然語言處理中的最基礎的環節,到目前為止已經有不少優秀的分詞工具的出現,如“中科院分詞”,“結
《Python自然語言處理實戰:核心技術與算法》PDF新書推介,附帶鏈接地址
核心技術 正則表達 eba 詞性標註 6.2 排序 系統 ext 書籍 本書從各個方面著手,幫助讀者理解NLP的過程,提供了各種實戰場景,結合現實項目背景,幫助讀者理解NLP中的數據結構和算法以及目前主流的NLP技術與方法論,結合信息檢索技術與大數據應用等流行技術,終完成對
OpenCV程式設計:最大熵閾值分割演算法實現(程式碼可執行)
將資訊理論中的 shannon 熵概念用於影象分割, 其依據是使得影象中目標與背景分佈的資訊量最大,即通過測量影象灰度直方圖的熵,找出最佳閾值。根據 shannon 熵的概念,對於灰度範圍為 0,1,2,…,L-1 的影象,其直方圖的熵定義為(僅僅是定義)
帶你深入AI(5)- 自然語言處理領域:RNN LSTM GRU
系列文章,請多關注 Tensorflow原始碼解析1 – 核心架構和原始碼結構 自然語言處理1 – 分詞 帶你深入AI(1) - 深度學習模型訓練痛點及解決方法 帶你深入AI(2)- 深度學習啟用函式,準確率,優化方法等總結 帶你深入AI(3)- 物體分類領域:AlexNet VGG I
機器學習筆記:最大熵(模型,推導,與似然函式關係的推導,求解)
1、最大熵模型 最大熵原理:最大熵原理認為在學習概率模型時,在所有可能的概率模型中,熵最大的模型是最少的模型。 該原理認為要選擇的概率模型首先得承認已有的現實(約束條件),對未來無偏(即不確定的部分是等可能的)。比如隨機變數取值有A,B,C,另外已知
自然語言處理之LCS最長公共子子序列
else turn src 進行 字串 bubuko pri class code #!一個序列S任意刪除若幹個字符得到的新序列T,則T叫做S的子序列 註意,這個和最長公共字串不一樣,最長公共子串要求連續。 1.算法公式: def lcs(a,b): lena
影象閾值分割:最大熵法
影象最大熵閾值分割的原理:使選擇的閾值分割影象目標區域、背景區域兩部分灰度統計的資訊量為最大。 具體描述: 1. 根據資訊熵定義,計算原始影象的資訊熵H0,選擇最大、最小灰度灰度的均值為初始閾值T0; 2. 根據T0將影象分割為G1和G2兩個區域,均值分
最大熵模型
定性 全部 投資 情況 進行 算法 出了 信息 簡單 我們不要把雞蛋都放在一個籃子裏面講得就是最大熵原理,從投資的角度來看這就是風險最小原則。從信息論的角度來說,就是保留了最大的不確定性,也就是讓熵達到了最大。最大熵院裏指出,對一個隨機事件的概率分布進行預測的時候,我
通俗理解最大熵模型
log logs ima 最大熵 ges es2017 最大熵模型 blog image 通俗理解最大熵模型