統計學習(statistical learning)是關於計算機基於數據構建機率統計模型並運用模型對數據進行預測與分析的一門學科,也稱爲統計機器學習(statstical machine learning)。於是咱們也能夠說統計學習是運用一系列工具對數據進行分析建模,故它的研究對象是數據,研究目的是預測與分析。從數據出發,提取數據的特徵,抽象出數據模型,發現數據中的知識,又回到數據中進行分析與預測(特別是對未知數據的預測與分析),是數據驅動的學科。將研究對象與研究目的結合起來的方法就是構建統計模型(核心內容)。統計學習總的目標是考慮學習什麼樣的模型和如何學習模型,以使模型能對數據進行準確的預測與分析,同時也要考慮儘量地提升學習效率。
統計學習的方法是基於數據構建統計模型從而對數據進行預測與分析。實現統計學習方法的步驟可機率以下:算法
也可簡化爲下圖:網絡
從給定的,有限的,用於學習的訓練數據出發,設計一種學習系統(算法),應用某種評價準則(evaluation criterion)在模型空間中選取一個最優的模型,使它對數據(已知數據和未知數據)在給定的評價準則下有最優的結果。這樣,統計學習方法包括模型的選擇準則、模型的假設空間以及模型學習的算法,稱其爲統計學習方法的三要素,簡稱爲策略、模型和算法。機器學習
統計學習或機器學習是一個範圍寬闊、內容繁多、應用普遍的領域,並不存在(至少如今不存在)一個統一的理論體系涵蓋全部內容。從基本分類、算法等四個角度對統計學習方法分類可歸納爲下圖:函數
監督學習是指從標註數據中學習預測模型的機器學習問題。標註數據表述輸入輸出的對應關係,預測模型對給定的輸入產生相應的輸出。<u>本質是學習輸入到輸出的映射的統計規律</u>。
在監督學習中有三個空間,分別是輸入空間、輸出空間、特徵空間以及假設空間。將輸入與輸出全部可能取值的集合分別稱爲輸入空間與輸出空間。對於輸入的每個具體的實例,一般由特徵向量表示,這時全部的特徵向量存在的空間稱爲特徵空間。模型實際上都是定義在特徵空間上的,有時輸入空間與特徵空間爲相同的空間;但有時輸入空間與特徵空間不爲同一個空間,須要將實例從輸入空間映射到特徵空間上。監督學習的目的在於學習一個由輸入到輸出的映射,這一映射由模型來表示,也就是說學習的目的在於找到最好的這樣的模型。模型屬於由輸入空間到輸出空間的映射集合。這個集合就是假設空間。假設空間的肯定意味着學習的範圍的肯定。
監督學習的任務主要有三個方面:分類,標註以及迴歸。工具
無監督學習是指從無標註數據中學習預測模型的機器學習問題。<u>本質是學習數據中的統計規律或潛在結構</u>。無監督學習旨在從假設空間中選出給定評價下的最優模型,模型能夠實現對數據的聚類、降維或機率估計。學習
強化學習指智能系統在與環境的連續互動中學習最優行爲策略的機器學習問題。<u>強化學習的本質是學習最優的序貫決策</u>。智能系統的目標不是短時間獎勵的最大化,而是長期累積獎勵的最大化,強化學習過程當中,系統不斷地試錯(trial and error),以達到學習最優策略的目的。
強化學習的馬爾可夫決策過程是狀態、獎勵、動做序列上的隨機過程,由五元組 $< S, A, P, r,\gamma>$組成測試
$$P(s^{'} | {s,a}) = P(s_t^{'} = s^{'} | {s_t=s,a_t=a}) $$優化
馬爾可夫決策過程具備馬爾科夫性,下以惡狀態只依賴於前一個狀態與動做,由狀態轉義機率函數 $P(s^{'}|{s,a})$ 表示。下一個獎勵以來與前一個章臺與都工做,由獎勵函數 $r(s,a)$ 表示。
策略 $\pi$ 定義爲給定狀態下動做的函數 $a = f(s)$ 或者條件機率分佈 $P(a | s)$ 。給定一個策略 $\pi$ ,智能系統與畫家互動的行爲就已肯定(或者是肯定性的或者是隨機性的)。
價值函數(value function)或狀態價值函數(state value function)定義爲策略 $\pi$ 從某一個狀態 $s$ 開始的長期累積獎勵的數學指望:
$$ v_{\pi}(s)=E_{\pi}[r_{t+1}+ {\gamma}r_{t+2} + {\gamma}^2r_{t+3} + ...|s_t=s] $$
動做價值函數(action value function)定義爲策略 $ \pi $ 的從某一個狀態 $s$ 和動做 $a$ 開始的長期累積獎勵的數學指望:
$$ q_{\pi}(s,a)=E_{\pi}[r_{t+1}+ {\gamma}r_{t+2} + {\gamma}^2r_{t+3} + ...|s_t=s,a_t=a] $$
強化學習的目標就是在全部可能的策略中選出價值函數最大的策略 ${\pi}^*$ ,而在實際學習中每每從具體的策略出發,不斷優化已有策略。這裏 $\gamma$ 表示將來的獎勵會有衰減。lua
半監督學習是指利用標註數據和未標註數據學習預測模型的機器學習問題。旨在利用未標註數據中的信息,輔助標註數據,進行監督學習,以較低的成本達到較好的學習效果。
主動學習是指機器不斷主動給出實例讓‘教師’進行標註,而後利用標註數據學習預測模型的機器學習問題主動學習的目標是找出對學習最優幫助的實例,以較小的標註代價,達到較好的學習效果。
這兩種學習方式更接近於監督學習。spa
統計學習的模型可分爲機率模型和非機率模型或者肯定性模型(deterministic model)。在監督學習中,機率模型是生成墨西哥,非機率模型是判別模型。機率模型與非機率模型的區別在於模型的內在結構,機率模型必定能夠表示未聯合機率分佈的形式,其中的變量表示輸入、輸出、隱變量甚至參數,而非機率模型不必定村咋這樣的聯合機率分佈。
模型的表示式爲線性函數,則稱模型是線性函數,不然稱模型爲非線性模型。深度學習(deep learning)實際是複雜神經網絡的學習,是複雜的非線性模型的學習。
參數化模型假設參數的維度固定,模型能夠由有限維度參數徹底刻畫;非參數化模型假設模型參數的維度不固定或者無窮大,隨着訓練數據量的增長而不斷增大。
根據算法可分爲在線學習(online learning)和批量學習(batch learning)。在線學習是指每次接收一個樣本,進行預測,以後學習模型,並不斷重複該操做的機器學習。批量學習一次接受全部數據,學習模型,以後進行預測。
主要思想是,在機率模型的學習與推理中,利用貝葉斯定理,計算在給定數據條件下模型的條件機率,即厚顏機率,並應用這個原理進行模型的估計,以及對數據的預測。將模型、未觀測要素及其參數用向量表示,使用模型的先驗分佈是貝葉斯學習的特色。
假設隨機變量 $D$ 表示數據,隨機變量 $\theta$ 表示模型參數。根據貝葉斯定理,後驗機率 $P(\theta|D)$ 表示爲:
$$ P(\theta|D)= \frac{P(\theta)P(D|\theta)}{P{D}} $$
其中 $P(\theta)$ 是先驗機率,$P(D|\theta)$ 是似然函數。模型估計時,估計整個後驗分佈。
核方法是使用核函數表示和學習非線性模型的一種機器學習方法。有一些線性模型的學習方法基於類似度計算,更具體地,向量內積計算。把線性模型擴展到非線性模型,直接地作法是顯式地定義從輸入空間(低維空間)到特徵空間(高維空間)地映射,在特徵空間中進行內積計算。核方法地技巧在於不顯式地定義這個映射,而是直接定義核函數,即映射以後再特徵空間的內積,這樣能夠簡化計算,達到一樣的效果。
統計學習方法由三要素構成,可簡單地表示爲:
$$ 方法=模型+策略+算法 $$
下面以監督學習爲例進行論述,非監督學習,強化學習一樣也擁有這三要素。
在監督學習過程當中,模型就是索要學習地條件機率分佈或決策函數。模型的假設空間包含全部可能的條件機率分佈或決策函數。假設空間用 $\bf{F}$ 表示。假設空間能夠定義爲決策函數的集合:
$${\bf{F}}=\{ f|Y=f(X)\}$$
其中,$X$ 和 $Y$ 是定義在輸入空間 $\bf{x}$ 和輸出空間 $\bf{y}$ 上的變量,這時 $\bf{F}$ 一般是由一個參數向量決定的函數族:
$${\bf{F}}=\{ f|Y=f_{\theta}(X), \theta\in{{\bf{R}}^n}\}$$
參數向量 $\theta$取值於 $n$ 維歐式空間 ${\bf{R}}^n$, 稱爲參數空間(parameter space)。
假設空間也可定義爲條件機率的集合:
$${\bf{F}}=\{ P|P(Y|X)\}$$
其中,$X$ 和 $Y$ 是定義在輸入空間 $\bf{x}$ 和輸出空間 $\bf{y}$ 上的變量,這時 $\bf{F}$ 一般是由一個參數向量決定的條件機率分佈族:
$${\bf{F}}=\{ P|P_{\theta}(Y|X),\theta\in{{\bf{R}}^n}\}$$
參數向量 $\theta$取值於 $n$ 維歐式空間 ${\bf{R}}^n$, 稱爲參數空間。
統計學習的目標在於從假設空間中選取最優模型。爲了評價模型的優劣,引入損失函數與風險函數的概念。損失函數度量模型一次預測的好壞,風險函數度量平均意義下模型預測的好壞。
監督學習問題在假設空間 $\bf{F}$ 中選取模型 $f$ 做爲決策函數,對於給定的輸入 $X$ 由 $f(X)$ 給出相應的輸出 $\hat{Y}$, 這個輸出的預測值$\hat{Y}$ 與真實值 $Y$ 的距離用一個損失函數(loss function)或代價函數(cost function)來度量。損失函數 $f(X)$ 和 $Y$ 的非負實值函數,記做 $L(Y, f(X))$。
統計學習經常使用的損失函數:
$$L(Y, f(X))= \begin{cases} 1, & Y\not = {f(x)} \\ 0, & Y = {f(x)} \end{cases}$$
$$ L(Y, f(X))=(Y-f(X))^2$$
$$ L(Y, f(X))= |Y-f(X)| $$
$$ L(Y, f(X))= - logP(Y|X) $$
損失函數值越小,模型就越好。因爲模型的輸入輸出 $(X,Y)$ 是隨機變量,遵循聯合分佈 $P(X,Y)$, 因此損失函數的指望是
$$ R_{exp}(f)=E_p[L(Y, f(X))] = \int_{\bf{x}\times\bf{y}}L(y,f(x))P(x,y)dxdy $$
這時理論上模型 $f(X)$ 關於聯合分佈 $P(X,Y)$ 的平均意義下的損失,稱爲風險函數或指望損失。
學習的目標就是選擇指望風險最小的模型。因爲聯合分佈 $P(X,Y)$ 是未知的,$R_{exp}(f)$ 不能直接計算。實際上,若是知道聯合分佈$P(X,Y)$, 能夠從聯合分佈直接求出條件機率分佈$P(Y|X)$, 就不須要學習了。這樣一來,一方面根據指望風險最小學習模型要用到聯合分佈,另外一方面聯合分佈又是未知的,因此監督學習就成爲一個病態問題(ill-formed problem)。
給定一個訓練數據集
$$ T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} $$
模型$f(X)$關於訓練數據集的平均損失稱爲經驗風險(empirical risk)或經驗損失(empirical loss),記做 $R_emp$:
$$R_{emp} = \frac{1}{N}\sum_{i=1}^N L(y_i,f(x_i))$$
指望風險是模型關於聯合分佈的指望損失,經驗風險是模型關於訓練樣本集的平均損失。根據大數定律,當樣本容量 $N$ 趨於無窮時,經驗分享趨於指望風險。因此很天然的想法就是用經驗風險估計指望風險。然而,實際中訓練像本數目有限,因此這種方法並不理想,要對經驗風險進行必定的矯正。這就關係到監督學習的兩個基本策略:經驗風險最小化和結構風險最小化
經驗風險最小化的策略認爲,經驗風險最小的模型會使得指望風險最小化,於是是最優的模型。根據這一策略,按照經驗經驗風險最小化求解最優模型就是求解最優化問題:
$$ min_{f\in\bf{F}}\frac{1}{N}\sum_{i=1}^N L(y_i,f(x_i)) $$
其中 $\bf{F}$是假設空間。
當樣本容量足夠大時,經驗風險最小化能保證很好得學習效果,在現實中被普遍採用,例如極大似然估計(maximum likelihood estimation)。
然而,當樣本容量很小時,經驗風險最小化學習得效果未必會好,每每模型表達過度,產生過擬合(over-fitting)現象。
結構風險最小化是爲了防止過擬合而提出來得策略,結構風險最小化等價於正則化(regularization)。結構風險在經驗風險上加上表示模型複雜度的正則化項或罰項。在結社空間、損失函數以及訓練數據集肯定的狀況下,結構風險的定義是:
$$ R_{srm}(f)=\frac{1}{N}\sum_{i=1}^N L(y_i,f(x_i))+\lambda{J(f)} $$
其中 $J(f)$ 爲模型的複雜度,是定義在結構空間上的泛函,表示了對複雜模型的懲罰。$\lambda \geq 0$是係數。用於權衡經驗風險和模型複雜度。結構風險須要經驗風險與模型複雜度同時小。結構風險小的模型每每對訓練數據以及未知的測試數據都有較好的預測。
結構風險最小化的策略認爲結構風險最小的模型是最優的模型,隨意求最優模型,就是求解最優化問題:
$$min_{f\in\bf{F}} \frac{1}{N}\sum_{i=1}^N L(y_i,f(x_i))+\lambda{J(f)}$$
這樣,監督學習問題就變成了經驗風險或結構風險函數的最優化問題。
算法是指學習模型的具體計算方法。統計學習基於訓練數據集,根據學習策略,從假設空間中選擇最優模型,最後須要考慮用什麼樣的及算方法求解最優模型。這時,同屆學習問題歸結爲最優化問題。統計學習的算法成爲求解最優化問題的算法。
統計學習的目的是使學到的模型對已知數據以及未知數據都能有很好的預測能力。不一樣的學習方法會更長不一樣的模型。當損失函數給定時,基於損失函數的模型訓練偏差和測試偏差成爲了學習方法評價的標準。統計學習方法具體採用的損失函數未必是評估時使用的損失函數,例如加了懲罰項的損失函數。固然,讓二者已知是比較理想的。訓練偏差的大小,對判斷給定問題是否是一個容易學習的問題是有意義的,但本質不重要;測試偏差反映了學習方法對未知的測試數據集的預測能力(泛化能力),是學習中的重要概念。
但若是一味提升對訓練數據的預測能力,所選模型的複雜度每每會比真實模型更高,這種現象稱爲過擬合。過擬合是指學習時選擇的模型所包含的參數過多,以致於記住訓練數據的特徵,出現這一模型對已知數據預測得很好,但對未知數據預測得不好的現象。
解決這一問題的方法能夠是這樣:首先肯定模型的複雜度,而後在給定的模型複雜度下,按照經驗風險最小化的策略,求解模型。
爲了防止過擬合,經常使用的模型選擇方法是正則化與交叉驗證。
學習方法地泛化能力是指由該學習到地模型對未知數據地預測能力,是學習方法本質上重要的性質。
若是學到的模型是 $\hat{f}$,那麼這個模型的對未知數據預測的偏差即爲泛化偏差:
$$ R_{exp}(f)=E_p[L(Y, \hat{f}(X))] = \int_{\bf{x}\times\bf{y}}L(y,\hat{f}(x))P(x,y)dxdy $$
常採用測試偏差來評價學習方法的泛化能力。但因爲測試數據的有限性,這種方法有時存在必定的不可靠性。事實上,泛化偏差就是所學模型的指望風險。
泛化能力的分析每每經過研究泛化偏差的機率上界進行的,簡稱泛化偏差上界。泛化偏差上界的性質:是樣本容量的函數,當巖本容量增長時,泛化偏差上界趨於0;是假設空間容量的函數,假設空間越大,模型越難學習,泛化偏差上界越大。
監督學習方法又能夠分紅生成方法以及判別方法,所學到的模型分別稱爲生成模型和判別模型。生成方法由數據學習聯合分佈 $P(X,Y)$,而後求出條件機率分佈 $P(Y|X)$ 做爲預測的模型,即生成模型:$$P(Y|X) = \frac{P(X, Y)}{P(X)}$$之因此稱爲生成方法,是應爲模型表示了給定輸入產生輸出的生成關係。典型的生成模型由樸素貝葉斯法和隱馬爾可夫模型。判別方法由數據直接學習決策函數 $f(X)$ 或條件機率分佈 $P(Y|X)$ 做爲預測的模型,即判別模型。典型的判別模型包括:$k$近鄰法、感知機、決策樹、支持向量機等等。生成方法的特色:可還原出聯合機率分佈$P(X,Y)$, 而判別方法不能;收斂速度更快,當樣本容量增長時,可更快的收斂於真實模型;存在隱變量時,任可以使用生成模型。判別模型的特色:判別方法直接學習的是條件機率或決策函數,直接面對預測,每每學習的準確率更高;因爲直接學習 $f(X)$ 和 $P(Y|X)$,能夠對數據進行各類程度上的抽象、定義特徵並使用特徵,所以能夠簡化學習問題。