chapter.21拼音輸入法的數學原理
雙拼失敗的原因: 1.
增加編碼的歧義性,使得候選項變多 2.
比全拼的思考速度慢 3.
容錯性差,難以區分捲舌音和鼻音
五筆的沒落: 1.
需要背字根,上手時間較多 2.
脫稿打字時,思維速度慢
拼音的優勢: 1.
不用學,誰都會 2.
輸入自然,思維連貫 3.
編碼有冗餘,容錯性好,平均擊鍵次數小於3
1.輸入法輸入漢字的快慢取決於對於漢字編碼的平均長度,就是擊鍵次數乘以尋找這個鍵的時間
2.將漢字輸入到計算機中,本質上是乙個將我們認為約定的資訊記錄編碼轉化為計算機約定的編碼(國際碼或者utf-8碼)的資訊轉換過程。
3.對漢字的編碼分為兩個部分,對拼音的編碼(按照漢語拼音標準讓鍵盤上26個字母對應拼音),以及用於解決漢字一音多字問題的消除歧義編碼
4.乙個好的輸入法不能要求使用者一定得把每個字的音都讀準,就如同一架普及型的照相機不應該要求使用者精通光圈和快門速度的設定。
5.語言和文字作為通訊的編碼手段,乙個重要的目的是幫助思維和記憶。如果乙個輸入法中斷了人的思維過程,就和人的自然行為不相符合。
6.香濃第一定律指出:對於乙個資訊,任何的編碼長度都不小於他的資訊熵。
7.每乙個拼音可以對應多個漢字,把乙個拼音串對應的漢字從左到右連起來,就是一張有向圖,他被稱為網路圖或籬笆圖(lattice)。拼音輸入法就是要根據上下文在給定拼音條件下找到乙個最優的(概率最大)句子。而在拼音串轉為漢字的網路圖中,兩個節點(詞)之間的距離就是其轉移概率(從第乙個音到第二個音)和生成概率(從音到詞)的乘積。
8.數學的妙處在於他的每乙個工具都有相當的普適性,在不同的應用中都能發揮巨大的作用。
9、個性化語言模型設計,利用通用模型以及使用者自己的語料訓練的模型,進行線性插值,獲得更加適合的模型。相比利用最大熵模型獲得的略差,但是模型比它簡單,訓練時間快,成本低。
10. 漢語全拼的平均長度為 2.98
chapter.22自然語言處理的教父馬庫斯和他的優秀**們
1、建立了標準語料庫組織,ldc語料庫的重要性。
2、追求完美的柯林斯。
3、簡單才美的布萊爾
chapter.23布隆過濾器
1.在日常生活中,包括設計計算機軟體時,經常要判斷乙個元素是否在集合中。最直接的辦法就是將集合中全部的元素存在計算機中,遇到乙個新元素時將它和集合中的元素直接比較即可。
2.布隆過濾器---實際上是乙個很長的二進位制向量和一系列隨機應設函式,只需要雜湊表的1/8到1/4的大小就能解決同樣的集合儲存問題
3.布隆過濾器有一定的誤識別率,通常通過建立乙個小的白名單用來儲存那些可能誤判的郵件位址來補救。
4.雜湊表的儲存效率一般只有 50%(需要了解資料結構雜湊表)。
chapter24.貝葉斯網路
1.符合馬爾科夫假設(乙個狀態只與他直接相連的狀態有關)的各種狀態之間的關係網就是貝葉斯網路,網路每乙個節點的計算都可以用貝葉斯公式進行,而網路的沒乙個弧度都有乙個量化的置信度(權重)
2.使用bn必須先通過結構訓練和引數訓練確定網路的拓撲結構和各個狀態之間的相關概率
3.exhaustivesearch--完備搜尋,既考慮每一條路徑才能得到全域性最優解,但這樣的計算複雜度是np-hard(現有計算能力不能實現的)
4.greedyalgorithm---貪婪演算法,在每一步時沿著箭頭方向尋找有限步,但這種方法會導致陷入區域性最優。
5.解決區域性最優解的方法:
5.1.蒙特卡羅法,用許多隨機數在bn中試一試,看看是否顯然區域性最優
5.2.利用資訊理論,計算節點之間兩兩的互資訊,然後只保留互資訊較大的節點直接連線,然後再對簡化了的網路進行完備的搜尋,找到全域性最優的結構。
6.在確定bn的結構後,利用em過程優化bn的引數(用條件概率度量的事件弧權重),以觀察到的訓練資料後驗概率(條件x和結果y之間的聯合概率p(x,y))最大化為衡量標準。,可用最大熵模型的訓練方法訓練。
7.結構訓練和引數訓練通常交替進行,直到模型收斂或誤差達到設定閥值
chapter25條件隨機場:
隱含馬爾可夫模型的擴充套件
應用:淺層句法分析,模式識別,機器學習等
隱含馬爾可夫模型的觀察序列裡面,每乙個觀測值xi都和它的狀態yi有關,如果把它前後的狀態yi-1,yi+1也考慮進來,這個模型就是條件隨機場。
條件隨機場的形式簡單,但是實現複雜,它的訓練也很麻煩,不過現在已經有開源軟體可以用了
chapter26維位元演算法:
它是一種動態規劃演算法,能夠實時解決有向籬笆圖的最短路徑問題。
移動通訊的基礎
分頻多重進接(fdma):對頻率進行切分,由於相鄰頻率會互相干擾,因些每個通道要有足夠的頻寬。由於頻寬有限,要麼限制通訊人數,要麼降低話音質量。
分時多重進接(tdma):將同一頻帶按時間分成很多份,每個人的通訊資料佔這個頻帶傳輸時間的1/n
分碼多重進接(cdma):每個傳送者有自己不同的密碼,接收者接到不同訊號時,過濾掉自己無法解碼的訊號,留下和自己密碼對應的訊號。
chapter27em
聚類演算法:
無需指定聚類數量。上帝的演算法。只需要有一些訓練資料,定義乙個最大化函式,剩下的事情就交給計算機了,經過若干次迭代,模型就訓練好了。
需要指定乙個距離函式,使得同類資料間的距離小,不同類資料間的距離大,這個函式最好是凸函式,否則會陷入區域性最優解,而不是全域性最優解。
chapter28邏輯回歸
利用乙個函式將所有實數對映到(0,1)
在研究乙個問題時,經常會有很多因素對其造成影響,不妨把這些因素記為乙個向量(x1,x2…xn),然後利用上面的公式把它們線性組合起來。
z= a0 + a1x1 + a2x2 +…+anxn, 這樣就實現了多因素的歸一化,無論這些因素的值是多少,都可以把它們統一量化到(0,1)範圍,然後進行分析。
注意到z其實就是乙個一級的神經網路,任意訓練神經網路的方法都可以用來訓練並確定系陣列。
不過這種形式的邏輯回歸函式和最大熵模型在函式值和形態上有共性,因此訓練方法也是類似的,iis方法也可直接用於訓練邏輯回歸函式的引數。
該模型還用於生物統計,比如**生物數量發展趨勢。大學數學建模所用的**模型。
chapter29雲計算的基礎
思想:分而治之
以矩陣乘法為例,計算c=a*b,當一台伺服器儲存不下矩陣a時,如何做矩陣乘法呢?
將a和b分別按行按列拆成m*n個小矩陣,然後將每個小矩陣分給乙個伺服器來計算,再把所有計算結果合併起來,矩陣乘法就完成了。
由於伺服器之間是平行計算,所以計算時間是原來的1/(n*m).
這就是google的mapreduce的根本原理,將乙個大任務拆分成效的子任務,並且完成子任務的計算,這個過程叫做map,將中間結果合併成最終結果,這個過程叫做reduce。總的來說其原理就是計算機演算法中常用的「各個擊破」法。
附錄:計算複雜度
p問題:如果乙個演算法的計算量是n的多項式函式(polynomialfunction),則認為這個演算法是多項式函式複雜度的。如果乙個問題存在乙個多項式函式複雜度的演算法,則該問題為p問題。
np問題:如果計算量比n的多項式函式還高,雖然從理論上講如果有無限的時間也是可以計算的(圖靈機概念下的可計算),但是實際上是不可計算的。這時稱它為非多項式(non-deterministicpolynomial)問題。
np-complete問題:如果乙個np問題,雖然它找不到多項式函式複雜度的演算法,但是對乙個演算法可以在多項式函式複雜度的時間裡證實這個方法正確與否,那麼這個問題成為np-complete問題。
np-hard問題:如果乙個問題,它的計算複雜度至少是np-complete,那麼它被稱為np-hard問題。
np-hard問題包含np-complete問題。
《數學之美》讀書筆記
通訊六要素 s是可見的 信源 o是不可見的 輸出 信宿 通訊就是要根據觀測到的o恢復出s 對於翻譯問題,漢譯英 英語是s,漢語是o,根據s推斷o tf 詞頻 idf 逆文字頻率指數 以條件隨機場為例,希望找到乙個符合所有邊緣分布的概率分布函式。根據最大熵原則 希望找到乙個符合所有邊緣分布並使熵達到最...
《數學之美》讀書筆記
之前拜讀過吳軍老師的 數學之美 雖然這是一本科普性質的讀物,但還是能從中獲益匪淺。下面根據記憶以及之前做過的簡要的書面筆記,做乙個概括。1.資訊的作用在於消除不確定性,自然語言處理的大量問題都是找相關的資訊。2.關於搜尋 技術分為術和道兩種。具體的做事方法是術,做事的原理和原則是道。只有掌握了搜尋的...
數學之美讀書筆記(一)
chapter.1文字,語言,數學,資訊 很久以前人類以不同的叫聲表示不同的資訊,達到彼此交流的目的,當所要表達的資訊太多時,叫聲已經不夠用了,於是文字產生了。1.數學,文字皆是資訊的載體 文字 知道 羅塞塔 石碑的典故。數字 進製的產生 為了表達大數,不同的文明產生了不同的數字表示方法,最終只有使...