機器學習算法原理、實現與實踐——機器學習的三要素
文字部分爲轉載自http://blog.csdn.net/Real_Myth/article/details/44217939
1 模型
在監督學習中,模型就是所要學習的條件概率分佈或決策函數。模型的假設空間包含所有可能的條件概率分佈或決策函數。例如,假設決策函數是輸入變量的線性函數,那麼模型的假設空間就是這些線性函數構成的函數的集合。
假設空間用F表示。假設空間可以定義爲決策函數的集合
其中,X和Y是定義在輸入空間X和輸出空間Y上的變量。這時F通常是由一個參數向量決定的函數族
參數向量θ取值於n維歐氏空間Rn,稱爲參數空間(parameter space)。
假設空間也可以定義爲條件概率的集合
其中,X和Y是定義在輸入空間X和輸出空間Y上的變量。這時F通常是由一個參數向量決定的條件概率分佈族
稱由決策函數表示的模型爲非概率模型,由條件概率表示的模型爲概率模型。
2 策略
有了模型的假設空間,機器學習接着要考慮的是按照什麼樣的準則學習或選擇最優的模型。
首先引入損失函數與風險函數的概念。損失函數度量模型一次預測的好壞,風險函數度量平均意義下模型預測的好壞。
2.1 損失函數與風險函數
對於給定的輸入X和假設空間F中選擇的決策函數模型f,由f(X)給出相應的輸入Y,這個輸出的預沒值f(X)與真實值Y可能一致,也可能不一致,用一個損失函數或代價函數來度量預測的錯誤程度。損失函數是f(x)和Y的非負實值函數,記作L(Y,f(X))
幾種常用的損失函數:
1) 0-1損失函數(0-1 loss function)
2) 平方損失函數(quadratic loss function)
3)絕對損失函數(absolute loss function)
4) 對數損失函數(logarithmic loss function)或對數似然損失函數
損失函數值越小,模型就越好。由於模型的輸入、輸出(X,Y)是隨機變量,遵循聯合分佈P(X,Y),所以損失函數的期望是
這是理論上模型f(X)關於聯合分佈P(X,Y)的平均意義下的損失,稱爲風險函數(risk function)或期望損失(expected loss)。
學習的目標就是選擇期望風險最小的模型。由於聯合分佈P(X,Y)是所有樣本所遵循的統計規律,它是未知的,所以Rexp(f)不能直接計算。實際上如果知道了聯合分佈,那麼可以直接計算出P(Y|X)=∫XP(x,y)dx,也就不需要學習了。
所以用上面那種方式定義風險函數是不行的,那樣的話監督學習變成了一個病態問題。
對於給定的訓練數據集
模型f(X)關於訓練數據集的平均損失稱爲經驗風險(empirical
risk)或經驗損失(empirical loss),記作Remp:
期望風險Rexp(f)是模型關於聯合分佈的期望損失,經驗風險Remp(f)是模型關於訓練樣本集的平均損失。根據大數定律,當樣本容量N趨於無窮時,經驗風險Remp(f)趨向於期望風險Rexp(f)
所以,一個很自然的想法是用經驗風險估計期望風險。但是,由於現實中訓練樣本數目很有限,所以用經驗風險估計期望風險常常不理想,要對經驗風險進行一定的矯正。這就關係到監督學習的兩個基本策略:經驗風險最小化和結構風險最小化。
2.2 經驗風險最小化與結構風險最小化
在假設空間、損失函數以及訓練數據集確定的情況下,經驗風險函數式就可以確定。經驗風險最小化的策略認爲,經驗風險最小的模型就是最優的模型。根據這一策略,按照經驗風險最小化求最佳模型就是求解最優化問題:
其中F是假設空間。
當樣本容量足夠大時,經驗風險最小化能保證有很好的學習效果,在現實中廣泛採用。比如極大似然估計就是經驗風險最小化的一個例子。當模型是條件概率分佈,損失函數是對數損失函數時,經驗風險最小化就等價於極大似然估計。
但是當樣本容量很小時,經驗風險最小化學習效果就未必很好,會產生“過擬合(over-fitting)”現象。
結構風險最小化(structural risk minimization SRM)是爲了防止過擬合而提出來的策略。結構風險最小化等價於正則化。結構風險在經驗風險上加上表示模型複雜度的正則化項或罰項。在假設空間,損失函數以及訓練樣本集確定的情況下,結構風險的定義是
其中J(f)爲模型的複雜度,是定義在假設空間F上的泛函。模型f越複雜,複雜度J(f)就越大;反之,模型f越簡單,複雜度J(f)就越小。也就是說複雜度表示了對複雜模型的懲罰。λ≥0是係數,用以權衡經驗風險和模型的複雜度。結構風險小需要經驗風險與模型複雜度同時小。結構風險小的模型往往對訓練數據以及未知的測試數據都有較好的預測。
比如,貝葉斯估計中的最大後驗概率估計(maximum posterior probability estimation,MAP)就是結構風險最小化的例子。當模型是條件概率分佈、損失函數就是對數損失函數、模型複雜度由模型的先驗概率表示時,結構風險最小化就等價於最大後驗概率估計。
結構風險最小化的策略認爲結構風險最小的模型是最優的模型。所以求最優化模型時,就是求解最優化問題:
這樣,監督學習問題就變成了經驗風險或結構風險函數的最優化問題。這時經驗或結構風險函數是最優化的目標函數。
3 算法
從上面可以看出,在確定尋找最優模型的策略後
機器學習的問題歸結爲最優化的問題。機器學習討論的算法問題就成爲了求解最優化模型解的算法。而且往往最優化模型沒有的解析解,需要用數值計算的方法求解,我們要確保找到全局最優解,以及使求解的過程非常高效。
總結
概要圖大致總結了三要素,統計機器學習之間的不同主要來自其模型,策略,算法的不同。確定其三者,一個方法也就確定了。