機器學習導論(二):數據集、分類、三要素

機器學習

機器學習概念

以數據集(dataset)爲例
每一行的數據叫做樣本數據;
除最後一列標籤列外,每一列的數據叫特徵或屬性;
最後一列叫標籤列,樣本所屬類別;
屬性(特徵)空間是由多個特徵張成的屬性空間;
標記:c(x),實例類別的標記
特徵向量:屬性的集合,通常用一個向量來表示,附屬於一個實例,構成特徵空間的每一行的特徵數據;
訓練集/訓練樣例:用來進行訓練,即產生模型或算法的數據集
訓練數據:由輸入X(特徵)和輸出Y(標籤)構成;
訓練過程:從數據中學的模型的過程叫做學習或訓練;
訓練過程中使用的數據叫做訓練數據;
測試集/測試樣例:通常只知道特徵,用來進行預測,專門進行測試已經學習好的模型或者算法的數據集
測試樣本:被預測的樣本數據,由測試數據和類標籤構成;
測試數據:僅有輸入的X構成,根據模型得到預測Label信息;
預測:學習完模型之後,由測試數據代入模型進行預測,得到預測值

  • 預測值和真實值的差距的評判標準:
    錯誤率:錯誤樣本數佔總體樣本的比例;
    準確率:1-錯誤率;
    誤差:模型的實際輸出和真實值的差距;
    訓練誤差:學習器在訓練樣本上的誤差;
    泛化誤差:學習器在新的樣本上的誤差

  • 機器學習步驟框架:
    1.把數據拆分爲訓練集和測試集
    2.用訓練集和訓練集的特徵向量來訓練算法
    3.用學習來的算法運用在測試集上來評估算法 (可能要設計到調 整參數(parameter tuning)–(驗證集(validation set))

分類

分類(classification):目標標記爲類別型數據(category)
迴歸(regression):目標標記爲連續性數值(continuous numeric value)

初識機器學習分類

  • 有監督學習(supervised learning): 訓練集有類別標記(class label)
  • 無監督學習(unsupervised learning): 無類別標記(class label)
  • 半監督學習(semi-supervised learning):有類別標記的訓練集 + 無 標記的訓練集
  1. 監督學習
    監督(supervised)是指訓練數據集中的每個樣本均有一個已知的輸出項(類標籤label)。輸出變量爲連續變量的預測問題稱爲迴歸(regression)問題(例如房價預測),常見的迴歸算法有簡單線性迴歸、多元線性迴歸、Lasso迴歸、Ridge迴歸、ElasticNet;輸出變量爲有限個離散變量的預測問題稱爲分類(classification)問題(例如垃圾郵件劃分),常見的分類算法有決策樹、KNN、SVM。

  2. 非監督學習
    人們給機器一大堆沒有分類標記的數據,讓機器可以對數據分類、檢測異常等。

  3. 半監督學習
    半監督學習就是提供了一條利用“廉價”的未標記樣本的途徑,將未標記數據和已標記數據混合起來,進行聚類,同一類的標記爲相同的標記,這樣就將未標記數據打上了標記。場景:電商網站根據評價給用戶推薦感興趣商品,有的用戶對商品進行了評價,有的用戶並沒有評價。

  4. 強化學習
    是機器學習的一個重要分支,主要用來解決連續決策的問題。圍棋可以歸納爲一個強化學習問題,需要學習在各種局勢下如何走出最好的招法。

  5. 遷移學習
    常用來解決兩類問題:小數據的問題,個性化的問題。

三要素

機器學習=模型+策略+算法

模型

機器學習中,首先要考慮學習什麼樣的模型,在監督學習中,如模型(y=ax+b)就是要學習的內容。模型通常分爲決策函數或條件概率分佈。由決策函數表示的模型爲非概率模型,由條件概率分佈表示的模型是概率模型。

決策函數
F=fY=f(X),F=fY=fθ(X),θRnF= {f|Y=f(X)},F={f|Y=f_\theta(X),\theta \in R^n}
條件概率
F=PP(YX),F=PPθ(YX)θRnF= {P|P(Y|X)},F={P|P_\theta(Y|X)\theta \in R^n}

策略

評價模型的好壞用損失函數(目標函數),模型給出的值與實際真實值的差別,損失函數值越小,模型越好。常用的損失函數有如下幾種:0-1損失函數、平方損失函數、絕對損失函數、對數損失函數。
在這裏插入圖片描述
在這裏插入圖片描述
策略補充
在這裏插入圖片描述

  • 經濟風險
    在這裏插入圖片描述
    在這裏插入圖片描述
  • 結構風險
    在這裏插入圖片描述
    在這裏插入圖片描述

算法

機器學習的算法就是求解最優化問題的算法。可以利用已有的最優化算法,也可以開發獨自的最優化算法。

構建機器學習系統

在這裏插入圖片描述

模型選擇

泛化

在這裏插入圖片描述

模型具有好的泛化能力指的是:模型不但在訓練數據集上表現的效果很好,對於新數據的適應能力也有很好的效果。泛化能力的表現:過擬合和欠擬合。
過擬合overfitting:模型在訓練數據上表現良好,在未知數據或者測試集上表現差。
欠擬合underfitting:在訓練數據和未知數據上表現都很差。

過擬合

過擬合產生原因:可能是模型太過於複雜、數據不純、訓練數據太少等造成。

出現的場景:當模型優化到一定程度,就會出現過擬合的情況。

解決辦法:(1)重新清洗數據(2)增大訓練的數據量(3)採用正則化方法對參數施加懲罰:常用的有L1正則和L2正則(4)採用dropout方法,即採用隨機採樣的方法訓練模型,常用於神經網絡算法中。

欠擬合

欠擬合產生原因:模型過於簡單。

出現的場景:欠擬合一般出現在機器學習模型剛剛訓練的時候,也就是說一開始我們的模型往往是欠擬合也正是因爲如此纔有了優化的空間,我們通過不斷優化調整算法來使得模型的表達能力更強。

解決辦法:(1)添加其他特徵項:因爲特徵項不夠而導致欠擬合,可以添加其他特徵項來很好的解決。(2)添加多項式特徵:可以在線性模型中通過添加二次或三次項使得模型的泛化能力更強。(3)減少正則化參數,正則化的目的是用來防止過擬合的,但是現在模型出現了欠擬合,需要減少正則化參數。

奧卡姆剃刀原則

給定兩個具有相同泛化誤差的模型,較簡單的模型比較複雜的模型更可取(奧卡姆剃刀原則)。

評估

在這裏插入圖片描述
在這裏插入圖片描述

正則化

在這裏插入圖片描述
在這裏插入圖片描述

交叉驗證

在這裏插入圖片描述

簡單交叉驗證

隨機從最初的樣本中選擇部分,形成驗證數據,而剩下的當作訓練數據。一般來說,少於三分之一的數據被選作驗證數據。

10折交叉驗證

把樣本數據分成10份,輪流將其中9份做訓練數據,將剩下的1份當測試數據,10次結果的均值作爲對算法精度的估計,通常情況下爲了提高精度,還需要做多次10折交叉驗證。更進一步,還有K折交叉驗證,10折交叉驗證是它的特殊情況。K折交叉驗證就是把樣本分爲K份,其中K-1份用來做訓練建立模型,留剩下的一份來驗證,交叉驗證重複K次,每個子樣本驗證一次。

留一驗證

只使用樣本數據中的一項當作驗證數據,而剩下的全作爲訓練數據,一直重複,直到所有的樣本都作驗證數據一次。可以看出留一驗證實際上就是K折交叉驗證,只不過這裏的K有點特殊,K爲樣本數據個數。

機器學習庫

在這裏插入圖片描述

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