機器學習入門報告之 解決問題一般工作流程
對於給定的資料集和問題,用機器學習的方法解決問題的工作一般分為4個步驟:
一. 資料預處理
首先,必須確保資料的格式符合要求。使用標準資料格式可以融合演算法和資料來源,方便匹配操作。此外還需要為機器學習演算法準備特定的資料格式。
然後,直接得到的資料集很少可以直接使用,可能有以下原因:
1. 樣本某些屬性缺失
2. 某些樣本未標記
3. 樣本屬性過多
4. 沒有分出訓練集和測試集
5. 不同類別訓練樣例比例相差太大
對於1,2這樣的情況,在該類樣本數較少的情況下一般通過刪除該類無效樣本來清洗資料。
對於3
·過多的特徵可能誤導學習器
·更多的特徵意味著更多的引數需要調整,過擬合的風險加大
·資料的視覺化要求維度不高於3
·維度越少訓練越快,可嘗試的東西越多,能得到更好地效果
·資料的維度可能虛高。
解決方法就是降維,降維分為特徵選擇法和特徵抽取法。
特徵選擇法:
所謂特徵選擇,就是選擇樣本中有用、跟問題相關的特徵。事實上並不一定樣本的所有屬性對具體問題都是有用的,通過一定的方法選擇合適的特徵可以保證模型更優。常用的方法大致分三類:過濾式、包裹式和嵌入式。
特徵抽取法:
特徵抽取試圖將原始特徵空間轉換成一個低維特徵空間而不丟失主要資訊。無法使用選擇方法來刪除特徵,而特徵又太多的時候,這種方法很有效。我們可以通過主成分分析PCA和線性判別式分析和多維標度法來驗證。
對於4,為了方便訓練和驗證模型好壞,資料集一般會以9:1或者其他合適比例(比例選擇主要基於實際問題)分為測試集和驗證集。如果給定的資料集只是已經標記好的樣本,那麼劃分時必須保證資料集和測試集的分佈大致均勻。
對於5,即類別不均衡問題,處理的一個基本策略是—再縮放。
二. 選定演算法
一種方式是根據有沒有標記樣本考慮。
如果是有標記樣本,可以考慮有監督學習,反之則是無監督學習。
無監督學習方法主要是聚類。隨機選定幾個樣本,通過一定的演算法不停迭代直至收斂或者達到停止條件,然後便將所有樣本分成了幾類。
對有監督學習而言,根據最終所需要的輸出結果
如果是分類問題,可以參考的模型有線性迴歸及其非線性擴充套件、決策樹、神經網路、支援向量機SVM、規則學習等
如果是迴歸問題,可以認為是分類的連續形式,方法便是以上模型的變種或擴充套件
如果涉及到概率,可以參考的有神經網路、貝葉斯、最大似然、EM、概率圖、隱馬爾科夫模型、強化學習等
三. 訓練演算法
將格式化資料輸入到演算法,從中抽取知識或資訊。這裡的得到的知識需要儲存為計算機可以處理的格式,方便後續使用。
四. 效能評估和優化
如果要評估訓練集和測試集的劃分效果,常用的有留出法、交叉驗證法、自助法、模型調參等
如果模型計算時間太長,可以考慮剪枝
如果是過擬合,則可通過引入正則化項來抑制(補償原理)
如果單個模型效果不佳,可以整合多個學習器通過一定策略結合,取長補短(整合學習)