機器學習 Bayesian概念學習

2021-07-26 15:56:37 字數 2423 閱讀 3754

這篇文章中我想由beta分布-二項分布這組常用的共軛分布來介紹bayesian概念學習(concept learning)。在開始之前,我想先回答兩個問題。

第一,機器學習中為什麼要引入概率?

在機器學習中,我們通過已知的資訊希望能夠推斷出一些未知的資訊,但在推斷過程中有時並不能唯一確定目標值,這時便可以使用概率來體現各個可能目標值的可能性。例如,knn(k nearest neighbors)分類問題中,已知平面中的n個點xi和它們的類別yi,希望根據這些資訊來推斷平面上其他點x的歸類,做法是觀察離x最近的k個已知的xi,若這k個xi中有2個屬於類別a,則我們說x屬於類別a的概率為2/k。通過引入概率,可以避免只給出乙個確定值而造成偏頗,同時又由概率值大小告訴我們可能性大小,可以讓我們有進一步判斷的根據。

第二,什麼是概念學習?

很多時候我們在學習的時候只有正項的反饋,比如孩子認識花朵的過程,父母會告訴他「xx是一朵花」,而很少會主動告訴他「xx不是一朵花」,再比如我們中學時學習解數學題的方法m時,老師總是教我們「xx題要用方法m來解」,而較少教我們「xx不要用方法m來解」,這裡的「花」和「可以用方法m來解的題」就可以看做是乙個「概念」。在給定一些屬於這個概念c的一些例項(正項的反饋)時,我們希望由此來估計這個概念到底可以包含哪些例項。

bayesian概念學習就是解決在僅給出正項例項時的學習問題。

我們可以將概念c理解為包含它所有例項的集合,那麼給定的正項例項就可以看做是集合c中的一些元素,我們希望由部分元素來推斷集合c到底是什麼。假如已知集合c包含4,8,16這三個元素,那麼集合c可能是什麼?有很多種可能性,它可能是全體偶數,所有4的倍數,所有整數,也可能是,還有可能是,或者全體偶數再並上55。但從集合c作為乙個概念來講,它是全體偶數、所有4的倍數或是所有整數都有其合理性,但後三種情況不太合理,雖然我們不能說這些情況不可能發生。於是在不考慮已知例項的情況下,集合c可能的選擇是有乙個概率分布的,上面舉的前3種情況概率值較高,而後三種情況概率值較低,這個概率分布稱為這個概念c的先驗(prior)。在先驗和已知的資料下,我們進行推斷,這就是bayesian概念學習。

在一般的問題中,概念c所有可能的選擇可能具有同乙個形式,並帶有某個引數c,則概念c的先驗分布就可以看做是引數c的概率分布,二者是同乙個意思,下面用beta-binomial這組共軛分布來具體闡釋一下。

假設我們投擲硬幣,出現正面(1)的概率是c,則出現負面(0)的概率是1-c,則每次投擲硬幣的結果服從bernoulli分布ber(c)。另外我們有資料d,d包含了n次投擲硬幣得到的結果,即d=,而每個xi都服從ber(c)。在這個例子中,概念就是投擲這個硬幣可能出現的情況,即在已有資料d的情況下我們希望推斷出以後(下一次或以後多次)投擲硬幣出現的情況,即出現正面的概率,而這是與c的取值是息息相關的。首先,在給定c的情況下,資料發生的概率(稱作likelihood)為

n1、n0為d中出現1和0的次數,n1+n0=n。在已知投擲總次數n的情況下,給出x_1,...,x_n的具體的值和給出n1對估計c的作用是一樣的,這裡n1的值叫做c的充分統計量,而n1服從二項分布bin(n,c),即

在計算有了d之後c的可能性之前,我們希望給c乙個先驗,在先驗中表達我們對它的理解。首先c是bernoulli分布的引數,它的取值範圍是[0,1],為了簡化計算,我們取c的先驗具有和likelihood一樣的形式,乙個很自然的選擇就是令它服從某個beta分布beta(a,b),即

這也就是為什麼beta分布是二項分布的共軛分布。

則在給定資料之後對c的估計(稱之為posterior,後驗),由bayes法則可得

則我們對c的估計有下面幾個常用的值

分別對應於c的極大後驗估計、極大似然估計和後驗均值估計。這幾類估計值的使用範圍都很廣泛,值得一提的是如果我們僅用資料d來估計下一時刻投擲結果x=1的概率為

即x服從ber(e[c|d])分布,也即,用資料來估計未來值時,和代入後驗均值的效果是相同的,並且積分的過程也會解決一部分overfitting的問題。

這時候會有乙個問題,我們在將先驗定為共軛分布時主要為了使後驗分布計算方便,那這樣的設定是否合理呢?乙個可行的解決辦法是取先驗分布為共軛分布的線性組合,這至少可以在取均值估計時同時兼顧合理性與運算簡便性。另一組常用的共軛分布dirichlet-multinomial的情況非常相似,不再贅述。

reference:

machine learning-a probabilistic perspective, kevin p. murphy, 2012.

機器學習概念

recommendation engine 推薦引擎 dbr demographic based recommendation 基於人口統計學的推薦 cbr context basedrecommendation 基於內容的推薦 cf collaborative filtering協同過濾 ucf ...

機器學習概念

基本術語 定義 假設可以使用p來評估電腦程式在某類任務t上的效能,若乙個程式通過利用經驗e在t中任務上獲得效能提公升,就可以說關於t和p。該程式對e進行了學習。資料集 data set 一條記錄就是乙個事件或物件 乙個示例 instance 樣本 sample 物件某方面表現或性質 屬性 attri...

機器學習概念

機器學習概念 機器學習是一門從資料中研究演算法的科學學科。機器學習直白來講,是根據已有的資料,進行演算法選擇,並基於演算法和資料構建模型,最終對未來進行 來看看大佬對機器學習的定義吧,美國卡內基梅隆大學 carnegie mellon university 機器學習研究領域的著名教授tommitch...