/machine-learning-for-software-engineers-zh-tw

📖 machine-learning-for-software-engineers 繁體中文翻譯計畫。原作者:https://github.com/ZuzooVn/machine-learning-for-software-engineers

MIT LicenseMIT

自上而下的學習路線:軟體工程師的機器學習

靈感來源於谷歌面試學習手冊

這是?

這是本人為期數月的學習計劃。我正要從一名行動裝置開發者(自學,沒有計算機學位)轉型成為一名機器學習工程師。

我的主要目標是找到一種以實踐為主的學習方法,並為初學者抽象掉大多數的數學概念。 這種學習方法是非傳統的,因為它是專門為軟體工程師所設計的自上而下,以結果為導向的學習方法。

如果您想讓它更好的話,隨時歡迎您的貢獻。


目錄


為何要用到它?

我會為了我未來的工作————機器學習工程師 遵循這份計劃。自2011年以來,我一直進行著行動裝置的開發(包括安卓、iOS 與黑莓)。我有軟體工程的文憑,但沒有計算機科學的文憑。我僅僅在大學的時候學習過一點基礎科學,包括微積分、線性代數、離散數學、概率論與統計。 我認真思考過我在機器學習方面的興趣:

我發現自己遇到了麻煩。

據我所知, 機器學習有兩個方向

  • 實用機器學習: 這個方向主要是查詢資料庫、數據清洗、寫腳本來轉換數據,把演算法和函式庫結合起來再加上一些客製化的程式,從數據中擠出一些準確的答案來證明一些困難且模糊不清的問題。實際上它非常混亂。
  • 理論機器學習: 這個方向主要是關於數學、抽象、理想狀況、極限條件、典型例子以及一切可能的特徵。這個方向十分的乾凈、整潔,遠離混亂的現實。

我認為對於以實踐為主的人來說,做好的方法就是 “練習--學習--練習”,這意味著每個學生一開始就能參與一些現有項目與一些問題,並練習(解決)它們以熟悉傳統的方法是怎麼做的。在有了一些簡單的練習經驗之後,他們就可以開始鑽進書里去學習理論知識。這些理論知識將幫助他們在將來進行更進一步的訓練,充實他們解決實際問題的工具箱。學習理論知識還會加深他們對那些簡單練習的理解,幫助他們更快地獲得進階的經驗。

這是一個很長的計劃,它花去了我一年的時間。如果你已經對它有所瞭解了,它將會讓你省去很多時間。

如何使用它?

以下的內容全部是概要,你需要由上往下來解決這些項目。

我使用 Github 獨特的 flavored markdown 方式,以任務列表來檢查我計劃的進展。

  • 創建一個新的分支,然後你可以這樣來標出你已經完成的項目,只需要在框中填寫一個x即可:[x]

瞭解更多有關 Github-flavored markdown 的知識

Follow me

我是一名非常非常想去美國工作的越南軟體工程師。

我在這份計劃中花多少時間?在每天的艱辛工作完成後,每晚花4小時。

我已經在實現夢想的旅途中了。

Nam Vu - Top-down learning path: machine learning for software engineers
USA as heck

別認為自己不夠聰明

當我打開書本,發現他們告訴我多變量微積分、推理統計、線性代數是學習機器學習的先決條件的時候,我非常沮喪。因為我不知道從哪兒開始…

關於影片資源

部分影音只有在 Coursera 、 EdX 的課程註冊了才能觀看。雖然它們是免費的,但有些時間段這些課程並不開放,你可能需要等上一段時間(可能是好幾個月)。我將會加上更多的公開的影片源來代替這些在線課程的影片。我很喜歡大學的講座。

預備知識

這個小章節是一些在每日計劃開始前我想去瞭解的一些預備知識與一些有趣的信息。

每日計劃

每個主題都不需要用一整天來完全理解它們,你可以每天完成多個。

每天我都會從下面的列表中選一個出來,一遍又一遍的讀,做筆記,練習,用 Python 或 R語言實現它。

動機

機器學習概論

掌握機器學習

有趣的機器學習

一本深入的機器學習指南

故事與經驗

機器學習演算法

入門書籍

實用書籍

Kaggle知識競賽

系列影片

MOOC

資源

遊戲

成為一名開源貢獻者

廣播

社區

相關會議

 - (NIPS)

面試問題

我崇拜的公司