機器學習項目交付實戰 Machine Learning Engineering in Action

[美] 本·威爾遜 (Ben Wilson)著 李曉峰 逄金輝 殷海英 譯 李曉峰//逄金輝//殷海英

  • 機器學習項目交付實戰-preview-1
  • 機器學習項目交付實戰-preview-2
  • 機器學習項目交付實戰-preview-3
機器學習項目交付實戰-preview-1

商品描述

《機器學習項目交付實戰》將介紹如何從模型和數據中獲取**性能,幫助你構建穩定的數據管道。
通過高效的可複用技術集合,來確保應用程序工作流程的順利執行,以及提高模型的可維護性。
基於數十年的良好軟件工程實踐,機器學習工程可確保你的機器學習系統具有彈性、適應性和可執行性。
《機器學習項目交付實戰》將介紹設計、構建和交付成功的機器學習項目的核心原則和上佳實踐。
你將瞭解很多軟件工程技術,例如對原型進行實驗和實施模塊化設計,從而產生彈性架構和一致的跨團隊溝通。
基於作者豐富的經驗,本書中的每一種方法都被成功地用於解決現實世界中的問題。

● 根據預期和預算確定機器學習項目的範圍
● 為你的項目選擇正確的技術路線
● 使你的代碼庫更易於理解,提升可維護性和可測試性
● 實現故障排除和日誌系統的自動化

目錄大綱

第Ⅰ部分機器學習工程簡介
第1章什麼是機器學習工程
1.1 為什麼使用機器學習工程
1.2 機器學習工程的核心原則
1.2.1 規劃
1.2.2 範圍界定和研究
1.2.3 實驗
1.2.4 研發
1.2.5部署
1.2.6 評估
1.3 機器學習工程的目標
1.4 本章小結
第2章數據科學工程
2.1 用提高項目成功率的過程增強複雜的專業
2.2 簡單的基礎
2.3 敏捷軟件工程的工作原則
2.3.1 溝通與合作
2.3 .2 擁抱並期待改變
2.4 機器學習工程的基礎
2.5 本章小結
第3章在建模之前:規劃和確定項目範圍
3.1 規劃:你要我預測什麼
3.1.1 項目的基本規劃
3.1.2 首次會議
3.1. 3 規劃演示——進行大量演示
3.1.4 通過解決方案構建進行實驗:磨刀不誤砍柴工
3.2 實驗範圍:設定預期和界限
3.2.1 什麼是實驗範圍
3.2.2 機器學習團隊的實驗範圍:研究
3.2.3 機器學習團隊的實驗範圍:實驗
3.3 本章小結
第4章建模之前:項目的溝通與邏輯
4.1 溝通:定義問題
4.1.1 理解問題
4.1.2 設置嚴格的討論界限
4.2 不要浪費時間:與跨職能團隊交流
4.2.1 實驗變更會議:我們知道自己在做什麼嗎
4.2.2 SME 評審/原型評審:我們能解決這個問題嗎
4.2.3 開發進度評審:這會奏效嗎
4.2.4 MVP評審:是否生成了我們要求的內容
4.2 .5 預投產評審:我們真希望沒有搞砸
4.3 為實驗設定限制
4.3.1 設置時限
4.3.2 可以投入生產嗎?你想維護它嗎
4.3.3 機器學習項目的TDD、RDD、PDD和CDD
4.4 為混亂的業務規則做計劃
4.4.1 通過計劃“擁抱混亂”
4.4.2 “人機回環”設計
4.4.3 你的備選方案是什麼
4.5 對結果進行討論
4.6 本章小結
第5章進行實驗:規劃和研究機器學習項目
5.1 設計實驗
5.1.1 進行基礎的研究和規劃
5.1.2 扔掉博客——仔細閱讀API文檔
5.1.3 抽籤決定內部黑客馬拉松
5.1.4 公平競爭環境
5.2 執行實驗準備工作
5.2.1 執行數據分析
5.2.2 從腳本轉向可重用代碼
5.2.3為實驗構建可重用代碼的最後說明
5.3 本章小結
第6章進行實驗:測試與評估
6.1 測試想法
6.1.1 在代碼中設置準則
6.1.2 運行快速預測測試
6.2 減少可能性
6.2.1 正確評估原型
6.2 .2 決定前進的方向
6.2.3 接下來做什麼
6.3 本章小結
第7章實踐實驗:從原型到MVP
7.1 調整:自動化那些惱人的過程
7.1.1 調優選項
7.1.2 Hyperopt入門
7.1.3 使用Hyperopt調優複雜的預測問題
7.2 為平臺和團隊選擇合適的技術
7.2.1 使用Spark的理由
7.2.2 用SparkTrials處理來自Driver的調優
7.2.3 用pandas_udf處理來自Worker的調優
7.2.4 為團隊使用新範式:平臺和技術
7.3 本章小結
第8章動手實戰:使用MLflow和運行時優化實現MVP
8.1 日誌記錄:代碼、指標和結果
8.1.1 MLflow跟蹤
8.1.2 不要通過打印記錄日誌
8.1.3 版本控制、分支策略和與他人合作
8.2 可伸縮性和並發性
8.2.1 什麼是並發
8.2.2 哪些內容可以(或不可以)異步運行
8.3 本章小結
第Ⅱ部分為投產做準備:創建可維護的機器學習項目
第9章機器學習中的模塊化:編寫可測試且易讀的代碼
9.1 單片腳本及其缺點
9.1.1 “巨石”是如何形成的
9.1.2 文本牆
9.1.3 單片腳本的註意事項
9.2 調試文本牆
9.3 對機器學習代碼進行模塊化設計
9.4 機器學習的測試驅動開發
9.5 本章小結
第10章編碼標準和創建可維護的機器學習代碼
10.1 機器學習的代碼異味
10.2 命名、結構和代碼體系結構
10.2.1 命名約定和結構
10.2.2 別耍小聰明
10.2.3 代碼體系結構
10.3 元組解包和可維護的替代方案
10.3.1 元組解包示例
10.3.2 元組解包的可靠替代方案
10.4 對問題視而不見:“飲食異常”和其他不良做法
10.4.1 精準使用try/catch
10.4.2 精心設計的異常處理
10.4.3 正確處理錯誤
10.5 使用全局可變對象
10.5.1 易變性會如何傷害你
10.5.2 封裝以防止可變性帶來的副作用
10.6 過多的嵌套的邏輯
10.7 本章小結
第11章模型測量及其重要性
11.1 測量模型歸因
11.1.1 測量預測性能
11.1.2 明確相關性與因果關係
11.2 利用A/B檢驗進行歸因計算