[譯] Google 機器學習應用的四十三條經驗法則
Google 的研究科學家 Martin Zinkevich 曾在 NIPS 2016 Workshop 分享了谷歌機器學習實踐的四十三條法則。Martin Zinkevich 也在自己的博客上分享了這四十三條經驗法則。文章《Rules of Machine Learning: Best Practices for ML Engineering》旨在幫助具備機器學習基礎知識的朋友從谷歌機器學習最佳實踐中獲益。文章提供了一種機器學習風格,類似 Google C++ 風格指南以及其他流行的實用編程指南。如果你上過機器學習方面的課程或者構建或研究過機器學習模型,那么,你的背景知識足以讓你讀懂這篇文章。機器之心編譯了四十三條經驗法則,法則具體內容請點擊閱讀原文,下載全文 PDF。
預備
規則 1:不要害怕發布一款沒有用到機器學習的產品。
規則 2:評估指標設計并落實優先處理的事情。
規則 3:在復雜的啟發式問題上使用機器學習。
機器學習第一階段:你的第一個工作流
規則 4:第一個模型要保持簡單,設計好基礎架構。
規則 5:確保基礎結構的可測試性。
規則 6:復制操作時小心刪除數據。
規則 7:利用啟發式問題設計特征或從外部處理它們。
監控
規則 8:知道要進行系統刷新。
規則 9:輸出模型前發現問題。
規則 10:當心未被報告的失敗。
規則 11:特征欄包干到戶,為之建立詳細的文檔。
你的第一個目標
規則 12:不要過度考慮選擇哪個目標直接予以優化。
規則 13:為你的第一個目標,選擇一個簡單的、可觀察、可歸屬的評估指標。
規則 14:從一個可詮釋的模型開始能讓調試工作變得簡單些。
規則 15:在一個策略層中分開垃圾過濾和質量排名。
機器學習第二階段:特征工程
規則 16:計劃發布和迭代。
規則 17:從直接可以觀察、被報告的特征開始。
規則 18:用能跨語境泛化的內容特征進行探索。
規則 19:可以的話,請使用特別具體的特征。
規則 20:結合并修改現有特征,以人類可以理解的方式創造新的特征。
規則 21:在一個線性模型中可以學到的特征權重數量與你的數據量大致成比例。
規則 21:清除你不再使用的特征。
系統的人類分析
規則 23: 你并不是典型的端用戶(end user)。
規則 24: 測量模型之間的差量。-delta 參數。-
規則 25: 選擇模型時,實用性能(utilitarian performance)比預測能力更重要。
規則 26: 在測量到的誤差中尋找模式,并創造新特征。
規則 27: 嘗試量化觀測到的不可欲的行為(undesirable behavior)。
規則 28: 意識到相同的短期行為(short-term behavior)并不意味著長期行為相同。
訓練表現與實際產品之間的偏差
規則 29: 要讓你的實際產品表現得和你訓練時一樣好,最好的方法是在你的產品中保留訓練的特征集,并將這些特征放到日志中,并在訓練時使用它們。
規則 30: 重要性加權的樣本數據,不要武斷放棄。
規則 31: 注意,如果在訓練和服務時點將表格中的數據加起來(join data from a table at training and serving time),表格數據會發生變化。
規則 32: 在你訓練的流程和實際產品流程之間,盡可能地重復使用同一代碼。
規則 33: 如果你用 5 號之前的數據生成了一個模型,那么用 6 號之后的數據來測試模型。
規則 34: 在使用二元分類器進行過濾時(例如垃圾郵件檢測),用短期的犧牲獲得清潔數據的優良性能。
規則 35: 注意在排序問題中的固有偏差(inherent skew)。
規則 36: 用位置特征避免反饋循環(feedback loops)。
規則 37: 測量訓練/實際產品表現之間的偏差(Measure Training/Serving Skew)
機器學習第三階段:放慢速度、優化細化和復雜的模型
規則 38:如果出現目標不對齊的問題就不要在新的特征上浪費時間。
規則 39:決定不只是基于一個標準做出。
規則 40:保證組件簡單。
規則 41: 性能達到高峰時,要尋找新的信息源加以補充,而不是精化現有的信號。
規則 42:不要期望多樣性、個性化或者與你所認為的流行性關聯。
規則 43:在不同的產品中你的伙伴可能傾向于同一個產品。而你的興趣不是。
來自:http://mp.weixin.qq.com/s/vKPzJyiO4bSWwyId_9fK1w