1. 程式人生 > >一份Yann LeCun等16個頂級資料科學家給新人的建議

一份Yann LeCun等16個頂級資料科學家給新人的建議

來源:大資料文摘

本文約8190字,建議閱讀10分鐘。

本文節選自《工作中的資料科學家》,書中採訪了16個不同行業的16位頂級資料科學家,以瞭解他們在理論上如何思考,以及在實際中解決什麼問題,資料的作用和取得成功的原因。

資料科學為何迷人?這與資料科學家密不可分!

通過合理使用大量資料,在這群人的手中,大批新應用、新行業應運而生。

語音識別,計算機視覺中的物體識別,機器人,自動駕駛汽車,生物資訊學,神經科學,系外行星的發現,對宇宙起源的理解,以及在經費有限的條件下,組織一支勝出的棒球隊。

資料科學家是整個產業的核心。他們必須將應用領域的知識與統計專業知識結合起來,並運用最新的電腦科學思想來實施。

本文節選自《工作中的資料科學家》,書中採訪了16個不同行業的16位頂級資料科學家,以瞭解他們在理論上如何思考,以及在實際中解決什麼問題,資料的作用和取得成功的原因。

本文中,你將看到這些來自不同行業的科學家對以下這個問題的回答:

“你會給初入資料科學行業的人提供什麼建議?”

1. Chris Wiggins,紐約時報首席資料科學家、哥倫比亞應用數學副教授

創造力和關懷。你必須真正喜歡某件事情,願意花很長一段時間來琢磨它。還有,保持一定的懷疑。我喜歡博士生的一個原因是——五年的時間足以讓你有一個發現,讓你認識到你一路上做錯的所有事情。對你來說很棒的是,能理智地反覆思考“冷聚變”然後意識到“哦,我真的搞砸了”,從而犯下一系列錯誤並解決它們。

我認為攻讀博士學位的過程,特別是做研究時,確實能讓你對那些看起來理所當然的事情有所懷疑。我認為這點很有用,因為,如果不能保持懷疑,你很容易就會走上錯誤的道路——因為這是你第一次遇到一條看起來很靠譜的路。

雖然這個答案看起來無聊,但事實是你需要真正擁有技術深度。資料科學還未形成一個領域,所以目前還沒有證據。

我們很容易就可以通過維基百科理解機器學習的概念。但要真正做到這一點,你需要知道對一個具體的問題應該使用哪種工具,而且你需要充分了解每種工具的缺陷和限制。要獲得這些經驗沒有捷徑。只有不斷試錯。你會發現自己將分類問題歸入聚類問題,或將聚類問題歸入假設檢驗問題。

你發現自己開始嘗試某些事情,自信自己做的是對的,然而最終意識到你完全錯了,這樣的事情你會經歷許多次,而且非常不幸沒有捷徑可走——但這會提升你的經驗。你只需要這樣做下去,並不斷犯錯誤,這也是另一個我喜歡在這個領域從業多年的人的理由。

在某件事上要想成為專家需要很長時間。這需要多年的錯誤。幾個世紀以來現實一直如此。引用著名物理學家Niels Bohr的一句名言,成為一個領域的專家的方法就是在該領域中儘可能地犯錯。

2. Caitlin Smallwood,Netflix的科學與演算法副總裁

我會說在你做任何其他事情之前,首先要硬著頭皮理解資料的基礎知識,儘管它既不迷人也不那麼有趣。換句話說,努力瞭解如何捕獲資料,準確理解每個資料欄位是如何定義的,並瞭解資料何時丟失。

如果資料缺失,這是否意味著什麼?它是否僅在某些情況下丟失?這些小小的微妙的資料陷阱會讓你深深陷入資料科學的魅力中。

你可以使用最複雜的演算法,但如果這一切建立在不經檢驗的資料集上,你得到的結果也毫無價值。無論你有多迫不及待想要著手資料建模的部分,你都無法忽略原始的資料。在開始建模之前,標記你的i,跨過你的t,仔細檢查你所掌握的所有底層資料。

我又漸漸學會的另一件事是,在系統環境下,混合演算法幾乎總比單一演算法表現得出色,因為不同的技術會利用資料模式的不同方面,特別是在複雜的大型資料集中。因此,雖然你可以採用一種特定的演算法並不斷迭代以獲得更好的模型,但我的經驗是,演算法組合往往比單一演算法更好。

3. Yann LeCun,Facebook人工智慧研究總監、紐約大學教授

我總是給出同樣的建議,因為我經常被問到這個問題。我認為,如果你是一名本科生,選擇一門你可以儘可能多地學習數學和物理課程的專業。而且它必須是正確的課程。我說的話可能聽起來自相矛盾了,但工程學或物理學的專業可能比數學、電腦科學或經濟學更合適。當然,你需要學習程式設計,所以你需要參加電腦科學專業的大量課程來學習程式設計的機制。

然後,參與一項資料科學領域的研究生專案。學習本科生的機器學習,人工智慧或計算機視覺課程,因為你需要接觸這些技術。在那之後,儘可能多地參加數學和物理課程,尤其是應用數學課程,例如優化問題,因為他們使你能夠更加充分地應對真正的挑戰。

這也取決於你想去的地方,因為資料科學或人工智慧的背景下有許多不同的工作。人們應該真正思考他們想做什麼,然後研究這些主題。目前的熱門話題是深度學習,這意味著你需要學習和理解神經網路的經典著作,學習優化問題,學習線性代數等知識。這有助於你瞭解我們每天會遇到的基本數學技巧和一般概念。

4. Erin Shellman,Zymergen的資料科學經理、Nordstrom資料實驗室和AWS S3的前資料科學家

對於那些仍在決定學習什麼的人來說,我會說STEM(理工科)領域毫無意義,尤其是‘TEM’領域。學習STEM科目將為你提供測試和了解世界的工具。

這就是我對數學,統計和機器學習的看法。我對數學本身不感興趣,但我的興趣在於用數學來描述事物。畢竟這些都是工具集,所以即使你對數學或統計學上不感興趣,這仍然非常值得我們投入進去,考慮如何將它應用於你真正熱愛的事情上。

對於像我這樣試圖轉型的人來說,我會覺得很困難。要知道,轉行很困難,而且你必須加倍努力。這不是資料科學獨有的困難——這就是生活。在這個領域,我們很難不與別人建立聯絡,我們可以通過與慷慨的人們見面、喝咖啡來建立有效的聯絡。在我的生活中,頭條規則就是“跟進”。如果你和某個人交流,在他身上發現了你想要的東西,就跟進。

資料科學家的文章可能非常唬人,因為大多數文章讀起來像資料科學術語表。事實是,技術變化如此之快,以至於沒有人擁有可能值得記錄下來的所有經驗。

當你看到這裡時,這一點可能是壓倒性的,而且你可能會覺得“這不適合我,我沒有任何這些技能,也沒有什麼可以貢獻的。”我勸你們不要有這種想法,只要你隨時都可以改變和學習新東西。

最終,公司需要的是能夠嚴格定義問題並設計解決方案的人。他們也需要善於學習的人。我認為這些才是核心技能。

5. Daniel Tunkelang, Twiggle的首席搜尋傳道者、LinkedIn的前搜尋質量主管

對於那些來自數學或自然科學領域的人,我建議他們投資於學習軟體技能——尤其是Hadoop和R,它們是使用最廣泛的工具。來自軟體工程的人應該參加一個機器學習課程,並使用真實的資料進行一個專案,其中許多資料都是免費的。正如許多人所說,成為資料科學家的最好方式是實踐資料科學。

資料就在那裡,科學也不是那麼難學,特別是對於那些受過數學、科學或工程學訓練的人。讀《資料的不合理有效性》—谷歌研究人員Alon Halevy、Peter Norvig和Fernando Pereira的一篇經典文章。文章通常被總結為“更多的資料勝過更好的演算法。”

資料的不合理有效性:

http://www.cs.columbia.edu/igert/courses/E6898/Norvig.pdf

整篇文章都值得一讀,因為它概述了最近在使用網路規模資料改進語音識別和機器翻譯方面取得的成功。另外,請聽Monica Rogati關於更好的資料如何擊敗更多資料的見解吧。理解並內化這兩個觀點,你正在成為一名資料科學家的道路上狂奔。

6. John Foreman,產品管理副總裁兼MailChimp前首席資料科學家

我發現很難找到並聘用合適的人。

這確實是一件很困難的事情,因為當我們思考大學制度的現狀時,無論是本科生還是研究生院,你只關注一件事。

你擅長什麼。但資料科學家有點像新興的文藝復興人士,因為資料科學本質上是多學科的。

這就是為什麼有了那個“資料科學家比計算機程式設計師懂得更多的統計知識,並且能比統計學家更好地程式設計”的一個大笑話的原因。

這個笑話是什麼意思?這是說資料科學家是一個對這兩件事情略知一二的人。但我想說,他們知道的不只是兩件事。他們還必須知道如何溝通。

他們還需要知道概率,組合,微積分等。

學習一些視覺化也無妨。他們還需要知道如何操作資料,使用資料庫,甚至一點點OR。有很多事情他們需要知道。所以要找到這些人真的很難,因為他們必須接觸很多學科,他們必須能夠明智地講述他們的經驗。這對任何一個申請人來說都是個艱鉅的任務。

僱用一個人需要很長時間,這也是為什麼我認為人們一直在談論現在資料科學還沒有足夠的人才的原因。我認為這在一定程度上是正確的。我想一些正在開辦的學位課程會對現狀有所幫助。

但即使如此,從這些學位專案中畢業,對於MailChimp,我們還是會看看你如何表達並與我們交流這個特定專案是如何教會你使用資料科學橫貫多個學科的。

這將淘汰非常多的人。我希望有更多的課程將重點著眼於資料科學家在工作環境的溝通和協作方面。

7. Roger Ehrenberg,IA風險投資公司的執行合夥人

我想這些領域有最多的機會也有最大的挑戰。

醫療保健資料顯然在PII和隱私問題上有一些大問題。

除此之外,還有僵硬的官僚主義,僵化的基礎設施和資料孤島,這使得解決需要跨多個數據集進行整合的難題變得非常困難。

但資料一定會改變這個行業,我認為我們在這裡討論的許多技術都直接關係到如何使醫療保健更好、更便宜、更分散。這是一代人的機會。

早期的另一個巨大領域是風險管理——不管是金融、貿易還是保險領域。

當你在討論將新的資料集納入風險評估時,這真的是一個難題——尤其是在將這些技術應用到保險業這樣的行業時,就像醫療保健一樣,大量官僚機構中存在大量隱私問題和資料。

與此同時,這些老舊而僵化的公司才剛剛開始開放,並正在與創業社群互動,以利用新技術。這是另一個讓我非常興奮的領域。

第三個我熱衷的領域是重塑製造業,並使其更加高效。製造業迴歸陸上的趨勢已經形成。

更強大的製造業可能成為在美國創造充滿活力的中產階級的橋樑。我認為技術可以幫助加速這一有利趨勢。

8. Claudia Perlich, Dstillery首席科學家

我認為,最終,學習如何做資料科學就像學習滑雪。你必須做。

你只能看很多視訊視訊,然後不斷地學習。在一天結束的時候,你必須騎上你那該死的雪橇,從那座山上下來。

你會在途中崩潰好幾次,這很好。這是你需要的學習體驗。

實際上,我更傾向於問面試者那些不順利的事情,而不是那些行得通的事情,因為這告訴我他們在這個過程中學到了什麼。

每當有人來問我,“我應該怎麼做?”我說,“是的,當然,參加關於機器學習技術的線上課程。毫無疑問,這是有用的。顯然,你必須能夠程式設計,至少在某種程度上。你不必是一名Java程式設計師,但你必須設法完成一些工作。我不在乎怎樣做。”

最終,無論是在Datakind花時間做NGO的志願者,還是去kaggle網站參加他們的一些資料探勘競賽——只要去做就好。

特別是在Kaggle上,閱讀論壇上其他人告訴你的關於這個問題的內容討論,因為在那裡你可以瞭解到人們在做什麼,他們在做什麼,以及什麼對他們不起作用。

因此,任何能讓你真正參與到處理資料的事情中去的事情,即使你沒有為此得到報酬,也是一件很棒的事情。

記住,你必須滑下那座山。沒有其他辦法了。你無法學習其他方式。

所以,自願抽出時間,用任何你能想到的方式沾手,如果你有機會做實習,那就再好不過了。另外,有很多機會可以讓你開始。去做吧。

9. Jonathan Lenaghan, PlaceIQ的首席科學家兼產品開發高階副總裁

首先,自我批評是非常重要的:永遠質疑你的假設,對你的產出保持偏執。這是最簡單的部分。

如果人們真的想在資料科學領域取得成功,在技能方面,具備良好的軟體工程技能是至關重要的。

因此,即使我們僱用的人員很少有程式設計經驗,我們也會非常努力地儘快向他們灌輸工程、工程實踐和許多優秀的快速程式設計實踐的重要性。

這對他們和我們都是有幫助的,因為這些幾乎都可以一對一地應用於資料科學。

如果你現在檢視一下開發程式,它們有連續整合、持續構建、自動化測試和測試工具—所有這些都很好地映射了從開發作業世界到資料操作(我從Red Monk借鑑的短語)世界。

我認為這是一個非常強大的概念。對所有資料進行測試非常重要,這樣如果你更改了程式碼,你就可以返回並測試所有資料。

擁有工程學思想對於在資料科學領域高速發展至關重要。

閱讀《完整程式碼》和《實用主義程式設計師》會比閱讀機器學習的書籍給你帶來更多——但是,當然你也必須閱讀機器學習的書籍。

10. Anna Smith,Spotify高階資料工程師、Rent the Runway前分析工程師

如果有人剛剛開始從事資料科學,那麼最重要的事情就是要了解問別人問題是一件很好的事兒。我也認為謙卑是很重要的。

你必須確保你沒有被束縛在你正在做的事情中。你總是可以做出改變並重新開始。

我認為,在你剛起步的時候,能夠廢棄程式碼真的很困難,但最重要的事情是做一些事情。

即使你沒有資料科學方面的工作,您仍然可以在宕機時間內探索資料集,並且可以提出問題來詢問資料。

在我個人的時間裡,我琢磨過Reddit的資料。我問自己,“我可以如何通過我擁有或沒有的工具來探索Reddit?”

這很好,因為一旦你開始了,你可以看到其他人如何解決同樣的問題。

用你的直覺,開始閱讀別人的文章,然後說,“我可以在我的方法中使用這個技巧。”緩慢的開始,緩慢的前進。

當我開始的時候,我嘗試了很多閱讀,但我認為這並沒有什麼幫助,直到你真正使用程式碼和資料來理解它的工作原理,以及它是如何執行的。

當人們將其呈現在書本中時,這一切都很美好。在現實生活中,事實並非如此。

我認為嘗試很多不同的東西也是非常重要的。我從未想過我會在這裡。我也不知道五年後我會在哪裡。

但也許這就是我如何學習的,通過學習一些不同的學科的知識,來嘗試理解什麼才是最適合我的。

11. Andre Karpistsenko, Taxify資料科學首席及創始人之一、PlanetOS研發負責人

雖然這聽起來有些大而化之,但我認為你應該相信自己並且遵從內心。如果僅僅只盲從媒體新聞所宣揚的內容,然後選擇了自己並不喜歡的方向,我認為你會很容易感到沮喪。所以當我們回到資料科學上時,你應該把它看做職業生涯的起點。

資料科學的背景對於未來發展將有極大助力,開發軟體以及資料統計的技能將幫助你在任何領域中都能做出更明智的決策。譬如,我們曾多次聽說一個運動員是如何通過資料來改善自身表現的:通過改善並反覆練習應該起跳的角度,他成為了金牌所有者。這完全可以歸功於資料驅動的方法。

如果需要我給出更具體的操作性建議,那麼需要看這個接受建議者的野心有多大了。如果這個人是想創造新的方法和工具,那麼建議將會大不相同,因為這需要在選定的方向上堅持不懈,才會成功。但如果目的僅僅是能夠在很多情況下靈活機動,那麼一個豐富的工具箱就可以解決你的問題。

我曾經得到的最佳建議來自於斯坦福的一個教授,不久之前我上過他的課。他的建議是成為一個T型人才,即在核心競爭力之外能夠有次級核心競爭力,如此便能在自己需要或者想要轉行的時候有所選擇。除了在某一垂直領域擁有專家級別的技能之外,他還建議擁有足夠寬的橫向背景,以便在不同情況下與不同的人合作。

所以如果你還是學生,那麼建造一個T型能力樹,擁有次級核心技能,這也許你能選擇的最佳成長路線了。

同時,最重要的事情在於與一幫比自己優秀的人相處,然後從他們身上不斷學習。這是我能提供的最好建議。

大學校園是你能夠深切體會到人之多樣性的地方。如果你能夠與最優秀的人共同工作,那麼你就能在任何事情上獲得成功。

12. Amy Heineike,PrimerAI科技副總裁、 Quid前數學首席

我認為他們也許需要開始審視內心,分辨自己真正在乎的東西是什麼。自己真正想做的事情是什麼?當下,資料科學的確算是熱點之一,所以也許很多人都認為如果能夠給自己貼上“資料科學家”的標籤,那麼快樂、幸福以及金錢近在咫尺。

所以我真心建議分辨一下自己對資料科學的什麼內容感興趣,這是你應該問自己的第一個問題。其次,考慮一下如何讓自己精通這個內容,以及這個內容背後所代表的工作是什麼,它和你真正感興趣的內容是否相符。

我們的策略是深入挖掘你需要學習的某一塊內容。我們團隊中有自然語言處理的博士或者物理學博士,他們需要使用很多不同的分析工具。你可以成為某一領域的專家,然後找到同樣在試圖解決相同問題或者類似問題的人,並學習他們解決問題的方式。這是一種方法。

另一個方法就是跳出盒子。世界之大,資料集的多樣性超過想象。如果你正在某家公司工作,想看一些新機會,那麼想想看你手中是否有一些資料可以通過更加有趣的方式處理。

儘量尋找新機會嘗試不同的內容,然後看這是否是自己想做的事情。甚至自己在家都可以找到開放的資料集。到處看看,戳戳,說不定就能找打可以“玩弄”的資料。我認為這是一個好起點。

以“資料科學”之名義,有許多不同的角色供你選擇,同時也存在許多你認為與資料科學相關但尚未被貼上標籤的角色,因為人們尚未意識到它們的存在。所以再三思考你真正想要的是什麼。

13. Victor Hu,QBE保險資料科學首席、Next Big Sound前資料科學家

首先你需要講一個故事。你每天做的事情是能夠真正沉到系統、組織或者行業的本質中去的。但如果你希望自己做的事情對人們是有用且能夠理解的,你需要通過講故事的方式呈現。

能夠將你所做的事情寫出來、講清楚是非常重要的能力。同時,你也不必太過擔心所使用的演算法是否足夠好。資料的多少和優良都會讓演算法表現不同,所以如果你能夠通過某種渠道獲取更多更好、乾淨且有效的資料——那就太棒啦!

14. Kira Radinsky,eBay資料科學首席科學家及總監、SalesPredict前CTO及創始人之一

找到你迫不及待想解決的問題。於我而言,每次當我開始嘗試新事物時,如果沒有我希望能借之切實解決的問題,那麼我會覺得非常無趣。儘快開始閱讀一些材料,然後開始著手於你希望解決的問題。隨著工作的推進,你會看到自己的問題,這些問題就會引導你求助於別的學習材料,包括書籍、論文或者大牛。所以多花點時間在解決問題以及與人溝通上,然後你就會變成下一個大牛。

深刻理解基礎知識:瞭解一些基礎的資料結構及電腦科學知識;瞭解所使用工具的基礎及數學原理,而不僅僅是如何使用它們;瞭解輸入、輸出以及黑盒中所發生的事情,否則將無法知道應用的最佳時機。當然,這也取決於你正在解決的問題是什麼。對於不同的問題,有許多不同的工具可供使用。你需要知道每個工具能解決什麼問題,並且深刻理解你正試圖解決的問題,才能決定使用哪個工具或技巧。

15. Eric Jonas,UC Berkeley EECS博士後、Salesforce前首席預測科學家

他們應該理解概率論的來龍去脈。我現在一旦學到新的知識,我就會把它們對映到概率論中。這個做法非常有利,因為它在我解決任何別的問題時,能夠提供令人驚訝的、深刻且豐富的基礎理論。

E.T. Jaynes所寫的Probability Theory: The Logic of Science(《概率論:科學的邏輯》)被我們奉為聖經。在某種意義上,我們認為他的觀點很正確。我偏好於使用概率論的方法,因為方法的背後存在兩條互相垂直的軸——建模軸以及推理軸。

這從根本上反映了我表達問題的方式以及我是如何基於假設使用資料計算出概率的。我最喜歡貝葉斯理論的一點在於我能夠在不同的軸上單獨進行計算。當然,它們不能夠完全獨立,但是它們近乎於獨立,你就能夠充分利用這一點。

當我觀察諸如深度學習,或者基於LASSO的線性迴歸系統的演算法時,(也就是最近火爆的機器學習理論),它們實際上就是在單獨處理一個軸,摺疊了另一個軸。

當使用基於LASSO的方法時,我會遇到一個問題:“如果我稍微改變一下這個引數,會發生什麼?”線性迴歸模型有非常明顯的線性加成高斯模型特徵。如果我希望模型以不同的方式呈現,怎麼做?突然之間,所有的正則化最小二乘法不頂用了。推理方法並不接受這樣的嘗試。

16. Jake Porwar, DataKind的創始人及執行總監

我認為紮實的統計學背景是前提,因為你需要知道你在做什麼,並且充分理解你所建造模型的本質。除此之外,我的統計學專案也教會了我許多倫理相關的內容,而這也是DataKind正在思考解決的問題。人們總是在想著自己的工作成果將被用在何處,你可以選擇給別人一個演算法,也可以給一個提供攔截建議的模型,警察們也會根據這個模型行動,但是他們行動的理由是什麼,結果會如何?這就像在創造新的科學技術,而你在思考演算法帶來好處的同時,也需要充分考慮其中的風險,因為你要對你所創造的東西負起責任來。

無論你的出身好或壞,一旦你充分理解所使用的模型,這就是你能做到的最好的事情。我們現在是科學家,僅僅考慮如何設計好產品是不夠的,我們正試圖總結所生存世界的規律。

這就是統計學的魅力所在——通過統計資料來證明一個假設,或者通過建立一個模型以揭示這個世界是如何運作的。如果只是盲目地相信模型結論,這將非常危險,因為這就是你對這個世界的解釋;這個模型有多少缺陷,你對這個世界的理解就有多少缺陷。

簡而言之,學習統計學,增加自己的洞察力。

《資料科學家在路上》這篇文章給我們介紹了頂尖的資料科學家是如何在令人眼花繚亂的行業和應用間工作的——每個人都充分利用了自身對不同領域的理解,以及統計學、電腦科學知識來創造不可估量的財富及影響力。

資料增長的速度越來越快,對於能夠充分理解資料、並從中提取價值的人需求也越來越大。如果你想繼承資料科學家的衣鉢,那麼這些優秀資料科學實踐者們所說的內容,將成為來之不易的建議,並且將激發你對資料和模型的激情。