统计学习-方法论
統計學習即是基于數據構建概率統計模型并運用模型對數據進行預測與分析的一種方法, 是機器學習的一個分支.
監督學習: 從給定的有限訓練數據集合出發, 假設數據是獨立同分布產生的, 并且假設要學習的模型屬于某個函數的集合, 稱為假設空間, 應用某個評價準則, 從假設空間中選取一個最優的模型, 使它對已知訓練數據及未知測試數據在給定的評價準則下有最優的預測, 最優模型的選取由算法實現. 其包括三要素模型的假設空間(模型), 模型選擇的準則(策略), 模型學習的算法(算法).
監督學習步驟:
在監督學習中, 將輸入與輸出所有可能取值的集合稱為輸入空間與輸出空間, 二者可以是有限元素的集合, 也可以是整個歐氏空間, 可以是同一個空間, 也可不同, 通常輸出空間遠遠小于輸入空間
每個具體的輸入是一個實例(instance), 通常由特征向量表示, 所有的特征向量存在的空間稱為特征空間. 與輸入空間可能會有一定的映射關系, 模型實際上都是定義在特征空間上的.
輸入\(X\)是實例的輸入\(x\)的集合, 每個實例都有一個輸出\(y\)(和整個算法的輸出不同), 訓練數據\(T\)是實例的集合. 通常\(x\)是一個特征向量, 表示為:
\begin{align} x = (x^{(1)}, x^{(2)}, \cdots, x^{(n)})^T\end{align}
\(T\)用訓練數據的輸入和輸出的數值對進行表示:
\begin{align} T = \{(x_1, y_1), (x_2, y_2), \cdots, (x_N, y_N)\} \end{align}
回歸問題: 輸入與輸出均為連續變量的預測問題
分類問題: 輸出變量為有限個離散變量的預測問題
標注問題: 輸入與輸出變量均為變量序列的預測問題
聯合概率分布: 監督學習假設輸入與輸出的隨機變量\(X\)和\(Y\)遵循聯合概率分布\(P(X, Y)\).
假設空間: 監督學習的模型可以是概率模型或者非概率模型, 由條件概率分布\(P(X|Y)\)或決策函數\(Y = f(X)\)表示.
模型: 是所要學習的條件概率分布或者決策函數, 其假設空間\(\mathfrak{F}\)包含所有可能的條件概率分布或決策函數.
\begin{align} \mathfrak{F} = \{f|Y=f(X)\}\end{align}
通常, \(\mathfrak{F}\)是一個由參數向量\(\theta\)決定的函數族:
\begin{align} \mathfrak{F} = \{f|Y=f_{\theta}(X), \theta \in \mathbf{R}^n\}\end{align}
或者是對應的條件概率分布族:
\begin{align} \mathfrak{F} = \{P|P_{\theta}(Y|X), \theta = \mathbf{R}^n\}\end{align}
策略: 以一個既定的準則從假設空間中選擇模型
損失函數: 假設空間中的決策函數\(f\)的實際輸出\(f(X)\)與實際訓練數據\(Y\)可能不一致, 損失函數\(L(Y, f(X))\)提示了這一不一致帶來的錯誤程度, 其值大于或等于0. 不同的模型中, 損失函數的形式可能不一致, 比如:
無論何種損失函數, 其值越小, 意味著模型越好, 對于聯合概率分布\(P(X, Y)\), 其期望稱為期望損失, 為 \begin{align}R_{exp}(f) = E_P[L(Y, f(X))] = \int_{X,Y}L(y,f(x))P(x,y)dxdy\end{align}
學習的目標是選擇期望風險最小的模型\(f(X)\), 但是對于未知\(P(X, Y)\), 其值無法直接計算. 給定一個訓練數據集\begin{align}T=\{(x_1, y_1), \cdots, (x_N, y_N)\}\end{align}, 模型\(f(X)\)關于訓練數據集的平均損失稱為經驗損失\(R_{emp}\), 為: \begin{align} R_{emp}(f) = \frac{1}{N} \sum_{i=1}^N L(y_i, f(x_i)) \end{align}
期望風險是模型關于聯合分布的期望損失, 經驗風險是模型關于訓練樣本集的平均損失, 當樣本容量\(N\)趨于無窮大時, 經驗損失收斂于期望損失. 但是通常\(N\)不夠大, 需要對經驗風險進行一定的矯正, 相應的方式有: 經驗風險最小化(ERM)和結構風險最小化(SRM).
ERM認為經驗風險最小的模型是最優的模型, 按照這一策略, 目標轉換為求解最優化問題 \begin{align} \min_{f \in \mathfrak{F}} \frac{1}{N} \sum_{i=1}^N L(y_i, f(x_i)) \end{align}. 當樣本足夠大時, 此策略能保證有很好的學習效果, 比如極大似然估計等. 但是在樣本容量較小時, 容易產生過過擬合問題.
SRM等價于正則化, 其目的是防止過擬合. 具體方法是在經驗風險上加上表示模型復雜度的正則化項(罰項), 稱為結構風險, 即: \begin{align} R_{srm}(f) = \frac{1}{N} \sum_{i=1}^N L(y_i, f(x_i)) + \lambda J(f) \end{align}. 其中\(J(f)\)為模型的復雜度, 是定義在假設空間\(\mathfrak{F}\)上的泛函, 與模型復雜度正相關. \(\lambda\)是大于0的系數. 比如貝葉斯估計中的最大執死雞仔概率估計(MAP)等. 此時求解目標轉換為\begin{align} \min_{f \in \mathfrak{F}} \frac{1}{N} \sum_{i=1}^N (L(y_i, f(x_i)) + \lambda N J(f)) \end{align}.
模型評估與模型選擇
訓練誤差: 針對訓練數據集\(T_N\)的平均損失\(R_{emp}(\hat{f})\)
測試誤差: 針對測試數據集\(T_{{N}'}\)的平均損失\(e_{test}\)
測試誤差小的方法具有更好的預測能力
過擬合: 如果一味追求提高對訓練數據的預測能力, 所選模型的復雜度則往往會比真模型更高. 例如對于多項式擬合, 對于\(N\)個訓練數據, \(f(x) = \sum_{i=0}^{N-1} a_i x^i\)可以做到0訓練誤差, 但是測試誤差通常會很大. 通常通過正則化或者交叉驗證的方法對選擇的模型進行評估.
正則化與交叉驗證
正則化: 即結構誤差最小化, 通過引入模型復雜度的罰項來正則化模型選取方式. 其作用是選擇經驗風險與模型復雜度同時較小的模型.
交叉驗證: 首先隨機地將已給數據分為兩個部分, 一部分作為訓練集, 一部分作為測試集, 然后用訓練集在各種條件下訓練模型, 從而得到不同的模型, 在測試庥上評價各個模型的測試誤差, 先出測試誤差最小的模型. 應用最多的是S折交叉驗證, 其方法是首先隨機地將已給數據切分為S個互不相交的大小相同的子集, 然后復雜S-1個子集的數據訓練模型, 利用余下的子集測試模型, 將這一過程對所有可能的S種選擇重復進行, 最后先出S次評測中平均測試誤差最小的模型. 其一種特殊情形是\(S=N\), 稱為留一交叉驗證.
泛化能力
泛化誤差: 即期望風險
泛化誤差上界: 是樣本容量的反相關函數
以二分類問題為例: 其訓練數據集為\(T_N\), 根據聯合概率分布\(P(X, Y)\)獨立同分布產生的, 輸入\(X \in \mathbf{R}^n\), 輸出\(Y \in \{-1, 1\}\), 假設空間\(\mathfrak{F} = \{f_1, f_2, \cdots, f_d\}\), 其經驗風險最小化函數\begin{align} f_N = \arg \min_{f \in \mathfrak{F}} \hat{R}(f)\end{align}. 其泛化誤差, 也就是期望風險存在一個概率(\(1-\delta\))上界, 有: \begin{align}R_{exp}(f) \leqslant \hat{R}(f) + \varepsilon(d, N, \delta) = \hat{R}(f) + \sqrt{\frac{1}{2N}\left(\log d + \log \frac{1}{\delta}\right)}\end{align}.
Hoeffding不等式: 設\(S_n = \sum_{i=1}^n X_i\)是獨立隨機變量集\(X\)的和, 對于任意\(t>0\), 有\begin{align} P(S_n - E S_n \geqslant t) &\leqslant \exp \left(\frac {-2 t^2}{\sum_{i=1}^n(b_i - a_i)^2}\right) \\ P(E S_n - S_n \geqslant t) &\leqslant \exp \left( \frac{-2 t^2}{\sum_{i=1}^n (b_i - a_i)^2}\right)\end{align}.
生成模型與判別模型
生成方法: 由數據學習聯合概率分布\(P(X, Y)\), 然后求出條件概率分布\(P(Y|X)\)作為預測的模型, 即生成模型: \begin{align} P(Y|X) = \frac{P(X, Y)}{P(X)}\end{align}. 其表示了給定輸入\(X\)產生輸出\(Y\)的生成關系. 可以還原出聯合概率分布\(P(X, Y)\), 收斂速度快, 并且可用于存在隱變量的場合.
判別方法: 由數據直接學習決策函數\(f(X)\)或者條件概率分布\(P(Y|X)\)作為預測模型. 其關心的是對給定的輸入\(X\), 應該預測什么樣的輸出\(Y\), 而不在于二者之前的生成關系. 其準確率更高, 可以對數據進行各種程序上的抽象, 簡化過程.
分類問題
輸出\(Y\)是有限離散集合的預測問題, 評價模型的指標是分類準確率, 也就是采用0-1損失函數的準確率.
二分類(-1, 1)部分的評價指標是精確率與召回率, 通常以關注的類為正類, 其它類為負類, 分類器在測試數據集上的預測或正確或不正確, 有四種情況:
- T(true)P(positive) 1 -> 1, 正確
- F(false)N(negative) 1 -> -1, 不正確
- FP -1 -> 1, 不正確
- TN -1 -> -1, 正確
精確率為預測為正類的正確率: \begin{align} P=\frac{TP}{TP+FP}\end{align}
召回率為正類的預測正確率: \begin{align} R=\frac{TP}{TP+FN} \end{align}
定義精確率和召回率的調和均值 \begin{align}\frac{2}{F_1} = \frac{1}{P} + \frac{1}{R} \end{align}
標注問題
輸入是一個觀測序列, 輸出是一個標記序列或狀態序列. 目標在于學習一個模型, 使它能夠對觀測序列給出標記序列作為預測. 其含義為對輸入的特征向量的每個元素進行標記得出一個輸出向量, 也就是說, 其輸入實例\(x\)和輸出\(y\)的維度是一樣的, 而不同的輸入實例其特征向量維度不一定相同. 比如對英文句子中的單詞進行詞性標注. 句子是一個輸入實例\(x\), 句子包含的單詞是特征向量的元素\(x^{(i}}\), 輸出為每個單詞的詞性\(y\), 其元素個數應該與單詞數量相等, 或者有對應關系. 訓練數據或者測試數據應該包含若干個句子. 不同的句子的單詞數量不一定相同, 也就是維度不同.
回歸問題
用于預測輸入變量和輸出變量之間的關系, 等價于函數擬合, 常用損失函數為平方損失函數, 以最小二乘法求解.
轉載于:https://www.cnblogs.com/kcats/p/statistics-learning-theory.html
總結
- 上一篇: git使用(一)----git安装
- 下一篇: 2057. [ZLXOI2015]殉国