數學vs編程,哪個才是數據科學的敲門磚?

2019-11-15     CDA數據分析師

作者 | Low Wei Hong

譯者 | Sambodhi

來源 | AI前線

導讀:數據科學其實就是一門數學、計算機、軟體相關的復合型的技術,離開編程自然是無法存在的。無論是數據科學家還是數據分析師,都需要跨學科人才,必須知道如何操作代碼以便告訴計算機如何分析數據。他們要比軟體工程師更擅長統計學,比統計學家更擅長軟體工程,需要掌握的知識有數學統計、編程能力、機器學習、研究能力等。

如果我了解機器學習算法的全部數學邏輯,但我卻不能很好地進行編程,那我還有機會進入數據科學領域嗎? 如果我只是勉強了解哪些機器學習算法背後的數學知識,但我可以很好地進行編程,那我有沒有資格成為一名數據科學家?

我希望,在我大學畢業前努力進入數據科學領域之前就能知道這個答案是什麼。

先說一下我的背景。我有數學背景,但在大學期間並沒有學過多少編程課程。我在大學學過的程式語言包括 R、C++ 和 Matlab。

Matlab 並不是開源語言,主要用於研究行業。R 沒有 Python 那樣擁有龐大的社區,尤其是在數據科學相關的庫中。C++(C 族)仍然是編程的基礎。所以如果你正在學習編程的話,我還是建議你學習 C 族的語言。

當我在實習期間,Python 在這個行業使用得最多。因此,我仍然需要自己去學習 Python。此外,我就只選修了一門與數學有關的機器學習課程。

我感到有些不知所措,因為,我不僅要學習數學,同時還要提高我的編程技能。因此,當時我就在想,我應該將更多的精力放在編程上呢,還是放在學習數學上呢?

數學,還是編程?

我將分享我的觀點,即在目前的行業中,哪一個實際上更受歡迎。

讓我來問你一個問題。如果你是數據科學的技術主管,並且手下已經有很多博士在為你工作,同時,你還想擴大團隊。現在你心目中有兩個候選人,其中一個更擅長編程,另一個更擅長數學概念。那麼,你會選擇哪一個候選人呢?

這個問題並沒有正確或錯誤的答案,但跟據我的觀察,他們通常會喜歡在編程方面擁有更好技能的那些人。

你可能會想,為什麼會是這樣呢?

原因很簡單,因為大多數數據科學項目的方向,都是由博士提供的,他們應該有更多的知識。因此,能夠更快地實現多種方法的人,將是最後一個堅持到底的人

然後,你可能會問,都說統計是數據科學的基礎,而你卻告訴我,為了進入數據科學領域,只需學習如何編程就可以了?

不是的,數學在數據科學中仍然非常重要。 那些更懂數學的人,將會是能夠提出新想法來改進機器學習模型的那些人。

目前市場上有大量的機器學習模型。因此,知道在什麼樣的場景中使用哪些模型,肯定會為你節省大量時間。此外,當之前表現很好的模型,突然開始出現性能下降時,你就能找出可能的原因了。

但是,如果你只是想進入數據科學領域的話,就不需要在數學部分深入研究太多細節。數據科學並不只是關於如何推導或求解數學方程式。 更重要的是,要 知道如何定義並解決業務問題

例如,你在一家電子商務公司工作。你得到一個任務,讓你實現對列表進行自動分類。可能,你需要做的第一步就是定義問題,也許是說明你需要實現的時間表和正確性。下一步,你將考慮模型可能面臨的一些問題,並需要澄清這些問題。

假設,如果列表名稱和圖片屬於不同的類別,那麼應該如何對列表進行分類?是按圖片進行分類呢,還是按列表名稱進行分類呢?

在理解了你的團隊同意的標準作業程序(Standard Operating Procedure,SOP)之後,那麼只有你才能啟動這個項目。

回到主題,數據科學迫切需要的技能之一是 分叉 GitHub 代碼並在數據集上進行實驗的能力。因此,如果你擅長編程的話,那麼無論程式語言是什麼,你都能夠測試不同的方法。

例如,你正在使用給定的數據集來訓練 NER(Name Entity Recognition,命名實體識別)模型。讓我們想像一下,目前還沒有人用 Python 在 NER 上編寫代碼,而唯一可用的代碼,由史丹福大學提供,用 Java 編寫的。遇到這種情況應該怎麼辦?因此,掌握不同程式語言的知識絕對是一個加分項,這樣,你就可以節省用 Python 編寫整個代碼的時間,以便訓練模型。

另一方面,如果你深入學習機器學習的數學部分,你就 會對你應該關注哪些指標更加敏感,這要取決於不同的問題。 假設你正在從事一個信用欺詐項目。你應該關注的指標就不再是正確性,而應該是 f1-score 等。因為你的目標是不僅能夠識別儘可能多的欺詐案件,而且還要保持準確率。

最後的感想

在數據科學領域中,數學和編程同等重要,但如果你正考慮在數據科學領域轉行或者開始你的職業生涯,我想說的是,對於各種機器學習模型來說,掌握編程技能要比深入鑽研數學更為重要。

開始進行更多的實際項目,並能夠在面試過程中清晰地陳述和回答問題,這肯定會增加你進軍數據科學領域的機會。

進入數據科學領域可沒那麼容易,但請記住,不要放棄,繼續努力!

你所有的努力很快就會有回報,不管有多難,要堅持你正在做的事情。

掃碼進入CDA官方小程序,解鎖更多新鮮資訊和優質內容,還有免費試聽課程,不要錯過喲!

文章來源: https://twgreatdaily.com/zh-tw/e7q4dm4BMH2_cNUgn5Dh.html