--- tags: 機器學習,介紹 --- # 機器學習 第一章 介紹 ## 一、定義 ### 機器學習是人工智慧的一個分支 ### 機器學習是實現人工智慧的一個途徑,即以機器學習為手段解決人工智慧中的問題 ![](https://i.imgur.com/SxSaXyA.jpg) ## 二、種類 ### (一)監督式學習 #### 由訓練資料中建立一個模型(函數 / learning model),並依此模型推測新的實例。 ### (二)非監督式學習 #### 沒有給定事先標記過的訓練範例,自動對輸入的資料進行分類或分群 ### (三)半監督式學習 #### 是指給定的資料集只有部分資料事先標記過。可使用有標記的資料訓練模型,使用沒標記的資料改善類別間的界線。 ### (四)強化式學習 #### 無法事先標記,只能在機器作出反應時用處罰及獎勵的方式讓機器知道對或錯。 ## 三、特徵(Feature) ### (一)定義 #### 數據反映出規律的訊息 ### (二)舉例 #### 1、向可貸款的金額,特徵可能跟申請人有關『年收入』『職業』。 #### 2、寶可夢進化後CP值,特徵可能寶可夢『進化前CP』、『進化前HP』。 ## 四、評測 ### (一)通常將Data分為訓練集與測試集,兩個集合互斥。 ### (二)若發現訓練資料比測試資料好很多,可能是發生『過適overfitting』的狀況。 ### (三)解決方法 #### 1、蒐集更多訓練資料 #### 2、正規化,對於複雜模型進行懲罰 #### 3、比較少的參數做比較簡單的模型 #### 4、減少數據維度 #### 5、選擇其他有意義的特徵 ## 五、Python從事機器學習 ### (一)選擇原因 #### 因為Python有許多功能強大的程式庫,許多函式可以幫助我們更有效解決問題。 ### (二)常用程式庫 #### 1、Numpy ##### 支援高階大量的維度陣列與矩陣運算,此外也針對陣列運算提供大量的數學函式函式庫。 #### 2、Matplotlib ##### matplotlib是Python語言及其數值計算庫NumPy的繪圖庫。 #### 3、Scikit-lrarn ##### 機器學習庫,它的特徵是具有各種分類、回歸和聚類算法,包括支持向量機、隨機森林、梯度提升、k-平均聚類和DBSCAN。 #### 4、Pands ##### 數據操縱和分析的軟體庫。特別是它提供操縱數值表格和時間序列的資料結構和運算操作。