這是我參加mlhub123組織的書籍共讀計劃的讀書筆記,活動見mlhub第一期讀書計劃
- 閱讀章節:第一章:統計學習方法概論
- 開始時間:2018-09-14
- 結束時間:2018-09-16
- 目標:讀完第一章,掌握基本概念,產出一篇筆記
- 博客地址
第一章主要對全書內容做了一個內容的概括:
- 統計學習:定義、研究對象和方法
- 監督學習
- 統計學習三要素:模型、策略、算法
- 模型評估與選擇:包括正則化、交叉驗證與學習的泛化能力
- 生成模型與判別模型
- 分類問題、標注問題與回歸問題
統計學習
什么是統計學習
統計學習是關于計算機基于數據構建概率統計模型并運用模型對數據進行預測與分析的一門學科,統計學習也稱為統計機器學習
統計學習的特點
- 統計學習以計算機及網絡為平臺,是建立在計算機及 網絡之上的
- 統計學習以數據為研究對象,是數據驅動的學科
- 統計學習的目的是對數據進行預測與分析
- 統計學習以方法為中心,統計學習方法構建模型并應用模型進行預測與分析
- 統計學習是概率論、統計學、信息論、計算理論、最優化理論及計算機科學等多個領域的交叉學科,并且在發展中逐步形成獨自的理論體系與方法論
什么是機器學習
如果一個程序
可以在任務T
上,隨著經驗E
的增加,效果P
也可以隨之增加,則稱這個程序可以從經驗中學習。 --- 卡內基美隆大學的Tom Michael Mitchell教授
如果以垃圾郵件為例,
一個程序
指的是用到的機器學習算法,比如:樸素貝葉斯、邏輯回歸;任務T
指的是區分垃圾郵件的任務;經驗E
為已經區分過是否為垃圾郵件的歷史郵件;效果P
為機器學習算法在區分是否為垃圾郵件任務上的準確率
統計學習的目的
統計學習用于對數據進行預測與分析,特別是對未知新數據進行預測與分析
統計學習的方法
- 監督學習(supervised learning):KNN、決策樹、貝葉斯、邏輯回歸
- 非監督學習(unsupervised learning):聚類、降維
- 半監督學習(semisupervised learning):self-training(自訓練算法)、Graph-based Semi-supervised Learning(基于圖的半監督算法)、Semi-supervised supported vector machine(半監督支持向量機,S3VM)
- 強化學習(reinforcement learning):蒙特卡洛方法
監督學習
基本概念
- 輸入空間(input space):輸入所有可能取值的集合
- 輸出空間(output space):輸出所有可能取值的集合
- 特征空間(feature space):每個具體的輸入是一個實例(instance),通常由特征向量(feature vector)表示。這時,所有特征向量存在的空間稱為特征空間
- 聯合概率分布:統計學習假設數據存在一定的統計規律,X和Y具有聯合概率分布的假設就是監督學習關于數據的基本假設 - 機器學習-聯合概率分布筆記
- 假設空間:學習的目的在于找到最好的模型,模型屬于由輸入空間到輸出空間的映射的集合,這個集合就是假設空間(hypothesis space)
人們根據輸入、輸出變量的不同類型,對預測任務給予不同的名稱:
- 分類問題:輸出變量為有限個離散變量的預測問題
- 回歸問題:輸入變量與輸出變量均為連續變量的預測問題
- 標注問題:輸入變量與輸出變量均為變量序列的預測問題
問題的形式化
監督學習利用訓練數據集學習一個模型,再用模型對測試樣本集進行預測 (prediction):
輸入訓練集 -> 生成模型 -> 預測,由于訓練集是人工給出的,所以稱之為監督學習
統計學習三要素
統計學習方法由三要素構成,可以簡單地表示為:方法 = 模型 + 策略 + 算法
模型
在監督學習過程中,模型就是所要學習的條件概率分布或決策函數。模型的假設空間(hypothesis space)包含所有可能的條件概率分布或決策函數
例如,假設決策函數是輸入變量的線性函數,那么模型的假設空間就是所有這些線性函數構成的函數集合,假設空間中的模型一般有無窮多個
策略
知道模型的交涉空間后,現在的目的就是選擇出最優的一個模型出來,而這就是統計學習的目標,這里引入兩個概念:
- 損失函數(loss function):用于度量模型一次預測的好壞
- 風險函數(risk function):度量平均意義下模型預測的好壞
損失函數和風險函數
監督學習問題是在假設空間中選取模型f作為決策函數,對于給定的輸入X,由f(X)給出相應的輸出Y,這個輸出的預測值f(X)與真實值Y可能一致也可能不一致,用一個損失函數(loss function)或代價函數(cost function)來度量預測錯誤的程度,損失函數是f(X)和Y的非負實值函數,記作L(Y,f(X))
統計學習中常用的損失函數有如下幾種:
-
0-1損失函數(0-1 loss function):
image -
平方損失函數(quadratic loss function):
image -
絕對損失函數(absolute loss function):
image -
對數損失函數(logarithmic loss function)或對數似然損失函數(loglikelihood loss function):
image
有了上面概念的鋪墊,又可以引入下面兩個概念:
-
模型f(X)關于聯合分布P(X,Y)的平均意義下的損失:風險函數(risk function)或期望損失(expected loss):
image -
模型f(X)關于訓練數據集的平均損失:經驗風險(empirical risk)或經驗損失(empirical loss):
image
當樣本數量足夠的情況下,經驗風險是趨近于期望風險的,但是現實中樣本數量是有限的,,所以用經驗風險估計期望風險常常并不理想,要對經驗風險進行一定的矯正
這就關系到監督學習的兩個基本策略:經驗風險最小化和結構風險最小化
經驗風險最小化與結構風險最小化
在假設空間、損失函數以及訓練數據集確定的情況下,經驗風險函數式(1.10)就可以確定,經驗風險最小化(empirical risk minimization,ERM)的策略認為,經驗風險最小的模型是最優的模型
當樣本數量過小,可能會出現過擬合問題,結構風險最小化(structural risk minimization,SRM)是為了防止過擬合而提出來的策略
結構風險最小化等價于正則化(regularization):
加上結構風險最小化的策略,此時的最優模型就是下面的最優化問題求解:
這樣,監督學習問題就變成了經驗風險或結構風險函數的最優化問題(1.11)和(1.13),這時經驗或結構風險函數是最優化的目標函數
算法
統計學習基于訓練數據集,根據學習策略,從假設空間中選擇最優模型,最后需要考慮用什么樣的計算方法求解最優模型,這時,統計學習問題歸結為最優化問題,統計學習的算法成為求解最優化問題的算法:
模型評估與模型選擇
訓練誤差與測試誤差
對于我們利用學習方法通過訓練給出的模型,我們希望這個模型能較好的具有以下兩點能力:
- 擬合能力:已知數據的預測比較合理
- 泛化能力:未知數據的預測比較合理
前面說過,損失函數能夠度量模型預測的好壞,所以基于損失函數的模型的訓練誤差(training error)和模型的測試誤差(test error)就自然成為學習方法評估的標準:
過擬合與模型選擇
我們認為在假設空間存在一個真的模型,那么我們選擇的模型的目標就是盡量接近這個真模型,假設空間很可能含有不同復雜度的模型,所以此時我們的目標就變成了尋找一個復雜度合適的模型,這里引出一個概念,過擬合(over fitting) - 所選模型的復雜度則比真模型更高
接下來我們的問題就轉接成了需找一個模型復雜度適當的模型,前面一節我們介紹了訓練誤差與測試誤差,那么訓練誤差與測試誤差和模型的復雜度有沒有什么關系呢,看下圖:
可以看到,訓練誤差和模型復雜度的關系是:隨著模型復雜度的增加,訓練誤差逐漸遞減,趨向于0(此時可能過擬合),但是測試誤差會有個最小值(此時才是最合適的復雜度)
那么我們的學習目的就出來了:選擇復雜度適當的模型,以達到使測試誤差最小
現在目的就很明確了,就是需要一個途徑比較測試誤差,選出最值小的,從而選出我們的模型:
- 正則化
- 交叉驗證
正則化與交叉驗證
正則化
在統計學習三要素那一節講過結構風險最小化策略,此策略的目的就是防止過擬合,正則化是結構風險最小化策略的實現,是在經驗風險上加一個正則化項(regularizer)或罰項(penalty term):
正則化的作用是選擇經驗風險與模型復雜度同時較小的模型
交叉驗證
交叉驗證的基本想法是重復地使用數據,把給定的數據進行切分,將切分的數據集組合為訓練集與測試集,在此基礎上反復地進行訓練、測試以及模型選擇,交叉驗證有如下三種方式:
- 簡單交叉驗證
- S折交叉驗證
- 留一交叉驗證
泛化能力
學習方法的泛化能力(generalization ability)是指由該方法學習到的模型對未知數據的預測能力,是學習方法本質上重要的性質
泛化誤差
泛化誤差的定義
對于一個學到的模型,其對未知數的預測就是泛化誤差(generalization error),其實就是策略那節講的風險函數:
泛化誤差反映了學習方法的泛化能力,如果一種方法學習的模型比另一種方法學習的模型具有更小的泛化誤差,那么這種方法就更有效
泛化誤差上界
學習方法的泛化能力分析往往是通過研究泛化誤差的概率上界進行的,簡稱為泛化誤 差上界(generalization error bound)
泛化誤差上界性質如下:
- 它是樣本容量的函數,當樣本容量增加時,泛化上界趨于0
- 它是假設空間容量(capacity)的函數,假設空間容量越大,模型就越難學,泛化誤差上界就越大
生成模型與判別模型
監督學習方法可以分為:
- 生成方法(generative approach):生成方法可以還原出聯合概率分布
P(X,Y)
,而判別方法則不能;生成方法的學習收斂速度更快,即當樣本容量增加的時候,學到的模型可以更快地收斂于真實模型;當存在隱變量時,仍可以用生成方法學習,此時判別方法就不能用 - 判別方法(discriminative approach):判別方法直接學習的是條件概率
P(Y|X)
或決策函數f(X)
,直接面對預測,往往學習的準確率更高;由于直接學習P(Y|X)
或f(X)
,可以對數據進行各種程度上 的抽象、定義特征并使用特征,因此可以簡化學習問題
所學到的模型分別稱為:
- 生成模型(generative model):
- 樸素貝葉斯法
- 隱馬爾可夫模型
- 判別模型(discriminative model):
- k近鄰法
- 感知機
- 決策樹
- 邏輯斯諦回歸模型
- 最大熵模型
- 支持向量機
- 提升方法
- 條件隨機場
- ......
分類問題
在監督學習中,當輸出變量Y取有限個離散值時,預測問題便成為分類問題,監督學習從數據中學習一個分類模型或分類決策函數,稱為分類器(classifier)
許多統計學習方法可以用于分類:
- k近鄰法
- 感知機
- 樸素貝葉斯法
- 決策樹
- 決策列表
- 邏輯斯諦回歸模型
- 支持向量機
- 提升方法
- 貝葉斯網絡
- 神經網絡
- Winnow
- ......
評價分類器性能的指標一般是分類準確率(accuracy):對于給定的測試數據集,分類器正確分類的樣本數與總樣本數之比,也就是損失函數是0-1損失時測試數據集上的準確率,見圖1.17
對于二類分類問題常用的評價指標是精確率(precision)與召回率(recall),因為是二分類,所以一共有四中預測情況:
- TP——將正類預測為正類數
- FN——將正類預測為負類數
- FP——將負類預測為正類數
- TN——將負類預測為負類數
標注問題
標注問題的目標在于學習一個模型, 使它能夠對觀測序列給出標記序列作為預測
許多統計學習方法可以用于標注:
- 隱馬爾可夫模型
- 條件隨機場
評價標注模型的指標與評價分類模型的指標一樣,常用的有標注準確率、精確率和召回率,其定義與分類模型相同
回歸問題
回歸用于預測輸入變量(自變量)和輸出變量(因變量)之間的關系,特別是當輸入變量的值發生變化時,輸出變量的值隨之發生的變化,回歸問題按照輸入變量的個數,分為一元回歸和多元回歸;按照輸入變量和輸出變量之間關系的類型即模型的類型,分為線性回歸和非線性回歸
說明
一些參考鏈接: