這篇博客介紹的是一篇用於半監督迴歸問題的方法: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迴歸器,這兩個迴歸器的不同是通過設定不同的距離度量和近鄰數量實現的。對一個迴歸器對一個無標籤樣本 預測的可靠程度的評估,是通過下面的指標來衡量的
上式中, 指的是 在有標籤數據集 中的近鄰樣本集,表示的是該KNN迴歸器, 表示的是將 和 加入到訓練集以後更新得到的迴歸器。簡單來說 評估的是將該僞標籤加入到訓練集以後對近鄰預測的影響,越大,表示加入該僞標籤對於準確率提升的收益越大,那麼該僞標籤就越有可能是正確的
二、Coreg算法流程
三、模型python代碼
有問題可以私信博主,點贊關注的一般都會回覆,一起努力,謝謝支持。
微信搜索“老和山算法指南”獲取下載鏈接與技術交流羣