推理计算过程_转导推理—Transductive Learning
在統計學習中,轉導推理(Transductive Inference)是一種通過觀察特定的訓練樣本,進而預測特定的測試樣本的方法。另一方面,歸納推理(Induction Inference)先從訓練樣本中學習得到通過的規則,再利用規則判斷測試樣本。然而有些轉導推理的預測無法由歸納推理獲得,這是因為轉導推理在不同的測試集上會產生相互不一致的預測,這也是最令轉導推理的學者感興趣的地方。
歸納推理中的一個經典方法是貝葉斯決策,通過求解P(Y|X)=P(X|Y)P(Y)/P(X)得到從樣本X到類別Y的概率分布P(Y|X),進而使用P(Y|X)預測測試樣本的類別。這一過程的缺點在于,在預測某一測試樣本的類別之前,先要建立一個更通用的判別模型。那么是否能夠更直接判別測試樣本的類別呢?一個辦法就是通過轉導推理。轉導推理由Vladimir Naumovich Vapnik(弗拉基米爾·萬普尼克)于20世紀90年代最先提出,其目的就在于建立一個更適用于問題域的模型,而非一個更通用的模型。這方面的經典算法有最近鄰(K Nearest Neighbour)和支持向量機(Support Vector Machine)等。
特別是當訓練樣本非常少,而測試樣本非常多時,使用歸納推理得到的類別判別模型的性能很差,轉導推理能利用無標注的測試樣本的信息發現聚簇,進而更有效地分類。而這正是只使用訓練樣本推導模型的歸納推理所無法做到的。一些學者將這些方法歸類于半監督模型(Semi-Supervised Learning),但Vapnik認為是轉導推理3。這方面的經典算法有轉導支持向量機(Transductive Support Vector Machine)等。
轉導推理的產生的第三個動機在于模型近似。在某些工程應用中,嚴格的推導所產生的計算量可能是非常巨大的,工程人員希望找到某些近似模型能適應他們所面臨的特定問題,不需要適用于所有情況。
如下圖所示。判別模型的任務是預測未標注數據點的類別。歸納推理方法通過訓練一個監督學習模型來預測所有未標注點的類別。這樣,訓練樣本中就只有5個點供以訓練監督學習模型。對于圖中較靠中心的某點(紅色圓圈),利用最近鄰算法就會將其標記為A或C,但從所有數據組成的類簇來看,此點應標為B。
圖1:少量標注樣本時,使用KNN算法預測樣本類別。訓練樣本是少量已經標注(A、B、C)的點,而其它大部分的點都是未標注的(記為?)。
轉導推理會利用所有點的信息進行預測,也就是說轉導推理會根據數據所從屬的類簇進行類別標注。這樣中間紅色圈的點由于非常接近標為B的點所從屬的類簇,就會標注為B。可以看出轉導推理的優勢就在于其能通過少量的標注樣本進行預測。而其不足之處就在于其沒有預測模型。當新未知點加入數據集時,轉導推理可能需要與數據量成正比的計算來預測類別,特別是當新數據不斷地被獲取和加入時,這種計算量的增長顯得猶為突出,而且新數據的添加可能會造成舊數據類別的改變(根據實際應用的不同,可能是好的,也可能是壞的)。相反地,歸納推理由于有模型存在,在計算量上可能會優于轉導推理(模型的更新可能增加計算量)。
文章的后面部分將以二分類為例,先從較簡單的情況開始,即給定大量的標注樣本,判斷測試樣本的類別,討論最近鄰(k Nearest Neighbours,KNN)和支持向量機(Support Vector Machine,SVM)。接著就討論在給定少量標注樣本和大量測試樣本的情況下,判斷測試樣本的方法,主要是轉導支持向量機(Transductive Support Vector Machine,TSVM)。
總結
以上是生活随笔為你收集整理的推理计算过程_转导推理—Transductive Learning的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 鼻息肉手术多少钱啊?
- 下一篇: 便利vector_C++面试题之list