1. 程式人生 > 其它 >1.統計學習及監督學習概論

1.統計學習及監督學習概論

1.1 統計學習(statistical learning)

1.1.1 統計學習的特點

  計算機基於資料構建概率統計模型並運用模型對資料進行預測與分析的一門學科

1.1.2 統計學習的物件-資料(data)

  基本假設:同類資料具有一定的統計規律性

1.1.3 統計學習的目的-對資料的預測和分析

1.1.4 統計學習的方法

  從給定的、有限的、用於學習的訓練資料(training data)集合出發,假設資料是獨立同分布產生的;並且假設要學習的模型屬於某個函式的集合,稱為假設空間(hypothesis space);應用某個評價標準(evaluation criteria),從假設空間選取一個最優模型,使它對已知的訓練資料及未知的測試資料在給定的評價準則下有最優的預測;最優模型的選取由演算法實現

模型(model)、策略(strategy)、演算法(algorithm)


1.2統計學習的分類

1.2.1 基本分類

1.2.1.1 監督學習(supervised learning)

  從標註資料中學習預測模型,假設X和Y具有聯合概率分佈

  輸入空間input space:輸入的所有可能取值的集合

  輸出空間output space:輸出的所有可能取值的集合

  例項instance:每一個具體的輸入,通常由特徵向量(feature vector)表示,所有特徵向量所在的空間稱為特徵空間(feature space)

  輸入變數X,輸出變數Y

  輸入例項x: xi=(xi

(1),xi(2), ... , xi(n),xi(1))T xi表示多個輸入變數中的第i個變數,x(i)表示x的第i個特徵

  訓練集T={(x1,y1),(x2,y2), ... ,(xN,yN))

  迴歸問題:輸入變數和輸出變數均為連續變數

  分類問題:輸出變數為有限個離散變數

  標註問題:輸入變數和輸出變數均為變數序列

  監督學習的模型可以是概率模型(條件概率分佈P(Y|X))或者非概率模型(決策函式Y=f(X)

  預測:yN+1 = argmaxP(y|xN+1), yN+1 = f(xN+1)

1.2.1.2 無監督學習(unsupervised learning)

  從無標註資料中學習預測模型的機器學習問題

  訓練資料:U = {x1, x2, ... , xN}

1.2.1.3 強化學習(reinforcement learning)

  在每一步t,智慧系統從環境中觀測到一個狀態(state)st與一個獎勵(reward)rt,採取一個動作(action)at,環境根據智慧系統選擇的動作,決定下一步t+1的狀態st+1和獎勵rt+1

  學習的策略:給定的狀態下采取的動作

  目標:長期累積獎勵的最大化

  馬爾科夫決策過程(Markov decision process):五元組(S, A, P, r, γ)

  • S: 有限狀態的集合
  • A: 有限動作的集合
  • P: 狀態轉移概率:P(s'|s, a) = P(st+1 = s'|st = s, at = a)
  • r: 獎勵函式:r(s, a) = E(rt+1|st = s, at = a)
  • γ: 衰減係數(discount factor):γ∈[0, 1]

  馬爾科夫性:下一狀態只依賴於前一狀態和動作,下一獎勵只依賴於前一狀態和動作

  策略π:給定狀態下動作的函式a = f(s), P(a|s)

  價值函式(value function)或狀態價值函式(state value function):從某一個狀態s開始的長期累積的獎勵的期望

    νπ(s) = Eπ(rt+1 + γrt+22rt+3+... |st = s)

  動作價值函式(action value function):

    qπ(s, a) = Eπ(rt+1+γrt+22rt+3+... |st= s, at = a)

  •   基於策略的(policy-based):不直接學習模型,從一個具體策略出發,搜尋更優的策略
  •   基於價值的(value-based):不直接學習模型,從一個具體的價值函式開始,搜尋更優的價值函式
  •   有模型的(model-based):直接學習馬爾科夫決策過程的模型包括狀態轉移概率函式以及獎勵函式,求出價值函式最大的π

1.2.1.4 半監督學習(semi-supervised learning)

  利用標註資料和未標註資料學習預測模型

1.2.1.5 主動學習(active learning)

  機器不斷主動給出例項讓標註,可以找到對學習最有幫助的例項進行標註

1.2.2 按模型分類

1.2.2.1 概率模型和非概率模型

  概率模型(probabilistic model):P(y|x)條件概率分佈形式,決策樹、樸素貝葉斯、隱馬爾可夫模型、條件隨機場、概率潛在語義分析、潛在狄利克雷分配、高斯混合模型

  非概率模型(non-probabilistic model):y = f(x),感知機、支援向量機、k近鄰、Adaboost、k均值、潛在語義分析、神經網路

1.2.2.2 線性模型和非線性模型

  線性模型(linear model):感知機、線性支援向量機、k近鄰、k均值、潛在語義分析

  非線性模型(non-linear model):核函式支援向量機、Adaboost、神經網路、深度學習

1.2.2.3 引數化模型和非引數化模型

  引數化模型(parametric model):感知機、樸素貝葉斯、邏輯斯蒂迴歸、k均值、高斯混合模型、潛在語義分析、概率潛在語義分析、潛在狄利克雷分配

  非引數化模型(non-parametric model):決策樹、支援向量機、Adaboost、k近鄰

1.2.3 按演算法分類

  線上學習(online learning):每次接受一個輸入xt,用已有模型給出預測f(xt),之後得到反饋,即該輸入對應的輸出yt,系統利用損失函式計算出差異更新模型,不斷重複該操作

  批量學習(batch learning):一次接受所有資料,學習模型之後進行預測

1.2.4 按技巧分類

1.2.4.1 貝葉斯學習(Bayesian learning)

  計算在給定資料條件下模型的條件概率,即後驗概率,並應用這個原理進行模型的估計以及對資料的預測

1.2.4.2 核方法(kernel method)

  將線性模型擴充套件到非線性模型,顯示的定義從輸入空間(低維空間)到特徵空間(高維空間)的對映,在特徵空間進行內積運算,也就是核函式,假設x1和x2是輸入空間的任意兩個例項(向量),其內積是<x1, x2>,輸入空間到特徵空間的對映是ψ,於是x1和x2在特徵空間的映像是ψ(x1)和ψ(x2),其內積是<ψ(x1),ψ(x2)>,核方法是直接在輸入空間定義核函式K(x1, x2)=<ψ(x1),ψ(x2)>


1.3 統計學習方法三要素

方法 = 模型 + 策略 + 演算法

1.3.1 模型

  要學習的條件概率分佈或決策函式,模型的假設空間包含所有可能的條件概率分佈或決策函式

1.3.2 策略

  損失函式(loss function):度量模型一次預測的好壞,是f(X)和Y的非負實值函式,記作L(Y, f(X)),有0-1損失函式(0-1 loss function)、平方損失函式(quadratic loss function)、絕對損失函式(absolute loss function)、對數損失函式(logarithmic loss function)

  風險函式(risk function):期望損失(expected loss)損失函式的期望值Rexp(f)

  但是因為聯合概率分佈P(X, Y)不知道所以無法求得期望值

  經驗風險(empitical risk):模型關於訓練樣本集的平均損失Remp(f),根據大數定律,當樣本容量N趨近於無窮的時候經驗風險趨於期望風險

  經驗風險最小化(empirical risk minimization, ERM):經驗風險最小的模型就是最優的模型,一個例子是極大似然估計(maximum likelihood estimation)當樣本容量大的時候有較好的學習效果,但是當樣本小的時候會產生過擬合的情況

  結構風險最小化(structural risk minimization, SRM):結構風險在經驗風險上加上正則項(regularization)或罰項(penalty term)

1.3.3 演算法

  學習模型的具體計算方法


1.4 模型評估與模型選擇

1.4.1 訓練誤差和測試誤差

  訓練誤差(training error):模型關於訓練資料集的平均損失

  測試誤差(test error):模型關於測試資料集的平均損失

1.4.2 過擬合與模型選擇

  過擬合:學習是選擇的模型所包含的引數過多,以致出現對已知資料預測地很好但對未知資料預測得很差的現象,以多項式函式擬合為例,隨著多項式次數(模型複雜度)的增加,訓練誤差會減小直至趨向0,但是測試誤差是先減小後增大


1.5 正則化與交叉驗證

1.5.1 正則化

  一般是模型複雜度的單調遞增函式,模型越複雜,正則化值就越大,正則化的作用是選擇經驗風險和模型複雜度同時較小的模型

1.5.2 交叉驗證

  將資料集切分為訓練集(training set訓練模型)、驗證集(validation set選擇模型)、測試集(test set最終評估學習方法)此方法在資料充足的情況下適用,資料不充足時交叉驗證

1.5.2.1 簡單交叉驗證

  隨機的將資料分為訓練集和測試集,在訓練集上訓練出不同的模型,然後選擇測試誤差最小的一個

1.5.2.2 S折交叉驗證(S-fold cross validation)

  首先隨機的將資料切分為S份,使用其中S-1份作為訓練集,1份作為測試集,該過程重複S次,最後選出平均誤差最小的模型

1.5.2.3 留一交叉驗證(leave-one-out cross validation)

  S = N, N是資料集容量


1.6 泛化能力

1.6.1 泛化誤差(generalization ability):模型的期望風險

1.6.2 泛化誤差上界

  樣本容量增加,泛化上界趨近於0,假設空間容量越大,泛化誤差上界越大P26


1.7 生成模型與判別模型

  監督學習方法分為生成方法(generative approach)和判別方法(discriminative approach),所學到的模型分別稱為生成模型(generative model)和判別模型(discriminative model)

  生成方法:由資料學習聯合概率分佈P(X, Y),然後求出求出條件概率分佈作為預測的模型

  判別方法:直接學習決策函式或條件概率分佈作為預測的模型


1.8 監督學習應用

1.8.1 分類問題(classification)

  在監督學習中,當輸出變數Y取有限個離散值時預測問題變為分類問題,輸入變數可以是離散的也可以是連續的

  TP:將正類預測為正類數

  FN:將正類預測為負類數

  FP:將負類預測為正類數

  TN:將負類預測為負類數

  精確率:P = TP / (TP + FP)

  召回率:R = TP / (TP + FN)

  F1:2 / F1 = 1 / P + 1 / R

1.8.2 標註問題(tagging)

  輸入是一個觀測序列,輸出是一個標記序列或狀態序列,例隱馬爾可夫模型

1.8.3 迴歸問題(regression)