天天看點

如何成為一位資料科學家(圖靈訪談)

學習筆記,僅供參考,有錯必糾

機器學習似乎比其他計算機科學學科都要難,特别是對于數學不太好的程式員而言。你對這些程式員有什麼樣的建議呢?

我建議應該先自學基本的機率、統計,以及線性代數。你不需要學一個學期那麼長的課,這些基礎知識就會讓你有很大收獲。有很多線上資源,比如Kahn academy視訊。(我在56.com和Kahn academy找了一下有很多英文的,也有一些中文的。)也有一些比較容易起步的書,我比較熟悉有美國英文版的“teach yourself”(自學)系列, “statistics for dummies”(傻瓜統計), “probability refresher”(機率補習),“statistics demystified”(統計解惑)等等。

我其實認為這裡面其實很有商機。Kahn academy視訊很不錯,因為它們都很短,但遺憾的是這些視訊都是英文的。我看見的中文線性代數視訊都很長。如果你能做出像Kahn academy那樣的中文視訊,我覺得是會非常受歡迎的。

  • 如何進階學習機器學習?對于初學者是否有一個類似于路線圖的東西?你有什麼推薦書單嗎?

我會讀Witten 和 Frank所著的​​《資料挖掘:實用機器學習工具與技術》​​​,這裡面涉及的數學很少,但是又對普通算法做了很好的介紹。我覺得緊接着就該讀Tan, Steinbach, 以及Kumar的​​《資料挖掘導論》​​。

當然,這些書都很厚,如果你想馬上就搞明白一些東西,估計就不想讀這些大部頭了。如果要把某個算法弄明白,我會在網上找很多教程。比如Adboost算法,我認為多讀一些不同的教程比隻讀一個,深入鑽研要好很多。

最後我覺得應該多動手玩玩執行個體。問問你自己:如果我改變這個資料,結果會是怎麼樣的呢?

  • 對于有些人來說“算法”才是機器學習真正有趣的地方,但是機器學習裡面總有一些苦活累活不那麼有意思,比如資料預處理。你是怎麼完成這些“不那麼有趣”的工作的?

當然,肯定有無聊的工作,是以你一定要把這部分工作自動化,這樣你就不需要重複做這些無聊的工作了。這樣做也會讓你變成一個更好的軟體開發者。

  • 資料科學家被評為世界上最火的工作之一,你認同嗎?您本人作為一個資料科學家,有什麼可以和我們分享的經驗嗎?要成為一個資料科學家需要有什麼條件?

我認為資料科學家現在确實很好找工作。什麼是資料科學家呢?我認為資料科學家是介于統計學家和軟體工程師中間的一種工作。公司、個人、NPO,甚至運動隊都需要根據資料來做決策。他們需要可以分析資料的人。這需要我之前提過的兩種條件。人們不需要單純的統計學家,這些人可能對于争論自己到底用不用貝葉斯定理更感興趣,人們需要的是真正能做實事的人。

是以我也建議大家多動手做一些東西。這是什麼意思呢?創造一些項目,收集資料,預處理資料,然後做一些資料分析,展示資料,最後向公衆展示這些資料。如果你做了很多這樣的事情,那麼你就有一個可以用來向你未來老闆或者其他人展示的檔案夾。幾乎我書裡的每個例子都可以用來做成一個網站或者智能電話app,這些都是你可以示人的資本。

  • 很多大(資料)公司,比如Google, Facebook 和 Baidu都投入很多精力在深度學習上。你認為深度學習會在未來取代“人工特性+機器學習”的方法嗎?

繼續閱讀