統計學習方法 李航 讀書筆記
************************************************************
李航教授《統計學習方法》
統計學教材總結 主要介紹監督學習方法
************************************************************
李航教授《統計學習方法》
第一章 概論
1.3 統計學習三要素
模型,策略,演算法
1.3.1 模型
模型就是要學習的條件概率分佈或者決策函式。
假設空間是決策函式的集合。
1.3.2 策略
策略就是按照什麼準則選擇最優的模型。
損失函式loss function或者代價函式cost function 度量模型預測的好壞。
損失函式越小,模型越好。
風險函式度量平均意義下模型預測的好壞。
風險函式或者期望損失就是損失函式的期望(模型關於聯合分佈的平均意義下的損失)
學習器的目標就是選擇期望風險最小的模型,資料集特別大的時候期望風險等價於經驗風險。所以轉化為了經驗風險最小化
經驗風險:平均損失(損失函式關於訓練資料集的平均值)
常用的損失函式有:
0-1損失函式
平方損失函式:真實值和預測值差的平方
絕對損失函式:差的絕對值
對數損失函式或者對數似然損失函式,對條件概率求對數
經驗風險最小的模型就是最優的模型。(條件是樣本足夠大)
結構風險為了防止資料集過小導致的過擬合
結構風險最小化等價於正則化。
正則化就是在經驗風險後面新增一個懲罰項或者叫做正則化項。
經驗風險最小化等價於極大似然估計
結構風險最小化等價於最大後驗概率
總結:監督學習問題轉化為了經驗風險或者結構風險最小化問題。
1.3.3 演算法
演算法是指學習模型的具體計算方法。從假設空間中選擇最優模型。用某種最優計算方法求解最優模型。
1.4 模型評估和選擇
1.4.1 訓練誤差和測試誤差
學習器對未知資料的預測能力稱為泛化能力
1.4.2 過擬合和模型選擇
訓練資料表現好,測試資料表現差的叫做過擬合。由於選擇模型包含引數過多,模型太複雜。
解決過擬合的方法:正則化和交叉驗證,dropout
1.5 正則化和交叉驗證
模型越複雜,正則化項越大。
1.6 泛化能力
泛化誤差反應了學習方法的泛化能力
1.7 生成模型和判別模型
判別方法:由資料直接學習決策函式 Y = f(X),或者由條件分佈概率 P(Y|X)作為預測模型,即判別
模型。(直接學習條件概率)
生成方法:由資料學習聯合概率密度分佈函式 P(X,Y),《《《然後》》》求出條件概率分佈 P(Y|X)作為預測的模型,
即生成模型。(由聯合概率生成條件概率)
由生成模型可以得到判別模型,但由判別模型得不到生成模型。
常見的判別模型有:K 近鄰、SVM、決策樹、感知機、線性判別分析(LDA)、線性迴歸、傳統的神經網
絡、邏輯斯蒂迴歸、boosting、條件隨機場
常見的生成模型有:樸素貝葉斯、隱馬爾可夫模型、高斯混合模型、文件主題生成模型(LDA)、限制玻
爾茲曼機。
1.8 分類問題
精確率和召回率 判斷分類效果的標準。
精確率:P= TP/TP+FP 機器學習西瓜書裡,也叫查準率
召回率:R= TP/TP+FN 也叫查全率
F1值:精確率和召回率的調和均值。
1.9 標註問題
輸入觀測序列,輸出標記序列或者狀態序列
標註系統按照學習得到的條件概率分佈模型,對新的輸入觀測序列找到相應的輸出標記序列。
常用的統計學習方法有:隱馬爾科夫模型,條件隨機場。
1.10 迴歸問題
迴歸問題等價於函式擬合
按照輸入變數個數分為:一元迴歸和多元迴歸。
按照輸入輸出關係(模型型別)分為線性迴歸和非線性迴歸
迴歸學習最常用的損失函式是平方損失函式,用著名的最小二乘法求解。
李航教授《統計學習方法》
第二章 感知機 二分類
二分類的線性分類模型,也是判別模型。
目的是求出把訓練資料進行線性劃分的分離超平面。
感知機是神經網路和支援向量機的基礎。
學習策略:極小化損失函式。損失函式對應於誤分類點到分離超平面的總距離。
基於隨機梯度下降法對損失函式的最優化演算法,有原始形式和對偶形式。
2.1 感知機模型
函式模型,權重w,bias偏置,
幾何模型:分離超平面,超平面法向量w,截距b
2.2.1 資料集線性可分
存在超平面正確劃分正負類
2.2.2 感知機學習策略
定義一個損失函式並且損失函式最小化
損失函式選擇為:誤分類點到超平面的總距離。
2.3 感知機學習演算法
損失函式最優化的方法是梯度下降法。stochastic gradient descent :SGD
感知機學習演算法是基於隨機梯度下降法對損失函式最小化的演算法。
2.3.1 感知機學習演算法的原始形式
梯度下降:
步長也叫學習率通過迭代讓損失函式不斷減小直到0。
首先選取任意一個超平面,用SGD不斷優化目標函式,在這個過程中一次選取一個隨機點讓其梯度下降。
2.3.2 演算法收斂性 ,收斂就是無限靠近的意思。
當訓練資料集線性可分時候,感知機學習演算法原始形式迭代是收斂的。演算法是有多個解的。
2.3.3 對偶形式
第三章 K近鄰法 K-nearest neighbor, K-NN 多分類和迴歸
是一種分類和迴歸方法,有監督學習。在訓練資料集中找到和新的輸入例項最接近的K個例項,這k個例項的多數類別就是這個新例項的類別。
三要素:K值得選擇,距離度量,分類決策規則。
實現方法:kd樹(二叉樹)快速搜尋K個最近鄰的點。
K值選擇:反映了對近似誤差和估計誤差的權衡。交叉驗證選擇最優的K值,K小,模型複雜,K大,模型簡答。
3.1 k 近鄰演算法
在訓練資料集中找到和新的輸入例項最接近的K個例項,這k個例項的多數類別就是這個新例項的類別。
3.2 k近鄰模型
三個基本要素:k值得選擇,距離度量,分類決策規則。
3.2.1 模型
三要素把特徵空間劃分為子空間,
3.2.2 距離度量
兩點距離是兩點相似程度的反應。n維實數向量,使用歐氏距離。或者Lp距離,p=2時候就是歐氏距離,p=1就是曼哈頓距離。p等於無窮大就是座標距離的最大值,
3.2.3 k值選擇
K值小,鄰域小,訓練資料少,模型複雜,容易過擬合,
k值大,相反結果。
在應用中,k取較小的值,交叉驗證選擇最優的K值
3.2.4 分類決策規則
多數表決規則。
3.3 K近鄰法的實現:kd樹
對訓練資料進行快速搜尋:線性掃描:計算輸入例項和每個訓練例項的距離,資料大不現實。
所以想到了kd樹
3.3.1 構造kd樹
kd樹是二叉樹,
第四章 樸素貝葉斯法 二分類,多分類 用於NLP,有監督
貝葉斯公式:P(Y|X) = P(X|Y)P(Y)/P(X)
P(Y)先驗概率(全概率),後驗概率(條件概率):P(Y|X),聯合概率P(Y,X),
樸素貝葉斯法是基於貝葉斯定理和特徵條件獨立假設的分類方法。首先學習輸入輸出的聯合概率分佈,然後基於此模型,對給定的輸入x,
利用貝葉斯定理求出後驗概率最大的輸出y。
後驗概率最大等價於0-1損失函式的期望風險最小化。
是典型的生成學習方法,由訓練資料求出聯合概率分佈,再求出條件概率分佈(後驗概率)。
概率估計方法是:極大似然估計或者貝葉斯估計。
基本假設是條件獨立性
4.1 學習與分類
分類時候,對給定的輸入x,通過學習到的模型計算後驗概率最大的類,然後把此類作為x的類輸出。後驗概率計算根據貝葉斯定理求出。
4.1.2 後驗概率最大化的含義
樸素貝葉斯法把例項分到後驗概率最大的類中等價於期望風險最小化。,採用0-1損失函式
4.2 引數估計
4.2.1 極大似然估計
4.2.2 學習與分類演算法
4.2.3 貝葉斯估計
第五章 決策樹 decision tree 多分類,迴歸
是一種分類和迴歸演算法。包括三個步驟:特徵選擇,決策樹生成和決策樹的修剪,常用演算法:ID3,C4.5,CART
5.1 決策樹模型
決策樹由結點node和有向邊directed edge組成
P57決策樹的損失函式是正則化的極大似然函式,策略:以損失函式為目標函式的最小化。
5.2 資訊增益
5.2.1
特徵選擇的準則是資訊增益或者資訊增益比。特徵選擇是決定用哪個特徵來劃分特徵空間。
5.2.2
熵表示隨機變數不確定性的度量。所以熵越大,不確定性越大
資訊增益:經驗熵-條件熵
決策樹應用資訊增益準則選擇特徵,資訊增益越大,分類效果越好。
5.2.3 資訊增益比
資訊增益除以熵
5.3 決策樹生成
常用生成樹演算法:
ID3:用資訊增益作為準則選擇特徵,增益越大越好
C4.5用資訊增益比來選擇特徵,越大越好
5.4 決策樹的剪枝
決策樹容易產生過擬合現象,原因是學習過程考慮太多如何提高訓練資料的正確分類,導致決策樹太複雜。解決辦法就是降低決策樹的複雜度,對決策樹進行簡化,稱作剪枝pruning。
通過極小化損失函式loss function或者代價函式cost function來實現。
5.5 CART演算法 classification and regression tree
用於分類和迴歸,包含決策樹生成和剪枝兩步。
5.5.1 決策樹生成
生成就是遞迴的構建二叉決策樹,迴歸樹用最小二乘迴歸樹(平方誤差)最小化準則,對分類樹用基尼指數最小化準則。
5.5.2 CART 剪枝
第六章: 邏輯斯地迴歸和最大熵模型 多分類
https://blog.csdn.net/han_xiaoyang/article/details/49123419
它的核心思想是,如果線性迴歸的結果輸出是一個連續值,而值的範圍是無法限定的,那我們有沒有辦法把這個結果值對映為可以幫助我們判斷的結果呢。
而如果輸出結果是 (0,1) 的一個概率值,這個問題就很清楚了。我們在數學上找了一圈,還真就找著這樣一個簡單的函數了,就是很神奇的sigmoid函式(如下):
邏輯迴歸用於二分類和多分類
邏輯斯地分佈是S型曲線
最大熵模型:熵最大的模型是最好的模型。
X服從均勻分佈時候,熵最大
最大熵模型的學習等價於約束最優化問題。
對偶函式的極大化等價於最大熵模型的極大似然估計。
模型學習的最優化演算法有:改進的迭代尺度法IIS,梯度下降法,牛頓法,或者擬牛頓法
第七章:支援向量機 二分類
https://blog.csdn.net/github_38325884/article/details/74418365
https://blog.csdn.net/macyang/article/details/38782399
https://blog.csdn.net/passball/article/details/7661887
核心思路是通過構造分割面將資料進行分離。
支援向量:距離分離平面最近的點。
線性可分支援向量機利用間隔最大化求最優分離超平面。
給定線性可分訓練資料集,通過間隔最大化得到的分割超平面為
函式間隔表示分類預測的正確性和確信度
幾何間隔是樣本點到超平面的距離最近的點
過渡帶:支援向量到超平面的距離空間
SVM期望過渡帶儘可能大,因此最終引數W與b的選擇可以表示為:
硬間隔最大化:所有點都被正確分類,線性支援向量機
軟間隔最大化:大部分點被正確分類,少部分無法被正確分類的點也不影響整體分類。帶有特異點的線性支援向量機
對於前兩種SVM,對其加入一個核函式kernel function就可以構造出非線性SVM。
非線性支援向量機和核函式
支援向量怎麼選擇?以線性可分SVM為例,我們將W認為是若干樣本線性組合得到的,第1個樣本為X1,第i 個為Xi。對於每個X,給予其係數ALPHA。此時存在:
選取部分ALPHA,使它們的值不為0,其餘ALPHA值都設為0。則對W真正起作用的就是ALPHA值不為0的這些X向量。這些向量,支援了法線向量,因此就是支援向量。
SVM的損失,通常被定義為沒有被正確分在過渡帶外面的向量,到過渡帶邊界的距離。位於過渡帶內的樣本,損失為1-d。d是該樣本到分割面的距離。
注意,如果是在“本方”過渡帶,則d為正值。如果已經越過分割面了,則d值變為負值。這個損失也被稱為Hinge損失。因此Loss function可以被寫成:
鬆弛因子
對於線性SVM而言,因為不要求所有樣本都被分對,因此其約束條件和線性可分SVM並不相同。給出一個大於等於0的鬆弛因子XI,使函式間隔加上鬆弛因子後大於等於1,
Kernel
Kernel可以說是SVM的精髓所在,其目的在於,通過將原始輸入空間對映到更高維度的特徵空間這一操作,原本線性不可分的樣本可以在新的核空間內變為線性可分。常見的kernel有:
核函式:把原始樣本空間對映到高維,然後才能順利把樣本分開,也就是把非線性學習擴充套件為線性學習。各種核函式統稱核方法。
多項式核函式講起,最基本的,c等於0,d等於2的情況下,kernel使原有的兩個變數兩兩相乘。這相當於將維度數量平方了。規模上,特徵數目變為平方級,而計算複雜度並沒有顯著上升。
RBF則是固定每一個Xi,對於變化的Xj,以Xi為中心做指數級衰減。相當於是以Xi為中心,做高斯分佈。因此被稱作高斯核函式。對於每個樣本的label而言,正例被kernel向上拉昇,負例向下延伸。從而使資料分離
高斯核函式,線性核函式,多項式核函式。
第八章 提升方法boosting 二分類 整合
https://blog.csdn.net/a1b2c3d4123456/article/details/51834272
https://blog.csdn.net/qq_32690999/article/details/78759463
https://blog.csdn.net/google19890102/article/details/46507387
分類問題中,改變訓練樣本權重,學習多個分類器,然後把多個分類器進行線性組合,提高分類效能。
整合學習在機器學習演算法中具有較高的準去率,不足之處就是模型的訓練過程可能比較複雜,效率不是很高。
目前接觸較多的整合學習主要有2種:基於Boosting的和基於Bagging,前者的代表演算法有Adaboost、GBDT、XGBOOST、後者的代表演算法主要是隨機森林。
8.1 提升方法Adaboost演算法
思路,把多個專家判斷綜合得到的結果比單獨專家判斷好,也就是三個臭皮匠賽過諸葛亮的原理。
粗糙分類規則得到弱分類器,想辦法把弱分類器變成強分類器。
改變訓練資料的權值或者概率分佈的方法:提高被前一輪弱分類器錯誤分類樣本的權值降低被正確分類樣本權值。
弱分類器組合成強分類器的方法:採取加權多數表決法:加大分類誤差率小的弱分類器的權值,減小誤差率大的權值。
8.4.3 梯度提升
第九章 EM演算法及其推廣 概率模型引數估計
EM演算法用於含有隱變數的概率模型引數的極大似然估計的迭代演算法。
分兩步:E步,求期望Expectation,M步,求極大Maximization
第十章 隱馬爾科夫模型 hidden Markov model,HMM 標註問題 生成模型 NLP
是用於標註問題的統計學模型,描述由隱藏的馬爾科夫鏈隨機生成觀測序列的過程,屬於生成模型。表示狀態序列和觀測序列的聯合分佈,狀態序列是隱藏的。
標註問題是給定觀測序列預測對應的標記序列。
概率計算:計算在模型下觀測序列出現的概率。前向,後向演算法是通過遞推的計算前後向概率可以高效進行隱馬爾科夫模型的概率計算。
學習問題:在模型下讓觀測序列概率最大,用極大似然估計法估計引數。極大後驗概率估計。具體演算法有:概率計算公式和EM演算法。
預測問題:維特比演算法應用動態規劃高效的求解最優路徑,即概率最大的狀態序列。
10.1 基本概念
10.1.1 定義
時序概率模型,描述由一個隱藏的馬爾科夫鏈生成不可觀測的狀態隨機序列,每一個狀態序列生成一個觀測而由此產生觀測隨機序列。
狀態序列,觀測序列。
3要素組成:初始概率分佈,狀態轉移概率分佈,觀測概率分佈。
用於標註:給定觀測的序列,預測對應的標記序列。
10.1.2 觀測序列的生成過程
10.1.3 3個基本問題
概率計算:
學習問題
預測問題
10.2 概率計算演算法
10.2.1 直接計算演算法:概念可行,計算不可行
10.2.2 前向概率演算法
10.2.4 一些概率和期望的計算
10.3 學習演算法
10.3.1 監督學習演算法
轉移概率的估計
觀測概率的估計
初始狀態概率的估計
10.3.2 Baum-Welch 演算法
目標是學習隱馬爾科夫模型的引數,可觀測序列可見,狀態序列隱藏,
EM演算法可以求引數。
10.3.3 Baum-Welch模型引數估計公式
10.4 預測演算法
10.4.1 近似演算法
在每個時刻選擇最有可能出現的狀態,從而得到狀態序列,將它作為預測結果。
10.4.2 維特比演算法Viterbi algorithm
用動態規劃求概率最大路徑,一條路徑對應著一個狀態序列。
第十一章 條件隨機場 CRF 標註問題 判別模型 NLP
給定隨機變數X條件下,隨機變數Y的馬爾科夫隨機場。線性鏈條件隨機場可以用於標註問題。學習時候利用訓練資料集通過(正則化的)極大似然估計得到條件概率模型。
預測時候利用給定的輸入序列求出條件概率最大的輸出序列。條件概率分佈就是條件隨機場
conditional random field CRF是給定輸入隨機變數X條件下,輸出隨機變數Y的條件概率分佈模型,其形式為引數化的對數線性模型。
最大特點是假設輸出變數之間的聯合概率分佈構成概率無向圖模型(馬爾科夫隨機場),屬於判別模型。
線性鏈條件隨機場表示為在觀測序列條件下的標記序列的條件概率分佈。由引數化的對數線性模型表示。
概率計算採用前後向演算法
學習方法:(正則化的)極大似然估計法:即在給定訓練資料下,通過極大化訓練資料的對數似然函式來估計模型引數。
具體的演算法有:迭代尺度演算法,梯度下降法,擬牛頓法。
應用:標註。維特比法:給定觀測序列,求條件概率最大的標記序列的方法。
11.1 概率無向圖模型
又稱為馬爾科夫隨機場,是一個可以由無向圖表示的聯合概率分佈,
11.1.1 模型定義
圖graph是由結點node和邊edge組成的集合。記做G=(V,E)。無向圖是指邊沒有方向的圖。是 由圖表示的概率分佈。
如果聯合概率分佈滿足成對,區域性,全域性馬爾科夫性,就稱呼此聯合概率分佈為概率無向圖模型或者馬爾科夫隨機場。
11.1.2 概率無向圖模型的因子分解
聯合概率寫成若干子聯合概率的乘積形式。(最大團上的隨機變數的函式的乘積形式的操作)
團clique:任意兩個結點都有邊連線的子集
最大團:無法新增多餘結點成為更大的團
規範化因子
勢函式
11.2 條件隨機場的定義和形式
11.2.1 定義 :條件概率分佈就是條件隨機場
給定隨機變數X條件下,隨機變數Y的馬爾科夫隨機場。
線性鏈條件隨機場可以用於標註問題。
學習時候利用訓練資料集通過(正則化的)極大似然估計得到條件概率模型。
預測時候利用給定的輸入序列求出條件概率最大的輸出序列。
條件概率分佈就是條件隨機場
11.2.2 條件隨機場的引數化形式
11.2.3 條件隨機場的簡化形勢
11.2.4 條件隨機場的矩陣形式
11.3 條件隨機場的概率計算問題
計算條件概率和相應的數學期望問題。
11.3.1 前向-後向演算法
遞迴計算條件概率和相應的數學期望問題的值
11.3.2 概率計算
11.3.3 期望值得計算
11.4 學習演算法
11.4.1 改進的迭代尺度法
11.4.2 擬牛頓法
11.5 預測演算法
維特比演算法 :初始化,遞推,終止,返回路徑
****************************************補充演算法**********************************************
14.3 主成分分析問題 PCA
參考視訊: 14 - 3 - Principal Component Analysis Problem Formulation
主成分分析(PCA)是最常見的降維演算法。
降維簡化模型,對資料進行壓縮。
在 PCA 中,我們要做的是找到一個方向向量(Vector direction),當我們把所有的資料
都 投射到該向量上時,我們希望投射平均均方誤差能儘可能地小。方向向量是一個經過原
點的向量,而投射誤差是從特徵向量向該方向向量作垂線的長度。(就是從點到直線做垂線,求垂線最短的過原點的直線)
主成分分析與線性回顧的比較:
主成分分析與線性迴歸是兩種不同的演算法。主成分分析最小化的是投射誤差(Projected
Error),而線性迴歸嘗試的是最小化預測誤差。線性迴歸的目的是預測結果,而主成分分析
不作任何預測。
主成分分析是做垂直於直線的線段。線性迴歸是做垂直於X軸的直線。
PCA 將 n 個特徵降維到 k 個,可以用來進行資料壓縮,如果 100 維的向量最後可以用 10
維來表示,那麼壓縮率為 90%。同樣影象處理領域的 KL 變換使用 PCA 做影象壓縮。但 PCA
要保證降維後,還要保證資料的特性損失最小。
認識你是我們的緣分,同學,等等,學習人工智慧,記得關注我。
微信掃一掃
關注該公眾號
《灣區人工智慧》