對統計學習方法中的基礎概念和理論作一個總結。逐步更新。算法
內容摘自《統計學習方法》第一章,第一章內容基本全是重要內容,所以此篇部落格算是一個加入了本身理解思路的讀書筆記。網絡
1、統計學習方法包含哪幾種?函數
監督學習:用於學習的數據集都是輸入\輸出數據對(有標記的樣本),學習的任務是找到輸入與輸出的對應規則。主要用於分類、標註、迴歸分析。學習
非監督學習:用於學習的數據集只有輸入(未標記的樣本),學習的任務是對於數據進行分析,找到輸出。主要用於聚類。測試
半監督學習:是監督學習和非監督學習的結合,它主要考慮如何利用少許的標註樣本和大量的未標註樣本進行訓練和分類的問題,主要用於半監督分類、半監督迴歸、半監督聚類、半監督降維。優化
強化學習:簡單理解,學習者在學習過程當中不斷與環境交互,會從環境中獲得必定的獎賞,根據獎賞再不斷的學習,直到達到一個更優的策略。spa
2、統計學習三要素io
(1)在監督學習中,模型就是所要學習的條件機率分佈或決策函數function
(2)假設空間:包含全部可能的條件機率分佈或決策函數,能夠定義爲決策函數的集合或條件機率分佈族讀書筆記
(3)參數空間:包含決策函數或條件機率分佈模型中涉及的全部參數向量
二、策略
有了模型的假設空間,統計學習的目標在於從假設空間中選取最優模型,具體如何選擇,就是策略須要考慮的問題。
1)損失函數和風險函數
(1)損失函數(loss function)或代價函數(cost function)——度量模型一次預測的好壞
對於給定的輸入x,由模型f(X)給出相應的輸出,可是預測的輸出f(x)與真實值Y可能存在不一致,用一個損失函數或者代價函數來度量預測錯誤的程度。
損失函數L(Y,f(X))是預測值f(X)和真實值Y的非負實值函數。損失函數值越小,模型就越好
常見的損失函數:
a)0-1損失函數 L(Y,f(X)) = 1(Y<>f(X)) ; = 0(Y=f(X))
b)平方損失函數 L(Y,f(X)) = (Y-f(X))^2
c)絕對損失函數 L(Y,f(X)) = |Y-f(X)|
d)對數損失函數或對數似然損失函數 L(Y,f(X)) = -logP(Y|X)
(2)指望風險(指望損失)
理論上模型f(X)關於聯合分佈P(X,Y)的平均意義下的損失
(3)經驗風險(經驗損失)
模型f(X)關於訓練數據集的平均損失
(4)說明:
指望風險和經驗風險都是基於損失函數來求的
指望風險是模型關於聯合分佈的指望損失 —— 理論上的值
經驗風險是模型關於訓練樣本集的平均損失 —— 根據實際訓練集可求
根據大數定律,當樣本容量N趨於無窮時,經驗風險趨於指望風險,因此能夠用經驗風險估計指望風險
2)經驗風險最小化與結構風險最小化
(1)經驗風險最小化(ERM):ERM的策略認爲經驗風險最小的模型是最優的模型 —— 極大似然估計(某些條件下)
求經驗風險函數的最小值
當樣本容量足夠大時,經驗風險最小化能保證有很好的學習效果
當樣本容量很小時,經驗風險最小化學習的效果未必很好,甚至會產生「過擬合」問題
(2)結構風險最小化(SRM):爲了防止過擬合而提出的策略 —— 等價於正則化
結構風險在經驗風險上加上表示模型複雜度的正則化項或罰項
求(經驗風險+模型複雜度)最小值
3)監督學習問題 ————> 經驗風險或結構風險最優化問題
三、算法
前兩個步驟,關注從假設空間中選擇最優模型,這一步則考慮如何求解最優模型
如前,監督學習問題——>最優化問題,此步驟關注如何找到最優解
3、模型評估與模型選擇
一、評估標準 —— 偏差
訓練偏差:模型關於訓練數據集的平均損失(經驗風險)
測試偏差:模型關於測試數據集的平均損失(經驗風險)
二、過擬合
當模型的複雜度增大時,訓練偏差會逐漸減少並趨向於0;而測試偏差會先減少,達到最小值後又增大。當模型複雜度過大時,過擬合現象就會發生。
學習時選擇的模型所包含的參數過多(複雜度太高),以至於出現這一模型對已知數據預測得很好,但對未知數據預測得不好的現象
三、模型選擇——正則化
正則化:正則化是結構風險最小化策略的實現,是在經驗風險上加一個正則化項或罰項
正則化項:通常是模型複雜度的單調遞增函數,模型越複雜,正則化值越大
正則化的做用是選擇經驗風險與模型複雜度同時較小的模型
四、模型選擇 —— 交叉驗證
若是給定的樣本數據充足,進行模型選擇的一種簡單方法是隨機地將數據集切成三部分,分別爲訓練集、驗證集和測試集。訓練集用來訓練模型,驗證集用於模型的選擇,測試集用於最終對方法的評估
可是因爲在許多實際應用中數據是不充分的,爲了選擇好的模型,能夠採用交叉驗證方法
(1)基本思想:重複的使用數據,把給定的數據進行切分,將切分的數據集組合爲訓練集和測試集,在此基礎上反覆地進行訓練、測試以及模型選擇
(2)簡單交叉驗證:將已給數據隨機分爲兩部分,分別用做訓練集和測試集
(3)S折交叉驗證:首先將已給數據隨機分爲S組;而後利用S-1個子集的數據訓練模型,剩餘1個子集測試模型;將這一過程對可能的S種選擇重複進行;最後選出S次評測中平均測試偏差最小的模型。
(4)留一交叉驗證:S折交叉驗證的特殊形式是S=N,其中N是給定數據集的容量,稱爲~
4、泛化能力
指由該方法學習到的模型對未知數據的預測能力
一、泛化偏差:
現實中,能夠經過測試偏差來評價學習方法的泛化能力(測試數據集的經驗風險),可是因爲測試數據集有限,因此從理論上進行分析:
用學習到的模型對未知數據預測的偏差即爲泛化偏差(測試數據集的指望風險)
二、泛化偏差上界
能夠理解爲泛化偏差的可能最大值,等於經驗風險+一個函數(參數是樣本容量和假設空間容量)
(1)泛化偏差上界是樣本容量的單調遞減函數,當樣本容量增長時,泛化上界趨於0
(2)泛化偏差上界也是假設空間容量的函數,假設空間容量越大,模型就越難學,泛化偏差上界就越大
5、生成方法和判別方法
監督學習方法能夠分爲生成方法和判別方法。所學到的模型分別稱爲生成模型和判別模型
1)生成方法
(1)由數據學習聯合機率分佈P(X,Y),而後求出條件機率分佈P(Y|X)做爲預測的模型,即生成模型:P(Y|X)=P(X,Y)/P(X)
之因此稱爲生成方法,是由於模型表示了給定輸入X產生輸出Y的生成關係
(2)典型的生成模型:樸素貝葉斯發和隱馬爾可夫模型
(3)優勢:能夠還原聯合機率分佈P(X,Y);學習收斂速度更快;存在隱變量時,仍能夠用生成方法學習
2)判別方法
(1)由數據直接學習決策函數f(X)或者條件機率分佈P(Y|X)做爲預測的模型,即判別模型
判別方法關心的是對給定的輸入X,應該預測什麼樣的輸出Y
(2)典型的判別模型:K近鄰、感知機、決策樹、邏輯斯蒂迴歸模型、最大熵模型、支持向量機、提高方法、條件隨機場等
(3)優勢:準確率更高;簡化學習問題
6、監督學習主要用於解決什麼問題?
一、分類問題
1)步驟:分類問題包含學習和分類兩個過程,主要用來進行分類。
(1)學習過程:根據已知的訓練數據集,利用有效的學習方法學習一個分類器。
(2)分類過程:利用學習到的分類器對新的輸入實例進行分類。
2)訓練集輸入輸出類型
(1)輸入:連續或者離散型變量
(2)輸出:有限的離散性變量
3)評價標準?
正類:關注的類;負類:其餘類
4)有哪些方法?
k近鄰、感知機、樸素貝葉斯、決策樹、決策列表、邏輯斯蒂迴歸、支持向量機、提高方法、貝葉斯網絡、神經網絡等
5)應用有哪些?
分類算法主要是用於分類,一般包括二分類和多分類兩種,多分類就是分類的類別有多個。
應用不少:文本分類、客戶類型分類等等,全部分類問題
二、迴歸問題
1)步驟:迴歸問題分爲學習和預測兩個過程,主要用來進行預測。
(1)學習過程:基於訓練數據集學習一個模型,即函數Y=f(X)
(2)預測過程:對於新的輸入x,根據學習模型,肯定相應的輸出y
迴歸問題的學習等價於函數擬合,選擇一條函數曲線使其很好地擬合已知數據且很好地預測未知數據
2)訓練集輸入輸出類型:
輸入:連續型變量
輸出:連續型變量(與分類不一樣)
3)有哪些種類
(1)按照輸入變量的個數,能夠分爲一元迴歸和多元迴歸
(2)按照輸入變量和輸出變量之間的關係類型,能夠分爲線性迴歸(函數是一條直線)和非線性迴歸(函數是一條曲線)
三、標註問題
1)步驟:分爲學習和標註兩個過程,主要用來對觀測序列給出標記序列
(1)學習過程:根據訓練集,學習獲得一個條件機率分佈模型
(2)標註過程:對新的輸入觀測序列,根據學習獲得的機率分佈模型,找到相應的輸出標記序列
2)訓練集輸入輸出類型:
(1)輸入類型:一個觀測序列
(2)輸出類型:一個標記序列或狀態序列
3)評價指標:標註準確率、精確率、召回率
4)經常使用的統計學習方法:隱馬爾可夫模型、條件隨機場
5)應用:信息抽取、天然語言處理(詞性標註)