一到五在《數學之美》筆記一中
六. 信息的度量和作用
1、信息熵
引用說明:一條信息的信息量與其不確定性有著直接的關係。比如說,我們要搞清楚一件非常不確定的事,或是我們一無所知的事情,就需要了解大量的信息。相反,如果已對某件事了解較多,則不需要太多的信息就能把它搞清楚。所以,從這個角度來看,可以認為,信息量就等於不確定性的多少。
香農認為準確信息應是:H = -(p1·log i1 + p2·log i2 + ··· + pn·log in)p1, p2, p3 是概率,H 即使這個信息的信息熵。
2、信息的作用
情報的作用,就是消除不確定性。
一個事物內部會存在有隨機性,也就是不確定性,假定為U,而從外部消除這個不確定性唯一的辦法是引入信息I,而需要引入的信息量取決於這個不確定性的大小,即I > U 才行。當 I < U 時,這些信息可以消除一部分不確定性,也就是說新的不確定性。反之,如果沒有信息,任何公式或者數字的遊戲都無法排除不確定性。
幾乎所有的自然語言處理、信息與信號處理的應用都是一個消除不確定性的過程。網頁搜索本質上也是利用信息消除不確定性的過程。
不正確的做法是,在搜索關鍵詞上玩數字和公式的遊戲,由於沒有額外的信息引入,這種做法沒有效果。最糟糕的做法是引入認為的假設,這和「蒙」沒有區別,其結果是似乎滿足了個別用戶的口味,但是對大部分用戶來講,搜索結果反而變得更糟。
信息的作用在於消除不確定性,自然語言處理的大量問題就是尋找相關的信息。
3、互信息
互信息,隨機事件X的不確定性或者說熵H(X),以及在知道隨機事件Y條件的不確定性,或者條件H(X|Y)之間的差異,即I(X;Y)=H(X)-H(X|Y),互信息是一個取值1到min(H(X)),H(Y)之間的函數,當X和Y完全相關時,它的值是1,當二者完全無關時取值為0.
信息熵的物理含義是對一個信息系統不確定性的度量,在這一點上,他和熱力學中的熵有概念相似之處,因為後者就是一個系統無序的度量,從另外一個角度講也是對一種不確定性的度量,說明科學上看似不同的學科之間也有很強的相似性。
七. 賈裡尼克和現代語言處理
1、早年生活
賈裡尼克,富裕猶太家庭,爸爸牙醫,傳統猶太民族,重視教育的家庭但是從小學習不好,二戰後,生活跌落,轉戰移民美國。
賈裡尼克對教育的幾點看法:1) 小學生和中學生其實沒有必要花那麼多時間讀書,而他們的社會經驗、生活能力以及那時樹立起來的志向將幫助他們的一生。 2) 中學階段花很多時間比同伴多讀的課程,在大學以後用非常短的時間就可以讀完,因為在大學階段,人的理解力要強得多。隱藏 3) 學習(和教育)是一個人一輩子的過程,很多中學成績好的亞裔學生進入名校後表現明顯不如那些因為興趣而讀書的美國同學,因為前者不斷讀書的動力不足。 4) 書本的內容可以早學,也可以晚學,但是錯過了成長階段卻是無法彌補回來的。
2、從水門時間到莫妮卡·萊溫斯基
本標題為賈裡尼克在1999年ICASSP做的大會報告題目
處理統計方法應用到自然語言的背景
1)IBM有計算機功能和數據
2)賈裡尼克(等人)已經在這個領域做10多年理論研究
3)上世紀70年代是小吳森將IBM的事業發展到了頂點的時代,IBM對基礎研究人力投入力度也很大。
賈裡尼克不僅自己在專業領域能堅持30多年的鑽研,同時也在合適的機遇遇到了不被條條框框束縛的IBM,從而成就了人類最大貢獻之一的語音識別領域。
3.一位老人的奇蹟
賈裡尼克的2件大事和2件小事
1)賈裡尼克的2件大事:
從美國政府主管研究的部門那裡申請到了很多研究經費。每年夏天他用一部分經費,邀請世界上20-30名頂級的科學家和學生到CLSP一起工作,使得CLSP成為世界上語音和語言處理的中心之一。
2)賈裡尼克做的2件小事:
招募了一批當時很有潛力的年輕學者。利用自己影響力,在暑假把他的學生排到世界上最好的公司去實習,通過這些學生的優異表現,樹立起CLSP在培養人才方面的聲譽。
八. 簡單之美——布爾代數和搜尋引擎
搜尋引擎的「道」:所有的搜索產品都提煉成下載、索引和排序三種基本服務。
搜尋引擎的「術」:所有搜索服務都可以在這三個基本服務上儘快實現
1、布爾代數
布爾代數只有2個數字:0(假)和1(真)
它對於數學的意義等同於量子力學對物理學的意義,它將我們對世界的認知從連續狀態擴展到離散狀態。在布爾的世界裡,萬物皆可量化。
現代物理的基本研究成果表明,我們的世界實實在在是在量化而不是了連續的,我們的宇宙的基本粒子數目是有限的,而且遠比古高爾(googol,10的100次方)的平方要小的多。
2、索引
為什麼搜尋引擎能在0.0幾秒內找到成千上萬甚至上億的搜索結果?索引:圖書館的索引卡,對應位置找到對應的書,高效,快速。
搜尋引擎的索引是資料庫,把搜索的關鍵字轉換成布爾運算的算式,再到資料庫查詢。
索引的方法有很多,如位置(國家地區)、次數、類型、重要性(權重概率)、質量和訪問頻率、分級別等等。
數據(索引)存放在分布式的多臺伺服器上,在查詢的時候,就可以分發到多臺伺服器上,並行(同時)搜索,並把結果送到主伺服器進行合併處理,最後將結果返回給用戶。
布爾代數非常簡單,但是對數學和計算機發展的意義重大,他不僅把邏輯和數學合二為一,而且給了我們看待世界的全新視角,開創了今天數位化時代。在此,借用偉大的科學家牛頓的話來結束:「人們發覺真理的在形式上從來都是簡單的,而不是複雜和含混的。」
九. 圖論和網絡爬蟲
1、圖論
廣度優先搜索算法:如首先,訪問權重最高的城市(北京),接著,訪問與之有直接聯繫的城市(上廣深),以此類推直到盡頭,最後,訪問零散的城市。
深度優先搜索算法:一條路走到黑,再走另一條路。
搜索期間,要記錄已訪問過的城市。
2、網絡爬蟲
網絡爬蟲是如何下載整個網際網路的?
網絡爬蟲運用的就是圖論的辦法,連接的方式就是網頁超連結,記錄的方式是「散列表」(哈希表)。
網際網路搜尋引擎在建立索引前需要用一個程序自動地將所有的網頁下載到伺服器上,這個程序稱為網絡爬蟲,它的編寫是基於離散數學中圖論的原理。
十. PageRank——Google的民主表決式網頁排名技術
1、PageRank算法原理
一點小背景:最先試圖給網際網路的眾多網站排序的並不是Google而是雅虎,但是真正找到網頁自身質量的完美的數學模型的是Google的創始人拉裡·佩奇和謝爾蓋·布林
PageRank算法原理的核心思想是:「民主表決」。
PageRank核心思想:在網際網路上,如果一個網頁被很多其他網頁所連接,說明它受到普遍的承認和信賴,那麼它的排名就高。
當然Google的PageRank算法實際上要複雜很多,背後的原理是圖論和線性代數的矩陣運算。
計算搜索結果的網頁排名過程中需要用到網頁本身的排名,這就成了先有雞還是先有蛋的問題?
布林把這個問題變成了一個二維矩陣相乘的問題,並用迭代的方法解決了問題。先假定所有網頁的排名是相同的,並且根據這個初始值,算出各個網頁的第一次迭代排名,然後再根據第一次迭代排名算出第二次的排名。而這種算法不需要任何人工幹預。
解決計算一百億億數量級的方法是,稀疏矩陣計算技巧。
解決計算時間長的方法是,並行自動化計算。
這種算法,決定搜索質量最有用的信息是用戶的點擊數據,而一項新技術為搜索質量帶來的提升空間卻非常有限,用戶很難感覺到差別。這也就是後來微軟等公司很難在搜索上有所作為的原因。