機器學習方法總結(一)
機器學習方法概論
說明:本教程的主要目的是個人秋招復習,適用於一些有基礎的同學進行復習,主要來自於對統計學習方法和西瓜書的整理,所以不適用於系統學習,詳細內容大家可以看書。其中加入個人的理解和各個演算法是例項,由於理解不夠導致的錯誤還請各位指出。
1.特點與分類
1.統計學習方法是基於資料構建概率統計模型並運用模型進行預測 與分析。
2.統計學習方法可分為監督學習、半監督學習、非監督學習和強化學習,監督學習是最常用的,它是從給定的有限訓練資料集合出發,假設資料是獨立同分布產生的,學習的模型是某個函式的集合,這個集合稱為假設空間,從假設空間中選取一個最優的模型用於測試。
3.三要素分別是:模型、策略、演算法。
2.基本概念
1.輸入和輸出所有可能取值的集合分別叫輸入空間和輸出空間,輸入的例項通常用特徵向量進行表示,所有的特徵向量存在的空間成為特徵空間。
2.輸入和輸出均為連續變數的預測問題稱為迴歸問題,輸出變數為有限個離散變數的預測問題為分類問題,它們均為序列變數則是標註問題。
3.X和Y具有聯合概率分佈是監督學習的基本假設。
3.學習策略
1.損失函式:模型執行一次的好壞,由預測值f(x)和真實值Y之間的非負實值函式 L[Y,f(x)] 表示(這裡簡單的公式就不列出,百度很多):
- 0-1損失函式
- 平方損失函式
- 絕對損失函式
- 對數似然損失函式
2.風險函式:平均意義下模型預測的好壞,它的理想值是模型關於聯合分佈損失函式的期望Rexp,實際是風險函式是訓練資料集的損失函式的均值,當訓練樣本越大時它們約接近。
3.經驗風險最小化能保證較好的學習效果,如極大似然估計(通過資料估計概率分佈的引數);結構風險最小化等價於正則化,如貝葉斯估計中的最大後驗概率估計。
4.模型的估計與選擇
1.評估方法:交叉驗證
- K折驗證:將資料集D劃分為k個互斥的子集,每次用k-1個子集的並集作為訓練集,剩下的一個作為測試集。
- 簡單交叉:將資料集分為不同的比例即可。
- 留一交叉驗證:當資料量不足時(N),k=N就是留一交叉驗證。
2.準確率:正確資訊/提取資訊(查準率);召回率:提取的正確資訊/正確資訊數(查全率);一般P,R不可兼得,可以根據偏好制定模型的評估標準,如P,R的調和平均,表示查全率相對於查準率的相對重要性,越高表示越重視查全率。一般反應它們的曲線有:PR曲線和ROC曲線,在展示模型的時候可以繪製這兩個曲線。
3.偏差(bias)度量的是學習方法的期望預測和真實結果之間的偏離程度;方差(variance)是刻畫的資料擾動造成的噪聲;一般偏差大時說明模型的泛化能力強,自然資料擾動的影響就會變小,而方差大時說明模型有可能過擬合了,偏差自然小。
5.過擬合與正則化
1.過擬合的原因:一味的提高對訓練資料的預測能力,有可能是所選模型的複雜度往往比真實複雜度高,也可能是訓練資料不足導致不能全面反映總體特徵或樣本噪聲過多。
2.解決辦法:
- Early Stopping(當發現有過擬合現象就停止訓練)
- Penelizing Large Weight(loss function中加正則化項)
- Bagging思想(對同一樣本用多個模型投票產生結果)
- Boosting思想(多個弱分類器增強分類能力,降低偏差)
- Dropconnection(神經網路全連線層中減少過擬合的發生)
3.正則化:是結構風險最小化的實現,在經驗風險函式後加入一個正則化項:
- L1正則化:
- L2正則化:
- L1正則化是權重的絕對值之和,可以產生稀疏權重矩陣,L2正則化傾向於權重較小一些,會導致模型抗擾動能力強,當較小時,L1和L1很接近,都有防止過擬合的作用。
6.生成模型和判別模型
1.生成模型:由資料學習聯合概率分佈P(X,Y),然和求P(Y|X)。
2.判別模型:由資料直接擬合決策函式f(x)或P(Y|X)。
3.當樣本數量上升時,生成模型的收斂更快,準確率更高,當存在隱變數時,只有生成方法有效,如HMM。