機器學習自學成才的十條戒律

2021-10-10 12:48:20 字數 2889 閱讀 2014

在機器學習技能自學成才的過程中,我們必須對自身的教育和啟蒙負責。本文列出了十條不應掉以輕心的戒律。前車之鑑,後車之師。

任何行之有效的機器學習流水線,都是數學、程式設計和資料的三位一體。三個方面同等重要。

資料提供了一處富含天然瑰寶的礦場,數學就是挖掘工具,而編碼則提供了一隊挖掘機。

數學、程式設計和資料的「三位一體」,構成了系統輸入(即手頭具有的資料)和輸出(即期望的結果)之間的橋梁。

注意:數學還包含統計學和概率論等分支,因此你可以把「三位一體」想成是乙隻海星。

除了考慮如何在三位一體上取得平衡,還需謹記三者的最終服務物件是客戶需求。如果無法向客戶提供服務,那麼即便有執行最好的**、最完備的數學理論和對資料最豐富的洞察,也於事無補。

工程人員常常沉迷於具體的過程,而忽視了最終產出。即使出發點再好,也不應忘記實際成果並不取決於出發點。

哪怕我們並未向客戶提供很好的效能,也要好過那些根本無法給出任何表現的解決方案。

舉個例子,如果乙個最先進的模型需額外執行 47 倍的時間,最終實現了精度提高 1%的效果,這對客戶是否提供了最佳的體驗?

即使我們非常推崇三位一體,但也不要被感情蒙蔽了一切。

自學成才的機器學習工程師,自身就是最大的懷疑論者。

他們知道資料本身並無法去確認某事,但可以用於推翻某事。例如,在十億個資料點中只要有乙個異常點,就能證明先前確認某個重要的理念是錯誤的。大自然並非線性的,在數學上的一點缺陷,就會導致嚴重的後果。而**的效能則取決於其最薄弱之處。

無論三位一體多麼完備,都不應忽視自己的直覺。一旦結果似乎過於完美,讓你懷疑其中可能有問題,那麼事實上就是如此,除非我們的確很幸運。

讓機器去完成其所擅長的工作,即實現重複性操作。人們應該去做自己所擅長的,包括關懷、同理心、質疑、聆聽、領導和教學等。

客戶並不像我們那樣關注數學、程式設計和資料,而是關心自己的需求是否得到滿足。

對於資料倫理等複雜問題時,需要從「道德銀律」(silver rule)的角度審視,即「己所不欲,勿施於人」。

提及計算科學、機器學習、人工智慧、數學,我們可能立刻會想到 ada lovelace、geoffrey hinton、yann lecun、yoshua bengio、阿蘭·圖靈、李飛飛、grace hopper、吳恩達、馮·諾伊曼、alan kay、stuart russel、peter norvig 等前行者。

當然,除了上述耳熟能詳的人物,還有數千位做出貢獻的人並未被銘記。

嶄露頭角的新手,應該知悉各位前行者所做出的巨大貢獻。同時也應該認識到,對於每一位機器學習新手,前輩們都對我們有著一致的期望,就是這一領域的未來取決於各位當下的努力。

我們的目標是在第一時間給出可靠的解決方案。隨著技能的提高,我們會重新審視原先的工作,打破舊世界,從新的視角重新構建。

對於自學成才的機器學習工程師,應該認識到和自然界一樣,軟體和機器學習專案同樣是生生不息的,處於不斷的發展中。資料會不斷變更、**也會在新硬體上執行。還有,一位數學天才提出了稱為「adam」的優化器,它適用於大型資料集的有效計算,占用記憶體資源更低。

對變化我們應秉持開放的態度,去歡迎它們。一旦發生變化,我們就應對是否適合實施給出最好的判斷。變化僅是一些新事物,但並不意味著是必需的。

程式設計界的乙個常用隱喻是自行車棚刷漆問題。它指的是程式開發人員或團隊在擔心乙個自行車棚應該刷成什麼顏色,而不是該車棚是否可以實際存放自行車這樣的重要問題。

當然,這裡自行車棚對應的是面向具體用途的電腦程式。

在機器學習領域,我們能聽到許多無休止的爭論,r 還是 python、tensorflow 還是 pytorch、讀書自學還是報班教學、數學優先還是**優先,spark 還是 hadoop、amazon web services 還是 google cloud platform,vscode 還是 jupyter、英偉達還是其它等等。事實上,並不存在絕對正確的選擇。

所有選項均適用,沒有必要爭個高下之分。

我們真正需要去回答的問題是:哪種選項能最快、最可靠地實現我們的想法?

一旦考慮及此,我們會發現所有的人都在思考著同樣的問題。

工程人員的乙個最大問題,就是常常會從工具入手去尋找問題,而不是從發現問題開始,再去尋找工具。在面對問題時,如果沒有合適的工具,那麼就需要去構建工具。

對教育資源同樣如此。無論採用何種學習方式,數學,**和資料是不變的,關鍵在於如何使用它們。

謹記,很多問題其實並不需要機器學習的介入。

不要混淆想要竊取你想法的人和想要遵循你想法做事的人。乙個想法可能對於他人的價值要比對你而言大得多。

作為一名工程人員,我們的作用不僅是去構建自己的想法,而且還應該與他人進行交流,說明該想法如何能令他人同樣從中受益。如果我們缺乏這種交流能力,那麼就去找具有或有意推進自身交流能力的人搭檔。

身處真偽難辨的社會中,真誠會使我們勝出。應誠懇地讓他人了解自己工作所能提供的,以及自己所不知道的。承認自己的不足是一種優勢,而非劣勢。

好的技術將永立不敗之地,謊言卻並非如此。多做技術少吹噓。

看到別人的進步,我們會嫉妒嗎?還是視其為潛在的工作靈感?

我們對他人成功的感受,也是我們對自身成功的感受。

我們努力去具備運用數學、資料和程式設計為目標客戶提供解決方案的能力,但不應對此過於苛求。慾望會令人對未來期望過高,而不是去享受現在的生活。

保持學習的熱情,是解決苛求技能提高的良藥。

通過自學成才的機器學習工程師,可以快速地去掌握駕馭數學、程式設計和資料所需的知識,但千萬不要存在急躁情緒。需明確,學習掌握任何有價值的技術都需要時間。由此,樂趣在於過程之中。

我們一旦開始自學,就需要完全承擔起自身的啟蒙和教育責任。在選擇專案上不應寄希望於撞大運,而是應審慎遴選。專案是否能滿足自己的求索心?是否會挑戰自己現有的技能?是否可以讓你遵循準則?如果答案是肯定的,那麼就夠了。

最後一點,自學成才者應走出一條適合自身的道路,永立於潮頭:

萬變不離其宗,機器學習的最重要基礎是數學、程式設計和資料。

如果你覺得這篇內容對你還蠻有幫助,我想邀請你幫我三個小忙:

同時可以期待後續文章ing?

自學成才翁 自學成才的開發人員不應該做的一切

自學成才翁 十多年前,我徹底改變了自己的人生軌跡,從成為律師到成為程式設計師。我從一本c 書中學到了,然後花了大約4 5個月製作了一些可憐的ios應用。然後我搬到矽谷開始我的職業生涯。我確定您正在閱讀 什麼天才!的想法,但遺憾的是事實遠非如此。我絕對為自己所取得的成就感到自豪,但經常會想一想我一路走...

程式界的法則 程式設計師都是自學成才

摘自 在我十幾歲的時候就開始玩甲級級棒球。我水平很差,但當我決定要做好什麼事時,最終總能如我願。現在我是計算機專業3年紀的學生。在程式設計上,有些事情和體育是截然不同的 棒球教練可以教會你如何打棒球,但乙個計算機教授卻不能教你如何程式設計。但是,什麼樣的 才是好的 我花了大量的時間來提高 的可讀性,...

ITPUB版主 自學成才的DBA高手樓方鑫

url 經管出身 技術自學成才 1993年樓方鑫進入四川大學讀經濟管理專業,但新興的計算機專業對樓方鑫有著更大的吸引力。對於這個轉型,樓方鑫承認當時也有著不少 功利色彩 在當時,電腦是絕對的奢侈品,計算機專業雖然充滿神秘感,但已經被看成是乙個很有前景的領域。樓方鑫從一開始就顯現出了在技術方面的熱情和...