Showing posts with label Data Mining. Show all posts
Showing posts with label Data Mining. Show all posts

Wednesday, August 24, 2011

Size Matters - 機器學習的分散式和平行處理議題

從John Langford的個人部落格看到這個消息:由 Ron Bekkerman (LinkedIn),John Langford (Yahoo! Research)和 Misha Bilenko(Microsoft Research)共同編輯的 Scaling up Machine Learning 將在今年底出版。而且他們將在 KDD 2011 以這本書為基礎發表 Scaling Up Machine Learning 的 Tutorial。

依照 John Langford 的介紹:
This tutorial focuses on providing an integrated overview of state-of-the-art platforms and algorithm choices. These span a range of hardware options (from FPGAs and GPUs to multi-core systems and commodity clusters), programming frameworks (including CUDA, MPI, MapReduce, and DryadLINQ), and learning settings (e.g., semi-supervised and online learning). The tutorial is example-driven, covering a number of popular algorithms (e.g., boosted trees, spectral clustering, belief propagation) and diverse applications (e.g., speech recognition and object recognition in vision).

不在現場的我,是沒有機會親聆這場盛會啦,不過稍微瞄了下簡報檔,覺得這本書裡面的題材都蠻有意思的,比如說下面第一個圖提到克服隱私權疑慮的嘗試,和第二個圖 Tree Ensembles 的說明。

期待這本書的上市,不過看到價格實在是讓人有點遲疑啊,哈哈!




Sunday, January 2, 2011

Drift

同個實驗室的學弟來信談到未來以 concept drift 為基礎的新研究方向,附件裡計畫書的品質,比印象中他原先的水準要好許多,已經隱然有大將之風。拿到學位的前一年,還覺得這位老弟仍然「嫩」的很,距離獨立作業還有段距離,離開學校半年,赫然發現除了停滯不前的自己,每個人都在成長。

新題目很有意思,距離我原本在校期間想嘗試推動的研究方向很接近,和網路界實務上關注的角度也更靠近了。不過,自從三個月前回到產業界任職,這些都距離我益發的遠了,在人生的時間線(timeline)上,我 drift 到原先並沒有想過的軌道上來。

2010 年的最後一天,和同事談起以前曾經用心關注的話題,忍不住多說了幾句,還留下一個恍若隔世的感嘆,當晚就被學弟們在網路上好生調侃了一番,這可是一百年前的天寶舊事了,可不正是隔世麽?

其實倒也不是一味的傷春悲秋,只是對人生的詭譎和瑰麗的讚歎罷了。

回到產業界雖然偏離了五年前的規劃方向,公司產品的技術方向,也不是原先比較擅長的領域。但現在的日子實在挺有趣味的,在過去江湖這麼多年的經驗裡,從不曾在一個這麼「和諧」的環境裡工作,技術的掌握和趨勢的領會,也每日都有新的刺激,雖然總會有這些、那些職場上免不掉的噪聲和行政責任,但人生就是這麼回事,不是嗎!?



後記:

  • 因為青春期某些不愉快的經歷,每到年底心情都會陷入低檔,在發過想找人喝酒、想找人打架、想找人 #$%&*!..... 的牢騷之後,有位童鞋慷慨的願意提供他的 iPad 讓我發泄,Jing,我一定不會辜負你的好意的。
  • 文棟、向量,下回去北京出差,一定會提前通知你們地
  • 我現在越來越適應在黑豹的歌聲中寫東西了 XD


Thursday, June 24, 2010

複習: Social Network Sites 的定義

近日在讀一篇有關 mobile social network 的文章,於是找出 danah m. boyd 和 Nicole B. Ellison 寫的 Social Network Sites: Definition, History, and Scholarship,從頭複習 social network sites 的定義和觀念。這篇文章是為 Journal of Computer-Mediated Communication  2007年10月出版的社群網路特刊寫的,是當期特刊的導讀。

danah boyd 和 Nicole Ellison 這兩位對社群網路服務的所下的定義是以用戶的基本資料(profile)為核心,首先每個用戶必須在該網站建立一個用戶檔案,這個檔案的內容與資料開放程度隨網站的服務內容、方式和隱私政策而有所不同。

但是不管用戶檔案包含多少東西,每個用戶都必須建立與維護一個列表(list),這個列表包含所有在該網站生態系統裡與此用戶發生關聯(connection)的其他用戶。最重要的是,每個用戶都能瀏覽自己及其他用戶所建立的列表,社群網路的各式服務及其創意與變化的基礎,就是奠基在這個作者所強調的第三點。因為能看到與自己有關聯的用戶的社會關係列表,因此可以產生新的關聯,產生關聯(connection、relationship)之後,管理這些關聯的規則,和形成關聯後的用戶間可以執行的動作(actions),就是每個社群網路網站服務特色之所繫了。

文章中關於 social network sites  定義的原文如下,一個原本大家都以為知道「那是什麼」的一件事,真要寫出定義,還真是不簡單。難怪有人說 ...(以下消音).....

We define social network sites as web-based services that allow individuals to (1) construct a public or semi-public profile within a bounded system, (2) articulate a list of other users with whom they share a connection, and (3) view and traverse their list of connections and those made by others within the system. The nature and nomenclature of these connections may vary from site to site.

本文關於定義說明有一點頗值得琢磨,作者說雖然在網路上許多人把 social network sites 和 social networking sites 交替使用,視為同一個概念,但是作者認為 networking 更強調社群網路中與陌生人發展關係(initiate relationships)的現象,作者認為發展關係不是社群網路的全部,所以她們認為 social network sites 這個詞組更能表達社群網路概念所涵蓋的範圍。

為什麼 networking 不涵蓋管理 connected nodes 間關係的動作,只適宜描述管理 strangers 間新關係的建立管理等動作?這個說法不是很有說服力,至少沒有說服我。

Wednesday, March 3, 2010

How Big Is Digital Universe

早期 Data Mining 領域的論文,常以資訊科技進步造成資訊過載作為開場白,比如說“因為資訊科技的進步,人類儲存和收集的資料以倍數成長” (例句:with the rapid advance of information technology, blah blah blah...)。雖然這樣的開場白看多了,難免會覺得膩煩,但是 data mining 確是解決資訊過載的手段之一,論文還是得耐着性子看下去。

不過資訊科技到底把這個世界弄得多混亂,着實是個大問題。每個人都知道資訊過載是個問題,但究竟這個過載到底有多超過,到底有多少資訊在人類社會流通(不論實體形式還是數位形式),實在很難說的清楚。資訊不是不生不滅的實體物質,資訊隨着人類的心智活動、社會活動而持續增加,所以資訊量是個逐漸變大的數字,不是恆久不變的常數。

不過寫文章的人,或是靠賣資訊維生的顧問們,為了表示自己說的話有根有據,足以信賴,還是得弄出幾個量化的數字出來。


Google 在 2008 年公布  MapReduce 的論文裡面說,在  2007 年 9 月 Google 每天要處理的資料量達到 20,000 terabytes (參見下圖),而且這個數字每天都在成長。網路設備生產廠商  Cisco 則估計從 2008 年到 2013 年, 全球 IP 網路的流量將增加 5 倍, 2013 年的全球流量將高達 667 exabyte ( 原報告是說 2/3 zetabyte , 1 zetabyte = 10^21 bytes)。


今年2月25日的經濟學人雜誌的主題是資訊洪流(Data Deluge),當期的專題報導裡提到:根據某個研究報告,人類在 2005 年製造(依照報告的說法是 created, captured and replicated)了 150 exabyte (1 exabyte = 1 billion gigabytes)數位資料,今年這個數字將成長到 1,200 exabyte 。在網路上搜尋相關數據之後,我想這個研究報告應該是指 EMC 支持 IDC 做的 Digital Universe 報告,這份報告在 2007 年首次發表,指出人類製造數位資料的本領愈來愈大,五年間可以成長到10倍, 2008 年將預估數值做了修正,報告中預估到了 2012 年,人類製造的數位資料將高達 1,800 exabyte。

  (資料來源 Digital Universe , The Economists )

雖然這些數字只是估計,但作為吹牛的談資,或是寫文章的參考依據,倒也足夠了。但對於個人而言,一輩子能 接觸、經手處理的資訊量,實在是極為有限,怎樣少碰些垃圾訊息,少做些無用功,才是更大的課題。

Thursday, February 4, 2010

大丈夫當如是另解

John Battelle (The Search 的作者) 昨日撰文推介 Aardvark 公司的  Damon Horowitz 和 Sepandar D. Kamvar 一篇將在 WWW 2010 發表的論文 - Anatomy of a Large-Scale Social Search Engine,這篇文章和 Sergey Brin 和 Larry Page 撰寫的 PageRank 基礎的那篇著名論文只差一個字,這當然不是巧合,因為這篇文章不僅介紹 Aardvark 所開發的搜尋引擎, 並比較他們的做法和傳統搜索引擎的不同。就如 John Battelle 所介紹的,這兩位創業者的企圖心相當驚人,不僅試圖把自己的作品和成就 Google 的里程碑”接軌“,而且在矽谷,在創業前期的公司敢大方公開自己的技術基礎的例子實在不多。

John Battelle 條理分明的介紹這篇論文有趣和有意義(worth a read)的地方,論點十分有說服力,有興趣的人可以直接找原文來看,不過 John 也警告大家這篇論文有很多數學,大家自己看着辦(grin)。但是敝人覺得 John 的文章中最大的亮點是他提到 Brin & Page 的文章在 Google 創業之前並沒有一炮而紅,而是...couldn't even get their paper accepted。想到像 Brin & Page 這樣的大才尚且有這般經歷,似我等這般凡夫俗子,在投稿歷程上屢敗屢戰也不是什麼稀罕的事了。想到這裡,連日陰霾的心情似乎有點好轉...
First, the paper's authors, both of whom have worked at Google, clearly have a sense of potential history here, in that they not only crib Google's original paper's title, they also mirror the first line (substituting "Aardvark" for "Google", of course). Now that's some b*lls. Of course, when Larry and Sergey first presented Google, they couldn't even get their paper accepted (it took three tries, if I recall correctly. Someone should write a book about that...).

John Battelle 認為這件事是個寫書的好點子,what do YOU think?

Tuesday, February 2, 2010

FANS AND EXPERTS OF RECOMMENDER SYSTEM IN TWITTER (by Geeksensor)

推薦系統高手 xlvector (用大陸的說法應該是大牛人)收集了三百萬則推特訊息,開發了在推特上尋找相關專家的系統 Geeksensor (原本叫做 twithunter),並且用他收集的資料製作了一個標籤雲(Yes, Yet Another Cloud),不才在下敝人我,不巧也在這朵雲裡面,咳。


Thursday, April 30, 2009

[Updated] Blogs on Data Mining, Web Mining and Analytics

[ Last Updated : 2009/04/30]
The original list was compiled by KDnuggets, I added some my collections and put the modified list onto the blog of my own. The list is growing and changing all the time, I will keep on maintaining my own list continually(2007/04/25).

Avinash Kaushik published his Top Ten Web Analytics Blogs: July 2007 on July 27, I added his Top Ten to my list as well (2007/07/29).

I added some more blogs to THE list(2007/08/15).

Added Coremark Analytics and Life Analytics (2007/08/23).

Added DM(X) (2007/11/26).

Added Beyond Search and Daniel Lemire's Blog (2007/12/31).

Added IR Thoughts, Herself's Artificial Intelligence, Just a guy in garage and Datawocky (2008/04/01)

Data Mining Research maintained a big list of data mining blogs. I combined his collection and my original list (2008/05/21).

Added Radford Neal's Blog and A blog by Tim Manns.(2008/09/01).

Added Datalligence (2008/10/09).

Added Monash University Business Intelligence Blog , The Noise Channel (2008/11/03)

Added Dynamic Notions (2008/11/04)

Added Jeff's Search Engine Caffe, Statistical Modeling, Causal Inference, and Social Science, Brendan O’Connor’s Blog - AI and Social Science (2008/12/4)

Smart(Enough) Systems renamed to James Taylor on Enterprise Decision Management and the link pointed to a new address (2008/12/16)

Added anuradha@NumbersSpeak (2009/05/01)

First posted on Apr 25,2007

Friday, January 23, 2009

Question: Netflix Prize within months?

獲得2008年度 Netflix Progress Prize 的團隊 BellKor in BigChaos 在今年一月初,又提交一次成果,這回他們把成績從 RMSE 0.8616 推進到 RMSE 0.8598,距離得獎所需的標準 0.8563 又推進一大步。


雅虎的資深研究員 John Langford 在閱讀 BellKor in Chaos 釋出的文件(1,2)後,在他的個人部落格 Machine Learning (Theory) 指出也許距離獎金揭曉的時間不遠了,他同時指出該團隊演算法包含了 stochastic gradient descent, ensemble prediction, and targeting residuals 各領域的技術,並且指出他們在 2008 年間將演算法參數化的努力。他同時意味深長的說,或許- the right parameterization might very well succeed - 正確的參數就能將大獎抱走呢!
Several aspects of solutions are taken for granted including stochastic gradient descent, ensemble prediction, and targeting residuals (a form of boosting). Relatively to last year, it appears that many approaches have added parameterizations, especially for the purpose of modeling through time.
當然,John Langford 也在他的短文裡,提出了他的疑慮:One fear is that the progress is asymptoting on the wrong side of the 10% threshold,可是他也承認從去年底到今年一月的進步的的確令人印象深刻 。

不過我個人比較好奇的是這些演算法,能不能作適當的改變後,應用到其他的產品,或許參數化正是往這個方向努力的指標之一,但是我對 overfitting 這件事仍然有點疑慮。雖然還沒有時間深入研讀相關文件,但在 John Langford 的部落格留言區以及 Netflix 網站的論壇裡有讀者討論到 overfitting 的問題,雖然有人認為這個比賽已經在各方面取得平衡(請參考這裡),不需擔心 overfitting,但是我個人仍然存疑。

或許 - Time will tell。

Tuesday, December 16, 2008

Reading List: Diversity in Recommenders

Daniel Lemire 在上個月整理他認為與推薦系統的多元推薦輸出(diversity of recommendation lists)有關的文獻,有些讀者在留言裡也提出他們的建議。初步過濾之後,我把自己感興趣的文章,用 CiteULike 和 Refworks 的輸出功能,製作IEEE 格式書目如後,作為備忘查考之用:

[1] C. Clarke, M. Kolla, G. Cormack, O. Vechtomova, A. Ashkan, S. Büttcher and I. Mackinnon, "Novelty and diversity in information retrieval evaluation," in SIGIR '08: Proceedings of the 31st Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, 2008, pp. 659-666.

[2] D. Fleder and K. Hosanagar, "Blockbuster Culture's Next Rise or Fall: The Impact of Recommender Systems on Sales Diversity," SSRN eLibrary, 2008.

[3] D. Fleder and K. Hosanagar, "Recommender systems and their impact on sales diversity," in EC '07: Proceedings of the 8th ACM Conference on Electronic Commerce, 2007, pp. 192-199.

[4] L. Iaquinta, M. de Gemmis, P. Lops, G. Semeraro, M. Filannino and P. Molino, "Introducing Serendipity in a Content-Based Recommender System," Hybrid Intelligent Systems, 2008. HIS '08. Eighth International Conference on, pp. 168-173, 2008.

[5] Q. Le and A. Smola, "Direct Optimization of Ranking Measures," Apr 2007. [Online]. Available: http://arxiv.org/abs/0704.3359.

[6] D. Lemire, S. Downes and S. Paquet, "Diversity in open social networks," 2008.

[7] L. Mcginty and B. Smyth, "On the Role of Diversity in Conversational Recommender Systems," 2003.

[8] S. Mcnee, J. Riedl and J. Konstan, "Being accurate is not enough: How accuracy metrics have hurt recommender systems," in CHI '06: CHI '06 Extended Abstracts on Human Factors in Computing Systems, 2006, pp. 1097-1101.

[9] K. Swearingen and R. Sinha, "Beyond algorithms: An HCI perspective on recommender systems," 2001.

[10] Y. Xu and H. Yin, "Novelty and topicality in interactive information retrieval," J. Am. Soc. Inf. Sci. Technol., vol. 59, pp. 201-215, 2008.

[11] C. Zhai, W. Cohen and J. Lafferty, "Beyond independent relevance: Methods and evaluation metrics for subtopic retrieval," in SIGIR '03: Proceedings of the 26th Annual International ACM SIGIR Conference on Research and Development in Informaion Retrieval, 2003, pp. 10-17.

[12] F. Zhang, "Research on Recommendation List Diversity of Recommender Systems," Management of e-Commerce and e-Government, 2008. ICMECG '08. International Conference on, pp. 72-76, 2008.

[13] M. Zhang and N. Hurley, "Avoiding monotony: Improving the diversity of recommendation lists," in RecSys '08: Proceedings of the 2008 ACM Conference on Recommender Systems, 2008, pp. 123-130.


如果需要下載這些文章的電子檔,請到筆者的 CiteULike 資料庫(tag: Diversity)查看論文下載位址的細節資料。

Saturday, December 13, 2008

[Updated] 使用決策樹作股票預測

Data Mining Research 最近發表了一系列使用決策樹作股票預測的文章,目前(2008/11/12)已經發表到第五篇《風險評估》,我會依照發表進度更新本文。除了本系列專文之外,Data Mining Research 還發表不少與資料挖掘研究趨勢以及技術探討的文章,讀者有興可到這個部落格挖挖舊文章說不定會有些意外收獲哦。


(First Published on 2008/10/14 : Last Updated on 2008/12/13)

Wednesday, October 22, 2008

[KDNuggets Poll] Financial Crisis Effect on Data Mining Field

不論學者、官員、網路名人們怎麼說財務危機,言語或嚴肅或搞笑,救市或沉著或慌張,但這次金融危機帶給我們這些“一般人”的心理壓力是真實而無處不在的。從 Live Traffic View 所見,我這個一畝三分田,最近這些日子最常被訪問的,也是和金融危機有關的《圖解次級房貸》。

搞 Data Mining 專家、顧問、學者也是一般人,當然不能自外於世,KDNuggets 最近一期的問卷調查,主題正是詢問讀者們:這次財務危機究竟有沒有影響2008年第四季的展望?雖然參與投票的人不算多,以管窺天,也未必不能瞧出些端倪,投票結果如下圖,諸君若想了解投票的細節,請拜訪本次問卷調查網頁。

Wednesday, July 23, 2008

閱讀 Programming Collective Intelligence 有感

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

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

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

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

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

最後,the last but not the least。

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

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

Tuesday, July 22, 2008

協同過濾(collaborative filtering)推薦系統的實作

最近讀了交通大學資管所劉敦仁教授2007年發表在 Expert Systems with Application 的文章[1]⁠ ,他將客戶終生價值(customer lifetime value, CLV)融入協同過濾(collaborative filtering,CF)推薦系統框架,以加權後的 RFM (Recency、Frequency、Monetary)模型,作為客戶分群的依據。

試著將更多實務界或商管領域的思維,整合至資料挖掘的實作,一直是我在思考的方向,這篇文章的思路對我並不陌生,因此我試著更深入理解他的做法。

在閱讀的過程裡,我覺得這篇文章在整理過去研究成果(related work)的部分,蠻有意思的,本文整理協同過濾的各種不同做法,以實作時應用的各種基礎演算法(例如:關聯法則、分群)為基礎的分類思路,而不是從商品與顧客的不同觀察視角(item-based .vs. user-based)出發。個人認為,這種切入角度,能夠幫助有意實作推薦系統的讀者,更快的理解推薦系統的組成架構,並且幫助他們更有效率的擬定工作計畫。

協同過濾的基本精神,在於數大就是美,資料愈多,系統的表現愈佳。協同過濾的實作精要之處,則在於如何從購物人潮中找出與特定顧客品味嗜好相近的同好,或是任意揀選一件商品,如何找出相似的品項。如何找出人與物的相似處,就取決於相似度(similarity)的計算方式了。歷來學者曾在文獻中建議使用的相似度公式,五花八門琳琅滿目,用族繁不及備載來形容一點也不誇張。

最常被人提及的計算方式包括 Euclidean Distance、 Pearson correlation coefficient、Jaccard coefficient、Manhatten distance、Cosine correlation coefficient 等等。許多學者在這些基礎上,設計了更複雜的計算方式,比如劉教授建議以商管領域常使用的 RFM (Recency、Frequency、Monetary)模型,計算客戶貢獻度(客戶對業者的價值)為基礎的計算方式,他還以此為基礎,建議更複雜的加權式 RFM (Weighted RFM)計算公式。簡而言之,更有用的相似度判斷方式,一直是學者努力的重點之一。

定義相似度之後,最重要的是怎麼應用相似度來建構推薦機制。根據劉教授的整理,有三大類計算方式(當然啦,這只是我個人的理解):

k-nearest neighbor(kNN )

這個方法是最直覺,也最容易理解的。指定一個消費者(或者指定商品,道理都是一樣的),利用相似度公式,計算出和這個消費者最相似的 k 個顧客。然後我們分析這些選出來的對象,找出他們購買過,但我們的主人翁還沒有購買的項目,這些就是要推薦給主人翁的商品。實務上,可能在計算上更複雜一點,不過這就是最基本的道理了。如果讀者可以參考 Programming Collective Intelligence (O'REILLY 出版)這本書的第二章和第八章,就更能體會這個方法的神髓了。

Clustering

這個方法在邏輯上也很單純,先將顧客依照某些條件分群,讓後再針對每一個群組作關聯法則的分析。我們依照關聯法則的分析,對這個群組裡的消費者,產生推薦清單(這個群裡其他人都買了,他還沒有買的商品就是推薦對象)。最簡單直覺的分群演算法,就是 k-mean clustering 了,但別忘了最重要的分群依據,就是前述一再強調的相似度計算方法。

Hybrid Approach

寸有所長,尺有所短。每一種方法,都有其優勢和缺點,因此學者嘗試將 content-based (CB) 和 collaborative filtering (CF)結合在一起,這就是所謂的融合解法 (hybrid approach)。將不同的計算方法結合在一起,說來簡單,作起來卻有很多變化。學者 Burke 有篇論文[2]⁠ - Hybrid Recommender Systems: Survey and Experiments,整理了做法,一共有 weighted、switching、mixed、feature combination、casade、feature augmentaion & meta-level 七種之多。依照劉教授的整理看來,他最重視 weighted 和 meta-level 兩種方法。

(圖表來源:Hybrid Recommender Systems: Survey and Experiments)


雖然我一直覺得,RFM 是不是能表達愛好與品味,還是個問號?不過本篇論文的整理功夫,的確值得稱道,配合 Programming Collective Intelligence 一起看,將論文裡的數學符號和實作連結起來,收獲特別多。

參考資料:

[1] Y. Shih and D. Liu, “Product recommendation approaches: Collaborative filtering via customer lifetime value and customer demands,” Expert Syst. Appl., vol. 35, 2008, pp. 350-360.

[2] R. Burke, “Hybrid Recommender Systems: Survey and Experiments,” User Modeling and User-Adapted Interaction, vol. 12, Nov. 2002, pp. 331-370.

Monday, June 30, 2008

When all models are unnecessary, ...

"All models are wrong, and increasing you can succeed without them."

最近一期 Wired 的封面故事:The End of Theory: The Data Deluge Makes the Scientific Method Obsolete,標題驚人,內容頗具爭議性,在部落圈和學術界掀起一陣討論和討伐之風。

這篇文章談到資料挖掘在Google 的成功中扮演的角色,以及可能在未來科學研究中扮演的角色,企圖雄偉,但是立論薄弱,而且對有些基本的東西有誤解,所以文章一經發表,讀者反應激烈,用句俗諺來形容,可以說是捅了馬蜂窩。

Wired 網站裡的讀者回應區,立刻有人反應作者做了能力範圍(out of league)外的事情,也有人認為他越線(crossed the line)了,甚至有位密西根大學的教授(Cosma Shalizi)在自己的部落格說出 I recently made the mistake of trying to kill some waiting-room time with Wired 的狠話。

這篇文章由Wired 雜誌主編 Chris Anderson (長尾理論的發明者)執筆,Chris Anderson 的確不愧為暢銷書作者,文采斐然沒有話說,先以統計學家 George Box 的著名警句 All models are wrong, but some are useful. 破題,然後以優美的排比句子,揭示 Petabyte 時代的來臨:

Sixty years ago, digital computers made information readable. Twenty years ago, the Internet made it reachable. Ten years ago, the first search engine crawlers made it a single database.

Petabyte Age 不是文人的夸飾,隨著資訊科技的進步,人類累積和儲存資料的本事越來越大,今年初(January 2008),Google 發表的 MapReduce 論文,透露了 Google 一天要處理 20 Petabytes 的資料。大量的數據,加上資料挖掘以及統計的幫助,讓 Google 的競爭力如虎添翼,谷歌本身的成就和他們贊助的生物資訊研究,充分說明了資料(數據)的重要性。所以 Peter Norvig 把 George Box 的名句改成 All models are wrong, and increasingly you can succeed without them.

之前筆者也曾撰文討論過資料在數據挖掘研究裡的重要性,但是 Chris Anderson 在這裡走進了推演的誤區,把資料的重要性無限上綱,得到了只要有大量數據和應用數學(applied math;顯然他想說的是 data mining),天下沒有辦不到的事。甚至他認為這是 paradigm (有人翻譯為範式,還有更好的翻譯嗎?)的轉移,所以才有 End of Science 這樣驚人的標題。簡而言之,他認為老套的做學問的方法過時了:

It's science. The scientific method is built around testable hypotheses. These models, for the most part, are systems visualized in the minds of scientists. The models are then tested, and experiments confirm or falsify theoretical models of how the world works. This is the way science has worked for hundreds of years.

..... omitted....

Once you have a model, you can connect the data sets with confidence. Data without a model is just noise.  But faced with massive data, this approach to science — hypothesize, model, test — is becoming obsolete.

他進一步闡述他的看法,有了數據、電腦、演算法,把數據丟進運算機器之後,我們只要等待結果就行了,不需要假設、模型,也不需要相關的知識。就像 Google 應用統計結果做機器翻譯和拼字檢查,不需要懂語言,也能得到很棒的結果:

There is now a better way. Petabytes allow us to say: "Correlation is enough." We can stop looking for models. We can analyze the data without hypotheses about what it might show. We can throw the numbers into the biggest computing clusters the world has ever seen and let statistical algorithms find patterns where science cannot.

Chris Anderson 所描述的新科學,在論述上並不充分完整。誠然,資料+運算能力+資料挖掘演算法的公式,在可以產生大量資料的領域,例如:太空、物理、製藥、基因等等,可以得到很棒的結果。但是,並不是所有的研究領域都有這樣的條件(可收集大量數據),這個新公式是否無往不利,包山包海,是很大的疑問。再者,不同領域的研究方法論也不同,貿然進入結論,認為新公式就是新的科學典範,是太草率了。比如說,有人質疑,如果這個模式成立,我們如何發現新的東西,因為我們不知道「新」東西的資料要從哪裡來?

這種把科學的過程和目的過度簡化的 "science without model & correlation supersedes causation" 理論,是有大問題的,Chris Anderson 所描述的新科學 — 從大量資料裡發現值得注意的資訊或知識 ,只是知其然的地步,這才是科學的起步而已;科學家的使命是知其所以,要知道事物的細節和所有發生現象的解釋,才是推動科學(和科技)進步的動力。

John Timmer (ars technica) 在他的文章裡面,問了一個有趣的問題,如果一個理論不能提供可驗證的假設(testable hypotheses),我們怎麼知道我們錯的有多嚴重?推翻 testable hypotheses 的的必要性,我們甚至不知道結果是對是錯?

而且 Chris Anderson 的說法也很容易誤導大家理解資料挖掘的真意,每個執行過資料挖掘工作的人(不論是學者、分析師、工程師)都知道,在找出規則(rules)和型樣(patterns)之後,如何判斷找出的資訊是否有用、有效,正需要上面所述知其所以的能力,才能充分利用挖掘出的資訊得到最大效益。資料挖掘絕對不只是 number crunching 的黑箱,沒有理論,沒有假設,沒有關聯,是不可能完成一個資料挖掘任務的。

所以我完全同意 John Timmer 所說的: At a more fundamental level, in spite of what Chris Anderson has to say, science is about explanations, coherent models and understanding。他對關聯(correlations)和模型的解釋,更是簡明有力,深得我心:

Correlations are a way of catching a scientist's attention, but the models and mechanisms that explain them are how we make the predictions that not only advance science, but generate practical applications.

在賓州大學任教的 Fernando Pereira 針對這篇文章的評論也很具參考價值:

I like big data as much as the next guy, but this is deeply confused. Where does Anderson think those statistical algorithms come from? Without constraints in the underlying statistical models, those "patterns" would be mere coincidences. Those computational biology methods Anderson gushes over all depend on statistical models of the genome and of evolutionary relationships.

Those large-scale statistical models are different from more familiar deterministic causal models (or from parametric statistical models) because they do not specify the exact form of observable relationships as functions of a small number of parameters, but instead they set constraints on the set of hypotheses that might account for the observed data. But without well-chosen constraints — from scientific theories — all that number crunching will just memorize the experimental data.

個人認為當Chris Anderson 說出 Forget taxonomy, ontology and psychology 時,顯然是走得太遠,有點忘形了。雖然從作文章的角度來看,這在修辭上是很有講究的句子,但是這些文字透露了推理的輕率和治學態度的傲慢,我想這是眾多部落格作者和學者看不過去的原因之一。

更多數據對於科學家絕對是好事,越多數據越能驗證假設的正確性,但是更豐富充足的數據絕對不代表我們就可以揚棄「大膽假設小心求證」的治學原則了。不過,整體而言,Chris Anderson 的說法倒也不是全無道理,Google 的成功方程式對於學術界還是有一定影響的,Kevin Kelly 在文章裡引用 George Dyson 的說法很值得參考:

What Chris Anderson is hinting at is that Science (and some very successful business) will increasingly be done by people who are not only reading nature directly...,They accomplish what science does, although not in the traditional manner...

更多的數據讓科學家們多了一種有別于傳統的工作方式,但並不代表傳統的終結, John Timmer 的結語說得好:

Overall, the foundation of the argument for a replacement for science is correct: the data cloud is changing science, and leaving us in many cases with a Google-level understanding of the connections between things. Where Anderson stumbles is in his conclusions about what this means for science. The fact is that we couldn't have even reached this Google-level understanding without the models and mechanisms that he suggests are doomed to irrelevance.

除了以上整理的觀點之外,也有像 Matthew Hurst 這樣保持冷靜的作者,雖然他也對 Chris Anderson 的文章不滿,但他希望在整理出完整而有意義的想法之後,再發表自己的意見,讓我們拭目以待吧...

 

(Strongly recommended : 我在 Diigo上建了一個 List: End of Theory,相關參考資料都加入我的資料庫裡了,讀者可以閱讀這個 WebSlide,瀏覽資料庫的內容。)

參考資料:

 

Share this post :

Tuesday, May 20, 2008

[微言大義] Models .vs. Patterns

閱讀英文技術文件或是學術文章時,理清專有名詞定義,固然是閱讀攻關的第一個障礙;但是越常見的詞彙,越是常識(common sense)性的字眼,給讀者帶來的困擾可能更大(其實這個問題不是特定語言的問題,只要閱讀非母語文件都會碰到這個問題)。

尤其是成對出現用以對比、強調、區隔的字彙,常常埋著理解的最大陷阱,通常這類字彙在原本語言中都有不只一種意義,但是恰巧其中一種意義翻譯成中文之後,兩個字眼的意義是相同的。

比如說 model 和 pattern 在某些情況下都可能翻譯作「模式」, classification 和 categorization 都是「分類」,我們明知道兩個字的意含不盡相同,但是翻譯成中文之後,兩個字眼變成同一件事,我們失去了「理解」與「區別」的線索。

我們當然知道 model 和 pattern 不是同一件事,但是我們講不清楚哪裡不同,這才是最大的難題。初入門 Data Mining 這門學問的學子,一定知道資料探勘的精髓是從大量數據中挖掘 hidden pattern,我們不會說挖掘 hidden model。但是如果這句話從中文翻回英文,你猜會是怎樣的句子?

下面是查閱手邊書籍和網路上的字典的結果,這裡沒有列出字典裡 model 和 pattern 所有的定義,只列出統計和資料挖掘類文件所使用的定義:

Model
  • A schematic description of a system, theory, or phenomenon that accounts for its known or inferred properties and may be used for further study of its characteristics.
  • A hypothetical description of a complex entity or process.
  • A model is usually represented by a mathematical function which describes and distinguishes data classes or concepts.
  • A model is a high level, global description of a data set.

Pattern

  • A perceptual structure; A composite of traits or features characteristics of an individual or a group.
  • Pattern recognition is the process of assigning one of a finite set of labels to an observation.
  • A pattern is a local feature of the data, perhaps holding for only a few records or a few variables (or both).

Global 與 Local 的對比說法出自 Principles of Data Mining,常閱讀 Data Mining 相關論文的讀者,可能對這樣的比喻可以心領神會,但是事情沒有這麼簡單, Principles of Data Mining 這本書可是用了超過四十頁(pp. 165-207)的篇幅解釋這兩者的差異呢。

不過,在大多數情況下,在恰當的時機「不求甚解」,不是什麼壞事。Model 和 Pattern 的區隔,不會妨礙我們讀懂一篇論文,面對這個問題,還是放輕鬆點吧 ;-)。總之,該念的書一定要念,千萬不要偷懶;其次,盡量提昇英文閱讀的理解能力,這是解決問題的不二法門。

( 本來只是想抄抄筆記而已,但是越想越多,越寫越遠,快要駕馭不了了,所以趕快煞車,就此打住。我想如果真的要細究下去, inference 是深入瞭解 model 這個字眼的關鍵字吧,不過再往下去真的要我的能力範圍了,所以... , grin ... )

 

Share this post :

Monday, April 28, 2008

[FINAL] More Data or Better Algorithm?

筆者曾經在這個園地,談過許多次資料與演算法孰重的話題,用最精簡的文字說明這個問題應該是這樣的:當我們在執行資料探勘的工作時,究竟是大量的資料還是先進的演算法,對於專案的結果比較有幫助?

在先前的討論裡,筆者曾表達敝人認為資料(數據)與演算法不應放在同一個天平比較的看法,然後我們看到 Anand Rajaraman 以他在史丹佛大學教授資料挖掘課程的經驗,他讓學生用 Netflix Prize 的資料作實驗,得到 More data usually beats better algorithms 的結論,令人印象相當深刻。所以筆者大膽的說,答案已經很清楚啦。

無獨有偶,KDNuggets ( Who is KDNuggets??)今年四月份也辦了一次資料與演算法孰重的問卷調查,百分之四十五受訪者認為數據比較重要,但只有百分之二十的受訪者認為演算法比較重要(請參考下圖)。

KDNuggets 的總編輯Gregory Piatetsky-Shapiro 在下結論時說,這個問卷調查結果,與他心中所想的一樣 (當然也和筆者先前所作的結論完全相同 ))。

45% voted for more data, while 20% for a more advanced algorithm, confirming my rule of thumb:

More data (especially more relevant features) produces larger improvement than a more advanced algorithm,
  (especially in the initial stages of the project)

Of course, as with all such general sayings, a lot depends on specifics:

我想,這個問題既然已經有這麼整齊一致的共識,我們就此告一段落,去探討其他問題吧。下面是筆者在探討問題過程中,曾經閱讀過的資料,謹誌於後,供有意進一步深入者參考之用。

參考資料:

 

Share this post :

如果我的心是一朵蓮花

~ 林徽因 · 馬雁散文集 · 蓮燈 ~ 馬雁 在她的散文《高貴一種,有詩為證》裡,提到「十多年前,還不知道林女士的八卦及成就前,在期刊上讀到別人引用的《蓮燈》」 覺得非常喜歡,比之卞之琳、徐志摩,別說是毫不遜色,簡直是勝出一籌。前面的韻腳和平仄的處理顯然高於戴...