Hands-On Machine Learning with Scikit-Learn and Tensorflow 學習筆記(一)

  

一、機器學習概覽

本書假定你對機器學習幾乎一無所知。它的目標是給你實際實現能夠從數據中學習的程序所 需的概念,直覺和工具。

https://github.com/ageron/handson-ml 是 Jupyter notebooks上的代碼示例。

機器學習可以根據訓練時監督的量和類型進行分類。主要有四類:監督學習、非監督學習、 半監督學習和強化學習。

另一個用來分類機器學習的準則是,它是否能從導入的數據流進行持續學習批量和在線學習

另一種分類機器學習的方法是判斷它們是如何進行歸納推廣的。大多機器學習任務是關於預 測的。這意味着給定一定數量的訓練樣本,系統需要能推廣到之前沒見到過的樣本。對訓練 數據集有很好的性能還不夠,真正的目標是對新實例預測的性能。
有兩種主要的歸納方法:基於實例學習和基於模型學習

使用    Scikit-Learn    訓練並運行線性模型步驟:

  1. 研究數據
  2. 選擇模型
  3. 用訓練數據進行訓練(即,學習算法搜尋模型參數值,使代價函數最小)
  4. 最後,使用模型對新案例進行預測(這稱作推斷),但願這個模型推廣效果不差
     

機器學習的主要挑戰

  1. 訓練數據量不足
  2. 沒有代表性的訓練數據
  3. 低質量數據
  4. 不相關的特徵(特徵工程=特徵選擇+特徵提取+收集新數據創建新特徵。)
  5. 過擬合訓練數據
  6. 欠擬合訓練數據

回顧:

  • 機器學習是讓機器通過學習數據對某些任務做得更好,而不使用確定的代碼規則。
  • 有許多不同類型的機器學習系統:監督或非監督,批量或在線,基於實例或基於模型, 等等。
  • 在機器學習項目中,我們從訓練集中收集數據,然後對學習算法進行訓練。如果算法是 基於模型的,就調節一些參數,讓模型擬合到訓練集(即,對訓練集本身作出好的預 測),然後希望它對新樣本也能有好預測。如果算法是基於實例的,就是用記憶學習樣 本,然後用相似度推廣到新實例。
  • 如果訓練集太小、數據沒有代表性、含有噪聲、或摻有不相關的特徵(垃圾進,垃圾 出),系統的性能不會好。最後,模型不能太簡單(會發生欠擬合)或太複雜(會發生 過擬合)。

 

 

 


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章