周志華《機(jī)器學(xué)習(xí)》學(xué)習(xí)筆記_第1頁(yè)
周志華《機(jī)器學(xué)習(xí)》學(xué)習(xí)筆記_第2頁(yè)
周志華《機(jī)器學(xué)習(xí)》學(xué)習(xí)筆記_第3頁(yè)
周志華《機(jī)器學(xué)習(xí)》學(xué)習(xí)筆記_第4頁(yè)
周志華《機(jī)器學(xué)習(xí)》學(xué)習(xí)筆記_第5頁(yè)
已閱讀5頁(yè),還剩150頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

機(jī)器學(xué)習(xí)周志華學(xué)習(xí)筆記

目錄1緒論 72模型的評(píng)估與選擇 92.1誤差與過(guò)擬合 92.2評(píng)估方法 102.3訓(xùn)練集與測(cè)試集的劃分方法 102.4調(diào)參 122.5性能度量 132.6比較檢驗(yàn) 212.6.1假設(shè)檢驗(yàn) 212.6.2交叉驗(yàn)證t檢驗(yàn) 232.6.3McNemar檢驗(yàn) 232.6.4Friedman檢驗(yàn)與Nemenyi后續(xù)檢驗(yàn) 242.7偏差與方差 263、線性模型 273.1線性回歸 273.2線性幾率回歸 303.3線性判別分析 313.4多分類學(xué)習(xí) 333.5類別不平衡問(wèn)題 354、決策樹(shù) 364.1決策樹(shù)基本概念 364.2決策樹(shù)的構(gòu)造 374.2.1ID3算法 384.2.2C4.5算法 384.2.3CART算法 394.3剪枝處理 394.4連續(xù)值與缺失值處理 415、神經(jīng)網(wǎng)絡(luò) 435.1神經(jīng)元模型 435.2感知機(jī)與多層網(wǎng)絡(luò) 455.3BP神經(jīng)網(wǎng)絡(luò)算法 485.4全局最小與局部最小 515.5深度學(xué)習(xí) 526、支持向量機(jī) 546.1函數(shù)間隔與幾何間隔 546.1.1函數(shù)間隔 556.1.2幾何間隔 556.2最大間隔與支持向量 566.3從原始優(yōu)化問(wèn)題到對(duì)偶問(wèn)題 576.4核函數(shù) 596.5軟間隔支持向量機(jī) 617、貝葉斯分類器 657.1貝葉斯決策論 657.2極大似然法 677.3樸素貝葉斯分類器 698、EM算法 708.1EM算法思想 708.2EM算法數(shù)學(xué)推導(dǎo) 718.3EM算法流程 739、集成學(xué)習(xí) 749.1個(gè)體與集成 749.2Boosting 769.3Bagging與RandomForest 789.3.1Bagging 789.3.2隨機(jī)森林 809.4結(jié)合策略 809.4.1平均法(回歸問(wèn)題) 809.4.2投票法(分類問(wèn)題) 819.4.3學(xué)習(xí)法 829.5多樣性(diversity) 8210、聚類算法 8410.1距離度量 8410.2性能度量 8610.2.1外部指標(biāo) 8610.2.2內(nèi)部指標(biāo) 8710.3原型聚類 8810.3.1K-Means 8810.3.2學(xué)習(xí)向量量化(LVQ) 8910.3.3高斯混合聚類 9010.4密度聚類 9310.5層次聚類 9411、降維與度量學(xué)習(xí) 9611.1K近鄰學(xué)習(xí) 9611.2MDS算法 9811.3主成分分析(PCA) 9911.4核化線性降維 10011.5流形學(xué)習(xí) 10211.5.1等度量映射(Isomap) 10211.5.2局部線性嵌入(LLE) 10411.6度量學(xué)習(xí) 10512、特征選擇與稀疏學(xué)習(xí) 10812.1子集搜索與評(píng)價(jià) 10812.2過(guò)濾式選擇(Relief) 10912.3包裹式選擇(LVW) 11012.4嵌入式選擇與正則化 11212.5稀疏表示與字典學(xué)習(xí) 11312.6壓縮感知 11413、計(jì)算學(xué)習(xí)理論 11513.1PAC學(xué)習(xí) 11613.2有限假設(shè)空間 11713.2.1可分情形 11813.2.2不可分情形 11813.3VC維 11913.4穩(wěn)定性 12114、半監(jiān)督學(xué)習(xí) 12314.1生成式方法 12414.2半監(jiān)督SVM 12614.3基于分歧的方法 12714.4半監(jiān)督聚類 12915、概率圖模型 13115.1隱馬爾可夫模型(HMM) 13115.1.1HMM評(píng)估問(wèn)題 13315.1.2HMM解碼問(wèn)題 13415.1.3HMM學(xué)習(xí)問(wèn)題 13415.2馬爾可夫隨機(jī)場(chǎng)(MRF) 13615.3條件隨機(jī)場(chǎng)(CRF) 13715.4學(xué)習(xí)與推斷 13815.4.1變量消去 13815.4.2信念傳播 13916、強(qiáng)化學(xué)習(xí) 14216.1基本要素 14216.2K搖擺賭博機(jī) 14316.2.1ε-貪心 14416.2.2Softmax 14416.3有模型學(xué)習(xí) 14516.3.1策略評(píng)估 14516.3.2策略改進(jìn) 14716.4蒙特卡羅強(qiáng)化學(xué)習(xí) 149《機(jī)器學(xué)習(xí)》學(xué)習(xí)筆記(1)--緒論機(jī)器學(xué)習(xí)是目前信息技術(shù)中最激動(dòng)人心的方向之一,其應(yīng)用已經(jīng)深入到生活的各個(gè)層面且與普通人的日常生活密切相關(guān)。本文為清華大學(xué)最新出版的《機(jī)器學(xué)習(xí)》教材的LearningNotes,書作者是南京大學(xué)周志華教授,多個(gè)大陸首位彰顯其學(xué)術(shù)奢華。本篇主要介紹了該教材前兩個(gè)章節(jié)的知識(shí)點(diǎn)以及自己一點(diǎn)淺陋的理解。1緒論1.1機(jī)器學(xué)習(xí)的定義正如我們根據(jù)過(guò)去的經(jīng)驗(yàn)來(lái)判斷明天的天氣,吃貨們希望從購(gòu)買經(jīng)驗(yàn)中挑選一個(gè)好瓜,那能不能讓計(jì)算機(jī)幫助人類來(lái)實(shí)現(xiàn)這個(gè)呢?機(jī)器學(xué)習(xí)正是這樣的一門學(xué)科,人的“經(jīng)驗(yàn)”對(duì)應(yīng)計(jì)算機(jī)中的“數(shù)據(jù)”,讓計(jì)算機(jī)來(lái)學(xué)習(xí)這些經(jīng)驗(yàn)數(shù)據(jù),生成一個(gè)算法模型,在面對(duì)新的情況中,計(jì)算機(jī)便能作出有效的判斷,這便是機(jī)器學(xué)習(xí)。另一本經(jīng)典教材的作者M(jìn)itchell給出了一個(gè)形式化的定義,假設(shè):P:計(jì)算機(jī)程序在某任務(wù)類T上的性能。T:計(jì)算機(jī)程序希望實(shí)現(xiàn)的任務(wù)類。E:表示經(jīng)驗(yàn),即歷史的數(shù)據(jù)集。若該計(jì)算機(jī)程序通過(guò)利用經(jīng)驗(yàn)E在任務(wù)T上獲得了性能P的改善,則稱該程序?qū)進(jìn)行了學(xué)習(xí)。1.2機(jī)器學(xué)習(xí)的一些基本術(shù)語(yǔ)假設(shè)我們收集了一批西瓜的數(shù)據(jù),例如:(色澤=青綠;根蒂=蜷縮;敲聲=濁響),(色澤=烏黑;根蒂=稍蜷;敲聲=沉悶),(色澤=淺自;根蒂=硬挺;敲聲=清脆)……每對(duì)括號(hào)內(nèi)是一個(gè)西瓜的記錄,定義:所有記錄的集合為:數(shù)據(jù)集。每一條記錄為:一個(gè)實(shí)例(instance)或樣本(sample)。例如:色澤或敲聲,單個(gè)的特點(diǎn)為特征(feature)或?qū)傩裕╝ttribute)。對(duì)于一條記錄,如果在坐標(biāo)軸上表示,每個(gè)西瓜都可以用坐標(biāo)軸中的一個(gè)點(diǎn)表示,一個(gè)點(diǎn)也是一個(gè)向量,例如(青綠,蜷縮,濁響),即每個(gè)西瓜為:一個(gè)特征向量(featurevector)。一個(gè)樣本的特征數(shù)為:維數(shù)(dimensionality),該西瓜的例子維數(shù)為3,當(dāng)維數(shù)非常大時(shí),也就是現(xiàn)在說(shuō)的“維數(shù)災(zāi)難”。在計(jì)算機(jī)程序?qū)W習(xí)經(jīng)驗(yàn)數(shù)據(jù)生成算法模型的過(guò)程中,每一條記錄稱為一個(gè)“訓(xùn)練樣本”,同時(shí)在訓(xùn)練好模型后,我們希望使用新的樣本來(lái)測(cè)試模型的效果,則每一個(gè)新的樣本稱為一個(gè)“測(cè)試樣本”。定義:所有訓(xùn)練樣本的集合為:訓(xùn)練集(trainningset),[特殊]。所有測(cè)試樣本的集合為:測(cè)試集(testset),[一般]。機(jī)器學(xué)習(xí)出來(lái)的模型適用于新樣本的能力為:泛化能力(generalization),即從特殊到一般。在西瓜的例子中,我們是想計(jì)算機(jī)通過(guò)學(xué)習(xí)西瓜的特征數(shù)據(jù),訓(xùn)練出一個(gè)決策模型,來(lái)判斷一個(gè)新的西瓜是否是好瓜??梢缘弥覀冾A(yù)測(cè)的是:西瓜是好是壞,即好瓜與差瓜兩種,是離散值。同樣地,也有通過(guò)歷年的人口數(shù)據(jù),來(lái)預(yù)測(cè)未來(lái)的人口數(shù)量,人口數(shù)量則是連續(xù)值。定義:預(yù)測(cè)值為離散值的問(wèn)題為:分類(classification)。預(yù)測(cè)值為連續(xù)值的問(wèn)題為:回歸(regression)。在我們預(yù)測(cè)西瓜是否是好瓜的過(guò)程中,很明顯對(duì)于訓(xùn)練集中的西瓜,我們事先已經(jīng)知道了該瓜是否是好瓜,學(xué)習(xí)器通過(guò)學(xué)習(xí)這些好瓜或差瓜的特征,從而總結(jié)出規(guī)律,即訓(xùn)練集中的西瓜我們都做了標(biāo)記,稱為標(biāo)記信息。但也有沒(méi)有標(biāo)記信息的情形,例如:我們想將一堆西瓜根據(jù)特征分成兩個(gè)小堆,使得某一堆的西瓜盡可能相似,即都是好瓜或差瓜,對(duì)于這種問(wèn)題,我們事先并不知道西瓜的好壞,樣本沒(méi)有標(biāo)記信息。定義:訓(xùn)練數(shù)據(jù)有標(biāo)記信息的學(xué)習(xí)任務(wù)為:監(jiān)督學(xué)習(xí)(supervisedlearning),容易知道上面所描述的分類和回歸都是監(jiān)督學(xué)習(xí)的范疇。訓(xùn)練數(shù)據(jù)沒(méi)有標(biāo)記信息的學(xué)習(xí)任務(wù)為:無(wú)監(jiān)督學(xué)習(xí)(unsupervisedlearning),常見(jiàn)的有聚類和關(guān)聯(lián)規(guī)則。2模型的評(píng)估與選擇2.1誤差與過(guò)擬合我們將學(xué)習(xí)器對(duì)樣本的實(shí)際預(yù)測(cè)結(jié)果與樣本的真實(shí)值之間的差異成為:誤差(error)。定義:在訓(xùn)練集上的誤差稱為訓(xùn)練誤差(trainingerror)或經(jīng)驗(yàn)誤差(empiricalerror)。在測(cè)試集上的誤差稱為測(cè)試誤差(testerror)。學(xué)習(xí)器在所有新樣本上的誤差稱為泛化誤差(generalizationerror)。顯然,我們希望得到的是在新樣本上表現(xiàn)得很好的學(xué)習(xí)器,即泛化誤差小的學(xué)習(xí)器。因此,我們應(yīng)該讓學(xué)習(xí)器盡可能地從訓(xùn)練集中學(xué)出普適性的“一般特征”,這樣在遇到新樣本時(shí)才能做出正確的判別。然而,當(dāng)學(xué)習(xí)器把訓(xùn)練集學(xué)得“太好”的時(shí)候,即把一些訓(xùn)練樣本的自身特點(diǎn)當(dāng)做了普遍特征;同時(shí)也有學(xué)習(xí)能力不足的情況,即訓(xùn)練集的基本特征都沒(méi)有學(xué)習(xí)出來(lái)。我們定義:學(xué)習(xí)能力過(guò)強(qiáng),以至于把訓(xùn)練樣本所包含的不太一般的特性都學(xué)到了,稱為:過(guò)擬合(overfitting)。學(xué)習(xí)能太差,訓(xùn)練樣本的一般性質(zhì)尚未學(xué)好,稱為:欠擬合(underfitting)??梢缘弥涸谶^(guò)擬合問(wèn)題中,訓(xùn)練誤差十分小,但測(cè)試誤差教大;在欠擬合問(wèn)題中,訓(xùn)練誤差和測(cè)試誤差都比較大。目前,欠擬合問(wèn)題比較容易克服,例如增加迭代次數(shù)等,但過(guò)擬合問(wèn)題還沒(méi)有十分好的解決方案,過(guò)擬合是機(jī)器學(xué)習(xí)面臨的關(guān)鍵障礙。2.2評(píng)估方法在現(xiàn)實(shí)任務(wù)中,我們往往有多種算法可供選擇,那么我們應(yīng)該選擇哪一個(gè)算法才是最適合的呢?如上所述,我們希望得到的是泛化誤差小的學(xué)習(xí)器,理想的解決方案是對(duì)模型的泛化誤差進(jìn)行評(píng)估,然后選擇泛化誤差最小的那個(gè)學(xué)習(xí)器。但是,泛化誤差指的是模型在所有新樣本上的適用能力,我們無(wú)法直接獲得泛化誤差。因此,通常我們采用一個(gè)“測(cè)試集”來(lái)測(cè)試學(xué)習(xí)器對(duì)新樣本的判別能力,然后以“測(cè)試集”上的“測(cè)試誤差”作為“泛化誤差”的近似。顯然:我們選取的測(cè)試集應(yīng)盡可能與訓(xùn)練集互斥,下面用一個(gè)小故事來(lái)解釋why:假設(shè)老師出了10道習(xí)題供同學(xué)們練習(xí),考試時(shí)老師又用同樣的這10道題作為試題,可能有的童鞋只會(huì)做這10道題卻能得高分,很明顯:這個(gè)考試成績(jī)并不能有效地反映出真實(shí)水平?;氐轿覀兊膯?wèn)題上來(lái),我們希望得到泛化性能好的模型,好比希望同學(xué)們課程學(xué)得好并獲得了對(duì)所學(xué)知識(shí)”舉一反三”的能力;訓(xùn)練樣本相當(dāng)于給同學(xué)們練習(xí)的習(xí)題,測(cè)試過(guò)程則相當(dāng)于考試。顯然,若測(cè)試樣本被用作訓(xùn)練了,則得到的將是過(guò)于”樂(lè)觀”的估計(jì)結(jié)果。2.3訓(xùn)練集與測(cè)試集的劃分方法如上所述:我們希望用一個(gè)“測(cè)試集”的“測(cè)試誤差”來(lái)作為“泛化誤差”的近似,因此我們需要對(duì)初始數(shù)據(jù)集進(jìn)行有效劃分,劃分出互斥的“訓(xùn)練集”和“測(cè)試集”。下面介紹幾種常用的劃分方法:2.3.1留出法將數(shù)據(jù)集D劃分為兩個(gè)互斥的集合,一個(gè)作為訓(xùn)練集S,一個(gè)作為測(cè)試集T,滿足D=S∪T且S∩T=?,常見(jiàn)的劃分為:大約2/3-4/5的樣本用作訓(xùn)練,剩下的用作測(cè)試。需要注意的是:訓(xùn)練/測(cè)試集的劃分要盡可能保持?jǐn)?shù)據(jù)分布的一致性,以避免由于分布的差異引入額外的偏差,常見(jiàn)的做法是采取分層抽樣。同時(shí),由于劃分的隨機(jī)性,單次的留出法結(jié)果往往不夠穩(wěn)定,一般要采用若干次隨機(jī)劃分,重復(fù)實(shí)驗(yàn)取平均值的做法。2.3.2交叉驗(yàn)證法將數(shù)據(jù)集D劃分為k個(gè)大小相同的互斥子集,滿足D=D1∪D2∪…∪Dk,Di∩Dj=?(i≠j),同樣地盡可能保持?jǐn)?shù)據(jù)分布的一致性,即采用分層抽樣的方法獲得這些子集。交叉驗(yàn)證法的思想是:每次用k-1個(gè)子集的并集作為訓(xùn)練集,余下的那個(gè)子集作為測(cè)試集,這樣就有K種訓(xùn)練集/測(cè)試集劃分的情況,從而可進(jìn)行k次訓(xùn)練和測(cè)試,最終返回k次測(cè)試結(jié)果的均值。交叉驗(yàn)證法也稱“k折交叉驗(yàn)證”,k最常用的取值是10,下圖給出了10折交叉驗(yàn)證的示意圖。與留出法類似,將數(shù)據(jù)集D劃分為K個(gè)子集的過(guò)程具有隨機(jī)性,因此K折交叉驗(yàn)證通常也要重復(fù)p次,稱為p次k折交叉驗(yàn)證,常見(jiàn)的是10次10折交叉驗(yàn)證,即進(jìn)行了100次訓(xùn)練/測(cè)試。特殊地當(dāng)劃分的k個(gè)子集的每個(gè)子集中只有一個(gè)樣本時(shí),稱為“留一法”,顯然,留一法的評(píng)估結(jié)果比較準(zhǔn)確,但對(duì)計(jì)算機(jī)的消耗也是巨大的。2.3.3自助法我們希望評(píng)估的是用整個(gè)D訓(xùn)練出的模型。但在留出法和交叉驗(yàn)證法中,由于保留了一部分樣本用于測(cè)試,因此實(shí)際評(píng)估的模型所使用的訓(xùn)練集比D小,這必然會(huì)引入一些因訓(xùn)練樣本規(guī)模不同而導(dǎo)致的估計(jì)偏差。留一法受訓(xùn)練樣本規(guī)模變化的影響較小,但計(jì)算復(fù)雜度又太高了?!白灾ā闭墙鉀Q了這樣的問(wèn)題。自助法的基本思想是:給定包含m個(gè)樣本的數(shù)據(jù)集D,每次隨機(jī)從D中挑選一個(gè)樣本,將其拷貝放入D’,然后再將該樣本放回初始數(shù)據(jù)集D中,使得該樣本在下次采樣時(shí)仍有可能被采到。重復(fù)執(zhí)行m次,就可以得到了包含m個(gè)樣本的數(shù)據(jù)集D’??梢缘弥趍次采樣中,樣本始終不被采到的概率取極限為:這樣,通過(guò)自助采樣,初始樣本集D中大約有36.8%的樣本沒(méi)有出現(xiàn)在D’中,于是可以將D’作為訓(xùn)練集,D-D’作為測(cè)試集。自助法在數(shù)據(jù)集較小,難以有效劃分訓(xùn)練集/測(cè)試集時(shí)很有用,但由于自助法產(chǎn)生的數(shù)據(jù)集(隨機(jī)抽樣)改變了初始數(shù)據(jù)集的分布,因此引入了估計(jì)偏差。在初始數(shù)據(jù)集足夠時(shí),留出法和交叉驗(yàn)證法更加常用。2.4調(diào)參大多數(shù)學(xué)習(xí)算法都有些參數(shù)(parameter)需要設(shè)定,參數(shù)配置不同,學(xué)得模型的性能往往有顯著差別,這就是通常所說(shuō)的”參數(shù)調(diào)節(jié)”或簡(jiǎn)稱”調(diào)參”(parametertuning)。學(xué)習(xí)算法的很多參數(shù)是在實(shí)數(shù)范圍內(nèi)取值,因此,對(duì)每種參數(shù)取值都訓(xùn)練出模型來(lái)是不可行的。常用的做法是:對(duì)每個(gè)參數(shù)選定一個(gè)范圍和步長(zhǎng)λ,這樣使得學(xué)習(xí)的過(guò)程變得可行。例如:假定算法有3個(gè)參數(shù),每個(gè)參數(shù)僅考慮5個(gè)候選值,這樣對(duì)每一組訓(xùn)練/測(cè)試集就有5*5*5=125個(gè)模型需考察,由此可見(jiàn):拿下一個(gè)參數(shù)(即經(jīng)驗(yàn)值)對(duì)于算法人員來(lái)說(shuō)是有多么的happy。最后需要注意的是:當(dāng)選定好模型和調(diào)參完成后,我們需要使用初始的數(shù)據(jù)集D重新訓(xùn)練模型,即讓最初劃分出來(lái)用于評(píng)估的測(cè)試集也被模型學(xué)習(xí),增強(qiáng)模型的學(xué)習(xí)效果。

《機(jī)器學(xué)習(xí)》學(xué)習(xí)筆記(2)--性能度量本篇主要是對(duì)第二章剩余知識(shí)的理解,包括:性能度量、比較檢驗(yàn)和偏差與方差。在上一篇中,我們解決了評(píng)估學(xué)習(xí)器泛化性能的方法,即用測(cè)試集的“測(cè)試誤差”作為“泛化誤差”的近似,當(dāng)我們劃分好訓(xùn)練/測(cè)試集后,那如何計(jì)算“測(cè)試誤差”呢?這就是性能度量,例如:均方差,錯(cuò)誤率等,即“測(cè)試誤差”的一個(gè)評(píng)價(jià)標(biāo)準(zhǔn)。有了評(píng)估方法和性能度量,就可以計(jì)算出學(xué)習(xí)器的“測(cè)試誤差”,但由于“測(cè)試誤差”受到很多因素的影響,例如:算法隨機(jī)性或測(cè)試集本身的選擇,那如何對(duì)兩個(gè)或多個(gè)學(xué)習(xí)器的性能度量結(jié)果做比較呢?這就是比較檢驗(yàn)。最后偏差與方差是解釋學(xué)習(xí)器泛化性能的一種重要工具。2.5性能度量性能度量(performancemeasure)是衡量模型泛化能力的評(píng)價(jià)標(biāo)準(zhǔn),在對(duì)比不同模型的能力時(shí),使用不同的性能度量往往會(huì)導(dǎo)致不同的評(píng)判結(jié)果。本節(jié)除2.5.1外,其它主要介紹分類模型的性能度量。2.5.1最常見(jiàn)的性能度量在回歸任務(wù)中,即預(yù)測(cè)連續(xù)值的問(wèn)題,最常用的性能度量是“均方誤差”(meansquarederror),很多的經(jīng)典算法都是采用了MSE作為評(píng)價(jià)函數(shù),想必大家都十分熟悉。在分類任務(wù)中,即預(yù)測(cè)離散值的問(wèn)題,最常用的是錯(cuò)誤率和精度,錯(cuò)誤率是分類錯(cuò)誤的樣本數(shù)占樣本總數(shù)的比例,精度則是分類正確的樣本數(shù)占樣本總數(shù)的比例,易知:錯(cuò)誤率+精度=1。

2.5.2查準(zhǔn)率/查全率/F1錯(cuò)誤率和精度雖然常用,但不能滿足所有的需求,例如:在推薦系統(tǒng)中,我們只關(guān)心推送給用戶的內(nèi)容用戶是否感興趣(即查準(zhǔn)率:precision),或者說(shuō)所有用戶感興趣的內(nèi)容我們推送出來(lái)了多少(即查全率:recall)。因此,使用查準(zhǔn)/查全率更適合描述這類問(wèn)題。對(duì)于二分類問(wèn)題,分類結(jié)果混淆矩陣與查準(zhǔn)/查全率定義如下:初次接觸時(shí),F(xiàn)N與FP很難正確的理解,按照慣性思維容易把FN理解成:False->Negative,即將錯(cuò)的預(yù)測(cè)為錯(cuò)的,這樣FN和TN就反了,后來(lái)找到一張圖,描述得很詳細(xì),為方便理解,把這張圖也貼在了下邊:正如天下沒(méi)有免費(fèi)的午餐,查準(zhǔn)率和查全率是一對(duì)矛盾的度量。例如我們想讓推送的內(nèi)容盡可能用戶全都感興趣,那只能推送我們把握高的內(nèi)容,這樣就漏掉了一些用戶感興趣的內(nèi)容,查全率就低了;如果想讓用戶感興趣的內(nèi)容都被推送,那只有將所有內(nèi)容都推送上,寧可錯(cuò)殺一千,不可放過(guò)一個(gè),這樣查準(zhǔn)率就很低了?!癙-R曲線”正是描述查準(zhǔn)/查全率變化的曲線,P-R曲線定義如下:根據(jù)學(xué)習(xí)器的預(yù)測(cè)結(jié)果(一般為一個(gè)實(shí)值或概率)對(duì)測(cè)試樣本進(jìn)行排序,將最可能是“正例”的樣本排在前面,最不可能是“正例”的排在后面,按此順序逐個(gè)把樣本作為“正例”進(jìn)行預(yù)測(cè),每次計(jì)算出當(dāng)前的P值和R值,如下圖所示:P-R曲線如何評(píng)估呢?若一個(gè)學(xué)習(xí)器A的P-R曲線被另一個(gè)學(xué)習(xí)器B的P-R曲線完全包住,則稱:B的性能優(yōu)于A。若A和B的曲線發(fā)生了交叉,則誰(shuí)的曲線下的面積大,誰(shuí)的性能更優(yōu)。但一般來(lái)說(shuō),曲線下的面積是很難進(jìn)行估算的,所以衍生出了“平衡點(diǎn)”(Break-EventPoint,簡(jiǎn)稱BEP),即當(dāng)P=R時(shí)的取值,平衡點(diǎn)的取值越高,性能更優(yōu)。P和R指標(biāo)有時(shí)會(huì)出現(xiàn)矛盾的情況,這樣就需要綜合考慮他們,最常見(jiàn)的方法就是F-Measure,又稱F-Score。F-Measure是P和R的加權(quán)調(diào)和平均,即:

特別地,當(dāng)β=1時(shí),也就是常見(jiàn)的F1度量,是P和R的調(diào)和平均,當(dāng)F1較高時(shí),模型的性能越好。

有時(shí)候我們會(huì)有多個(gè)二分類混淆矩陣,例如:多次訓(xùn)練或者在多個(gè)數(shù)據(jù)集上訓(xùn)練,那么估算全局性能的方法有兩種,分為宏觀和微觀。簡(jiǎn)單理解,宏觀就是先算出每個(gè)混淆矩陣的P值和R值,然后取得平均P值macro-P和平均R值macro-R,再算出Fβ或F1,而微觀則是計(jì)算出混淆矩陣的平均TP、FP、TN、FN,接著進(jìn)行計(jì)算P、R,進(jìn)而求出Fβ或F1。2.5.3ROC與AUC如上所述:學(xué)習(xí)器對(duì)測(cè)試樣本的評(píng)估結(jié)果一般為一個(gè)實(shí)值或概率,設(shè)定一個(gè)閾值,大于閾值為正例,小于閾值為負(fù)例,因此這個(gè)實(shí)值的好壞直接決定了學(xué)習(xí)器的泛化性能,若將這些實(shí)值排序,則排序的好壞決定了學(xué)習(xí)器的性能高低。ROC曲線正是從這個(gè)角度出發(fā)來(lái)研究學(xué)習(xí)器的泛化性能,ROC(ReceiverOperatingCharacteristic)曲線與P-R曲線十分類似,都是按照排序的順序逐一按照正例預(yù)測(cè),不同的是ROC曲線以“真正例率”(TruePositiveRate,簡(jiǎn)稱TPR)為橫軸,縱軸為“假正例率”(FalsePositiveRate,簡(jiǎn)稱FPR),ROC偏重研究基于測(cè)試樣本評(píng)估值的排序好壞。簡(jiǎn)單分析圖像,可以得知:當(dāng)FN=0時(shí),TN也必須0,反之也成立,我們可以畫一個(gè)隊(duì)列,試著使用不同的截?cái)帱c(diǎn)(即閾值)去分割隊(duì)列,來(lái)分析曲線的形狀,(0,0)表示將所有的樣本預(yù)測(cè)為負(fù)例,(1,1)則表示將所有的樣本預(yù)測(cè)為正例,(0,1)表示正例全部出現(xiàn)在負(fù)例之前的理想情況,(1,0)則表示負(fù)例全部出現(xiàn)在正例之前的最差情況。限于篇幅,這里不再論述?,F(xiàn)實(shí)中的任務(wù)通常都是有限個(gè)測(cè)試樣本,因此只能繪制出近似ROC曲線。繪制方法:首先根據(jù)測(cè)試樣本的評(píng)估值對(duì)測(cè)試樣本排序,接著按照以下規(guī)則進(jìn)行繪制。同樣地,進(jìn)行模型的性能比較時(shí),若一個(gè)學(xué)習(xí)器A的ROC曲線被另一個(gè)學(xué)習(xí)器B的ROC曲線完全包住,則稱B的性能優(yōu)于A。若A和B的曲線發(fā)生了交叉,則誰(shuí)的曲線下的面積大,誰(shuí)的性能更優(yōu)。ROC曲線下的面積定義為AUC(AreaUnderROCCurve),不同于P-R的是,這里的AUC是可估算的,即AOC曲線下每一個(gè)小矩形的面積之和。易知:AUC越大,證明排序的質(zhì)量越好,AUC為1時(shí),證明所有正例排在了負(fù)例的前面,AUC為0時(shí),所有的負(fù)例排在了正例的前面。2.5.4代價(jià)敏感錯(cuò)誤率與代價(jià)曲線上面的方法中,將學(xué)習(xí)器的犯錯(cuò)同等對(duì)待,但在現(xiàn)實(shí)生活中,將正例預(yù)測(cè)成假例與將假例預(yù)測(cè)成正例的代價(jià)常常是不一樣的,例如:將無(wú)疾病–>有疾病只是增多了檢查,但有疾病–>無(wú)疾病卻是增加了生命危險(xiǎn)。以二分類為例,由此引入了“代價(jià)矩陣”(costmatrix)。在非均等錯(cuò)誤代價(jià)下,我們希望的是最小化“總體代價(jià)”,這樣“代價(jià)敏感”的錯(cuò)誤率(2.5.1節(jié)介紹)為:同樣對(duì)于ROC曲線,在非均等錯(cuò)誤代價(jià)下,演變成了“代價(jià)曲線”,代價(jià)曲線橫軸是取值在[0,1]之間的正例概率代價(jià),式中p表示正例的概率,縱軸是取值為[0,1]的歸一化代價(jià)。

代價(jià)曲線的繪制很簡(jiǎn)單:設(shè)ROC曲線上一點(diǎn)的坐標(biāo)為(TPR,F(xiàn)PR),則可相應(yīng)計(jì)算出FNR,然后在代價(jià)平面上繪制一條從(0,F(xiàn)PR)到(1,F(xiàn)NR)的線段,線段下的面積即表示了該條件下的期望總體代價(jià);如此將ROC曲線土的每個(gè)點(diǎn)轉(zhuǎn)化為代價(jià)平面上的一條線段,然后取所有線段的下界,圍成的面積即為在所有條件下學(xué)習(xí)器的期望總體代價(jià),如圖所示:

《機(jī)器學(xué)習(xí)》學(xué)習(xí)筆記(3)--假設(shè)檢驗(yàn)、方差與偏差在上兩篇中,我們介紹了多種常見(jiàn)的評(píng)估方法和性能度量標(biāo)準(zhǔn),這樣我們就可以根據(jù)數(shù)據(jù)集以及模型任務(wù)的特征,選擇出最合適的評(píng)估和性能度量方法來(lái)計(jì)算出學(xué)習(xí)器的“測(cè)試誤差“。但由于“測(cè)試誤差”受到很多因素的影響,例如:算法隨機(jī)性(例如常見(jiàn)的K-Means)或測(cè)試集本身的選擇,使得同一模型每次得到的結(jié)果不盡相同,同時(shí)測(cè)試誤差是作為泛化誤差的近似,并不能代表學(xué)習(xí)器真實(shí)的泛化性能,那如何對(duì)單個(gè)或多個(gè)學(xué)習(xí)器在不同或相同測(cè)試集上的性能度量結(jié)果做比較呢?這就是比較檢驗(yàn)。最后偏差與方差是解釋學(xué)習(xí)器泛化性能的一種重要工具。本篇延續(xù)上一篇的內(nèi)容,主要討論了比較檢驗(yàn)、方差與偏差。2.6比較檢驗(yàn)在比較學(xué)習(xí)器泛化性能的過(guò)程中,統(tǒng)計(jì)假設(shè)檢驗(yàn)(hypothesistest)為學(xué)習(xí)器性能比較提供了重要依據(jù),即若A在某測(cè)試集上的性能優(yōu)于B,那A學(xué)習(xí)器比B好的把握有多大。為方便論述,本篇中都是以“錯(cuò)誤率”作為性能度量的標(biāo)準(zhǔn)。2.6.1假設(shè)檢驗(yàn)“假設(shè)”指的是對(duì)樣本總體的分布或已知分布中某個(gè)參數(shù)值的一種猜想,例如:假設(shè)總體服從泊松分布,或假設(shè)正態(tài)總體的期望u=u0。回到本篇中,我們可以通過(guò)測(cè)試獲得測(cè)試錯(cuò)誤率,但直觀上測(cè)試錯(cuò)誤率和泛化錯(cuò)誤率相差不會(huì)太遠(yuǎn),因此可以通過(guò)測(cè)試錯(cuò)誤率來(lái)推測(cè)泛化錯(cuò)誤率的分布,這就是一種假設(shè)檢驗(yàn)。

2.6.2交叉驗(yàn)證t檢驗(yàn)2.6.3McNemar檢驗(yàn)MaNemar主要用于二分類問(wèn)題,與成對(duì)t檢驗(yàn)一樣也是用于比較兩個(gè)學(xué)習(xí)器的性能大小。主要思想是:若兩學(xué)習(xí)器的性能相同,則A預(yù)測(cè)正確B預(yù)測(cè)錯(cuò)誤數(shù)應(yīng)等于B預(yù)測(cè)錯(cuò)誤A預(yù)測(cè)正確數(shù),即e01=e10,且|e01-e10|服從N(1,e01+e10)分布。因此,如下所示的變量服從自由度為1的卡方分布,即服從標(biāo)準(zhǔn)正態(tài)分布N(0,1)的隨機(jī)變量的平方和,下式只有一個(gè)變量,故自由度為1,檢驗(yàn)的方法同上:做出假設(shè)–>求出滿足顯著度的臨界點(diǎn)–>給出拒絕域–>驗(yàn)證假設(shè)。2.6.4Friedman檢驗(yàn)與Nemenyi后續(xù)檢驗(yàn)上述的三種檢驗(yàn)都只能在一組數(shù)據(jù)集上,F(xiàn)檢驗(yàn)則可以在多組數(shù)據(jù)集進(jìn)行多個(gè)學(xué)習(xí)器性能的比較,基本思想是在同一組數(shù)據(jù)集上,根據(jù)測(cè)試結(jié)果(例:測(cè)試錯(cuò)誤率)對(duì)學(xué)習(xí)器的性能進(jìn)行排序,賦予序值1,2,3…,相同則平分序值,如下圖所示:若學(xué)習(xí)器的性能相同,則它們的平均序值應(yīng)該相同,且第i個(gè)算法的平均序值ri服從正態(tài)分布N((k+1)/2,(k+1)(k-1)/12),則有:服從自由度為k-1和(k-1)(N-1)的F分布。下面是F檢驗(yàn)常用的臨界值:若“H0:所有算法的性能相同”這個(gè)假設(shè)被拒絕,則需要進(jìn)行后續(xù)檢驗(yàn),來(lái)得到具體的算法之間的差異。常用的就是Nemenyi后續(xù)檢驗(yàn)。Nemenyi檢驗(yàn)計(jì)算出平均序值差別的臨界值域,下表是常用的qa值,若兩個(gè)算法的平均序值差超出了臨界值域CD,則相應(yīng)的置信度1-α拒絕“兩個(gè)算法性能相同”的假設(shè)。2.7偏差與方差偏差-方差分解是解釋學(xué)習(xí)器泛化性能的重要工具。在學(xué)習(xí)算法中,偏差指的是預(yù)測(cè)的期望值與真實(shí)值的偏差,方差則是每一次預(yù)測(cè)值與預(yù)測(cè)值得期望之間的差均方。實(shí)際上,偏差體現(xiàn)了學(xué)習(xí)器預(yù)測(cè)的準(zhǔn)確度,而方差體現(xiàn)了學(xué)習(xí)器預(yù)測(cè)的穩(wěn)定性。通過(guò)對(duì)泛化誤差的進(jìn)行分解,可以得到:期望泛化誤差=方差+偏差偏差刻畫學(xué)習(xí)器的擬合能力方差體現(xiàn)學(xué)習(xí)器的穩(wěn)定性易知:方差和偏差具有矛盾性,這就是常說(shuō)的偏差-方差窘境(bias-variancedilamma),隨著訓(xùn)練程度的提升,期望預(yù)測(cè)值與真實(shí)值之間的差異越來(lái)越小,即偏差越來(lái)越小,但是另一方面,隨著訓(xùn)練程度加大,學(xué)習(xí)算法對(duì)數(shù)據(jù)集的波動(dòng)越來(lái)越敏感,方差值越來(lái)越大。換句話說(shuō):在欠擬合時(shí),偏差主導(dǎo)泛化誤差,而訓(xùn)練到一定程度后,偏差越來(lái)越小,方差主導(dǎo)了泛化誤差。因此訓(xùn)練也不要貪杯,適度輒止。

《機(jī)器學(xué)習(xí)》學(xué)習(xí)筆記(4)--線性模型前一部分主要是對(duì)機(jī)器學(xué)習(xí)預(yù)備知識(shí)的概括,包括機(jī)器學(xué)習(xí)的定義/術(shù)語(yǔ)、學(xué)習(xí)器性能的評(píng)估/度量以及比較,本篇之后將主要對(duì)具體的學(xué)習(xí)算法進(jìn)行理解總結(jié),本篇?jiǎng)t主要是第3章的內(nèi)容–線性模型。3、線性模型談及線性模型,其實(shí)我們很早就已經(jīng)與它打過(guò)交道:根據(jù)給定的(x,y)點(diǎn)對(duì),求出一條與這些點(diǎn)擬合效果最好的直線y=ax+b,之前我們利用下面的公式便可以計(jì)算出擬合直線的系數(shù)a,b(3.1中給出了具體的計(jì)算過(guò)程),從而對(duì)于一個(gè)新的x,可以預(yù)測(cè)它所對(duì)應(yīng)的y值。前面我們提到:在機(jī)器學(xué)習(xí)的術(shù)語(yǔ)中,當(dāng)預(yù)測(cè)值為連續(xù)值時(shí),稱為“回歸問(wèn)題”,離散值時(shí)為“分類問(wèn)題”。本篇先從線性回歸任務(wù)開(kāi)始,接著討論分類和多分類問(wèn)題。3.1線性回歸線性回歸問(wèn)題就是試圖學(xué)到一個(gè)線性模型盡可能準(zhǔn)確地預(yù)測(cè)新樣本的輸出值,例如:通過(guò)歷年的人口數(shù)據(jù)預(yù)測(cè)2017年人口數(shù)量。在這類問(wèn)題中,往往我們會(huì)先得到一系列的有標(biāo)記數(shù)據(jù),例如:2000–>13億…2016–>15億,這時(shí)輸入的屬性只有一個(gè),即年份;也有輸入多屬性的情形,假設(shè)我們預(yù)測(cè)一個(gè)人的收入,這時(shí)輸入的屬性值就不止一個(gè)了,例如:(學(xué)歷,年齡,性別,顏值,身高,體重)–>15k。有時(shí)這些輸入的屬性值并不能直接被我們的學(xué)習(xí)模型所用,需要進(jìn)行相應(yīng)的處理,對(duì)于連續(xù)值的屬性,一般都可以被學(xué)習(xí)器所用,有時(shí)會(huì)根據(jù)具體的情形作相應(yīng)的預(yù)處理,例如:歸一化等;對(duì)于離散值的屬性,可作下面的處理:若屬性值之間存在“序關(guān)系”,則可以將其轉(zhuǎn)化為連續(xù)值,例如:身高屬性分為“高”“中等”“矮”,可轉(zhuǎn)化為數(shù)值:{1,0.5,0}。若屬性值之間不存在“序關(guān)系”,則通常將其轉(zhuǎn)化為向量的形式,例如:性別屬性分為“男”“女”,可轉(zhuǎn)化為二維向量:{(1,0),(0,1)}。(1)當(dāng)輸入屬性只有一個(gè)的時(shí)候,就是最簡(jiǎn)單的情形,也就是我們高中時(shí)最熟悉的“最小二乘法”(Euclideandistance),首先計(jì)算出每個(gè)樣本預(yù)測(cè)值與真實(shí)值之間的誤差并求和,通過(guò)最小化均方誤差MSE,使用求偏導(dǎo)等于零的方法計(jì)算出擬合直線y=wx+b的兩個(gè)參數(shù)w和b,計(jì)算過(guò)程如下圖所示:(2)當(dāng)輸入屬性有多個(gè)的時(shí)候,例如對(duì)于一個(gè)樣本有d個(gè)屬性{(x1,x2…xd),y},則y=wx+b需要寫成:通常對(duì)于多元問(wèn)題,常常使用矩陣的形式來(lái)表示數(shù)據(jù)。在本問(wèn)題中,將具有m個(gè)樣本的數(shù)據(jù)集表示成矩陣X,將系數(shù)w與b合并成一個(gè)列向量,這樣每個(gè)樣本的預(yù)測(cè)值以及所有樣本的均方誤差最小化就可以寫成下面的形式:

同樣地,我們使用最小二乘法對(duì)w和b進(jìn)行估計(jì),令均方誤差的求導(dǎo)等于0,需要注意的是,當(dāng)一個(gè)矩陣的行列式不等于0時(shí),我們才可能對(duì)其求逆,因此對(duì)于下式,我們需要考慮矩陣(X的轉(zhuǎn)置*X)的行列式是否為0,若不為0,則可以求出其解,若為0,則需要使用其它的方法進(jìn)行計(jì)算,書中提到了引入正則化,此處不進(jìn)行深入。另一方面,有時(shí)像上面這種原始的線性回歸可能并不能滿足需求,例如:y值并不是線性變化,而是在指數(shù)尺度上變化。這時(shí)我們可以采用線性模型來(lái)逼近y的衍生物,例如lny,這時(shí)衍生的線性模型如下所示,實(shí)際上就是相當(dāng)于將指數(shù)曲線投影在一條直線上,如下圖所示:更一般地,考慮所有y的衍生物的情形,就得到了“廣義的線性模型”(generalizedlinearmodel),其中,g(*)稱為聯(lián)系函數(shù)(linkfunction)。3.2線性幾率回歸回歸就是通過(guò)輸入的屬性值得到一個(gè)預(yù)測(cè)值,利用上述廣義線性模型的特征,是否可以通過(guò)一個(gè)聯(lián)系函數(shù),將預(yù)測(cè)值轉(zhuǎn)化為離散值從而進(jìn)行分類呢?線性幾率回歸正是研究這樣的問(wèn)題。對(duì)數(shù)幾率引入了一個(gè)對(duì)數(shù)幾率函數(shù)(logisticfunction),將預(yù)測(cè)值投影到0-1之間,從而將線性回歸問(wèn)題轉(zhuǎn)化為二分類問(wèn)題。

若將y看做樣本為正例的概率,(1-y)看做樣本為反例的概率,則上式實(shí)際上使用線性回歸模型的預(yù)測(cè)結(jié)果器逼近真實(shí)標(biāo)記的對(duì)數(shù)幾率。因此這個(gè)模型稱為“對(duì)數(shù)幾率回歸”(logisticregression),也有一些書籍稱之為“邏輯回歸”。下面使用最大似然估計(jì)的方法來(lái)計(jì)算出w和b兩個(gè)參數(shù)的取值,下面只列出求解的思路,不列出具體的計(jì)算過(guò)程。

3.3線性判別分析線性判別分析(LinearDiscriminantAnalysis,簡(jiǎn)稱LDA),其基本思想是:將訓(xùn)練樣本投影到一條直線上,使得同類的樣例盡可能近,不同類的樣例盡可能遠(yuǎn)。如圖所示:

想讓同類樣本點(diǎn)的投影點(diǎn)盡可能接近,不同類樣本點(diǎn)投影之間盡可能遠(yuǎn),即:讓各類的協(xié)方差之和盡可能小,不用類之間中心的距離盡可能大。基于這樣的考慮,LDA定義了兩個(gè)散度矩陣。類內(nèi)散度矩陣(within-classscattermatrix)

類間散度矩陣(between-classscalttermatrix)

因此得到了LDA的最大化目標(biāo):“廣義瑞利商”(generalizedRayleighquotient)。從而分類問(wèn)題轉(zhuǎn)化為最優(yōu)化求解w的問(wèn)題,當(dāng)求解出w后,對(duì)新的樣本進(jìn)行分類時(shí),只需將該樣本點(diǎn)投影到這條直線上,根據(jù)與各個(gè)類別的中心值進(jìn)行比較,從而判定出新樣本與哪個(gè)類別距離最近。求解w的方法如下所示,使用的方法為λ乘子。若將w看做一個(gè)投影矩陣,類似PCA的思想,則LDA可將樣本投影到N-1維空間(N為類簇?cái)?shù)),投影的過(guò)程使用了類別信息(標(biāo)記信息),因此LDA也常被視為一種經(jīng)典的監(jiān)督降維技術(shù)。3.4多分類學(xué)習(xí)現(xiàn)實(shí)中我們經(jīng)常遇到不只兩個(gè)類別的分類問(wèn)題,即多分類問(wèn)題,在這種情形下,我們常常運(yùn)用“拆分”的策略,通過(guò)多個(gè)二分類學(xué)習(xí)器來(lái)解決多分類問(wèn)題,即將多分類問(wèn)題拆解為多個(gè)二分類問(wèn)題,訓(xùn)練出多個(gè)二分類學(xué)習(xí)器,最后將多個(gè)分類結(jié)果進(jìn)行集成得出結(jié)論。最為經(jīng)典的拆分策略有三種:“一對(duì)一”(OvO)、“一對(duì)其余”(OvR)和“多對(duì)多”(MvM),核心思想與示意圖如下所示。OvO:給定數(shù)據(jù)集D,假定其中有N個(gè)真實(shí)類別,將這N個(gè)類別進(jìn)行兩兩配對(duì)(一個(gè)正類/一個(gè)反類),從而產(chǎn)生N(N-1)/2個(gè)二分類學(xué)習(xí)器,在測(cè)試階段,將新樣本放入所有的二分類學(xué)習(xí)器中測(cè)試,得出N(N-1)個(gè)結(jié)果,最終通過(guò)投票產(chǎn)生最終的分類結(jié)果。OvM:給定數(shù)據(jù)集D,假定其中有N個(gè)真實(shí)類別,每次取出一個(gè)類作為正類,剩余的所有類別作為一個(gè)新的反類,從而產(chǎn)生N個(gè)二分類學(xué)習(xí)器,在測(cè)試階段,得出N個(gè)結(jié)果,若僅有一個(gè)學(xué)習(xí)器預(yù)測(cè)為正類,則對(duì)應(yīng)的類標(biāo)作為最終分類結(jié)果。MvM:給定數(shù)據(jù)集D,假定其中有N個(gè)真實(shí)類別,每次取若干個(gè)類作為正類,若干個(gè)類作為反類(通過(guò)ECOC碼給出,編碼),若進(jìn)行了M次劃分,則生成了M個(gè)二分類學(xué)習(xí)器,在測(cè)試階段(解碼),得出M個(gè)結(jié)果組成一個(gè)新的碼,最終通過(guò)計(jì)算海明/歐式距離選擇距離最小的類別作為最終分類結(jié)果。

3.5類別不平衡問(wèn)題類別不平衡(class-imbanlance)就是指分類問(wèn)題中不同類別的訓(xùn)練樣本相差懸殊的情況,例如正例有900個(gè),而反例只有100個(gè),這個(gè)時(shí)候我們就需要進(jìn)行相應(yīng)的處理來(lái)平衡這個(gè)問(wèn)題。常見(jiàn)的做法有三種:在訓(xùn)練樣本較多的類別中進(jìn)行“欠采樣”(undersampling),比如從正例中采出100個(gè),常見(jiàn)的算法有:EasyEnsemble。在訓(xùn)練樣本較少的類別中進(jìn)行“過(guò)采樣”(oversampling),例如通過(guò)對(duì)反例中的數(shù)據(jù)進(jìn)行插值,來(lái)產(chǎn)生額外的反例,常見(jiàn)的算法有SMOTE。直接基于原數(shù)據(jù)集進(jìn)行學(xué)習(xí),對(duì)預(yù)測(cè)值進(jìn)行“再縮放”處理。其中再縮放也是代價(jià)敏感學(xué)習(xí)的基礎(chǔ)。

《機(jī)器學(xué)習(xí)》學(xué)習(xí)筆記(5)--決策樹(shù)上篇主要介紹和討論了線性模型。首先從最簡(jiǎn)單的最小二乘法開(kāi)始,討論輸入屬性有一個(gè)和多個(gè)的情形,接著通過(guò)廣義線性模型延伸開(kāi)來(lái),將預(yù)測(cè)連續(xù)值的回歸問(wèn)題轉(zhuǎn)化為分類問(wèn)題,從而引入了對(duì)數(shù)幾率回歸,最后線性判別分析LDA將樣本點(diǎn)進(jìn)行投影,多分類問(wèn)題實(shí)質(zhì)上通過(guò)劃分的方法轉(zhuǎn)化為多個(gè)二分類問(wèn)題進(jìn)行求解。本篇將討論另一種被廣泛使用的分類算法–決策樹(shù)(DecisionTree)。4、決策樹(shù)4.1決策樹(shù)基本概念顧名思義,決策樹(shù)是基于樹(shù)結(jié)構(gòu)來(lái)進(jìn)行決策的,在網(wǎng)上看到一個(gè)例子十分有趣,放在這里正好合適?,F(xiàn)想象一位捉急的母親想要給自己的女娃介紹一個(gè)男朋友,于是有了下面的對(duì)話:女兒:多大年紀(jì)了?母親:26。女兒:長(zhǎng)的帥不帥?母親:挺帥的。女兒:收入高不?母親:不算很高,中等情況。女兒:是公務(wù)員不?母親:是,在稅務(wù)局上班呢。女兒:那好,我去見(jiàn)見(jiàn)。這個(gè)女孩的挑剔過(guò)程就是一個(gè)典型的決策樹(shù),即相當(dāng)于通過(guò)年齡、長(zhǎng)相、收入和是否公務(wù)員將男童鞋分為兩個(gè)類別:見(jiàn)和不見(jiàn)。假設(shè)這個(gè)女孩對(duì)男人的要求是:30歲以下、長(zhǎng)相中等以上并且是高收入者或中等以上收入的公務(wù)員,那么使用下圖就能很好地表示女孩的決策邏輯(即一顆決策樹(shù))。在上圖的決策樹(shù)中,決策過(guò)程的每一次判定都是對(duì)某一屬性的“測(cè)試”,決策最終結(jié)論則對(duì)應(yīng)最終的判定結(jié)果。一般一顆決策樹(shù)包含:一個(gè)根節(jié)點(diǎn)、若干個(gè)內(nèi)部節(jié)點(diǎn)和若干個(gè)葉子節(jié)點(diǎn),易知:*每個(gè)非葉節(jié)點(diǎn)表示一個(gè)特征屬性測(cè)試。*每個(gè)分支代表這個(gè)特征屬性在某個(gè)值域上的輸出。*每個(gè)葉子節(jié)點(diǎn)存放一個(gè)類別。*每個(gè)節(jié)點(diǎn)包含的樣本集合通過(guò)屬性測(cè)試被劃分到子節(jié)點(diǎn)中,根節(jié)點(diǎn)包含樣本全集。4.2決策樹(shù)的構(gòu)造決策樹(shù)的構(gòu)造是一個(gè)遞歸的過(guò)程,有三種情形會(huì)導(dǎo)致遞歸返回:(1)當(dāng)前結(jié)點(diǎn)包含的樣本全屬于同一類別,這時(shí)直接將該節(jié)點(diǎn)標(biāo)記為葉節(jié)點(diǎn),并設(shè)為相應(yīng)的類別;(2)當(dāng)前屬性集為空,或是所有樣本在所有屬性上取值相同,無(wú)法劃分,這時(shí)將該節(jié)點(diǎn)標(biāo)記為葉節(jié)點(diǎn),并將其類別設(shè)為該節(jié)點(diǎn)所含樣本最多的類別;(3)當(dāng)前結(jié)點(diǎn)包含的樣本集合為空,不能劃分,這時(shí)也將該節(jié)點(diǎn)標(biāo)記為葉節(jié)點(diǎn),并將其類別設(shè)為父節(jié)點(diǎn)中所含樣本最多的類別。算法的基本流程如下圖所示:可以看出:決策樹(shù)學(xué)習(xí)的關(guān)鍵在于如何選擇劃分屬性,不同的劃分屬性得出不同的分支結(jié)構(gòu),從而影響整顆決策樹(shù)的性能。屬性劃分的目標(biāo)是讓各個(gè)劃分出來(lái)的子節(jié)點(diǎn)盡可能地“純”,即屬于同一類別。因此下面便是介紹量化純度的具體方法,決策樹(shù)最常用的算法有三種:ID3,C4.5和CART。4.2.1ID3算法ID3算法使用信息增益為準(zhǔn)則來(lái)選擇劃分屬性,“信息熵”(informationentropy)是度量樣本結(jié)合純度的常用指標(biāo),假定當(dāng)前樣本集合D中第k類樣本所占比例為pk,則樣本集合D的信息熵定義為:假定通過(guò)屬性劃分樣本集D,產(chǎn)生了V個(gè)分支節(jié)點(diǎn),v表示其中第v個(gè)分支節(jié)點(diǎn),易知:分支節(jié)點(diǎn)包含的樣本數(shù)越多,表示該分支節(jié)點(diǎn)的影響力越大。故可以計(jì)算出劃分后相比原始數(shù)據(jù)集D獲得的“信息增益”(informationgain)。信息增益越大,表示使用該屬性劃分樣本集D的效果越好,因此ID3算法在遞歸過(guò)程中,每次選擇最大信息增益的屬性作為當(dāng)前的劃分屬性。4.2.2C4.5算法ID3算法存在一個(gè)問(wèn)題,就是偏向于取值數(shù)目較多的屬性,例如:如果存在一個(gè)唯一標(biāo)識(shí),這樣樣本集D將會(huì)被劃分為|D|個(gè)分支,每個(gè)分支只有一個(gè)樣本,這樣劃分后的信息熵為零,十分純凈,但是對(duì)分類毫無(wú)用處。因此C4.5算法使用了“增益率”(gainratio)來(lái)選擇劃分屬性,來(lái)避免這個(gè)問(wèn)題帶來(lái)的困擾。首先使用ID3算法計(jì)算出信息增益高于平均水平的候選屬性,接著C4.5計(jì)算這些候選屬性的增益率,增益率定義為:4.2.3CART算法CART決策樹(shù)使用“基尼指數(shù)”(Giniindex)來(lái)選擇劃分屬性,基尼指數(shù)反映的是從樣本集D中隨機(jī)抽取兩個(gè)樣本,其類別標(biāo)記不一致的概率,因此Gini(D)越小越好,基尼指數(shù)定義如下:進(jìn)而,使用屬性α劃分后的基尼指數(shù)為:4.3剪枝處理從決策樹(shù)的構(gòu)造流程中我們可以直觀地看出:不管怎么樣的訓(xùn)練集,決策樹(shù)總是能很好地將各個(gè)類別分離開(kāi)來(lái),這時(shí)就會(huì)遇到之前提到過(guò)的問(wèn)題:過(guò)擬合(overfitting),即太依賴于訓(xùn)練樣本。剪枝(pruning)則是決策樹(shù)算法對(duì)付過(guò)擬合的主要手段,剪枝的策略有兩種如下:*預(yù)剪枝(prepruning):在構(gòu)造的過(guò)程中先評(píng)估,再考慮是否分支。*后剪枝(post-pruning):在構(gòu)造好一顆完整的決策樹(shù)后,自底向上,評(píng)估分支的必要性。評(píng)估指的是性能度量,即決策樹(shù)的泛化性能。之前提到:可以使用測(cè)試集作為學(xué)習(xí)器泛化性能的近似,因此可以將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集。預(yù)剪枝表示在構(gòu)造數(shù)的過(guò)程中,對(duì)一個(gè)節(jié)點(diǎn)考慮是否分支時(shí),首先計(jì)算決策樹(shù)不分支時(shí)在測(cè)試集上的性能,再計(jì)算分支之后的性能,若分支對(duì)性能沒(méi)有提升,則選擇不分支(即剪枝)。后剪枝則表示在構(gòu)造好一顆完整的決策樹(shù)后,從最下面的節(jié)點(diǎn)開(kāi)始,考慮該節(jié)點(diǎn)分支對(duì)模型的性能是否有提升,若無(wú)則剪枝,即將該節(jié)點(diǎn)標(biāo)記為葉子節(jié)點(diǎn),類別標(biāo)記為其包含樣本最多的類別。

上圖分別表示不剪枝處理的決策樹(shù)、預(yù)剪枝決策樹(shù)和后剪枝決策樹(shù)。預(yù)剪枝處理使得決策樹(shù)的很多分支被剪掉,因此大大降低了訓(xùn)練時(shí)間開(kāi)銷,同時(shí)降低了過(guò)擬合的風(fēng)險(xiǎn),但另一方面由于剪枝同時(shí)剪掉了當(dāng)前節(jié)點(diǎn)后續(xù)子節(jié)點(diǎn)的分支,因此預(yù)剪枝“貪心”的本質(zhì)阻止了分支的展開(kāi),在一定程度上帶來(lái)了欠擬合的風(fēng)險(xiǎn)。而后剪枝則通常保留了更多的分支,因此采用后剪枝策略的決策樹(shù)性能往往優(yōu)于預(yù)剪枝,但其自底向上遍歷了所有節(jié)點(diǎn),并計(jì)算性能,訓(xùn)練時(shí)間開(kāi)銷相比預(yù)剪枝大大提升。4.4連續(xù)值與缺失值處理對(duì)于連續(xù)值的屬性,若每個(gè)取值作為一個(gè)分支則顯得不可行,因此需要進(jìn)行離散化處理,常用的方法為二分法,基本思想為:給定樣本集D與連續(xù)屬性α,二分法試圖找到一個(gè)劃分點(diǎn)t將樣本集D在屬性α上分為≤t與>t。*首先將α的所有取值按升序排列,所有相鄰屬性的均值作為候選劃分點(diǎn)(n-1個(gè),n為α所有的取值數(shù)目)。*計(jì)算每一個(gè)劃分點(diǎn)劃分集合D(即劃分為兩個(gè)分支)后的信息增益。*選擇最大信息增益的劃分點(diǎn)作為最優(yōu)劃分點(diǎn)。現(xiàn)實(shí)中常會(huì)遇到不完整的樣本,即某些屬性值缺失。有時(shí)若簡(jiǎn)單采取剔除,則會(huì)造成大量的信息浪費(fèi),因此在屬性值缺失的情況下需要解決兩個(gè)問(wèn)題:(1)如何選擇劃分屬性。(2)給定劃分屬性,若某樣本在該屬性上缺失值,如何劃分到具體的分支上。假定為樣本集中的每一個(gè)樣本都賦予一個(gè)權(quán)重,根節(jié)點(diǎn)中的權(quán)重初始化為1,則定義:對(duì)于(1):通過(guò)在樣本集D中選取在屬性α上沒(méi)有缺失值的樣本子集,計(jì)算在該樣本子集上的信息增益,最終的信息增益等于該樣本子集劃分后信息增益乘以樣本子集占樣本集的比重。即:對(duì)于(2):若該樣本子集在屬性α上的值缺失,則將該樣本以不同的權(quán)重(即每個(gè)分支所含樣本比例)劃入到所有分支節(jié)點(diǎn)中。該樣本在分支節(jié)點(diǎn)中的權(quán)重變?yōu)椋?/p>

《機(jī)器學(xué)習(xí)》學(xué)習(xí)筆記(6)--神經(jīng)網(wǎng)絡(luò)上篇主要討論了決策樹(shù)算法。首先從決策樹(shù)的基本概念出發(fā),引出決策樹(shù)基于樹(shù)形結(jié)構(gòu)進(jìn)行決策,進(jìn)一步介紹了構(gòu)造決策樹(shù)的遞歸流程以及其遞歸終止條件,在遞歸的過(guò)程中,劃分屬性的選擇起到了關(guān)鍵作用,因此緊接著討論了三種評(píng)估屬性劃分效果的經(jīng)典算法,介紹了剪枝策略來(lái)解決原生決策樹(shù)容易產(chǎn)生的過(guò)擬合問(wèn)題,最后簡(jiǎn)述了屬性連續(xù)值/缺失值的處理方法。本篇將討論現(xiàn)階段十分熱門的另一個(gè)經(jīng)典監(jiān)督學(xué)習(xí)算法–神經(jīng)網(wǎng)絡(luò)(neuralnetwork)。5、神經(jīng)網(wǎng)絡(luò)在機(jī)器學(xué)習(xí)中,神經(jīng)網(wǎng)絡(luò)一般指的是“神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)”,是機(jī)器學(xué)習(xí)與神經(jīng)網(wǎng)絡(luò)兩個(gè)學(xué)科的交叉部分。所謂神經(jīng)網(wǎng)絡(luò),目前用得最廣泛的一個(gè)定義是“神經(jīng)網(wǎng)絡(luò)是由具有適應(yīng)性的簡(jiǎn)單單元組成的廣泛并行互連的網(wǎng)絡(luò),它的組織能夠模擬生物神經(jīng)系統(tǒng)對(duì)真實(shí)世界物體所做出的交互反應(yīng)”。5.1神經(jīng)元模型神經(jīng)網(wǎng)絡(luò)中最基本的單元是神經(jīng)元模型(neuron)。在生物神經(jīng)網(wǎng)絡(luò)的原始機(jī)制中,每個(gè)神經(jīng)元通常都有多個(gè)樹(shù)突(dendrite),一個(gè)軸突(axon)和一個(gè)細(xì)胞體(cellbody),樹(shù)突短而多分支,軸突長(zhǎng)而只有一個(gè);在功能上,樹(shù)突用于傳入其它神經(jīng)元傳遞的神經(jīng)沖動(dòng),而軸突用于將神經(jīng)沖動(dòng)傳出到其它神經(jīng)元,當(dāng)樹(shù)突或細(xì)胞體傳入的神經(jīng)沖動(dòng)使得神經(jīng)元興奮時(shí),該神經(jīng)元就會(huì)通過(guò)軸突向其它神經(jīng)元傳遞興奮。神經(jīng)元的生物學(xué)結(jié)構(gòu)如下圖所示:一直沿用至今的“M-P神經(jīng)元模型”正是對(duì)這一結(jié)構(gòu)進(jìn)行了抽象,也稱“閾值邏輯單元”,其中樹(shù)突對(duì)應(yīng)于輸入部分,每個(gè)神經(jīng)元收到n個(gè)其他神經(jīng)元傳遞過(guò)來(lái)的輸入信號(hào),這些信號(hào)通過(guò)帶權(quán)重的連接傳遞給細(xì)胞體,這些權(quán)重又稱為連接權(quán)(connectionweight)。細(xì)胞體分為兩部分,前一部分計(jì)算總輸入值(即輸入信號(hào)的加權(quán)和,或者說(shuō)累積電平),后一部分先計(jì)算總輸入值與該神經(jīng)元閾值的差值,然后通過(guò)激活函數(shù)(activationfunction)的處理,產(chǎn)生輸出從軸突傳送給其它神經(jīng)元。M-P神經(jīng)元模型如下圖所示:與線性分類十分相似,神經(jīng)元模型最理想的激活函數(shù)也是階躍函數(shù),即將神經(jīng)元輸入值與閾值的差值映射為輸出值1或0,若差值大于零輸出1,對(duì)應(yīng)興奮;若差值小于零則輸出0,對(duì)應(yīng)抑制。但階躍函數(shù)不連續(xù),不光滑,故在M-P神經(jīng)元模型中,也采用Sigmoid函數(shù)來(lái)近似,Sigmoid函數(shù)將較大范圍內(nèi)變化的輸入值擠壓到(0,1)輸出值范圍內(nèi),所以也稱為擠壓函數(shù)(squashingfunction)。將多個(gè)神經(jīng)元按一定的層次結(jié)構(gòu)連接起來(lái),就得到了神經(jīng)網(wǎng)絡(luò)。它是一種包含多個(gè)參數(shù)的模型,比方說(shuō)10個(gè)神經(jīng)元兩兩連接,則有100個(gè)參數(shù)需要學(xué)習(xí)(每個(gè)神經(jīng)元有9個(gè)連接權(quán)以及1個(gè)閾值),若將每個(gè)神經(jīng)元都看作一個(gè)函數(shù),則整個(gè)神經(jīng)網(wǎng)絡(luò)就是由這些函數(shù)相互嵌套而成。5.2感知機(jī)與多層網(wǎng)絡(luò)感知機(jī)(Perceptron)是由兩層神經(jīng)元組成的一個(gè)簡(jiǎn)單模型,但只有輸出層是M-P神經(jīng)元,即只有輸出層神經(jīng)元進(jìn)行激活函數(shù)處理,也稱為功能神經(jīng)元(functionalneuron);輸入層只是接受外界信號(hào)(樣本屬性)并傳遞給輸出層(輸入層的神經(jīng)元個(gè)數(shù)等于樣本的屬性數(shù)目),而沒(méi)有激活函數(shù)。這樣一來(lái),感知機(jī)與之前線性模型中的對(duì)數(shù)幾率回歸的思想基本是一樣的,都是通過(guò)對(duì)屬性加權(quán)與另一個(gè)常數(shù)求和,再使用sigmoid函數(shù)將這個(gè)輸出值壓縮到0-1之間,從而解決分類問(wèn)題。不同的是感知機(jī)的輸出層應(yīng)該可以有多個(gè)神經(jīng)元,從而可以實(shí)現(xiàn)多分類問(wèn)題,同時(shí)兩個(gè)模型所用的參數(shù)估計(jì)方法十分不同。給定訓(xùn)練集,則感知機(jī)的n+1個(gè)參數(shù)(n個(gè)權(quán)重+1個(gè)閾值)都可以通過(guò)學(xué)習(xí)得到。閾值Θ可以看作一個(gè)輸入值固定為-1的啞結(jié)點(diǎn)的權(quán)重ωn+1,即假設(shè)有一個(gè)固定輸入xn+1=-1的輸入層神經(jīng)元,其對(duì)應(yīng)的權(quán)重為ωn+1,這樣就把權(quán)重和閾值統(tǒng)一為權(quán)重的學(xué)習(xí)了。簡(jiǎn)單感知機(jī)的結(jié)構(gòu)如下圖所示:感知機(jī)權(quán)重的學(xué)習(xí)規(guī)則如下:對(duì)于訓(xùn)練樣本(x,y),當(dāng)該樣本進(jìn)入感知機(jī)學(xué)習(xí)后,會(huì)產(chǎn)生一個(gè)輸出值,若該輸出值與樣本的真實(shí)標(biāo)記不一致,則感知機(jī)會(huì)對(duì)權(quán)重進(jìn)行調(diào)整,若激活函數(shù)為階躍函數(shù),則調(diào)整的方法為(基于梯度下降法):其中η∈(0,1)稱為學(xué)習(xí)率,可以看出感知機(jī)是通過(guò)逐個(gè)樣本輸入來(lái)更新權(quán)重,首先設(shè)定好初始權(quán)重(一般為隨機(jī)),逐個(gè)地輸入樣本數(shù)據(jù),若輸出值與真實(shí)標(biāo)記相同則繼續(xù)輸入下一個(gè)樣本,若不一致則更新權(quán)重,然后再重新逐個(gè)檢驗(yàn),直到每個(gè)樣本數(shù)據(jù)的輸出值都與真實(shí)標(biāo)記相同。容易看出:感知機(jī)模型總是能將訓(xùn)練數(shù)據(jù)的每一個(gè)樣本都預(yù)測(cè)正確,和決策樹(shù)模型總是能將所有訓(xùn)練數(shù)據(jù)都分開(kāi)一樣,感知機(jī)模型很容易產(chǎn)生過(guò)擬合問(wèn)題。由于感知機(jī)模型只有一層功能神經(jīng)元,因此其功能十分有限,只能處理線性可分的問(wèn)題,對(duì)于這類問(wèn)題,感知機(jī)的學(xué)習(xí)過(guò)程一定會(huì)收斂(converge),因此總是可以求出適當(dāng)?shù)臋?quán)值。但是對(duì)于像書上提到的異或問(wèn)題,只通過(guò)一層功能神經(jīng)元往往不能解決,因此要解決非線性可分問(wèn)題,需要考慮使用多層功能神經(jīng)元,即神經(jīng)網(wǎng)絡(luò)。多層神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)如下圖所示:在神經(jīng)網(wǎng)絡(luò)中,輸入層與輸出層之間的層稱為隱含層或隱層(hiddenlayer),隱層和輸出層的神經(jīng)元都是具有激活函數(shù)的功能神經(jīng)元。只需包含一個(gè)隱層便可以稱為多層神經(jīng)網(wǎng)絡(luò),常用的神經(jīng)網(wǎng)絡(luò)稱為“多層前饋神經(jīng)網(wǎng)絡(luò)”(multi-layerfeedforwardneuralnetwork),該結(jié)構(gòu)滿足以下幾個(gè)特點(diǎn):*每層神經(jīng)元與下一層神經(jīng)元之間完全互連*神經(jīng)元之間不存在同層連接*神經(jīng)元之間不存在跨層連接根據(jù)上面的特點(diǎn)可以得知:這里的“前饋”指的是網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中不存在環(huán)或回路,而不是指該網(wǎng)絡(luò)只能向前傳播而不能向后傳播(下節(jié)中的BP神經(jīng)網(wǎng)絡(luò)正是基于前饋神經(jīng)網(wǎng)絡(luò)而增加了反饋調(diào)節(jié)機(jī)制)。神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過(guò)程就是根據(jù)訓(xùn)練數(shù)據(jù)來(lái)調(diào)整神經(jīng)元之間的“連接權(quán)”以及每個(gè)神經(jīng)元的閾值,換句話說(shuō):神經(jīng)網(wǎng)絡(luò)所學(xué)習(xí)到的東西都蘊(yùn)含在網(wǎng)絡(luò)的連接權(quán)與閾值中。5.3BP神經(jīng)網(wǎng)絡(luò)算法由上面可以得知:神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)主要蘊(yùn)含在權(quán)重和閾值中,多層網(wǎng)絡(luò)使用上面簡(jiǎn)單感知機(jī)的權(quán)重調(diào)整規(guī)則顯然不夠用了,BP神經(jīng)網(wǎng)絡(luò)算法即誤差逆?zhèn)鞑ニ惴ǎ╡rrorBackPropagation)正是為學(xué)習(xí)多層前饋神經(jīng)網(wǎng)絡(luò)而設(shè)計(jì),BP神經(jīng)網(wǎng)絡(luò)算法是迄今為止最成功的的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法。一般而言,只需包含一個(gè)足夠多神經(jīng)元的隱層,就能以任意精度逼近任意復(fù)雜度的連續(xù)函數(shù)[Horniketal.,1989],故下面以訓(xùn)練單隱層的前饋神經(jīng)網(wǎng)絡(luò)為例,介紹BP神經(jīng)網(wǎng)絡(luò)的算法思想。上圖為一個(gè)單隱層前饋神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),BP神經(jīng)網(wǎng)絡(luò)算法也使用梯度下降法(gradientdescent),以單個(gè)樣本的均方誤差的負(fù)梯度方向?qū)?quán)重進(jìn)行調(diào)節(jié)??梢钥闯觯築P算法首先將誤差反向傳播給隱層神經(jīng)元,調(diào)節(jié)隱層到輸出層的連接權(quán)重與輸出層神經(jīng)元的閾值;接著根據(jù)隱含層神經(jīng)元的均方誤差,來(lái)調(diào)節(jié)輸入層到隱含層的連接權(quán)值與隱含層神經(jīng)元的閾值。BP算法基本的推導(dǎo)過(guò)程與感知機(jī)的推導(dǎo)過(guò)程原理是相同的,下面給出調(diào)整隱含層到輸出層的權(quán)重調(diào)整規(guī)則的推導(dǎo)過(guò)程:學(xué)習(xí)率η∈(0,1)控制著沿反梯度方向下降的步長(zhǎng),若步長(zhǎng)太大則下降太快容易產(chǎn)生震蕩,若步長(zhǎng)太小則收斂速度太慢,一般地常把η設(shè)置為0.1,有時(shí)更新權(quán)重時(shí)會(huì)將輸出層與隱含層設(shè)置為不同的學(xué)習(xí)率。BP算法的基本流程如下所示:BP算法的更新規(guī)則是基于每個(gè)樣本的預(yù)測(cè)值與真實(shí)類標(biāo)的均方誤差來(lái)進(jìn)行權(quán)值調(diào)節(jié),即BP算法每次更新只針對(duì)于單個(gè)樣例。需要注意的是:BP算法的最終目標(biāo)是要最小化整個(gè)訓(xùn)練集D上的累積誤差,即:如果基于累積誤差最小化的更新規(guī)則,則得到了累積誤差逆?zhèn)鞑ニ惴ǎ╝ccumulatederrorbackpropagation),即每次讀取全部的數(shù)據(jù)集一遍,進(jìn)行一輪學(xué)習(xí),從而基于當(dāng)前的累積誤差進(jìn)行權(quán)值調(diào)整,因此參數(shù)更新的頻率相比標(biāo)準(zhǔn)BP算法低了很多,但在很多任務(wù)中,尤其是在數(shù)據(jù)量很大的時(shí)候,往往標(biāo)準(zhǔn)BP算法會(huì)獲得較好的結(jié)果。另外對(duì)于如何設(shè)置隱層神經(jīng)元個(gè)數(shù)的問(wèn)題,至今仍然沒(méi)有好的解決方案,常使用“試錯(cuò)法”進(jìn)行調(diào)整。前面提到,BP神經(jīng)網(wǎng)絡(luò)強(qiáng)大的學(xué)習(xí)能力常常容易造成過(guò)擬合問(wèn)題,有以下兩種策略來(lái)緩解BP網(wǎng)絡(luò)的過(guò)擬合問(wèn)題:早停:將數(shù)據(jù)分為訓(xùn)練集與測(cè)試集,訓(xùn)練集用于學(xué)習(xí),測(cè)試集用于評(píng)估性能,若在訓(xùn)練過(guò)程中,訓(xùn)練集的累積誤差降低,而測(cè)試集的累積誤差升高,則停止訓(xùn)練。引入正則化(regularization):基本思想是在累積誤差函數(shù)中增加一個(gè)用于描述網(wǎng)絡(luò)復(fù)雜度的部分,例如所有權(quán)值與閾值的平方和,其中λ∈(0,1)用于對(duì)累積經(jīng)驗(yàn)誤差與網(wǎng)絡(luò)復(fù)雜度這兩項(xiàng)進(jìn)行折中,常通過(guò)交叉驗(yàn)證法來(lái)估計(jì)。

5.4全局最小與局部最小模型學(xué)習(xí)的過(guò)程實(shí)質(zhì)上就是一個(gè)尋找最優(yōu)參數(shù)的過(guò)程,例如BP算法試圖通過(guò)最速下降來(lái)尋找使得累積經(jīng)驗(yàn)誤差最小的權(quán)值與閾值,在談到最優(yōu)時(shí),一般會(huì)提到局部極?。╨ocalminimum)和全局最?。╣lobalminimum)。*局部極小解:參數(shù)空間中的某個(gè)點(diǎn),其鄰域點(diǎn)的誤差函數(shù)值均不小于該點(diǎn)的誤差函數(shù)值。*全局最小解:參數(shù)空間中的某個(gè)點(diǎn),所有其他點(diǎn)的誤差函數(shù)值均不小于該點(diǎn)的誤差函數(shù)值。要成為局部極小點(diǎn),只要滿足該點(diǎn)在參數(shù)空間中的梯度為零。局部極小可以有多個(gè),而全局最小只有一個(gè)。全局最小一定是局部極小,但局部最小卻不一定是全局最小。顯然在很多機(jī)器學(xué)習(xí)算法中,都試圖找到目標(biāo)函數(shù)的全局最小。梯度下降法的主要思想就是沿著負(fù)梯度方向去搜索最優(yōu)解,負(fù)梯度方向是函數(shù)值下降最快的方向,若迭代到某處的梯度為0,則表示達(dá)到一個(gè)局部最小,參數(shù)更新停止。因此在現(xiàn)實(shí)任務(wù)中,通常使用以下策略盡可能地去接近全局最小。*以多組不同參數(shù)值初始化多個(gè)神經(jīng)網(wǎng)絡(luò),按標(biāo)準(zhǔn)方法訓(xùn)練,迭代停止后,取其中誤差最小的解作為最終參數(shù)。*使用“模擬退火”技術(shù),這里不做具體介紹。*使用隨機(jī)梯度下降,即在計(jì)算梯度時(shí)加入了隨機(jī)因素,使得在局部最小時(shí),計(jì)算的梯度仍可能不為0,從而迭代可以繼續(xù)進(jìn)行。5.5深度學(xué)習(xí)理論上,參數(shù)越多,模型復(fù)雜度就越高,容量(capability)就越大,從而能完成更復(fù)雜的學(xué)習(xí)任務(wù)。深度學(xué)習(xí)(deeplearning)正是一種極其復(fù)雜而強(qiáng)大的模型。怎么增大模型復(fù)雜度呢??jī)蓚€(gè)辦法,一是增加隱層的數(shù)目,二是增加隱層神經(jīng)元的數(shù)目。前者更有效一些,因?yàn)樗粌H增加了功能神經(jīng)元的數(shù)量,還增加了激活函數(shù)嵌套的層數(shù)。但是對(duì)于多隱層神經(jīng)網(wǎng)絡(luò),經(jīng)典算法如標(biāo)準(zhǔn)BP算法往往會(huì)在誤差逆?zhèn)鞑r(shí)發(fā)散(diverge),無(wú)法收斂達(dá)到穩(wěn)定狀態(tài)。那要怎么有效地訓(xùn)練多隱層神經(jīng)網(wǎng)絡(luò)呢?一般來(lái)說(shuō)有以下兩種方法:無(wú)監(jiān)督逐層訓(xùn)練(unsupervisedlayer-wisetraining):每次訓(xùn)練一層隱節(jié)點(diǎn),把上一層隱節(jié)點(diǎn)的輸出當(dāng)作輸入來(lái)訓(xùn)練,本層隱結(jié)點(diǎn)訓(xùn)練好后,輸出再作為下一層的輸入來(lái)訓(xùn)練,這稱為預(yù)訓(xùn)練(pre-training)。全部預(yù)訓(xùn)練完成后,再對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行微調(diào)(fine-tuning)訓(xùn)練。一個(gè)典型例子就是深度信念網(wǎng)絡(luò)(deepbeliefnetwork,簡(jiǎn)稱DBN)。這種做法其實(shí)可以視為把大量的參數(shù)進(jìn)行分組,先找出每組較好的設(shè)置,再基于這些局部最優(yōu)的結(jié)果來(lái)訓(xùn)練全局最優(yōu)。權(quán)共享(weightsharing):令同一層神經(jīng)元使用完全相同的連接權(quán),典型的例子是卷積神經(jīng)網(wǎng)絡(luò)(ConvolutionalNeuralNetwork,簡(jiǎn)稱CNN)。這樣做可以大大減少需要訓(xùn)練的參數(shù)數(shù)目。深度學(xué)習(xí)可以理解為一種特征學(xué)習(xí)(featurelearning)或者表示學(xué)習(xí)(representationlearning),無(wú)論是DBN還是CNN,都是通過(guò)多個(gè)隱層來(lái)把與輸出目標(biāo)聯(lián)系不大的初始輸入轉(zhuǎn)化為與輸出目標(biāo)更加密切的表示,使原來(lái)只通過(guò)單層映射難以完成的任務(wù)變?yōu)榭赡?。即通過(guò)多層處理,逐漸將初始的“低層”特征表示轉(zhuǎn)化為“高層”特征表示,從而使得最后可以用簡(jiǎn)單的模型來(lái)完成復(fù)雜的學(xué)習(xí)任務(wù)。傳統(tǒng)任務(wù)中,樣本的特征需要人類專家來(lái)設(shè)計(jì),這稱為特征工程(featureengineering)。特征好壞對(duì)泛化性能有至關(guān)重要的影響。而深度學(xué)習(xí)為全自動(dòng)數(shù)據(jù)分析帶來(lái)了可能,可以自動(dòng)產(chǎn)生更好的特征。

《機(jī)器學(xué)習(xí)》學(xué)習(xí)筆記(7)--支持向量機(jī)上篇主要介紹了神經(jīng)網(wǎng)絡(luò)。首先從生物學(xué)神經(jīng)元出發(fā),引出了它的數(shù)學(xué)抽象模型–MP神經(jīng)元以及由兩層神經(jīng)元組成的感知機(jī)模型,并基于梯度下降的方法描述了感知機(jī)模型的權(quán)值調(diào)整規(guī)則。由于簡(jiǎn)單的感知機(jī)不能處理線性不可分的情形,因此接著引入了含隱層的前饋型神經(jīng)網(wǎng)絡(luò),BP神經(jīng)網(wǎng)絡(luò)則是其中最為成功的一種學(xué)習(xí)方法,它使用誤差逆?zhèn)鞑サ姆椒▉?lái)逐層調(diào)節(jié)連接權(quán)。最后簡(jiǎn)單介紹了局部/全局最小以及目前十分火熱的深度學(xué)習(xí)的概念。本篇圍繞的核心則是曾經(jīng)一度取代過(guò)神經(jīng)網(wǎng)絡(luò)的另一種監(jiān)督學(xué)習(xí)算法–支持向量機(jī)(SupportVectorMachine),簡(jiǎn)稱SVM。6、支持向量機(jī)支持向量機(jī)是一種經(jīng)典的二分類模型,基本模型定義為特征空間中最大間隔的線性分類器,其學(xué)習(xí)的優(yōu)化目標(biāo)便是間隔最大化,因此支持向量機(jī)本身可以轉(zhuǎn)化為一個(gè)凸二次規(guī)劃求解的問(wèn)題。6.1函數(shù)間隔與幾何間隔對(duì)于二分類學(xué)習(xí),假設(shè)現(xiàn)在的數(shù)據(jù)是線性可分的,這時(shí)分類學(xué)習(xí)最基本的想法就是找到一個(gè)合適的超平面,該超平面能夠?qū)⒉煌悇e的樣本分開(kāi),類似二維平面使用ax+by+c=0來(lái)表示,超平面實(shí)際上表示的就是高維的平面,如下圖所示:對(duì)數(shù)據(jù)點(diǎn)進(jìn)行劃分時(shí),易知:當(dāng)超平面距離與它最近的數(shù)據(jù)點(diǎn)的間隔越大,分類的魯棒性越好,即當(dāng)新的數(shù)據(jù)點(diǎn)加入時(shí),超平面對(duì)這些點(diǎn)的適應(yīng)性最強(qiáng),出錯(cuò)的可能性最小。因此需要讓所選擇的超平面能夠最大化這個(gè)間隔Gap(如下圖所示),常用的間隔定義有兩種,一種稱之為函數(shù)間隔,一種為幾何間隔,下面將分別介紹這兩種間隔,并對(duì)SVM為什么會(huì)選用幾何間隔做了一些闡述。6.1.1函數(shù)間隔在超平面w’x+b=0確定的情況下,|w’x*+b|能夠代表點(diǎn)x*距離超平面的遠(yuǎn)近,易知:當(dāng)w’x*+b>0時(shí),表示x*在超平面的一側(cè)(正類,類標(biāo)為1),而當(dāng)w’x*+b<0時(shí),則表示x*在超平面的另外一側(cè)(負(fù)類,類別為-1),因此(w’x*+b)y*的正負(fù)性恰能表示數(shù)據(jù)點(diǎn)x*是否被分類正確。于是便引出了函數(shù)間隔的定義(functionalmargin):而超平面(w,b)關(guān)于所有樣本點(diǎn)(Xi,Yi)的函數(shù)間隔最小值則為超平面在訓(xùn)練數(shù)據(jù)集T上的函數(shù)間隔:可以看出:這樣定義的函數(shù)間隔在處理SVM上會(huì)有問(wèn)題,當(dāng)超平面的兩個(gè)參數(shù)w和b同比例改變時(shí),函數(shù)間隔也會(huì)跟著改變,但是實(shí)際上超平面還是原來(lái)的超平面,并沒(méi)有變化。例如:w1x1+w2x2+w3x3+b=0其實(shí)等價(jià)于2w1x1+2w2x2+2w3x3+2b=0,但計(jì)算的函數(shù)間隔卻翻了一倍。從而引出了能真正度量點(diǎn)到超平面距離的概念–幾何間隔(geometricalmargin)。6.1.2幾何間隔幾何間隔代表的則是數(shù)據(jù)點(diǎn)到超平面的真實(shí)距離,對(duì)于超平面w’x+b=0,w代表的是該超平面的法向量,設(shè)x*為超平面外一點(diǎn)x在法向量w方向上的投影點(diǎn),x與超平面的距離為r,則有x*=x-r(w/||w||),又x*在超平面上,即w’x*+b=0,代入即可得:為了得到r的絕對(duì)值,令r呈上其對(duì)應(yīng)的類別y,即可得到幾何間隔的定義:從上述函數(shù)間隔與幾何間隔的定義可以看出:實(shí)質(zhì)上函數(shù)間隔就是|w’x+b|,而幾何間隔就是點(diǎn)到超平面的距離。6.2最大間隔與支持向量通過(guò)前面的分析可知:函數(shù)間隔不適合用來(lái)最大化間隔,因此這里我們要找的最大間隔指的是幾何間隔,于是最大間隔分類器的目標(biāo)函數(shù)定義為:一般地,我們令r^為1(這樣做的目的是為了方便推導(dǎo)和目標(biāo)函數(shù)的優(yōu)化),從而上述目標(biāo)函數(shù)轉(zhuǎn)化為:對(duì)于y(w’x+b)=1的數(shù)據(jù)點(diǎn),即右圖中位于w’x+b=1或w’x+b=-1上的數(shù)據(jù)點(diǎn),我們稱之為支持向量(supportvector),易知:對(duì)于所有的支持向量,它們恰好滿足y*(w’x*+b)=1,而所有不是支持向量的點(diǎn),有y*(w’x*+b)>1。6.3從原始優(yōu)化問(wèn)題到對(duì)偶問(wèn)題對(duì)于上述得到的目標(biāo)函數(shù),求1/||w||的最大值相當(dāng)于求||w||^2的最小值,因此很容易將原來(lái)的目標(biāo)函數(shù)轉(zhuǎn)化為:即變?yōu)榱艘粋€(gè)帶約束的凸二次規(guī)劃問(wèn)題,按書上所說(shuō)可以使用現(xiàn)成的優(yōu)化計(jì)算包(QP優(yōu)化包)求解,但由于SVM的特殊性,一般我們將原問(wèn)題變換為它的對(duì)偶問(wèn)題,接著再對(duì)其對(duì)偶問(wèn)題進(jìn)行求解。為什么通過(guò)對(duì)偶問(wèn)題進(jìn)行求解,有下面兩個(gè)原因:*一是因?yàn)槭褂脤?duì)偶問(wèn)題更容易求解;*二是因?yàn)橥ㄟ^(guò)對(duì)偶問(wèn)題求解出現(xiàn)了向量?jī)?nèi)積的形式,從而能更加自然地引出核函數(shù)。對(duì)偶問(wèn)題,顧名思義,可以理解成優(yōu)化等價(jià)的問(wèn)題,更一般地,是將一個(gè)原始目標(biāo)函數(shù)的最小化轉(zhuǎn)化為它的對(duì)偶函數(shù)最大化的問(wèn)題。對(duì)于當(dāng)前的優(yōu)化問(wèn)題,首先我們寫出它的朗格朗日函數(shù):上式很容易驗(yàn)證:當(dāng)其中有一個(gè)約束條件不滿足時(shí),L的最大值為∞(只需令其對(duì)應(yīng)的α為∞即可);當(dāng)所有約束條件都滿足時(shí),L的最大值為1/2||w||^2(此時(shí)令所有的α為0),因此實(shí)際上原問(wèn)題等價(jià)于:由于這個(gè)的求解問(wèn)題不好做,因此一般我們將最小和最大的位置交換一下(需滿足KKT條件),變成原問(wèn)題的對(duì)偶問(wèn)題:這樣就將原問(wèn)題的求最小變成了對(duì)偶問(wèn)題求最大(用對(duì)偶這個(gè)詞還是很形象),接下來(lái)便可以先求L對(duì)w和b的極小,再求L對(duì)α的極大。(1)首先求L對(duì)w和b的極小,分別求L關(guān)于w和b的偏導(dǎo),可以得出:將上述結(jié)果代入L得到:(2)接著L關(guān)于α極大求解α(通過(guò)SMO算法求解,此處不做深入)。(3)最后便可以根據(jù)求解出的α,計(jì)算出w和b,從而得到分類超平面函數(shù)。在對(duì)新的點(diǎn)進(jìn)行預(yù)測(cè)時(shí),實(shí)際上就是將數(shù)據(jù)點(diǎn)x*代入分類函數(shù)f(x)=w’x+b中,若f(x)>0,則為正類,f(x)<0,則為負(fù)類,根據(jù)前面推導(dǎo)得出的w與b,分類函數(shù)如下所示,此時(shí)便出現(xiàn)了上面所提到的內(nèi)積形式。這里實(shí)際上只需計(jì)算新樣本與支持向量的內(nèi)積,因?yàn)閷?duì)于非支持向量的數(shù)據(jù)點(diǎn),其對(duì)應(yīng)的拉格朗日乘子一定為0,根據(jù)最優(yōu)化理論(K-T條件),對(duì)于不等式約束y(w’x+b)-1≥0,滿足:6.4核函數(shù)由于上述的超平面只能解決線性可分的問(wèn)題,對(duì)于線性不可分的問(wèn)題,例如:異或問(wèn)題,我們需要使用核函數(shù)將其進(jìn)行推廣。一般地,解決線性不可分問(wèn)題時(shí),常常采用映射的方式,將低維原始空間映射到高維特征空間,使得數(shù)據(jù)集在高維空間中變得線性可分,從而再使用線性學(xué)習(xí)器分類。如果原始空間為有限維,即屬性數(shù)有限,那么總是存在一個(gè)高維特征空間使得樣本線性可分。若?代表一個(gè)映射,則在特征空間中的劃分函數(shù)變?yōu)椋喊凑胀瑯拥姆椒ǎ葘懗鲂履繕?biāo)函數(shù)的拉格朗日函數(shù),接著寫出其對(duì)偶問(wèn)題,求L關(guān)于w和b的極大,最后運(yùn)用SOM求解α??梢缘贸觯海?)原對(duì)偶問(wèn)題變?yōu)椋海?)原分類函數(shù)變?yōu)椋呵蠼獾倪^(guò)程中,只涉及到了高維特征空間中的內(nèi)積運(yùn)算,由于特征空間的維數(shù)可能會(huì)非常大,例如:若原始空間為二維,映射后的特征空間為5維,若原始空間為三維,映射后的特征空間將是19維,之后甚至可能出現(xiàn)無(wú)窮維,根本無(wú)法進(jìn)行內(nèi)積運(yùn)算了,此時(shí)便引出了核函數(shù)(Kernel)的概念。因此,核函數(shù)可以直接計(jì)算隱式映射到高維特征空間后的向量?jī)?nèi)積,而不需要顯式地寫出映射后的結(jié)果,它雖然完成了將特征從低維到高維的轉(zhuǎn)換,但最終卻是在低維空間中完成向量?jī)?nèi)積計(jì)算,與高維特征空間中的計(jì)算等效(低維計(jì)算,高維表現(xiàn)),從而避免了直接在高維空間無(wú)法計(jì)算的問(wèn)題。引入核函數(shù)后,原來(lái)的對(duì)偶問(wèn)題與分類函數(shù)則變?yōu)椋海?)對(duì)偶問(wèn)題:(2)分類函數(shù):因此,在線性不可分問(wèn)題中,核函數(shù)的選擇成了支持向量機(jī)的最大變數(shù),若選擇了不合適的核函數(shù),則意味著將樣本映射到了一個(gè)不合適的特征空間,則極可能導(dǎo)致性能不佳。同時(shí),核函數(shù)需要滿足以下這個(gè)必要條件:由于核函數(shù)的構(gòu)造十分困難,通常我們都是從一些常用的核函數(shù)中選擇,下面列出了幾種常用的核函數(shù):6.5軟間隔支持向量機(jī)前面的討論中,我們主要解決了兩個(gè)問(wèn)題:當(dāng)數(shù)據(jù)線性可分時(shí),直接使用最大間隔的超平面劃分;當(dāng)數(shù)據(jù)線性不可分時(shí),則通過(guò)核函數(shù)將數(shù)據(jù)映射到高維特征空間,使之線性可分。然而在現(xiàn)實(shí)問(wèn)題中,對(duì)于某些情形還是很難處理,例如數(shù)據(jù)中有噪聲的情形,噪聲數(shù)據(jù)(outlier)本身就偏離了正常位置,但是在前面的SVM模型中,我們要求所有的樣本數(shù)據(jù)都必須滿足約束,如果不要這些噪聲數(shù)據(jù)還好,當(dāng)加入這些outlier后導(dǎo)致劃分超平面被擠歪了,如下圖所示,對(duì)支持向量機(jī)的泛化性能造成很大的影響。為了解決這一問(wèn)題,我們需要允許某一些數(shù)據(jù)點(diǎn)不滿足約束,即可以在一定程度上偏移超平面,同時(shí)使得不滿足約束的數(shù)據(jù)點(diǎn)盡可能少,這便引出了“軟間隔”支持向量機(jī)的概念*允許某些數(shù)據(jù)點(diǎn)不滿足約束y(w'x+b)≥1;*同時(shí)又使得不滿足約束的樣本盡可能少。這樣優(yōu)化目標(biāo)變?yōu)椋喝缤A躍函數(shù),0/1損失函數(shù)雖然表示效果最好,但是數(shù)學(xué)性質(zhì)不佳。因此常用其它函數(shù)作為“替代損失函數(shù)”。支持向量機(jī)中的損失函數(shù)為hinge損失,引入“松弛變量”,目標(biāo)函數(shù)與約束條件可以寫為:其中C為一個(gè)參數(shù),控制著目標(biāo)函數(shù)與新引入正則項(xiàng)之間的權(quán)重,這樣顯然每個(gè)樣本數(shù)據(jù)都有一個(gè)對(duì)應(yīng)的松弛變量,用以表示該樣本不滿足約束的程度,將新的目標(biāo)函數(shù)轉(zhuǎn)化為拉格朗日函數(shù)得到:按照與之前相同的方法,先讓L求關(guān)于w,b以及松弛變量的極小,再使用SMO求出α,有:將w代入L化簡(jiǎn),便得到其對(duì)偶問(wèn)題:將“軟間隔”下產(chǎn)生的對(duì)偶問(wèn)題與原對(duì)偶問(wèn)題對(duì)比可以發(fā)現(xiàn):新的對(duì)偶問(wèn)題只是約束條件中的α多出了一個(gè)上限C,其它的完全相同,因此在引入核函數(shù)處理線性不可分問(wèn)題時(shí),便能使用與“硬間隔”支持向量機(jī)完全相同的方法。

《機(jī)器學(xué)習(xí)》學(xué)習(xí)筆記(8)--貝葉斯分類器上篇主要介紹和討論了支持向量機(jī)。從最初的分類函數(shù),通過(guò)最大化分類間隔,max(1/||w||),min(1/2||w||^2),凸二次規(guī)劃,拉格朗日函數(shù),對(duì)偶問(wèn)題,一直到最后的SMO算法求解,都為尋找一個(gè)最優(yōu)解。接著引入核函數(shù)將低維空間映射到高維特征空間,解決了非線性可分的情形。最后介紹了軟間隔支持向量機(jī),解決了outlier擠歪超平面的問(wèn)題。本篇將討論一個(gè)經(jīng)典的統(tǒng)計(jì)學(xué)習(xí)算法–貝葉斯分類器。7、貝葉斯分類器貝葉斯分類器是一種概率框架下的統(tǒng)計(jì)學(xué)習(xí)分類器,對(duì)分類任務(wù)而言,假設(shè)在相關(guān)概率都已知的情況下,貝葉斯分類器考慮如何基于這些概率為樣本判定最優(yōu)的類標(biāo)。在開(kāi)始介紹貝葉斯決策論之前,我們首先來(lái)回顧下貝葉斯公式。7.1貝葉斯決策論若將上述定義中樣本空間的劃分Bi看做為類標(biāo),A看做為一個(gè)新的樣本,則很容易將條件概率理解為樣本A是類別Bi的概率。在機(jī)器學(xué)習(xí)訓(xùn)練模型的過(guò)程中,往往我們都試圖去優(yōu)化一個(gè)風(fēng)險(xiǎn)函數(shù),因此在概率框架下我們也可以為貝葉斯定義“條件風(fēng)險(xiǎn)”(conditionalrisk)。我們的任務(wù)就是尋找一個(gè)判定準(zhǔn)則最小化所有樣本的條件風(fēng)險(xiǎn)總和,因此就有了貝葉斯判定準(zhǔn)則(Bayesdecisionrule):為最小化總體風(fēng)險(xiǎn),只需在每個(gè)樣本上選擇那個(gè)使得條件風(fēng)險(xiǎn)最小的類標(biāo)。若損失函數(shù)λ取0-1損失,則有:即對(duì)于每個(gè)樣本x,選擇其后驗(yàn)概率P(c|x)最大所對(duì)應(yīng)的類標(biāo),能使得總體風(fēng)險(xiǎn)函數(shù)最小,從而將原問(wèn)題轉(zhuǎn)化為估計(jì)后驗(yàn)概率P(c|x)。一般這里有兩種策略來(lái)對(duì)后驗(yàn)概率進(jìn)行估計(jì):*判別式模型:直接對(duì)P(c|x)進(jìn)行建模求解。例如我們前面所介紹的決策樹(shù)、神經(jīng)網(wǎng)絡(luò)、SVM都是屬于判別式模型。*生成式模型:通過(guò)先對(duì)聯(lián)合分布P(x,c)建模,從而進(jìn)一步求解P(c|x)。貝葉斯分類器就屬于生成式模型,基于貝葉斯公式對(duì)后驗(yàn)概率P(c|x)進(jìn)行一項(xiàng)神奇的變換P(c|x)變身:對(duì)于給定的樣本x,P(x)與類標(biāo)無(wú)關(guān),P(c)稱為類先驗(yàn)概率,p(x|c)稱為類條件概率。這時(shí)估計(jì)后驗(yàn)概率P(c|x)就變成為估計(jì)類先驗(yàn)概率和類條件概率的問(wèn)題。對(duì)于先驗(yàn)概率和后驗(yàn)概率,普及一下它們的基本概念。*先驗(yàn)概率:根據(jù)以往經(jīng)驗(yàn)和分析得到的概率。*后驗(yàn)概率:后驗(yàn)概率是基于新的信息,修正原來(lái)的先驗(yàn)概率后所獲得的更接近實(shí)際情況的概率估計(jì)。實(shí)際上先驗(yàn)概率就是在沒(méi)有任何結(jié)果出來(lái)的情況下估計(jì)的概率,而后驗(yàn)概率則是在有一定依據(jù)后的重新估計(jì),直觀意義上后驗(yàn)概率就是條件概率?;貧w正題,對(duì)于類先驗(yàn)概率P(c),p(c)就是樣本空間中各類樣本所占的比例,根據(jù)大數(shù)定理(當(dāng)樣本足夠多時(shí),頻率趨于穩(wěn)定等于其概率),這樣當(dāng)訓(xùn)練樣本充足時(shí),p(c)可以使用各類出現(xiàn)的頻率來(lái)代替。因此只剩下類條件概率p(x|c),它表達(dá)的意思是在類別c中出現(xiàn)x的概率,它涉及到屬性的聯(lián)合概率問(wèn)題,若只有一個(gè)離散屬性還好,當(dāng)屬性多時(shí)采用頻率估計(jì)起來(lái)就十分困難,因此這里一般采用極大似然法進(jìn)行估計(jì)。7.2極大似然法極大似然估計(jì)(MaximumLikelihoodEstimation,簡(jiǎn)稱MLE),是一種根據(jù)數(shù)據(jù)采樣來(lái)估計(jì)概率分布的經(jīng)典方法。常用的策略是先假定總體具有某種確定的概率分布,再基于訓(xùn)練樣本對(duì)概率分布的參數(shù)進(jìn)行估計(jì)。運(yùn)用到類條件概率p(x|c)中,假設(shè)p(x|c)服從一個(gè)參數(shù)為θ的分布,問(wèn)題就變?yōu)楦鶕?jù)已知的訓(xùn)練樣本來(lái)估計(jì)θ。極大似然法的核心思想就是:估計(jì)出的參數(shù)使得已知樣本出現(xiàn)的概率最大,即使得訓(xùn)練數(shù)據(jù)的似然最大。所以,貝葉斯分類器的訓(xùn)練過(guò)程就是參數(shù)估計(jì)??偨Y(jié)最大似然法估計(jì)參數(shù)的過(guò)程,一般分為以下四個(gè)步驟:*1.寫出似然函數(shù);*2.對(duì)似然函數(shù)取對(duì)數(shù),并整理;*3.求導(dǎo)數(shù),令偏導(dǎo)數(shù)為0,得到似然方程組;*4.解似然方程組,得到所有參數(shù)即為所求。例如:假設(shè)樣本屬性都是連續(xù)值,p(x|c)服從一個(gè)多維高斯分布,則通過(guò)MLE計(jì)算出的參數(shù)剛好分別為:上述結(jié)果看起來(lái)十分合乎實(shí)際

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論