《Python 機器學習》筆記(一)
賦予計算機學習數據的能力
涵蓋:
1.機器學習的一般概念
2.機器學習方法的三種類型和基本術語
3.成功構建機器學習系統所需的模塊
機器學習的三種不同方法
1.監督學習
2.無監督學習
3.強化學習
通過監督學習對未來事件進行預測
監督學習的主要目的是使用有類標的訓練數據構建模型,我們可以使用訓練得到的模型對未來數據進行預測。此外,術語監督是指訓練數據集中的每個樣本均有一個已知的輸出項(類標label)
1.利用分類對類標進行預測
分類是監督學習的一個子類,其目的是基於對過往類標已知示例的觀測與學習,實現對新樣本類標的預測。這些類標是離散的、無序的值,他們可以視為樣本的組別信息。
2.使用回歸預測連續輸出值
通過強化學習解決交互式問題
強化學習的目標是構建一個系統(Agent),在與環境(environment)交互的過程中提高系統的性能。環境的當前狀態信息中通常包含一個反饋(reward)信號,我們可以將強化學習視為與監督學習相關的一個領域。然而,在強化學習中,這個反饋值不是一個確定的類標或者連續類型的值,而是一個通過反饋函數產生的對當前系統行為的評價。通過與環境的交互,Agent可以通過強化學習來得到一系列行為,通過探索性的試錯或者借助精心設計的激勵系統使得正向反饋最大化。
通過無監督學習發現數據本身潛在的結構
1.通過聚類發現數據的子群
2.數據壓縮中的降維
構建機器學習系統的藍圖
1.數據預處理
為了盡可能發揮機器學習算法的性能,往往對原始數據的格式等有一些特定的要求,但原始數據很少能達到此標準。因此,數據預處理是機器學習應用過程中必不可少的重要步驟之一。
某些屬性間可能存在較高的關聯,因此存在一定的數據冗余。在此情況下,使用數據降維技術將數據壓縮到相對低維度的子空間是非常有用的。數據降維不僅能夠使得所需的存儲空間更小,而且還能夠使學習算法運行得更快。
2.選擇預測模型類型並進行訓練
目前已經有多種不同大的機器學習算法用來解決不同的問題。“天下沒有免費的午餐”中,我們可以總結出重要的一點:我們無法真正免費使用學習算法。舉例來說:任何分類算法都有其內在的局限性,如果我們不對分類任務預先做一些設定,沒有任何一個分類模型會比其他模型更具優勢。
3.模型驗證與使用未知數據及進行預測
在使用訓練數據集構建出一個模型之後,可以采用測試數據集對模型進行測試,預測該模型在未知數據上的表現並對模型的泛化誤差進行評估。如果我們對模型的評估結果表示滿意,就可以使用此模型對以後新的未知數據進行預測。有一點需要註意,之前所提到的特征縮放、降維等步驟中所需的參數,只可以從訓練數據集中獲取,並能夠應用於測試數據集及新的數據樣本,但僅在測試集上對模型進行性能評估或許無法偵測模型是否被過度優化。
《Python 機器學習》筆記(一)