1. 程式人生 > >機器學習之損失函式與風險函式

機器學習之損失函式與風險函式

1.損失函式與風險函式

       監督學習的任務就是學習一個模型作為決策函式,對於給定的輸入X,給出相應的輸出f(X),這個輸出的預測值f(X)與真實值Y可能一致也可能不一致,用一個損失函式(loss function)或代價函式(cost function)來度量預測錯誤的程度。損失函式是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)或者對數似然損失函式(log-likelihood function)


       損失函式值越小,模型就越好。由於模型的輸入、輸出(X,Y)是隨機變數,遵循聯合分佈P(X,Y),所以損失函式的期望值是


    這是理論上模型f(X)關於聯合分佈P(X,Y)的平均意義下的損失,稱為風險函式(risk function)或期望損失(expected loss)。

損失函式度量模型一次預測的好壞,風險函式度量平均意義下模型的好壞。

學習的目標就是選擇期望風險最小的模型。由於聯合分佈P(X,Y)是未知的,Rexp(f)不能直接計算。實際上,如果知道了聯合分佈P(X,Y),可以從聯合分佈直接求出條件概率分佈P(Y|X),也就不需要學習了。正因為不知道聯合概率分佈,所以才需要進行學習。這樣一來,一方面根據期望風險最小學習模型要用到聯合分佈,另一方面聯合分佈又是未知的,所以監督學習就成為一個病態問題。

給定一個訓練資料集


模型f(X)關於訓練數集的平均損失稱為經驗風險(empirical risk)或者經驗損失(empirical loss),記作Remp


   期望風險Rexp(f)是模型關於聯合分佈的期望損失,經驗風險Remp(f)是模型關於訓練樣本集的平均損失。根據大數定律,當樣本容量N趨於無窮時,經驗風險Remp(f)趨於期望風險Rexp(f)。所以一個很自然的想法是用經驗風險估計期望風險。但是,由於現實中的訓練樣本數目有限,甚至很小,所以用經驗風險估計期望風險常常並不理想,要對經驗風險進行一定的矯正。這就關係到監督學習的兩個基本策略:經驗風險最小化和結構風險最小化。

2.經驗風險最小化和結構風險最小化

   在假設空間、損失函式以及訓練資料集確定的情況下,經驗風險函式式就可以確定。經驗風險最小化的策略認為,經驗風險最小的模型是最優的模型。根據這一策略,按照經驗風險最小化求解最優模型就是求解最優化問題:


      當樣本容量足夠大時,經驗風險最小化能保證很好的學習效果,在現實中被廣泛採用。比如,極大似然估計就是經驗風險最小化的一個例子。當模型是條件概率分佈,損失函式是對數函式時,經驗風險最小化就等價於極大似然估計。但是,當樣本空間很小是,經驗風險最小化學習的效果就未必很好,會產生“過擬合(over-fitting)”現象。

   結構風險最小化(structural risk minimization,SPM)是為了防止過擬合而提出來的策略。結構風險最小化等價於正則化(regularization)。結構風險在經驗風險上加上表示模型複雜度的正則項(regularizer)或者罰項(penalty term)。在假設空間、損失函式以及訓練資料集確定的情況下,結構風險的定義為:


   其中J(f)為模型的複雜度,是定義在假設空間F上的泛函。模型f越複雜,複雜度J(f)就越大;反之,模型f越簡單,複雜度J(f)就越小。也就是說,複雜度表示了對複雜模型的懲罰。是係數,用於權衡經驗風險和模型的複雜度。結構風險小需要經驗風險與模型複雜度同時小。結構風險小的模型往往對訓練資料以及未知的測試資料都有較好的預測。

    比如,貝葉斯估計中的最大後驗概率估計(maximum posterior probability,MAP)就是結構風險最小化的一個例子。當模型是條件概率分佈、損失函式是對數損失函式、模型複雜度由模型的先驗概率表示時,結構風險最小化等價於最大後驗概率估計。

結構風險最小化的策略認為結構風險最小化的模型是最優的模型。所以求最優模型,就是求解最優化問題:

 

    這樣監督學習問題就變成了經驗風險或者結構風險函式的最優化問題。這時經驗風險或結構風險函式是最優化的目標函式。

資料來源:李航.統計學習方法[M].北京:清華大學出版社.2012.7-9