閱讀 Programming Collective Intelligence 有感

去年(2007)底,在網路上看到不少人推薦 Programming Collective Intelligence 這本書,當時並沒有太放在心上,直到前些日子逛書局的時候,站在書架前認真的讀了兩節,才發現這本書真的很有意思。

網路上可以找到不少關於本書評價(還有這個例子)的資料,讀者若有興趣,可以先從 Amazon 上的書評開始。個人覺得這本書最有意思的地方,在於把理論現實間的聯繫處理的特別好,有篇書評用 fills the gap 來形容,我覺得非常傳神。

理解論文和書本上的演算法和數學公式是一回事,將這些演算法轉換成實際可執行的程式則是另一回事;作者在這方面表現出舉重若輕的功力,讓讀者覺得從文章到程式間的距離一點都不遠,沒有知易行難的障礙,就是那麼簡單。雖然本書所用的例子,僅是機器學習(machine learning)領域裡較知名且不艱深的演算法,但是看了作者的現身說法之後,讀者對實作會更有信心,也更有頭緒。

其次,本書的例子都不是作者虛構的,而是我們在生活中會接觸和使用的真實的網路服務,作者還教讀者如何以業者提供的 API 收集(真的)資料,然後如何將演算法、資料、程式語言結合在一起,建構一個真實而有用的工具 。這本書的價值之一,就是讓讀者體會演算法的用處,原來我們生活中實際使用的熱門服務-AmazonNetflixDel.icio.usLast.FmGoogle News ,就是書本上的知識建構起來的。

我想,對人工智慧、機器學習、資料挖掘、網路趨勢、程式實作有興趣的人,都不妨看看這本書,你不會失望的。

最後,the last but not the least

本書的程式碼,都是用被作者稱為“可執行的虛擬碼(executable pesudocode)”的 Python 撰寫,程式可讀性極高, 閱讀本書還可以順便學習 Python ,也是一大收獲。

曾經在網路上看到有人對這本書沒有提供原始碼表示遺憾,其實作者 Toby Segaran 在去年底已經在他的個人部落格提供了這本書的原始碼 ,有需要的人請自行下載。

Comments

Popular posts from this blog

如何評估推薦系統(一)

備忘:在 Mac OS 環境安裝 Python 開發工具

[詩戀] 鄭愁予/定