如何從機器學習數據中獲取更多收益

摘要: 本文講解一些關於機器學習數據集的小技巧,分享我的經驗,可供讀者參考。算法

對於深度學習而言,合適的數據集以及合適的模型結構顯得相當重要。選擇錯誤的數據集或者錯誤的模型結構可能致使獲得一個性能不佳的網絡模型,甚至可能獲得的是一個不收斂的網絡模型。這個問題沒法經過分析數據獲得很好的解決,只能是經過一次次的製做數據集、搭建模型並進行仿真實驗才能發現如何最好地利用數據集以及選取什麼樣的模型結構。
本文講解一些有關於數據集的實用知識,經過本文你將瞭解如下三點:網絡

  • 探索可能的模型框架;
  • 開發一套「視圖」對輸入數據進行系統測試;
  • 特徵選擇、特徵工程和數據準備中的想法能夠對問題產生更多的觀點;

1.問題框架

用多種方法建模預測問題。
問題的框架是指:框架

  • 輸入
  • 輸出
  • 問題的類型

好比機器學習

  • 可使用更多或更少的數據做爲模型的輸入嗎?
  • 能夠預測其它的東西嗎?
  • 能把問題轉換爲迴歸/分類/序列等問題嗎?

 越有創造力,思考得就越全面。在這個過程當中,能夠借鑑一些其它項目、論文和領域中的想法,或者是展開頭腦風暴等。在以前的博客《如何定義你的機器學習問題》中,我總結了一些框架,可供讀者參考。性能

2.收集更多的數據

 數據越多越好,只要是與預測結果相關的數據都是能夠的。由於對於某個具體任務而言,不清楚多少數據量纔算合適。數據是開發模型期間使用的貨幣!
數據通常花費在如下任務上:學習

  • 模型訓練;
  • 模型評價;
  • 模型調優;
  • 模型驗證;

 此外,對於一個新項目而言,沒有實際經驗可供參考,一切都得本身摸索,這個時候就得將數據收集齊全,以便後續足夠實驗階段使用。測試

3.研究數據

將可以想到數據均可視化,從各個角度來看收集的數據。阿里雲

  • 查看原始數據會有所幫助;

查看彙總統計會有所幫助;

數據可視化頗有用,將更加的形象化以便可以瞭解更多的知識;
  對於原始數據處理和彙總統計、數據可視化而言,能夠在上面花費不少的時間。這些工做能夠幫助你更好地瞭解數據,從而更好地選擇、設計相應的模型。翻譯

4.訓練數據樣本大小

 使用少許的數據樣本作敏感性分析,看看實際須要多少數據,可參考博客《機器學習中訓練須要多少樣本》。此外,不要認爲訓練數據越多越好,適合的纔是最好的。所以,須要作到如下兩點:設計

設計實驗以瞭解模型性能隨着樣本的大小發生怎樣的變化
使用統計數據來了解趨勢是如何隨樣本大小的變化而變化的
基於以上兩點才能對模型性能曲線有所瞭解。

5.特徵選擇

 建立許多不一樣的輸入特徵視圖並對其測試,由於咱們不知道哪些變量對預測模型問題有所幫助。

能夠假設猜測;
可使用某個領域專家的建議;
能夠借鑑來自特徵選擇方法的建議;
 以上全部的這些都是猜想,須要具體實驗驗證。
設計實驗並仔細測試和比較各個特徵視圖,經過實驗數據來告訴咱們哪些特徵和哪些視圖是最具表明性的。有關特徵選擇的更多內容,可參考博客《特徵選擇導論》。

6.特徵工程

 使用特徵工程在預測建模問題上建立附加的特徵和視圖。
例子包括:

日期/時間;
交易;
描述;
 將這些數據分解爲更簡單的附加組件特性,好比計數、標誌或其它元素等。儘量簡化建模過程。有關特徵工程的更多內容,可參考博客《發現特徵工程、如何設計特徵並利用好它》。
7.數據準備
 能夠用能想到的任何一種方式預處理數據,以知足算法的要求。預處理的方法有不少,好比特徵選擇、特徵工程以及在輸入特徵上建立附加視圖。經常使用的預處理操做好比:

歸一化輸入特徵;
標準化輸入特徵;
使輸入特徵變得平穩;
 應用所能想到的數據預處理方法,對問題創建新的觀點,並用一套或多套模型進行測試,看看性能如何。咱們的目標是發現數據的視圖,最佳地將映射問題的未知底層結構展示給學習算法。

 經過這篇文章,你將學到一些小的技巧,能夠最大限度地利用數據。具體而言,學到如下三點:

  • 探索可能的模型框架;
  • 須要開發一套「視圖」對輸入數據進行系統測試;
  • 特徵選擇、特徵工程和數據準備能夠對問題產生更多的觀點;

做者信息
Jason Brownlee,專一於機器學習教育、推廣我的主頁:https://machinelearningmaster...
本文由阿里云云棲社區組織翻譯。
文章原標題《How to Get the Most From Your Machine Learning Data》,譯者:海棠,審校:Uncle_LLD。
詳情請閱讀原文

相關文章
相關標籤/搜索