1. 程式人生 > >機器學習:項目流程

機器學習:項目流程

pan 嘗試 模型 重要 www 很多 spa 嚴重 代表性

原文出處:機器學習項目流程

原文作者wxquare

1. 理解實際問題,抽象為機器學習能處理的數學問題

理解實際業務場景問題是機器學習的第一步,機器學習中特征工程和模型訓練都是非常費時的,深入理解要處理的問題,能避免走很多彎路。

  1. 明確可以獲得的數據,機器學習的目標是分類、回歸還是聚類。如果都不是的話,考慮將它們轉變為機器學習問題。參考機器學習分類能幫助從問題提煉出一個合適的機器學習方法。

2. 獲取數據

  • 獲取數據包括獲取原始數據以及從原始數據中經過特征工程從原始數據中提取訓練、測試數據。
  • 機器學習比賽中原始數據都是直接提供的,但是實際問題需要自己獲得原始數據。
  • “ 數據決定機器學習結果的上限,而算法只是盡可能的逼近這個上限”。
  1. 數據要有具有“代表性”,對於分類問題,數據偏斜不能過於嚴重,不同類別的數據數量不要有數個數量級的差距。
  2. 評估數據的量級:樣本數量、特征數量,估算訓練模型對內存的消耗。如果數據量太大可以考慮減少訓練樣本、降維或者使用分布式機器學習系統。

3. 特征工程

  • 特征工程是非常能體現一個機器學習者的功底的。深入理解實際業務場景下的問題,豐富的機器學習經驗能幫助我們更好的處理特征工程。特征工程做的好能發揮原始數據的最大效力,往往能夠使得算法的效果和性能得到顯著的提升,有時能使簡單的模型的效果比復雜的模型效果好。數據挖掘的大部分時間就花在特征工程上面,是機器學習非常基礎而又必備的步驟。
  1. 從原始數據中特征構建、特征提取、特征選擇。
  2. 數據預處理、數據清洗、篩選顯著特征、摒棄非顯著特征等。

4. 模型訓練、診斷、調優

  • 真正考驗水平的根據是對算法的理解調節參數,使模型達到最優。
  • 模型診斷中至關重要的是判斷過擬合、欠擬合,常見的方法是繪制學習曲線,交叉驗證
  1. 通過增加訓練的數據量、降低模型復雜度來降低過擬合的風險;
  2. 提高特征的數量和質量、增加模型復雜來防止欠擬合。
  3. 診斷後的模型需要進行進一步調優;
  4. 調優後的新模型需要重新診斷,這樣反復叠代不斷逼近的過程,需要不斷的嘗試,進而達到最優的狀態。

5. 模型驗證、誤差分析

  • 通過測試數據,驗證模型的有效性;
  1. 觀察誤差樣本,分析誤差產生的原因。
  2. 誤差分析主要是分析出誤差來源與數據、特征、算法。

6 . 模型融合(模型集成)

  • 提升算法準確度的主要方法是模型的前端(特征工程、清洗、預處理、采樣)和後端的模型融合。
  • 一人一票的統一融合、線性融合、堆融合。

機器學習:項目流程