中文文檔: http://sklearn.apachecn.org/cn/stable/modules/label_propagation.html
英文文檔: http://sklearn.apachecn.org/en/stable/modules/label_propagation.html
官方文檔: http://scikit-learn.org/stable/
GitHub: https://github.com/apachecn/scikit-learn-doc-zh(覺得不錯麻煩給個 Star,我們一直在努力)
貢獻者: https://github.com/apachecn/scikit-learn-doc-zh#貢獻者
關於我們: http://www.apachecn.org/organization/209.html
1.14. 半監督學習
半監督學習 適用於在訓練數據上的一些樣本數據沒有貼上標籤的情況。 sklearn.semi_supervised
中的半監督估計,
能夠利用這些附加的未標記數據來更好地捕獲底層數據分佈的形狀,並將其更好地類推到新的樣本。 當我們有非常少量的已標籤化的點和大量的未標籤化的點時,這些算法表現均良好。
y 中含有未標記的數據
在使用 fit
方法訓練數據時, 將標識符與已標籤化的數據一起分配給未標籤化的點是尤其重要的. 實現該標記的方法是使用整數值 .
1.14.1. 標籤傳播
標籤傳播表示半監督圖推理算法的幾個變體。
- 該模型的一些特性如下:
-
- 可用於分類和迴歸任務
- Kernel methods to project data into alternate dimensional spaces
scikit-learn 提供了兩種標籤傳播模型: LabelPropagation
和 LabelSpreading
。
兩者都通過在輸入的 dataset(數據集)中的所有 items(項)上構建 similarity graph (相似圖)來進行工作。
LabelPropagation
和 LabelSpreading
在對圖形的相似性矩陣,
以及對標籤分佈的 clamping effect(夾持效應)的修改方面不太一樣。 Clamping 允許算法在一定程度上改變真實標籤化數據的權重。 該 LabelPropagation
算法執行輸入標籤的
hard clamping, 這意味着 。 這些 clamping
factor 可以不是很嚴格的, 例如 , 這意味着我們將始終保留原始標籤分配的
80%, 但該算法可以將其分佈的置信度改變在 20% 以內。
LabelPropagation
使用原始相似性矩陣從未修改的數據來構建。 LabelSpreading
最小化具有正則化屬性的損耗函數,
因此它通常更適用於噪聲數據。 該算法在原始圖形的修改版本上進行迭代, 並通過計算 normalized graph Laplacian matrix (歸一化圖拉普拉斯矩陣)來對邊緣的權重進行歸一化。 此過程也用於 Spectral
clustering 。
標籤傳播模型有兩種內置的 kernel methods(核函數)。 kernel (核)的選擇會影響算法的可擴展性和性能。 以下是可用的:
- rbf (). 通過關鍵字 gamma 來指定。
- knn (). 通過關鍵字 n_neighbors 來指定。
RBF 核將產生一個完全連接的圖形, 它通過密集矩陣在內存中表示。 該矩陣可能非常大, 與算法的每次迭代執行全矩陣乘法計算的成本相結合可導致超長的運行時間。 在另一方面, KNN 核將產生更多的內存友好的稀疏矩陣, 這樣可以大幅度的減少運行時間。
例子
參考
[1] Yoshua Bengio, Olivier Delalleau, Nicolas Le Roux. In Semi-Supervised Learning (2006), pp. 193-216
[2] Olivier Delalleau, Yoshua Bengio, Nicolas Le Roux. Efficient Non-Parametric Function Induction in Semi-Supervised Learning. AISTAT 2005 http://research.microsoft.com/en-us/people/nicolasl/efficient_ssl.pdf
中文文檔: http://sklearn.apachecn.org/cn/stable/modules/label_propagation.html
英文文檔: http://sklearn.apachecn.org/en/stable/modules/label_propagation.html
官方文檔: http://scikit-learn.org/stable/
GitHub: https://github.com/apachecn/scikit-learn-doc-zh(覺得不錯麻煩給個 Star,我們一直在努力)
貢獻者: https://github.com/apachecn/scikit-learn-doc-zh#貢獻者
關於我們: http://www.apachecn.org/organization/209.html
有興趣的們也可以和我們一起來維護,持續更新中 。。。
機器學習交流羣: 629470233