1.定義問題,收集資料集首先,你必須定義所面對的問題,只有擁有可用的訓練資料,你才能學習**某件事情。因此,資料可用性通常是這-階段的限制因素。其次,你面對的是什麼型別的問題?是二分類問題、多分類問題、標量回歸問題、向量回歸問題,還是多分類、多標籤問題?或者是其他問題,比如聚類、生成或強化學習?確定問題型別有助於你選擇模型架構、損失麗數等。只有明確了輸入、輸出以及所使用的資料,你才能進入下一-階段。在開發出工作模型之前,這些只是假設,等待驗證真假。並非所有問題都可以解決。你收集了包含輸人x和目標y的很多樣例,並不意味著x包含足夠多的資訊來**y。
2.選擇衡量 成功的指標要控制一件事物,就需要能夠觀察它。要取得成功,就必須給出成功的定義:精度,準確率和召回率,客戶保留率,衡量成功的指標將指引我們選擇損失函式,即模型要優化什麼。對於平衡分類問題(每個類別的可能性相同)精度和接收者操作特徵曲線下面積的指標,是常用的指標,對於類別不平衡的,可以用準確率和召回率。
3.確定評估方法一且明確了目標, 你必須確定如何衡量當前的進展。有三種常見方法:
(1)留出驗證集。資料量很大時可以採用這種方法。(2)k折交叉驗證。如果留出驗證的樣本量太少,無法保證可靠性, 那麼應該選擇這種方法。
(3)重複的k折驗證。如果可用的資料很少,同時模型評估又需要非常準確,這種方法。
4.準備資料一且知道了要訓練什麼、要優化什麼以及評估方法,那麼你就幾乎已經準備好訓練模型了。但首先你應該將資料格式化,使其可以輸人到機器學習模型中(這裡假設模型為深度神經網路) 5.開發比基準更好的模型這一階段的目標是獲得統計功效( statistical power), 即開發乙個小型模型,它能夠打敗隨機的基準( dumb baseline)。
6.擴大模型規模: 開發過擬合的模型
(1)新增更多的層。
(2)讓每一 層變得更大。
(3)訓練更多的輪次。
7.模型正則化與 調節超引數
(1)新增dropout。
(2)嘗試不同的架構:增加或減少層數。
(3)新增l1和/或l2正則化。
(4)嘗試不同的超引數(比如每層的單元個數或優化器的學習率),以找到最佳配置。
機器學習中的通用工作流程
想 什麼?有哪些資料可用?是否需要收集更多的資料?是否需要人工標註?尋找能夠可靠評估目標成功的方法。為任務設計不同的評價指標,如針對簡單任務,可以用 精度。準備用於評估模型的驗證過程,即定義訓練集 驗證集 測試集。驗證集和測試集的標籤不應洩露到訓練資料中。如針對時序 驗證資料和測試資料的時間都應在訓...
方法 機器學習 深度學習 通用工作流程
deep learning with python 4.5節 首先,你必須定義你手頭的問題 當然,這僅僅只是假設,直到你有乙個確切的模型,這些假設才能被驗證或者被否定。並非所有問題都能解決。只是因為你僅僅收集了一些輸入x和目標y,這並不意味著x包含足夠的資訊去 y。舉個例子,如果你試圖通過 的歷史 ...
機器學習的工作流程
打造乙個機器學習的應用程式,從工作流程方面熟悉整體的步驟,對後面深入學習有很大的幫助。整個過程有六個步驟 機器學習中的資料,可以來自不同的資料來源,可能是csv檔案,也可能是從伺服器拉取出來的日誌,或者是自己構建的web爬蟲。獲取了資料,下一步進行合理地檢查資料,最好的方法是發現不可能或幾乎不可能的...