機器學習應用開發步驟和學習型別
開發機器學習應用時,可以嘗試不同的模型演算法,採用不同的方法對資料進行處理,這個過程十分靈活,但也並非無章可循。
1. 定義問題
先明確需要解決的是什麼問題。在實際應用中,很多時候我們得到的並非是乙個明確的機器學習任務,而只是乙個需要解決的問題。
3. 資料清洗
通過資料採集得到的原始資料可能並不規範,需對資料進行清洗才能滿足使用需求。
如:去掉資料集中的重複資料、雜訊資料,修正錯誤資料等,最後將資料轉換為需要的格式,以方便後續處理。
4. 特徵選擇與處理
特徵選擇是在原始特徵中選出對模型有用的特徵,去除資料集中與模型**無太大關係的特徵。
通過分析資料,可以人工選擇貢獻較大的特徵,也可以採用類似pca等演算法進行選擇。
對特徵進行相應處理,如對數值型特徵進行標準化,對類別型特徵進行one-hot編碼等。
5. 訓練模型
特徵資料準備完成後,即可根據具體任務選擇合適的模型並進行訓練。對於監督學習,一般會將資料集分為訓練集和測試集,通過訓練集訓練模型引數,然後通過測試集測試模型精度。而無監督學習則不需對演算法進行訓練,而只需通過演算法發現資料的內在結構,發現其中的隱藏模式即可。
6. 模型評估與調優
不管是監督學習還是無監督學習,模型訓練完畢後都需要對模型結果進行評估。
監督學習可採用測試集資料對模型演算法精度進行評估。
無監督學習也需採用相應的評估方法檢驗模型的準確性。
若模型不滿足要求,則需要對模型進行調整、訓練、再評估,直至模型達到標準。
7. 模型使用
調優之後得到的最優模型一般會以檔案的形式儲存起來(tensorflow的以.h5檔案儲存模型),應用時可直接載入使用。
機器學習應用載入模型檔案,將新樣本的特徵資料輸入模型,由模型進行**,得到最終**結果。
機器學習型別
監督學習(supervised learning)、無監督學習(unsupervised learing)、半監督學習(semi-supervised learning)、強化學習(rein-forcement learning)。
1. 監督學習
這裡的「監督」指的是輸入的資料樣本均包含乙個明確的標籤或輸出結果(label),如前述購票**系統中的「購票」與「未購票」,即監督學習知道需要**的目標是什麼。
監督學習如同有乙個監督員,監督員知道每個輸入值對應的輸出值是什麼,在模型學習的過程中,監督員會時刻進行正確的指導。
2. 無監督學習
無監督學習輸入的資料樣本不包含標籤,只能在輸入資料中找到其內在結構,發現資料中的隱藏模式。
在實際應用中,並非所有的資料都是可標註的,有可能因為各種原因無法實現人工標註或標註成本太高,此時便可採用無監督學習。
無監督學習最典型的例子是聚類。
3. 半監督學習
半監督學習是訓練資料中有少部分樣本是被標記的,其他大部分樣本並未被標記。
半監督學習可以用來進行**,模型需要先學習資料的內在結構,以便得到更好的**效果。
4. 強化學習
強化學習是智慧型體(agent)採取不同的動作(action),通過與環境的互動不斷獲得獎勵指導,從而最終獲得最大的獎勵。
監督學習中資料標記的標籤用於檢驗模型的對錯,並不足以在互動的環境中學習。
而在強化學習下,互動資料可以直接反饋到模型,模型可以根據需要立即做出調整。
強化學習不同於無監督學習,因為無監督學習旨在學習未標記資料間的內在結構,而強化學習的目標是最大化獎勵。
機器學習應用開發典型步驟
一 資料清洗 統一同類資料的單位,去掉重複資料及雜訊資料。使得資料具備結構化特徵,方便作為機器學習演算法的輸入。二 特徵選擇 從所有的特徵值中,逐個分析選擇合適的特徵集合作為輸入。方法 1 人工選擇 2 pca演算法 三 模型選擇 根據問題領域 資料量大小 訓練時長 模型準確度等多方面因素決定模型的...
機器學習 機器學習的動機和應用
網易公開課學習筆記 機器學習的定義 arthur samuel 在不直接針對問題進行程式設計的情況下,賦予計算機學習能力的乙個研究領域 讓計算機學會如何下棋,並超過自己 tom mitchell 給計算機乙個任務t和效能測試方法p,如果在經驗e的影響下,p對t的測量結果得到了改進,我們說程式從e中得...
機器學習應用的一般步驟
在我們準備用機器學習構建乙個分類器來處理實際問題時,還需要做些其他的準備工作 1.根據你的問題選擇一種合適的機器學習方法,因為每種機器學習的演算法都有各自不同的特點,能適應的場景也不同,所以選擇合適的機器學習方法事半功倍。2.根據你的問題選擇合適的特徵來進行分析,因為事物之間都有自己的特徵,選擇好事...