機器學習 scikit-learn 圖譜

jopen 8年前發布 | 23K 次閱讀 機器學習

scikit-learn 是機器學習領域非常熱門的一個開源庫,基于Python 語言寫成。可以免費使用。
網址: http://scikit-learn.org/stable/index.html

上面有很多的教程,編程實例。而且還做了很好的總結,下面這張圖基本概括了傳統機器學習領域的大多數理論與相關算法。

這里寫圖片描述

我們可以看到,機器學習分為四大塊,分別是 classification (分類), clustering (聚類), regression (回歸), dimensionality reduction (降維)。

給定一個樣本特征 x , 我們希望預測其對應的屬性值 y , 如果 y 是離散的, 那么這就是一個分類問題,反之,如果 y 是連續的實數, 這就是一個回歸問題。

如果給定一組樣本特征 S={xRD} , 我們沒有對應的 y , 而是想發掘這組樣本在 D 維空間的分布, 比如分析哪些樣本靠的更近,哪些樣本之間離得很遠, 這就是屬于聚類問題。

如果我們想用維數更低的子空間來表示原來高維的特征空間, 那么這就是降維問題。

classification & regression

無論是分類還是回歸,都是想建立一個預測模型 H ,給定一個輸入 x , 可以得到一個輸出 y :

y=H(x)

不同的只是在分類問題中, y 是離散的; 而在回歸問題中 y 是連續的。所以總得來說,兩種問題的學習算法都很類似。所以在這個圖譜上,我們看到在分類問題中用到的學習算法,在回歸問題中也能使用。分類問題最常用的學習算法包括 SVM (支持向量機) , SGD (隨機梯度下降算法), Bayes (貝葉斯估計), Ensemble, KNN 等。而回歸問題也能使用 SVR, SGD, Ensemble 等算法,以及其它線性回歸算法。

clustering

聚類也是分析樣本的屬性, 有點類似classification, 不同的就是classification 在預測之前是知道 y 的范圍, 或者說知道到底有幾個類別, 而聚類是不知道屬性的范圍的。所以 classification 也常常被稱為 supervised learning, 而clustering就被稱為 unsupervised learning。
clustering 事先不知道樣本的屬性范圍,只能憑借樣本在特征空間的分布來分析樣本的屬性。這種問題一般更復雜。而常用的算法包括 k-means (K-均值), GMM (高斯混合模型) 等。

dimensionality reduction

降維是機器學習另一個重要的領域, 降維有很多重要的應用, 特征的維數過高, 會增加訓練的負擔與存儲空間, 降維就是希望去除特征的冗余, 用更加少的維數來表示特征. 降維算法最基礎的就是PCA了, 后面的很多算法都是以PCA為基礎演化而來。

來自: http://blog.csdn.net/matrix_space/article/details/50541217

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!