分類
直推學習:訓練過程中使用待測試數據,目的是提高對這些數據分類的正確率。
歸納學習:訓練過程的目的是提出一個能夠泛用的模型,而不是單單爲了某些待測試數據。
常用方法
self-training
自我訓練:方法非常直觀
①根據有標籤的data訓練出一個模型;
②把無標籤的data代入模型,得到可能性最大的標籤
③選擇②中一些表現比較好的數據(指得到的最大可能性與其他可能性差距較大,即這個label大概率是對的),重新帶入①中,繼續訓練
④重複直至收斂
Entropy-based Regularization
如上圖,介紹一種稱爲Entropy-based Regularization的方法。
首先,Entropy是用於衡量生成標籤的可能性的分散程度,如果可能性十分集中,這個值E就會越小,而我們希望他是更集中的。
所以在設計Loss函數的時候,我們在一般的item後面加了一項
用於描述我們期望E越小越好。這個行爲很類似於之前提到的正則化,所以稱之爲Entropy-based Regularization。
Semi-supervised SVM
平滑性假設:(Smoothness Assumption)
(1) x 的分佈是不均勻的,在有的地方是稀疏的,在有的地方是密集的
(2) 如果在高密度區域比較相近,那麼這兩個數據具有相同的標籤
如上圖所示,只有在高密度的區域中相近的數據纔有類似的標籤,例如X1與X2,。不在同一區域的數據,即使距離並不遠,也不能認爲用相同的標籤。
具體實踐可以考慮用deep auto-encoder先提取出圖像的特徵,在使用聚類的方式進行分類。
Graph-based Approach
基於圖的方法
可以把所有的數據點視作一張圖上的點,靠的很近的點之間會有連接線,這樣就會吧大部分的點連接起來,並且,在同一個連通圖裏的數據點被視爲是同一類的可能性較大。
如何去建立這些連接線呢?有幾種方法:
①K Nearest Neighbor(K-鄰近法):尋找到某個點周圍最近的k個點,連接起來。
②e-Neighborhood:尋找到周圍“距離”小於e的幾個點連接起來,e的定義可以參考如下式子,其中,使用exp是爲了讓相聚較遠的點數值迅速下降。
最後,要如何衡量一張圖的平滑度?