生成與判別機(jī)器學(xué)習(xí)模型
一些機(jī)器學(xué)習(xí)模型屬于“生成”或“判別”模型類別。然而,這兩類模型之間有什么區(qū)別?模型具有判別性或生成性意味著什么?
簡短的回答是,生成模型是那些包含數(shù)據(jù)集分布的模型,返回給定示例的概率。生成模型通常用于預(yù)測序列中接下來會發(fā)生什么。同時,判別模型用于分類或回歸,它們返回基于條件概率的預(yù)測。讓我們更詳細(xì)地探討生成模型和判別模型之間的區(qū)別,以便我們真正了解這兩種模型的區(qū)別以及何時應(yīng)該使用每種模型。
生成與判別模型
有多種方法可以對機(jī)器學(xué)習(xí)模型進(jìn)行分類。模型可以分為不同的類別,例如:生成模型、判別模型、參數(shù)模型、非參數(shù)模型、基于樹的模型、非基于樹的模型。
本文將重點(diǎn)介紹生成模型和判別模型之間的區(qū)別。我們將從定義生成模型和判別模型開始,然后我們將探索每種模型的一些示例。
生成模型
生成模型是以數(shù)據(jù)集中類的分布為中心的模型。機(jī)器學(xué)習(xí)算法通常對數(shù)據(jù)點(diǎn)的分布進(jìn)行建模。生成模型依賴于尋找聯(lián)合概率。創(chuàng)建給定輸入特征和所需輸出/標(biāo)簽同時存在的點(diǎn)。
生成模型通常用于估計(jì)概率和可能性、建模數(shù)據(jù)點(diǎn)并根據(jù)這些概率區(qū)分類別。因?yàn)槟P蛯W(xué)習(xí)了數(shù)據(jù)集的概率分布,它可以參考這個概率分布來生成新的數(shù)據(jù)實(shí)例。生成模型通常依靠貝葉斯定理來找到聯(lián)合概率,找到 p(x,y)。本質(zhì)上,生成模型對數(shù)據(jù)的生成方式進(jìn)行建模,回答以下問題:
“這個類或其他類生成這個數(shù)據(jù)點(diǎn)/實(shí)例的可能性有多大?”
生成機(jī)器學(xué)習(xí)模型的示例包括線性判別分析 (LDA)、隱馬爾可夫模型和貝葉斯網(wǎng)絡(luò),如樸素貝葉斯。
判別模型
生成模型了解數(shù)據(jù)集的分布,而判別模型了解數(shù)據(jù)集中類之間的邊界。對于判別模型,目標(biāo)是識別類之間的決策邊界,以將可靠的類標(biāo)簽應(yīng)用于數(shù)據(jù)實(shí)例。判別模型通過使用條件概率來分離數(shù)據(jù)集中的類,而不是對單個數(shù)據(jù)點(diǎn)做出任何假設(shè)。
判別模型旨在回答以下問題:
“這個實(shí)例出現(xiàn)在決策邊界的哪一邊?”
機(jī)器學(xué)習(xí)中的判別模型示例包括支持向量機(jī)、邏輯回歸、決策樹和隨機(jī)森林。
生成式和判別式之間的差異
以下是生成模型和判別模型之間主要區(qū)別的簡要說明。
生成模型:
- 生成模型旨在捕獲數(shù)據(jù)集中類的實(shí)際分布。
- 生成模型利用貝葉斯定理預(yù)測聯(lián)合概率分布 – p(x,y)。
- 與判別模型相比,生成模型的計(jì)算成本更高。
- 生成模型對于無監(jiān)督機(jī)器學(xué)習(xí)任務(wù)很有用。
- 生成模型比判別模型更受異常值的影響。
判別模型:
- 判別模型為數(shù)據(jù)集類的決策邊界建模。
- 判別模型學(xué)習(xí)條件概率——p(y|x)。
- 與生成模型相比,判別模型的計(jì)算成本更低。
- 判別模型對于有監(jiān)督的機(jī)器學(xué)習(xí)任務(wù)很有用。
- 與生成模型不同,判別模型具有對異常值更穩(wěn)健的優(yōu)勢。
- 與生成模型相比,判別模型對異常值更穩(wěn)健。
我們現(xiàn)在將簡要探討一些生成和判別機(jī)器學(xué)習(xí)模型的不同示例。
生成模型示例
線性判別分析 (LDA)
LDA 模型通過估計(jì)數(shù)據(jù)集中每個類的數(shù)據(jù)的方差和均值來發(fā)揮作用。在計(jì)算了每個類的均值和方差之后,可以通過估計(jì)給定的一組輸入屬于給定類的概率來進(jìn)行預(yù)測。
隱馬爾可夫模型
馬爾可夫鏈可以被認(rèn)為是帶有概率的圖,這些概率表明我們從鏈中的一個點(diǎn)(一個“狀態(tài)”)移動到另一個狀態(tài)的可能性有多大。馬爾可夫鏈用于確定從狀態(tài) j 移動到狀態(tài) i 的概率,可以表示為 p(i,j)。這只是上面提到的聯(lián)合概率。隱馬爾可夫模型是使用不可見、不可觀察的馬爾可夫鏈的地方。數(shù)據(jù)輸入被提供給模型,當(dāng)前狀態(tài)和緊接在它之前的狀態(tài)的概率用于計(jì)算最可能的結(jié)果。
貝葉斯網(wǎng)絡(luò)
貝葉斯網(wǎng)絡(luò)是一種概率圖模型。它們表示變量之間的條件依賴關(guān)系,如有向無環(huán)圖所示。在貝葉斯網(wǎng)絡(luò)中,圖的每條邊代表一個條件依賴,每個節(jié)點(diǎn)對應(yīng)一個唯一的變量。圖中唯一關(guān)系的條件獨(dú)立性可用于確定變量的聯(lián)合分布并計(jì)算聯(lián)合概率。換句話說,貝葉斯網(wǎng)絡(luò)捕獲特定聯(lián)合概率分布中獨(dú)立關(guān)系的子集。
一旦創(chuàng)建并正確定義了貝葉斯網(wǎng)絡(luò),在已知隨機(jī)變量、條件關(guān)系和概率分布的情況下,它就可以用來估計(jì)事件或結(jié)果的概率。
最常用的貝葉斯網(wǎng)絡(luò)類型之一是樸素貝葉斯模型。樸素貝葉斯模型通過將所有特征視為彼此獨(dú)立來處理計(jì)算具有許多參數(shù)/變量的數(shù)據(jù)集的概率的挑戰(zhàn)。
判別模型的例子
支持向量機(jī)
支持向量機(jī)通過在數(shù)據(jù)點(diǎn)之間繪制決策邊界來操作,找到最能區(qū)分?jǐn)?shù)據(jù)集中不同類別的決策邊界。SVM 算法分別為 2 維空間和 3D 空間繪制分隔點(diǎn)的線或超平面。SVM 試圖通過最大化邊距或線/超平面到最近點(diǎn)之間的距離來找到最能區(qū)分類的線/超平面。通過使用“內(nèi)核技巧”來識別非線性決策邊界,SVM 模型也可以用于線性不可分的數(shù)據(jù)集。
邏輯回歸
邏輯回歸是一種算法,它使用 logit(log-odds)函數(shù)來確定輸入處于兩種狀態(tài)之一的概率。sigmoid 函數(shù)用于將概率“擠壓”到 0 或 1、真或假。大于 0.50 的概率被假定為 1 類,而 0.49 或更低的概率被假定為 0。因此,邏輯回歸通常用于二元分類問題。然而,邏輯回歸可以通過使用一對多的方法應(yīng)用于多類問題,為每個類創(chuàng)建一個二元分類模型,并確定一個示例是數(shù)據(jù)集中的目標(biāo)類或另一個類的概率。
決策樹
決策樹模型通過將數(shù)據(jù)集拆分為越來越小的部分來發(fā)揮作用,一旦子集無法進(jìn)一步拆分,結(jié)果就是具有節(jié)點(diǎn)和葉子的樹。決策樹中的節(jié)點(diǎn)是使用不同過濾標(biāo)準(zhǔn)做出關(guān)于數(shù)據(jù)點(diǎn)的決策的地方。決策樹中的葉子是已分類的數(shù)據(jù)點(diǎn)。決策樹算法可以處理數(shù)字和分類數(shù)據(jù),樹中的拆分基于特定的變量/特征。
隨機(jī)森林
隨機(jī)森林模型基本上只是決策樹的集合,其中對單個樹的預(yù)測進(jìn)行平均以得出最終決策。隨機(jī)森林算法隨機(jī)選擇觀察值和特征,并根據(jù)這些選擇構(gòu)建單個樹。
本教程文章將探討如何在 Matplotlib 中創(chuàng)建箱線圖。箱線圖用于可視化數(shù)據(jù)集的匯總統(tǒng)計(jì)數(shù)據(jù),顯示分布的屬性,如數(shù)據(jù)的范圍和分布。