如何從零入門數據科學?

我相信近日90%的LinkedIn交流都包含以下術語之一:DS,ML或DL (數據科學,機器學習和深度學習的縮寫)。不過要小心這個陳詞濫調,因為「80%的統計都是現場搞的」。如果你不太了解這些縮略詞,也許你需要谷歌一下再繼續閱讀本文其他部分。本文的目標有二,一是嘗試讓大家輕鬆學習數據科學,二是為入門者提供繼續深入學習的指導。

這是一張我在網上偶然看到的圖片:

相當讓人不知所措有木有!!!!

從哪兒開始! 如何開始?

我於2017年10月初開始數據科學之旅。我先花了15天時間試著對「什麼是數據科學」這個純粹的問題給出一個令人滿意的答案。我充分瀏覽了互聯網上的各種資源,包括Quora、Medium、Springboard博客和電子書、Udacity博客、Forbes、datascience.com,KDnuggets,datasciencecentral.com,Analytics Vidhya和其他各種網頁(不充分瀏覽是不夠的,不要怪我沒有警告你)。然後我得出結論:數據科學(通俗地說)是讓計算機用數據繪製出漂亮的圖表,並用它講出一個漂亮的故事來解決商業問題。是的,就這麼簡單。你不信?但真是這樣。好吧,其實數據科學有兩大派別,我這裡談論的是商業數據科學。另一個派別的最終產品不是故事,而是數據驅動的產品。我們不要深究那個派別,因為那樣我們就會離題到機器學習工程里去。通常谷歌、Facebook等都有數據驅動的性質,屬於第二派別。大部分學術研究也屬於第二派別。

回到第一派別,我再為它下一個更深層的定義。數據科學是基於歷史數據來解決商業問題的過程,這一過程包括前期對歷史數據的整理和分析、繼而納入一個(或一組)機器學習模型、以達到對未來可能出現的問題進行預測並提出解決措施的目的。天啊!這簡直酷斃了!圓滿解答入門問題之後,我立即就它的最佳學習路徑展開了思考。

學習路徑?!

接下來我花了一段時間查閱這個短語,並且搜集到了無數的建議。這次我得對其中一些進行嘗試了。我有電子和通信工程專業的學士和碩士學位,而且擁有十年編程經驗,比如C / C ++,Octave / Matlab,Verilog / SystemVerilog,Perl等語言。我從小最喜歡數學,而碩士期間鍾愛概率論。對我而言,我的優勢無疑是編程經驗和概率論。

我有點畏懼「機器學習」這個術語,但我是個樂於直面恐懼的人,於是我參加了吳恩達教授的Coursera課程。第一次學習就收效良好,這讓我感到十分欣慰。我這人怕蛇和Python(譯者註:Python單詞有蟒蛇的意思),所幸吳恩達的課程練習以Octave為基礎。我嘗試了Coursera、Udacity、Edx和Datacamp等平台學習Python編程基礎,並最終選擇了Coursera和Datacamp。對於數據科學初學者而言,我認為以R入門可能收效更好。然而當時我並不確定只走數據科學這條路,Python的通用性更好一些。我便在幾個平台同時學習若干課程,嘗試在Udacity學習機器學習入門、統計學、CS基礎知識、數據科學入門等。我並沒有學習很長時間,因為我不太願意在大腦吸收新概念時被打斷。

非數據科學的其他課程

這時,我學習各種課程已經有很長時間了。我發現了一個來自UC, San DiegoCoursera的很棒的課程,名為「學習如何學習」。學習完這個課程後,我再次確信我的學習技巧沒有問題。此外,它還打消了我對不再年輕是否還能接受新事物的疑慮。近期研究表明某些行為,如鍛煉、冥想或者僅僅在大自然中漫步(我的必修課)會在大腦中產生新的神經元並形成新的聯繫。裡面提到的番茄工作法對我也非常有幫助。我還以此為契機開始學印度商學院的「幸福美滿的一生」課程。該課程使我心無雜念地鑽研數據科學,提醒我要為單純的學習樂趣而學習,注重過程而非最終結果。我發現它們對於進行快速有效學習很有幫助,儘管這些都是非技術的東西。

線下活動/項目:

我在10月中旬參加了一次線下活動,該活動是由當地的數據科學諮詢公司組織的,該公司同時也開展相關培訓,但我不太認可他們的模式。他們用你的錢訓練你,如果你表現優異,再招聘你為僱員。這次線下活動讓我意識到:「MOOCs無助於你的求職,而實際項目、Kaggle比賽、開設自己的博客卻很有幫助。取得知名研究所的碩士學位會非常重要,但同一研究所的MOOC證書卻沒有價值」。

我這樣認為:「重要的不是你的學習路徑如何,而是你是否具備做一個真正的數據科學項目的能力」。如果你能夠在面試中證明你的能力,那你怎麼會找不到工作?你不需要在bootcamps上支付數千美元的費用,也無需獲得MOOC證書。但你需要具備一套數據科學家的素質/才能/技能:包括充分理解高中數學概率統計學基本知識,擁有強烈的好奇心、求知慾和學習新事物的態度,熟悉編程,懂得記錄和呈現,最重要的是,你必須知道你擁有這些技能。[如果你懷疑自我,那你首先要做的是排除疑慮。]之後再學習其餘部分(如機器學習)。各大公司對數據科學家的需求非常多,尤其是像我所處的小城鎮的公司,他們正在想方設法聘請一位優秀的數據科學家。牢牢記住,重要的是你要做一些真正的數據科學項目,並通過報告/演示或 github repo將它們展示給未來的僱主。如果你不知道如何做一個真正的項目,你可以尋求一位導師(技術專家)的幫助,而後在求職過程中尋求更高職位。

所以…

總而言之,填補關鍵知識缺口的最佳途徑是什麼?沒有捷徑。嘗試幾個平台吧,看看最適合你的是什麼。你可以從MOOC入手,再不斷深入。一定要好好安排並詳細記錄你的過程。先學習一個你不擅長的領域。例如,如果你已了解C++,那就不要立即開始學習Python,要知道你最終可以學會它。你可以嘗試學習機器學習,看看你是否喜歡,因為數據科學家與數據分析師或數據工程師的區別就在於此。如果你不想自學它們中的任何一個,那麼即使你參加訓練營也無濟於事。數據科學是一個需要每天學習的領域:新工具,新概念/演算法,新業務/領域,無窮無盡,只有腳踏實地,且永不止步才能實現。

作者:Aparna C Shastry

翻譯:文婧


推薦閱讀:

鹿豹座平台(1.8-1.12)大數據新聞每周精選
大數據學習之旅-揚帆·起航
從Google預測流感引發的大數據反思
大數據的一些基本知識小結(3)
大數據計數原理1+0=1這你都不會算(九)No.64

TAG:大數據 | 數據科學 |