機(jī)器學(xué)習(xí):Chapter1~3

Chapter 1: 緒論

術(shù)語(yǔ)

  • learning/traning,學(xué)習(xí)/訓(xùn)練: 從數(shù)據(jù)中學(xué)得模型的過(guò)程(找到與訓(xùn)練集匹配的假設(shè))
  • model, 模型: 從數(shù)據(jù)中學(xué)的的結(jié)果
  • pattern, 模式: 局部性結(jié)果(如一條規(guī)則)
  • data set, 數(shù)據(jù)集
  • instace/sample, 示例/樣本
  • attribute/feature, 屬性/特征(or called feature vector, 特征向量)
  • attribute/sample space, 屬性/樣本空間
  • hypothesis, 假設(shè): 學(xué)得模型所對(duì)應(yīng)的關(guān)于數(shù)據(jù)的某種潛在規(guī)律
  • label, 標(biāo)記: 關(guān)于實(shí)例結(jié)果的信息(標(biāo)記空間即輸出空間)
  • testing, 測(cè)試: 使用學(xué)得模型進(jìn)行預(yù)測(cè)的過(guò)程, 被預(yù)測(cè)的樣本稱為測(cè)試樣本(testing sample)
  • generalization, 泛化: 學(xué)得模型適用于新樣本的能力
  • independent and identically distributed, 獨(dú)立同分布(i.d.d):
  • learning
* supervised learning, 監(jiān)督學(xué)習(xí): 訓(xùn)練數(shù)據(jù)具有標(biāo)記信息
    * classification, 分類(lèi): 預(yù)測(cè)的是離散值
    * regressiong, 回歸: 預(yù)測(cè)的是連續(xù)值
* unsupervised learning, 無(wú)監(jiān)督學(xué)習(xí): 訓(xùn)練數(shù)據(jù)不擁有標(biāo)記信息
    * clustering, 聚類(lèi): 將訓(xùn)練集中的樣本分為若干類(lèi)(cluster)

假設(shè)空間

  • induction, 歸納: 從特殊到一般的“泛化”(generalization)過(guò)程
  • deduction, 演繹: 從一般到特殊的“特化”(specialization)過(guò)程
    從樣本中學(xué)習(xí),屬于歸納過(guò)程,即歸納學(xué)習(xí)(inductive learning)
  • version space, 版本空間: 與訓(xùn)練集一致的假設(shè)集合

歸納偏好

  • inductive bias, 歸納偏好: 機(jī)器學(xué)習(xí)算法在學(xué)習(xí)過(guò)程中對(duì)某種類(lèi)型假設(shè)的偏好
    歸納偏好可看做是學(xué)習(xí)算法在一個(gè)可能龐大的假設(shè)空間中對(duì)假設(shè)進(jìn)行選擇的啟發(fā)式或“價(jià)值觀”.若一個(gè)算法沒(méi)有偏好, 則無(wú)法產(chǎn)生確定的學(xué)習(xí)結(jié)果.
  • Occam's razor, 奧卡姆剃刀: 若有多個(gè)假設(shè)與觀察一致, 選與經(jīng)驗(yàn)觀察一致的最簡(jiǎn)單假設(shè)(如: 更平滑的曲線).
    NFL(No Free Lunch Theorem)定理: 無(wú)論學(xué)習(xí)算法的好壞,期望性能是相同. 總誤差與學(xué)習(xí)算法無(wú)關(guān).
    故討論算法的優(yōu)劣, 需要針對(duì)具體的學(xué)習(xí)問(wèn)題. 學(xué)習(xí)算法的歸納偏好與問(wèn)題是否相配, 對(duì)算法的相對(duì)優(yōu)劣的評(píng)估起到?jīng)Q定性的作用.

Chapter 2: 模型評(píng)估與選擇

經(jīng)驗(yàn)誤差與過(guò)擬合

  • error rate, 錯(cuò)誤率: 分類(lèi)錯(cuò)誤的樣本數(shù)占樣本總數(shù)的比例. m個(gè)樣本中a個(gè)分類(lèi)錯(cuò)誤,錯(cuò)誤率E=a/m
  • accuracy, 精度: 分類(lèi)錯(cuò)誤的樣本數(shù)占樣本總數(shù)的比例. 精度=1-錯(cuò)誤率
  • error, 誤差: 學(xué)習(xí)器的實(shí)際預(yù)測(cè)輸出與樣本的真實(shí)輸出之間的差異
    • training/empirical error, 訓(xùn)練/經(jīng)驗(yàn)誤差: 學(xué)習(xí)器在訓(xùn)練集上的誤差
    • generalization error, 泛化誤差: 學(xué)習(xí)器在新樣本上的誤差
  • overfitting, 過(guò)擬合: 學(xué)習(xí)器把訓(xùn)練樣本自身的一些特點(diǎn)當(dāng)作了所有潛在樣本都會(huì)具有的一般性質(zhì)(學(xué)習(xí)能力過(guò)于強(qiáng)大), 導(dǎo)致泛化性能下降. 與之相對(duì)的是欠擬合(underfitting):對(duì)訓(xùn)練樣本的一般性質(zhì)尚未學(xué)好.
  • Q: 如何進(jìn)行模型選擇(model selection)

評(píng)估方法

模型選擇的理想解決方案: 對(duì)候選模型的泛化誤差進(jìn)行評(píng)估, 選擇泛化誤差最小的模型. 但泛化誤差無(wú)法直接獲得, 使用訓(xùn)練誤差又會(huì)得到過(guò)于"樂(lè)觀"的結(jié)果.
故使用測(cè)試集(testing sest)來(lái)測(cè)試學(xué)習(xí)器對(duì)新樣本的判別能力, 以測(cè)試機(jī)上的測(cè)試誤差(testing error)作為泛化誤差的近似.
要求: 測(cè)試集應(yīng)該盡可能與訓(xùn)練集互斥.

  • Q: 包含m個(gè)樣例的數(shù)據(jù)集 D={(x1,y1), (x2,y2), ..., (xm,ym)}, 如何對(duì)D進(jìn)行適當(dāng)處理以從中產(chǎn)出訓(xùn)練集S和測(cè)試集T?

留出法(hold-out)

直接將數(shù)據(jù)集D劃分為兩個(gè)互斥的集合, 分別作為訓(xùn)練集S和測(cè)試集T.即 D=S∪T, S∩T=?.
note:

  1. 訓(xùn)練/測(cè)試集的劃分應(yīng)盡可能保持?jǐn)?shù)據(jù)分布的一致性(如: 類(lèi)別比例, 等), 避免引入額外的偏差.
  2. S與D的容量影響所得模型的性能: S太大->模型更接近于D訓(xùn)練出的模型, 結(jié)果不夠穩(wěn)定準(zhǔn)確; S太小->降低了評(píng)估結(jié)果的保真性(fidelity). 一般將大約2/3~4/5的樣本用于訓(xùn)練, 剩余樣本用于測(cè)試.
  • stratified sampling, 分層采樣: 保留類(lèi)別比例的采樣方式.

單次使用留出法得到的結(jié)果不夠穩(wěn)定可靠, 一般采用若干次隨機(jī)劃分, 重復(fù)進(jìn)行實(shí)驗(yàn)評(píng)估后取平均值作為留出法的評(píng)估結(jié)果.


交叉驗(yàn)證法(cross validation)

將數(shù)據(jù)集D劃分為k個(gè)大小相似的互斥子集, 即: D=D1∪D2∪...∪Dk , Di∪Dj=?(i≠j).每個(gè)子集Di都盡可能保持?jǐn)?shù)據(jù)分布的一致性(即從D中分層采樣得到). 每次用k-1個(gè)子集的并集作為訓(xùn)練集, 余下的子集作為測(cè)試集. 如此獲得k組訓(xùn)練/測(cè)試集, 進(jìn)行k次訓(xùn)練和測(cè)試, 最終返回這k次測(cè)試結(jié)果的均值. 此方法亦稱為"k折交叉驗(yàn)證"(k-fold cross validation), k常取10、5、20等.

  • p次k折交叉驗(yàn)證: 隨機(jī)使用不同的劃分重復(fù)p次, 最終結(jié)果為這p次劃分的k折交叉驗(yàn)證結(jié)果的均值, 以減小因樣本劃分不同而引入的差別.
  • 留一法: k=m(m為數(shù)據(jù)集D的樣本數(shù)). 即只有一種劃分: 每個(gè)子集包含一個(gè)樣本. 訓(xùn)練集與初始數(shù)據(jù)集相似, 模型與期望的用D訓(xùn)練出的模型相似, 結(jié)果在多數(shù)時(shí)候比較準(zhǔn)確. 但數(shù)據(jù)集較大時(shí), 訓(xùn)練開(kāi)銷(xiāo)很大.

自助法(bootstrapping)

自助采樣: 給定包含m個(gè)樣本的數(shù)據(jù)集D, 每次隨機(jī)從D中挑選一個(gè)樣本并將其拷貝放入D', 該樣本放回D中; 重復(fù)此過(guò)程m次, 得到包含m個(gè)樣本的數(shù)據(jù)集D'.
樣本在m次采樣中始終不被采到的概率為 lim (1-1/m)m -> 1/e ≈ 0.368
D中約有36.8%的樣本未出現(xiàn)在D‘中, 故將D/D'用作測(cè)試集. 這樣的測(cè)試結(jié)果亦稱為"包外估計(jì)"(out-of-bag estimate).

自助法適用于數(shù)據(jù)集較小、難以有效劃分訓(xùn)練/測(cè)試集時(shí). 且能產(chǎn)生多個(gè)不同的訓(xùn)練集, 有利于集成學(xué)習(xí). 但自助法產(chǎn)生的數(shù)據(jù)集該變量初始數(shù)據(jù)集的分布, 引入了估計(jì)偏差, 故不如前兩種方法常用.


調(diào)參(parameter tuning)與最終模型

很多參數(shù)在實(shí)數(shù)范圍內(nèi)取值, 通常通過(guò)對(duì)每個(gè)參數(shù)選定一個(gè)范圍和變化步長(zhǎng), 來(lái)減少調(diào)參工作量.
在模型選擇完成后(學(xué)習(xí)算法和參數(shù)配置已確定), 應(yīng)用數(shù)據(jù)集D重新訓(xùn)練模型以作為最終提交給用戶的模型.
validation set, 驗(yàn)證集: 模型評(píng)估與選擇中用于評(píng)估測(cè)試的數(shù)據(jù)集.


性能度量(performance measure)

性能度量: 衡量模型泛化能力的評(píng)價(jià)標(biāo)準(zhǔn). 如何評(píng)估: 把學(xué)習(xí)器預(yù)測(cè)結(jié)果與真實(shí)標(biāo)記進(jìn)行比較.
mean squared error, 均方誤差: 回歸任務(wù)中的常用性能度量, 表示為: 1/m· ∑(f(xi)-yi)2;
對(duì)于概率密度函數(shù)p(·), 均方誤差: ∫(f(x)-y)2p(x)dx


錯(cuò)誤率與精度

錯(cuò)誤率與精度是分類(lèi)任務(wù)中常用的性能度量. (見(jiàn)前文)

  • 公式略

查準(zhǔn)率(precision)、查全率(recall)與F1

查準(zhǔn)率 P=TP/(TP+FP); 查全率 R=TP/(TP+FN)
兩者是矛盾的度量.

真相/預(yù)測(cè)結(jié)果 正例 反例
正例 TP(真正例, true positive) FN(假反例, false negative)
反例 FP(假正例, false positive) FN(真反例, true negative)

P-R圖: 以查準(zhǔn)率為縱軸、查全率為橫軸作圖, 得到P-R圖.

  • Q: 如何根據(jù)P-R曲線比較學(xué)習(xí)器的性能?

break-even point, 平衡點(diǎn)(BEP): 查準(zhǔn)率=查全率時(shí)的取值, 查找平衡點(diǎn)以進(jìn)行性能比較. 此度量過(guò)于簡(jiǎn)單, 不適用于用戶對(duì)查準(zhǔn)率和查全率有所偏好的情況.
F1度量: 一般形式為Fβ ,
F_β =\frac{(1+β^2)×P×R}{(β^2×P)+R}
其中β度量了查全率/查準(zhǔn)率的相對(duì)重要性: β=1時(shí), 標(biāo)準(zhǔn)的F1; β>1時(shí), 查全率有更大影響; β<1時(shí), 查準(zhǔn)率有更大影響.

多個(gè)二分類(lèi)混淆矩陣: 多次訓(xùn)練/測(cè)試, 每次得到一個(gè)混淆矩陣, 在這多個(gè)矩陣上綜合考察"查準(zhǔn)/查全"->

  • 每個(gè)混淆矩陣上分別計(jì)算查準(zhǔn)率和查全率, 計(jì)算平均值, 得到"宏查準(zhǔn)率(macro-P)"、"宏查全率(macro-R)"、"宏F1(macro-F1)".
  • 將各混淆矩陣的對(duì)應(yīng)元素進(jìn)行平均, 得到TP、FP、TN、FN的平均值, 再根據(jù)平均值計(jì)算得到"微查準(zhǔn)率(micro-P)"、"微查全率(micro-R)"、"微F1(micro-F1)".

ROC與AUC

根據(jù)任務(wù)需求采用不同的截?cái)帱c(diǎn)(測(cè)試樣本產(chǎn)生一個(gè)實(shí)數(shù)值), 截?cái)帱c(diǎn)前一部分判作正例, 后一部分作為反例.
receiver operating characteristic, 受試者工作特征曲線(ROC): 以FPR為橫軸、TPR為縱軸作圖.

  • true positive rate, 真正例率(TPR): TPR=TP/(TP+FN) (等于查全率)
  • false positive rate, 假正例率(FPR): FPR=FP/(TN+FP)

area under R0C curve, ROC曲線下的面積(AUC): 用于比較兩個(gè)學(xué)習(xí)器的性能. AUC=1-lrank (lrank 為排序損失)


代價(jià)敏感錯(cuò)誤率與代價(jià)曲線

unequal cost, 非均等代價(jià): 不同類(lèi)型錯(cuò)誤所造成的損失不同.
代價(jià)矩陣(cost matrix): costij表示將第i類(lèi)樣本預(yù)測(cè)為第j類(lèi)樣本的代價(jià).
根據(jù)代價(jià)矩陣計(jì)算的代價(jià)敏感(error-sensitive)錯(cuò)誤率, 以二分類(lèi)的代價(jià)敏感錯(cuò)誤率舉例:
E(f;D;cost) = \frac{1}{m}(\sum_{x_i∈D^+}Ⅱ(f(x_i)≠y_i)×cost_{01}+ \sum_{x_i∈D^+}Ⅱ(f(x_i)≠y_i)×cost_{10})

cost curve, 代價(jià)曲線: 以正例概率代價(jià)為橫軸、歸一化代價(jià)為縱軸作圖所得曲線. 由曲線可計(jì)算學(xué)習(xí)器在固定條件下的期望總體代價(jià).
正例概率代價(jià): P(+)cost = \frac{p×cost_{01}}{p×cost_{01}+(1-p)×cost_{10}}
歸一化代價(jià): cost_{norm} = \frac{FNR×p×cost_{01}+FPR×(1-P)×cost_{10}}{p×cost_{01}+(1-p)×cost_{10}}


比較檢驗(yàn)(理解不到, 暫放)

  • 假設(shè)檢驗(yàn)
    • binomial test, 二項(xiàng)檢驗(yàn)
    • t-test, t檢驗(yàn)
  • 交叉驗(yàn)證t檢驗(yàn)
  • McNemar檢驗(yàn)
  • Friedman檢驗(yàn) 與 Nemenyi后續(xù)檢驗(yàn)

偏差與方差

偏差-方差分解: 解釋學(xué)習(xí)算法泛化性能的重要工具

  • variance, 方差: 預(yù)測(cè)輸出與期望輸出的差別.
  • bias, 偏差: 期望輸出與真實(shí)標(biāo)記的差別.
  • noise, 噪聲: 數(shù)據(jù)集中的標(biāo)記與真實(shí)標(biāo)記的差別.
    泛化誤差 = 偏差 + 方差 + 噪聲

Chapter 3: 線性模型

線性模型基本形式: f(x)= wTx+b

線性回歸(linear regression)

離散屬性:

  • 屬性值間存在序關(guān)系: 連續(xù)化以轉(zhuǎn)化為連續(xù)值
  • 屬性值間不存在序關(guān)系: 若有k個(gè)屬性值, 則轉(zhuǎn)化為k維向量

least square method, 最小二乘法: 基于均方誤差最小化來(lái)進(jìn)行模型求解.
multivariate linear regression, 多元線性回歸: 需要對(duì)向量矩陣進(jìn)行轉(zhuǎn)化. (可能有過(guò)個(gè)節(jié))
log-linear regression, 對(duì)數(shù)線性回歸: ln y= wTx+b, 求取輸入空間到輸出空間的非線性函數(shù)映射.
考慮單調(diào)可微函數(shù)g(·), 廣義線性模型: y= g-1(wTx+b), 其中g(shù)(·)稱為聯(lián)系函數(shù)(link function).


對(duì)數(shù)幾率回歸(logistic regression)

針對(duì)分類(lèi)學(xué)習(xí), 通過(guò)找一個(gè)單調(diào)可微函數(shù)將分類(lèi)的真實(shí)標(biāo)記y與線性回歸模型的預(yù)測(cè)值聯(lián)系起來(lái).
unit-step function, 單位越階函數(shù): 不連續(xù).
logistic function, 對(duì)數(shù)幾率函數(shù): y = 1/(1+e-z) = 1/(1+e-wTx+b), 稱為對(duì)數(shù)幾率回歸模型.
通過(guò)極大似然法(maximum likelihood method)估計(jì)此模型的w和b, 求得最優(yōu)解可用梯度下降法、牛頓法等.


線性判別分析(linear discriminant analysis)

亦稱Fisher判別分析, LDA思想: 給定訓(xùn)練樣例集, 設(shè)法將樣例投影到一條直線上, 使得同類(lèi)樣例的投影點(diǎn)盡可能接近、異類(lèi)樣例的投影點(diǎn)盡可能遠(yuǎn)離; 在對(duì)新樣例進(jìn)行分類(lèi)時(shí), 將其投影到同樣的這條直線上, 再根據(jù)投影點(diǎn)的位置來(lái)確定新樣本的類(lèi)別.

  • 使同類(lèi)樣例的投影點(diǎn)盡可能接近, 通過(guò)計(jì)算使同類(lèi)樣例投影點(diǎn)的協(xié)方差盡可能小;
    而異類(lèi)樣例的投影點(diǎn)應(yīng)盡可能遠(yuǎn)離, 使其類(lèi)中心之間的距離盡可能大.

多分類(lèi)學(xué)習(xí)

基本思路為"拆解法", 利用二分類(lèi)學(xué)習(xí)器: 先對(duì)問(wèn)題進(jìn)行拆分, 為拆出的每個(gè)二分類(lèi)任務(wù)訓(xùn)練一個(gè)分類(lèi)器; 在測(cè)試時(shí), 對(duì)這些分類(lèi)器的預(yù)測(cè)結(jié)果進(jìn)行集成以獲得最終的多分類(lèi)結(jié)果.
經(jīng)典拆分策略:

  • one vs one, 一對(duì)一(OvO): N個(gè)類(lèi)別兩兩配對(duì), N(N-1)/2個(gè)二分類(lèi)任務(wù).
  • one vs rest, 一對(duì)其余(OvR): 將每次將一個(gè)類(lèi)的樣例作為正例, 所有其它類(lèi)的樣例作為反例, 訓(xùn)練N個(gè)分類(lèi)器.
  • many vs many, 一對(duì)一(MvM): 每次將若干個(gè)類(lèi)作為正類(lèi), 若干個(gè)其它類(lèi)作為反類(lèi).
    • error correcting output codes, 糾錯(cuò)輸出碼(ECOC): 一種常用MvM技術(shù), 對(duì)分類(lèi)器的錯(cuò)誤有一定的容忍和修正能力.

類(lèi)別不平衡(class-imbalance)問(wèn)題

指分類(lèi)任務(wù)中不同類(lèi)別的訓(xùn)練樣例數(shù)目差別很大的情況.
假設(shè)"訓(xùn)練集是真是樣本總體的無(wú)偏采樣", 通過(guò)"再縮放(rescaling)"對(duì)預(yù)測(cè)值進(jìn)行調(diào)整. y'/(1-y') = y/(1-y) * m-/m+ <式3.1>
該假設(shè)一般不成立, 三種策略:

  • undersampling, 欠采樣: 去除一些反例使得正、反例數(shù)目接近, 再進(jìn)行學(xué)習(xí).
  • oversampling, 過(guò)采樣: 增加一些正例使得正、反例數(shù)目接近, 再進(jìn)行學(xué)習(xí).
  • threshold-moving, 閾值移動(dòng): 直接基于原始訓(xùn)練集進(jìn)行學(xué)習(xí), 但在用訓(xùn)練好的分類(lèi)器進(jìn)行預(yù)測(cè)時(shí), 將上式3.1嵌入到?jīng)Q策過(guò)程中.
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容