被忽略的技能:無人談及但不可或缺的數據科學技能

2020-12-11 讀芯術

全文共4559字,預計學習時長12分鐘

圖源:unsplash

用谷歌搜索「數據科學家的基本技能」,搜索結果的前幾位是一長串技術術語,叫做硬技能,包括Python、代數、統計和SQL等最普遍的技能。然後是軟技能,包括溝通能力、商業頭腦、團隊合作能力等。

假設你是具備以上所有能力的超人,從五歲起就開始寫代碼,是一位Kaggle大師,你的會議論文必將獲得最佳論文獎。但你的項目仍然極有可能難以達到成熟並成為完全合格的商業產品。

最近的研究估計,超過85%的數據科學項目無法投入生產。一些研究提出了許多失敗的原因。筆者甚至從未把所謂的基本技能作為潛在的原因。

是上面的技能不重要嗎?當然不是。硬技能和軟技能都至關重要。關鍵是它們是必要的,但僅僅掌握這些還不夠。此外,它們很受歡迎,出現在每條谷歌搜索中。因此,你可能已經知道自己是否需要提高數學水平或團隊合作能力。

筆者想談談對現在流行的硬技能和軟技能起補充作用的技能,可稱之為工程技能。在與真正的客戶一起構建真正的產品時,它們會極其有用。遺憾的是,數據科學家們很少學習工程技能,這有助於豐富行業經驗。但大多數初級數據科學家缺少這些技能。

工程技能與數據工程領域無關。用「工程技能」這個詞來將其與純粹的科學或研究技能進行區分。《劍橋詞典》裡對於engineering(工程)的解釋是「運用科學原理來設計和建造機器、結構和其他物品。」

本文中,工程是將科學轉化為產品的促成因素。如果沒有合適的工程技能,模型將繼續在預定義的數據集上運行。但他們永遠也無法找到真正的顧客。

重要卻經常被忽視的技能包括:

1.簡單性。確保你的代碼和模型是簡單的,但不是過分簡單化的。

2.魯棒性。你的假設是錯誤的。做個深呼吸,繼續編碼。

3.模塊化,分而治之。深入研究最小的問題,然後找到一個開源解決它。

4.採摘果實。不要只關注低掛的水果。但要確保你總是有物可挑。

簡單性

圖源:shutterstock

· 「如無必要,勿增實體」——奧卡姆的威廉

· 「簡單是終極的複雜」——達文西

· 「一切都應該儘可能簡單,但不要太簡單」——愛因斯坦

· 「專注和簡單一直是我的秘訣之一」——史蒂夫·賈伯斯

關於「簡單」的名人名言多得可以佔滿本文篇幅。研究人員、設計師、工程師、哲學家和作者們都讚揚這種簡單性,並表示簡單性本身具有價值。他們的理由變了,但是結論是不變的。達到完美的程度不是沒有什麼要添加的,而是沒有什麼要刪除的。

軟體工程師絕對意識到簡單性的價值。有很多書籍和文章是關於如何簡化軟體的。筆者記得KISS的原則(讓事情變得簡單易懂),這甚至在筆者本科的一門課中講授過。簡單的軟體維護成本較低,易於更改,並且不易出現錯誤。人們普遍認同這一點。

在數據科學中,情況大不相同。有很多文章,例如Kristian Bondo Hansen的《簡單的優點:算法交易中的機器學習模型》或Alfredo Gemma的《簡單性在數據科學革命中的作用》。但它們是例外,而不是規則。主流的數據科學家們並不在乎最好的時候,而在最壞的時候更喜歡複雜的解決方案。

在討論數據科學家通常不關心簡單性原則的原因,為什麼他們應該關心,以及如何處理這些問題之前,讓我們看看簡單性意味著什麼。劍橋詞典的解釋為,它的本質是易於理解或操作,捨棄不必要或多餘的東西或修飾。

筆者發現定義簡單性的最直觀方法是通過「否定法」,這與複雜性相反。劍橋詞典:複雜性是由許多相互連接的部分或元素組成的;錯綜複雜。雖然我們不能總說某事很簡單,但我們通常可以說某事很複雜。我們的目標是不要太複雜,也不要創造複雜的解決方案。

在數據科學中尋求簡單性的原因與在所有工程學科中都一樣。更簡單的解決方案成本要低得多。現實生活中的產品不是Kaggle競賽。要求不斷修改。當複雜的解決方案需要適應新條件時,很快就會成為維護人員噩夢。

不難理解,為什麼數據科學家,尤其是應屆畢業生,更喜歡複雜的解決方案。他們剛從學術環境中走出來,完成了畢業論文,甚至可能發表了論文。學術出版物的評判標準是準確性、數學巧妙性、新穎性、方法論,但很少以實用性和簡單性為標準。

一個複雜的想法將準確度提高了0.5%,這對於任何一個學生來說都是一個巨大的成功。同樣的想法對於數據科學家來說卻是失敗的。即使它的理論是正確的,也可能隱藏著將被證明是錯誤的潛在假設。在任何情況下,增量改進都不值得付出複雜性的代價。

那麼,如果你、你的老闆、同事或下屬喜歡複雜而「最佳」的解決方案,該怎麼辦?如果是你的老闆,你很可能註定失敗,最好開始找一份新工作。

魯棒性

圖源:shutterstock

俄羅斯文化中有一個「avos」的概念。維基百科將其描述為「盲目相信神的旨意,指望純粹的運氣」。「Avos」是卡車司機決定讓卡車超載的幕後黑手。它隱藏在任何非魯棒解決方案的背後。

什麼是魯棒性?或者具體地說,什麼是數據科學中的魯棒性?與我們討論最相關的定義是Mariano Scain論文中的「算法的魯棒性是假設模型和現實之間差異的敏感度」。對現實的不正確假設是數據科學家問題的主要來源。也是上述卡車司機問題的根源。

細心的讀者可能會說,魯棒性也是算法在執行過程中處理錯誤的能力。這是對的。但這與我們的討論不太相關。這是一個有明確解決方案的技術話題。

在前大數據時代和前深度學習時代,建立強大系統的必要性顯而易見。特徵和算法設計都是手動的。測試人員通常對成百上千個例子進行操作。即使是最聰明的算法創造者也不敢說他們能想到所有可能發生的情況。

大數據時代是否改變了魯棒性的本質?為什麼要在意是否可以使用代表所有可想像場景的數百萬數據樣本來設計、訓練和測試我們的模型?

結果表明,魯棒性仍然是一個重要且尚未解決的問題。每年頂級期刊都會發表關於算法魯棒性的論文來證明這一點,例如,《提高深度神經網絡的魯棒性》和《基於模型的魯棒深度學習》。數據的數量還沒有轉化為質量。用於訓練的信息量之大並不意味著可以涵蓋所有的情況。

如果有人參與進來,現實總會出乎意料、難以想像。我們大多數人都很難說出午餐吃什麼,更別提明天了。數據很難幫助預測人類的行為。

那麼,如何使模型更穩固呢?第一種選擇是閱讀合適的論文並執行他們的想法。這很好。但這些論文並不總是概括性的。通常,不能把一個想法從一個領域複製到另一個領域。

筆者想介紹三種常規做法。遵循這些做法並不能保證創造強大的模型,但它大大降低了出現脆弱解決方案的機率。

性能安全裕度。安全裕度是任何工程的基礎。為了安全起見,通常的做法是增加20-30%的要求。一部能承載1000公斤的電梯很容易就能承載1300公斤。此外,測試時它的承載量為1300公斤,而不是1000公斤。工程師為意外情況做好準備。

在數據科學中,什麼才是安全裕度?筆者認為是關鍵績效指標或成功標準。即使發生意外,仍然會位於臨界點之上。

這種做法的重要結果是,你將不再追求漸進式的改進。如果模型關鍵績效指標增加了1%,將無法保持強大。在所有統計顯著性檢驗中,環境中任何微小的變化都會扼殺你的努力。

超多測試。忘記單一測試/訓練/驗證部門。你必須在所有可能的組合中交叉驗證你的模型。你有不同的用戶嗎?根據用戶ID進行劃分,並進行幾十次驗證。你的數據會隨著時間而改變嗎?根據時間戳劃分,並確保每天都在驗證組中出現一次。在數據點之間使用某些特徵的隨機值或交換值「濫用」你的數據。然後對髒數據進行測試。

不要在沙灘上建造城堡。減少對其他未經測試的組件的依賴。永遠不要在另一個高風險且未經驗證的組件上構建模型。即使該組件的開發人員發誓什麼也不會發生。

模塊化

圖源:shutterstock

模塊化設計是所有現代科學的基本原則。這是分析方法的直接結果。分析方法是將大問題分解為小問題的過程。分析方法是科學革命的基石。

問題越小越好。這裡的「越好」並不是完美,這是必須的。它將節省大量時間、精力和金錢。當問題很小、定義明確且沒有大量假設時,解決方案便是準確且易於測試的。

大多數數據科學家都熟悉軟體設計中的模塊化。但即使是最好的程式設計師,他們的python代碼非常清晰,也常常無法將模塊化應用於數據科學本身。

失敗是很容易證明的。模塊化設計需要一種將幾個較小的模型組合成一個大模型的方法,沒有這樣的機器學習方法。

但筆者發現一些實用的指導原則是有用的:

遷移學習。遷移學習簡化了現有解決方案的進程。可以將問題分為兩部分。第一部分創建低維特徵表示。第二部分直接優化相關的關鍵績效指標。

開源。儘可能使用現成的開源解決方案。它使代碼按定義模塊化。

忘記最佳。真應該從頭開始構建針對你的需求優化的系統,而不是調整現有的解決方案。只有當證明你的系統明顯優於現有系統時才發現這是值得的。

模型集成。不要害怕採取幾種不同的方法,然後將它們放到一起。這是大多數人在Kaggle競賽中獲勝的原因。

劃分數據。不要努力創建「一個偉大的模型」,雖然理論上,或許是可能的。例如,如果要預測顧客行為,不要為一個新顧客和已使用服務一年的人建立相同的模型。

採摘果實

圖源:unsplash

產品經理和數據科學家之間始終存在緊張關係。產品經理希望數據科學家專注於低掛的果實。他們的邏輯很清晰,說企業只在乎果實的數量和在哪裡生長。擁有的果實越多,做的越好。他們拋出各種各樣的流行語——帕累託(Pareto)、最簡化可實行產品(MVP)、最好的是好的敵人等等。

另一方面,數據科學家指出,低掛的果實變質快、味道差。換句話說,解決簡單的問題影響有限,並且治標不治本。這通常是學習新技術的藉口,但又常常是正確的。

筆者個人觀點介於這兩者之間。讀完彼得·泰爾(P.Thiel)的《從0到1》後,筆者曾堅信那些低掛的果實是在浪費時間。在初創公司工作了將近7年之後,筆者確信創建一個低掛的最簡化可實行產品是正確的第一步。

最近,筆者開發了自己的方法,將兩個極端融合在一起。數據科學家的典型環境是一個充滿生機和怪異的世界,樹木向四面八方生長。樹木一直在變換方向。它們可以倒立或側向生長。

最好的水果確實是在最頂端的。但是,如果花太長時間建造梯子,那棵樹就會移走。因此,最好的方法是瞄準最高處,但要不斷監測最高處在哪裡。

把隱喻遷移到實踐中來看,在漫長的發展過程中事物總有可能會發生改變。原來的問題將變得無關緊要,新數據源將出現,原始假設將被證明是錯誤的,關鍵績效指標將被替換等等。

瞄準頂端是很棒的,但切記每隔幾個月推出一款有效產品時做到這一點。該產品可能不會帶來最好的果實,但是你會更好地了解果實的生長方式。

這些技能不被人談及,但卻是有助於你職業生涯發展的重中之重,一定要認真體會。

留言點讚關注

我們一起分享AI學習與發展的乾貨

如轉載,請後臺留言,遵守轉載規範

相關焦點

  • 數據科學技能中,哪些是核心技能,哪些是熱門/新興技能?
    我們確定了兩類主要的數據科學技能:一類是大多數受訪者所擁有的穩定技能,這一類有 13 項核心技能;另一類是大多數受訪者尚未擁有但想掌握的熱門 / 新興技能。請參閱我們詳細的分析。圖表右側藍色虛線矩形為第一個集合,該集合包含超過 40% 投票者所擁有的技能,以及「想要擁有 / 已經擁有」的比率小於 1。我們稱之為 核心數據科學技能。它們將在表 1 中列出。表 1:核心數據科學技能,按 % 已擁有技能降序排列。
  • 發現超能力:這些數據科學技能助你更高效專業
    但完成整套訓練,還需要掌握更廣泛的軟技能,來充分發揮自身能力,成為一個高效且成功的專業數據科學家。大部分數據科學的學術培訓項目都只專注於硬技能傳授,無視行業數據、市場趨勢和高層商業領袖反覆強調軟技能是職場成功的關鍵因素。本文將就數據科學實踐中取得成功所必需的硬技能和軟技能進行探討。
  • 掌握2020年數據科學10大技能,幫你進入頂級數據公司
    數據科學對小芯來說,是一種力量,能使企業和利益相關者做出明智的決策,並用數據解決問題。如今,不是每個技術專家都對其他技能充滿熱情,但都會對自己工作領域的技能充滿熱情。數據科學家也是如此。新的一年,隨著新技術趨勢和更重大挑戰出現,技術基礎必須夯實。
  • 2018年僱主最青睞哪些數據科學技能
    人們期望數據科學家知道很多東西——機器學習、計算機科學、數學、數據可視化、溝通、深度學習。這些領域包括幾十種語言、框架、技術。那麼數據科學家該如何根據僱主的需求來安排自己的學習計劃呢?我搜集了網上的招聘需求,想找出數據科學家最急需的技能。我分別查看了通用的數據科學技能和特定語言、工具。
  • 2020年必備的5個數據科學技能
    更新你的技能,為2020年數據就業市場準備!數據科學是一個競爭激烈的領域,人們正在迅速積累越來越多的技能和經驗。這導致了機器學習工程師的工作描述越來越豐富,因此我對2020年的建議是,所有的數據科學家也需要成為開發人員。為了保持競爭力,你一定要為新工具帶來的新工作方式做好準備。
  • 2020 年數據科學就業市場必備的五項技能
    雷鋒網AI開發者按,數據科學是一個競爭激烈的領域,人們正在迅速學習越來越多的技能和經驗。這導致了機器學習工程師的從業要求的直線上升,所有的數據科學家也需要成為開發人員。為了保持競爭力,一定要為新工具帶來的新工作方式做好準備!以下就是2020 年數據科學就業市場必備的五項技能。
  • 語言學博士、Kaggle數據分析師:這4項數據科學技能,讀研學不到
    大數據文摘作品編譯:王一丁、吳雙、Yawei Xia學校裡教的數據科學和實際工作中的數據科學的差距,我學會了如何處理混亂的數據,問對的問題,在不同的場景下選擇適合的數據分析工具,為分析計算及機器學習編寫代碼,以及清晰地交流技術概念等等。這些是每一個數據科學家必要的技能。但數據科學家需要的技能並不僅僅是這些。
  • 業界| 數據科學家最需要什麼技能?
    數據科學家需要涉獵很多——機器學習、計算機科學、統計學、數學、數據可視化、通信和深度學習。這些領域中有幾十種語言、框架和技術可供數據科學家學習。那麼要想成為僱主需要的數據科學家,他們應該如何安排學習內容呢?
  • 自媒體技能:80%的人都忽略的重要技能
    (Skills system)的第三子版塊——「自媒體技能」。這些年,自媒體的崛起,引發了很多人爭相進入,看似自媒體的門檻很低,只需要一個手機號或一臺電腦就都可以做,但事實上卻並沒有那麼簡單,你必須要掌握一些專業技能才能夠運營好自媒體。其實關於自媒體技能涵蓋很多,但有些技能並不是必須的,而有些則太基礎,所以本篇文章介紹幾個重要的自媒體技能。
  • 數據技能從哪學起?看看這張矩陣分析圖
    大數據文摘出品編譯:周家樂、睡不著的iris、夏雅薇數據科學相關的技能和工具有各種各樣的,想要轉型數據的公司往往覺得無從下手,自己的團隊到底該加強哪方面的技能儲備才能有最大商業回報呢?撒網式招聘對於很多初創公司過於昂貴,本文提供了一個分析矩陣,幫你正確評估對針對你投入產出比最高的數據技能。數據技能(Data skills)——將數據轉化為洞察力和行動的能力——成為現代經濟的驅動力。
  • 獨家 | 2021,什麼數據分析技能最重要?
    Image by author 業界最需要的是什麼技能?新的一年裡您應該從哪裡開始學習? 導論對於像數據科學這種飛速發展的領域,很容易理解為何在給定時間內難以掌握一些熱門技能。成為一名數據科學家的關鍵是研究並且熟練掌握那些任意時刻出現的先進技術。
  • IBM 招聘數據科學家,看重的是哪些技能和特質?
    根據定義,要實現數據科學的真正潛力,我們需要具有非常特殊的經驗和技能的數據科學家,具體來說,我們需要具備運行和完成數據科學項目所需經驗和技能的人員:1、接受過科學訓練,有相關學位2、具備機器學習和統計方面的專業知識,重點在於決策優化3、擁有 R,Python 或 Scala 的專業知識4、能夠轉換和管理大型數據集5、
  • 數據科學家超級明星必備的12個技能
    事實上,數據科學家不可能同時擁有下面列出的所有技能。但是這些技能是頂級數據科學家和優秀數據科學家的區別所在。 希望在本文結尾時,這些技能對你作為數據科學家的整個職業生涯有所幫助。 成為頂級數據科學家的12大技能: 1.
  • 求職|一份理想的數據科學家簡歷中要包括哪些技能?
    在本文中,我們對Indeed中一千份數據科學相關的招聘信息進行了分析,主要針對數據工程師、數據科學家和機器學習工程師這三個職位,希望能解答你的疑問。首先,讓我們來看看不同職位的技能要求。目前Python處於主導地位關於數據科學中的首選語言,究竟是Python還是R曾有過爭論。顯然,市場需求說明如今Python是處於主導地位。同樣值得注意的是,R語言可能還排在SAS之後。因此,如果你打算進入數據科學領域,不妨把學習重點放在Python上。作為資料庫語言,SQL是數據科學家第二重要的語言。
  • 想從事數據行業?你必須掌握這個最核心的技能
    我到求職網站去尋找對數據科學家最迫切的技能需求是什麼。我看了一般的數據科學技能,也分別看了對語言和工具的要求。2018年10月10日,我在LinkedIn、Indeed、SimplyHired、Monster以及AngelList上面搜索了求職列表。下面這張圖列出了每個網站對數據科學家的需求數量。
  • 數據分析學習:入數據科學大坑,我需要什麼樣的數學水平?
    作為一門基礎性學科,數學在數據科學和機器學習領域都發揮著不可或缺的作用。數學基礎是理解各種算法的先決條件,也將幫助我們更深入透徹地了解算法的內在原理。所以,本文作者闡釋了數據科學和機器學習為何離不開數學,並提供了統計學與概率論、多變量微積分、線性代數以及優化方法四個數學分支中需要熟悉的一些數學概念。本文的作者是物理學家、數據科學教育者和作家 Benjamin Obi Tayo 博士,他的研究興趣在於數據科學、機器學習、AI、Python 和 R 語言、預測分析、材料科學和生物物理學。
  • ...畢業生就業現狀與趨勢大數據發布 數字技能「走紅」 新興技能萌芽
    多維度印證:數字技能「走紅」,科技人才搶手 領英選取了2013—2017年期間的中國高校畢業生,並特別針對領英平臺上超過5萬名的北大畢業生,提取了這些畢業生在領英上的教育與職業統計數據,包括畢業生學位水平、學位領域、個人技能、就職行業等,得出數據洞察,繪製出了畢業生的發展路徑圖。
  • 數據分析類課程的技能培養方法探討
    人類社會已經邁入大數據時代,各個行業都不斷地產生大量的數據,如何在海量的數據中發現知識、獲取價值已成為學術界和工業界炙手可熱的話題,這也催生了「數據科學」新興交叉學科和一批專業的數據分析人員[1]。數據分析是一個較為寬泛的領域,傳統的數據分析包括統計分析和數據可視化等,後來融入了數據挖掘和機器學習的技術。
  • 數據科學家的八大關鍵技能
    在過去幾年中,隨著大數據的崛起,出現了大批的新型分析師。所謂的「數據科學家」被許多人認為是唯一能夠充分利用大數據真正價值的人。雖然他們的職能已經非常清晰了,但是他們應該具有怎樣的品質卻還不清楚。人們最常見的偏見就是,認為統計學家就是數據科學家或者具有分析背景的商務智能專家會是一個好的數據科學家。也許在某些情況下這是正確的,但也有例外。
  • 寫作,被開發人員們忽略的最重要技能之一……
    他們重點關注計算機科學、編碼、結構化查詢語言資料庫、CI/CD結構理解以及其他他們認為對職業發展有用的技術知識。的確,當今世界受到數據驅動,擁有繁多的數據,儘管能得到很多內容,但卻不容易得到文本、文章和紙質書。視覺內容起主導作用,大多數人會選擇聽播客,而不是閱讀擴展訪談或教程。但如果我告訴你,寫作技能對技術人員在職業生涯中取得成功比以往任何時候都重要,您會怎麼想?