靈感來源於谷歌面試學習手冊
- 原文地址:軟體工程師的機器學習
- 原文作者:ZuzooVn(Nam Vu)
- 翻譯:NeroCube
這是本人為期數月的學習計劃。我正要從一名行動裝置開發者(自學,沒有計算機學位)轉型成為一名機器學習工程師。
我的主要目標是找到一種以實踐為主的學習方法,並為初學者抽象掉大多數的數學概念。 這種學習方法是非傳統的,因為它是專門為軟體工程師所設計的自上而下,以結果為導向的學習方法。
如果您想讓它更好的話,隨時歡迎您的貢獻。
- 這是?
- 為何要用到它?
- 如何使用它?
- Follow me
- 別認為自己不夠聰明
- 關於影片資源
- 預備知識
- 每日計劃
- 動機
- 機器學習概論
- 掌握機器學習
- 有趣的機器學習
- 染墨的機器學習簡介
- 一本深入的機器學習指南
- 故事與經驗
- 機器學習演算法
- 入門書籍
- 實用書籍
- Kaggle知識競賽
- 系列影片
- MOOC
- 資源
- 遊戲
- 成為一名開源貢獻者
- 廣播
- 社區
- 相關會議
- 面試問題
- 我崇拜的公司
我會為了我未來的工作————機器學習工程師 遵循這份計劃。自2011年以來,我一直進行著行動裝置的開發(包括安卓、iOS 與黑莓)。我有軟體工程的文憑,但沒有計算機科學的文憑。我僅僅在大學的時候學習過一點基礎科學,包括微積分、線性代數、離散數學、概率論與統計。 我認真思考過我在機器學習方面的興趣:
- 我能在沒有計算機科學碩士、博士文憑的情況下找到一份關於機器學習的工作嗎?
- "你當然可以,但是我想進入這個領域則無比艱難。" Drac Smith
- 我是一名自學機器學習的軟體工程師,我如何在沒有相關經驗的情況下找到一份關於機器學習的工作?
- "我正在為我的團隊招聘機器學習專家,但你的 MOOC 並不會給你帶來工作機會。事實上,大多數機器學習方向的碩士也並不會得到工作機會,因為他們(與大多數上過 MOOC 的人一樣)並沒有深入地去理解。他們都沒法幫助我的團隊解決問題。" Ross C. Taylor
- 找一份機器學習相關的工作需要掌握怎樣的技能?
我發現自己遇到了麻煩。
據我所知, 機器學習有兩個方向:
- 實用機器學習: 這個方向主要是查詢資料庫、數據清洗、寫腳本來轉換數據,把演算法和函式庫結合起來再加上一些客製化的程式,從數據中擠出一些準確的答案來證明一些困難且模糊不清的問題。實際上它非常混亂。
- 理論機器學習: 這個方向主要是關於數學、抽象、理想狀況、極限條件、典型例子以及一切可能的特徵。這個方向十分的乾凈、整潔,遠離混亂的現實。
我認為對於以實踐為主的人來說,做好的方法就是 “練習--學習--練習”,這意味著每個學生一開始就能參與一些現有項目與一些問題,並練習(解決)它們以熟悉傳統的方法是怎麼做的。在有了一些簡單的練習經驗之後,他們就可以開始鑽進書里去學習理論知識。這些理論知識將幫助他們在將來進行更進一步的訓練,充實他們解決實際問題的工具箱。學習理論知識還會加深他們對那些簡單練習的理解,幫助他們更快地獲得進階的經驗。
這是一個很長的計劃,它花去了我一年的時間。如果你已經對它有所瞭解了,它將會讓你省去很多時間。
以下的內容全部是概要,你需要由上往下來解決這些項目。
我使用 Github 獨特的 flavored markdown 方式,以任務列表來檢查我計劃的進展。
- 創建一個新的分支,然後你可以這樣來標出你已經完成的項目,只需要在框中填寫一個x即可:[x]
瞭解更多有關 Github-flavored markdown 的知識
我是一名非常非常想去美國工作的越南軟體工程師。
我在這份計劃中花多少時間?在每天的艱辛工作完成後,每晚花4小時。
我已經在實現夢想的旅途中了。
- Twitter: @Nam Vu
USA as heck |
當我打開書本,發現他們告訴我多變量微積分、推理統計、線性代數是學習機器學習的先決條件的時候,我非常沮喪。因為我不知道從哪兒開始…
部分影音只有在 Coursera 、 EdX 的課程註冊了才能觀看。雖然它們是免費的,但有些時間段這些課程並不開放,你可能需要等上一段時間(可能是好幾個月)。我將會加上更多的公開的影片源來代替這些在線課程的影片。我很喜歡大學的講座。
這個小章節是一些在每日計劃開始前我想去瞭解的一些預備知識與一些有趣的信息。
每個主題都不需要用一整天來完全理解它們,你可以每天完成多個。
每天我都會從下面的列表中選一個出來,一遍又一遍的讀,做筆記,練習,用 Python 或 R語言實現它。
- 機器學習的形象簡介
- 一份輕鬆的機器學習指南
- 為開發者準備的機器學習簡介
- 菜鳥的機器學習基礎
- 你如何向非計算機專業的人來解釋機器學習與資料探勘?
- 機器學習:葫蘆裡賣什麼藥,部落格簡單明瞭地介紹了機器學習的原理
- 機器學習是什麼?它是如何工作的呢?
- 深度學習——一份非技術性的簡介
- 機器學習真有趣!
- Part 2: 使用機器學習來創造超級馬利奧的關卡
- Part 3: 深度學習與捲積神經網路
- Part 4: 現代人臉識別與深度學習
- Part 5: 翻譯與深度學習和序列的魔力
- Part 6: 如何使用深度學習進行語音識別
- Part 7: 使用生成式對抗網路創造 8 像素藝術
- Part 8: 如何故意欺騙神經網路
- 一周的機器學習
- 一年的機器學習
- 我是如何在3天內寫出我的第一個機器學習程式的
- 學習路徑:你成為機器學習專家的導師
- 不是 PhD 你也可以成為機器學習的明日之星
- 如何6個月成為一名資料科學家:一名駭客的職業規劃
- 5個你成為機器學習工程師必須要掌握的技能
- 你是一個自學成才的機器學習工程師嗎?你是怎麼做的?花了多長時間?
- 一個人如何成為一名優秀的機器學習工程師?
- 一個專注於機器學習的學術假期
- 用10種機器學習演算法來解釋“部隊士兵”
- Top10的資料探勘演算法
- 介紹10種機器學習的術語
- 機器學習演算法之旅
- 機器學習工程師需要知道的10種演算法
- 比較監督學習演算法
- 機器學習算法:最簡化、可執行的機器學習演算法集合
- 《Data Smart: Using Data Science to Transform Information into Insight》第 1 版
- 《Data Science for Business: What you need to know about data mining and data analytic-thinking》
- 《Predictive Analytics: The Power to Predict Who Will Click, Buy, Lie, or Die》
- Hacker 的機器學習
- Python 機器學習
- 集體智能編程: 創建智慧 Web 2.0 應用
- 機器學習: 演算法視角,第二版
- Python 機器學習簡介: 資料科學家指南
- 資料探勘: 機器學習工具與技術實踐,第 3 版
- Teaching material - 1-5 章投影片(zip) - 6-8 章投影片(zip)
- Machine Learning in Action
- Reactive Machine Learning Systems(MEAP)
- An Introduction to Statistical Learning
- 使用 Python 構建機器學習系統
- 學習 scikit-learn: 用 Python 進行機器學習
- Probabilistic Programming & Bayesian Methods for Hackers
- Probabilistic Graphical Models: Principles and Techniques
- Machine Learning: Hands-On for Developers and Technical Professionals
- 從數據中學習 - 在線教學
- 強化學習——簡介(第 2 版)
- 使用TensorFlow(MEAP)進行機器學習
- Machine Learning for Hackers
- Fresh Machine Learning
- Josh Gordon 的機器學習菜譜
- 在 30 分鐘以內瞭解機器學習的一切
- 一份友好的機器學習簡介
- Nuts and Bolts of Applying Deep Learning - Andrew Ng
- BigML Webinar - 影片 - 資源
- mathematicalmonk's Machine Learning tutorials
- Machine learning in Python with scikit-learn
- 播放清單 - YouTuBe 上最熱門的機器學習、神經網路、深度學習影片
- 16 個必看的機器學習教學
- DeepLearning.TV
- Learning To See
- 神經網路課程 - Université de Sherbrooke
- 2016年 的 21 個深度學習影片課程
- 2016 年的 30 個頂級的機器學習與人工智慧影片教學 Top Videos, Tutorials & Courses on Machine Learning & Artificial Intelligence from 2016
- 程式設計者的深度學習實戰
- edX 的人工智慧導論
- Udacity 的機器學習導論
- Udacity 的監督學習、非監督學習及深入
- Machine Learning Foundations: A Case Study Approach
- Coursera的機器學習
- 機器學習淬煉
- BigML training
- Coursera 的神經網路課程
- 由Geoffrey Hinton(神經網路的先驅)執教
- 使用 TensorFlow 創建深度學習應用
- 描述統計學概論
- 推理統計學概論
- 6.S094: 自動駕駛的深度學習
- 6.S191: 深度學習簡介
- Coursera 深度學習教學
- 一個月學會機器學習
- 一份“非技術性”的機器學習與人工智慧指南
- Google 機器學習工程師最佳實踐教學
- Hacker News 的《軟體工程師的機器學習》
- 開發者的機器學習
- 為人類🤖👶準備的機器學習
- 給開發者的關於機器學習的建議
- 機器學習入門
- 為新手準備的機器學習入門教學
- 初學者如何自學機器學習
- 機器學習自學資源
- 提升你的機器學習技能
- 一份'真誠'的機器學習指南
- 用機器學習讓 Hacker News 更具可讀性
- 深入機器學習
- 軟體工程師的{機器、深度}學習
- 深度學習入門
- 深度學習基礎
- 機器學習思維導圖/小抄
- 大學中的機器學習課程
- Flipboard的主題
- Medium的主題
- 每月文章Top10
- 全面的數據科學資源清單
- DigitalMind 的人工智慧資源
- 令人驚嘆的機器學習
- CreativeAi 的機器學習
- Halite:AI 編程遊戲
- Vindinium: 挑戰 AI 編程
- Video Game AI 比賽
- 憤怒的小鳥 AI 比賽
- The AI Games
- Fighting Game AI Competition
- CodeCup
- 星際爭霸 AI 學生錦標賽
- AIIDE 星際爭霸 AI 競賽
- CIG 星際爭霸 AI 競賽
- CodinGame - AI Bot Games
- tensorflow/magenta: Magenta: 用機器智慧生成音樂與藝術
- tensorflow/tensorflow: 使用數據流圖進行計算進行可擴展的機器學習
- cmusatyalab/openface: 使用深層神經網路進行面部識別
- tensorflow/models/syntaxnet: 神經網路模型語法
- (NIPS)
- (ICLR)
- (AAAI) - (IEEE CIG) - (IEEE ICMLA)
- (ICML)