機器學習教程 之 半監督學習 Coreg 協同迴歸算法 (論文、算法、數據集、代碼)

這篇博客介紹的是一篇用於半監督迴歸問題的方法:Semisupervised Regression with
Cotraining-Style Algorithms
。 這是周志華老師在2007年較早的一篇文章,其特點在於,大多數半監督的算法都是用於分類問題的,而Coreg則以相對較簡單的方式實現了半監督的迴歸。

之前還寫過兩篇半監督分類的算法,見
機器學習教程 之 半監督學習 Co-training, 以及
機器學習教程 之 半監督學習 Tri-training

此外,一些圖模型也可以用於半監督的分類和迴歸
DeepLearning | 圖注意力網絡Graph Attention Network
DeepLearning | 圖卷積神經網絡(GCN)解析

這些博客都提供了算法的講解和python的代碼復現,感興趣的可以瞭解一下

一、Co-regression (Coreg) 模型

和 Cotraining 類似,Coreg採用的也是兩個學習器相互給無標籤數據打標籤的方法。不同點在於Coreg針對的是迴歸問題。

相比於分類問題,該場景下回歸問題的難點在於如何挑選置信度較高的僞標籤?分類問題很簡單,對於一個樣本點,如果分類器輸出類別的後驗概率足夠高,那麼就可以認爲這個預測是準確的,因而可以將該預測設置爲無標籤數據的僞標籤 (詳細見 Co-training)。但是對於迴歸問題而言,迴歸器是沒有後驗概率這一說法的,所以Core的主要貢獻就在於給出了評估預測可靠程度的方法,從而爲無標籤數據提供僞標籤。

Coreg使用了兩個KNN迴歸器,這兩個迴歸器的不同是通過設定不同的距離度量和近鄰數量實現的。對一個迴歸器對一個無標籤樣本 xux_{u} 預測的可靠程度的評估,是通過下面的指標來衡量的

在這裏插入圖片描述
上式中,Ωu\Omega_{u} 指的是 xux_{u} 在有標籤數據集 LL 中的近鄰樣本集,hh表示的是該KNN迴歸器,hh^{'} 表示的是將xux_{u}yu=h(xu)y_{u} =h(x_{u}) 加入到訓練集以後更新得到的迴歸器。簡單來說 δxu\delta_{x_{u}} 評估的是將該僞標籤加入到訓練集以後對近鄰預測的影響,δxu\delta_{x_{u}}越大,表示加入該僞標籤對於準確率提升的收益越大,那麼該僞標籤就越有可能是正確的

二、Coreg算法流程

在這裏插入圖片描述

三、模型python代碼

在這裏插入圖片描述

有問題可以私信博主,點贊關注的一般都會回覆,一起努力,謝謝支持。
微信搜索“老和山算法指南”獲取下載鏈接與技術交流羣

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章