成人A片高潮痉挛,精品无码一区二区三区爱欲,盛夏晚晴天在线观看 ,男女啪啪

圖解機(jī)器學(xué)習(xí)的常見算法

2019年7月22日 來源:機(jī)器人網(wǎng)  瀏覽 1006 次 評(píng)論(0)

每當(dāng)提到機(jī)器學(xué)習(xí),大家總是被其中的各種各樣的算法和方法搞暈,覺得無從下手。確實(shí),機(jī)器學(xué)習(xí)的各種套路確實(shí)不少,但是如果掌握了正確的路徑和方法,其實(shí)還是有跡可循的,這里我SAS的Li Hui的這篇博客,講述了如何選擇機(jī)器學(xué)習(xí)的各種方法。


另外,Scikit-learn 也提供了一幅清晰的路線圖給大家選擇:



其實(shí)機(jī)器學(xué)習(xí)的基本算法都很簡(jiǎn)單,下面我們就利用二維數(shù)據(jù)和交互圖形來看看機(jī)器學(xué)習(xí)中的一些基本算法以及它們的原理。(另外向Bret Victor致敬,他的 Inventing on principle 深深的影響了我)


所有的代碼即演示可以在我的Codepen的這個(gè)Collection中找到。


首先,機(jī)器學(xué)習(xí)的分支的監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí),簡(jiǎn)單說數(shù)據(jù)已經(jīng)打好標(biāo)簽的是監(jiān)督學(xué)習(xí),而數(shù)據(jù)沒有標(biāo)簽的是無監(jiān)督學(xué)習(xí)。從大的分類上看,降維和聚類被劃在無監(jiān)督學(xué)習(xí),回歸和分類屬于監(jiān)督學(xué)習(xí)。


無監(jiān)督學(xué)習(xí)


如果你的數(shù)據(jù)都沒有標(biāo)簽,你可以選擇花錢請(qǐng)人來標(biāo)注你的數(shù)據(jù),或者使用無監(jiān)督學(xué)習(xí)的方法


首先你可以考慮是否要對(duì)數(shù)據(jù)進(jìn)行降維。

 

降維


降維顧名思義就是把高維度的數(shù)據(jù)變成為低維度。常見的降維方法有PCA, LDA, SVD等。


主成分分析 PCA


降維里經(jīng)典的方法是主成分分析PCA,也就是找到數(shù)據(jù)的主要組成成分,拋棄掉不重要的成分。



這里我們先用鼠標(biāo)隨機(jī)生成8個(gè)數(shù)據(jù)點(diǎn),然后繪制出表示主成分的白色直線。這根線就是二維數(shù)據(jù)降維后的主成分,藍(lán)色的直線是數(shù)據(jù)點(diǎn)在新的主成分維度上的投影線,也就是垂線。主成分分析的數(shù)學(xué)意義可以看成是找到這根白色直線,使得投影的藍(lán)色線段的長(zhǎng)度的和為小值。


聚類


因?yàn)樵诜潜O(jiān)督學(xué)習(xí)的環(huán)境下,數(shù)據(jù)沒有標(biāo)簽,那么能對(duì)數(shù)據(jù)所做的的分析除了降維,就是把具有相同特質(zhì)的數(shù)據(jù)歸并在一起,也就是聚類。


層級(jí)聚類 Hierachical Cluster


該聚類方法用于構(gòu)建一個(gè)擁有層次結(jié)構(gòu)的聚類



如上圖所示,層級(jí)聚類的算法*的簡(jiǎn)單:

1、初始時(shí)刻,所有點(diǎn)都自己是一個(gè)聚類

2、找到距離近的兩個(gè)聚類(剛開始也就是兩個(gè)點(diǎn)),形成一個(gè)聚類

3、兩個(gè)聚類的距離指的是聚類中近的兩個(gè)點(diǎn)之間的距離

4、重復(fù)第二步,直到所有的點(diǎn)都被聚集到聚類中。


KMeans


KMeans中文翻譯K均值算法,是常見的聚類算法。



1、隨機(jī)在圖中取K(這里K=3)個(gè)種子點(diǎn)。

2、然后對(duì)圖中的所有點(diǎn)求到這K個(gè)種子點(diǎn)的距離,假如點(diǎn)P離點(diǎn)S近,那么P屬于S點(diǎn)的聚類。

3、接下來,我們要移動(dòng)點(diǎn)到屬于他的“聚類”的。

4、然后重復(fù)第2)和第3)步,直到,點(diǎn)沒有移動(dòng),那么算法收斂,找到所有的聚類。


KMeans算法有幾個(gè)問題:

1、如何決定K值,在上圖的例子中,我知道要分三個(gè)聚類,所以選擇K等于3,然而在實(shí)際的應(yīng)用中,往往并不知道應(yīng)該分成幾個(gè)類


2、由于點(diǎn)的初始位置是隨機(jī)的,有可能并不能正確分類,大家可以在我的Codepen中嘗試不同的數(shù)據(jù)


3、如下圖,如果數(shù)據(jù)的分布在空間上有特殊性,KMeans算法并不能有效的分類。中間的點(diǎn)被分別歸到了橙色和藍(lán)色,其實(shí)都應(yīng)該是藍(lán)色。



DBSCAN


DBSCAN(Density-Based Spatial Clustering of Applications with Noise)中文是基于密度的聚類算法。


DBSCAN算法基于一個(gè)事實(shí):一個(gè)聚類可以由其中的核心對(duì)象確定。


算法的具體聚類過程如下:

1、掃描整個(gè)數(shù)據(jù)集,找到任意一個(gè)核心點(diǎn),對(duì)該核心點(diǎn)進(jìn)行擴(kuò)充。擴(kuò)充的方法是尋找從該核心點(diǎn)出發(fā)的所有密度相連的數(shù)據(jù)點(diǎn)(注意是密度相連)。


2、遍歷該核心點(diǎn)的鄰域內(nèi)的所有核心點(diǎn)(因?yàn)檫吔琰c(diǎn)是無法擴(kuò)充的),尋找與這些數(shù)據(jù)點(diǎn)密度相連的點(diǎn),直到?jīng)]有可以擴(kuò)充的數(shù)據(jù)點(diǎn)為止。后聚類成的簇的邊界節(jié)點(diǎn)都是非核心數(shù)據(jù)點(diǎn)。


3、之后就是重新掃描數(shù)據(jù)集(不包括之前尋找到的簇中的數(shù)據(jù)點(diǎn)),尋找沒有被聚類的核心點(diǎn),再重復(fù)上面的步驟,對(duì)該核心點(diǎn)進(jìn)行擴(kuò)充直到數(shù)據(jù)集中沒有新的核心點(diǎn)為止。數(shù)據(jù)集中沒有包含在簇中的數(shù)據(jù)點(diǎn)就構(gòu)成異常點(diǎn)。


如上圖所示,DBSCAN可以有效的解決KMeans不能正確分類的數(shù)據(jù)集。并且不需要知道K值。


當(dāng)然,DBCSAN還是要決定兩個(gè)參數(shù),如何決定這兩個(gè)參數(shù)是分類效果的關(guān)鍵因素:

1、一個(gè)參數(shù)是半徑(Eps),表示以給定點(diǎn)P為的圓形鄰域的范圍;


2、另一個(gè)參數(shù)是以點(diǎn)P為的鄰域內(nèi)少點(diǎn)的數(shù)量(MinPts)。如果滿足:以點(diǎn)P為、半徑為Eps的鄰域內(nèi)的點(diǎn)的個(gè)數(shù)不少于MinPts,則稱點(diǎn)P為核心點(diǎn)。


監(jiān)督學(xué)習(xí)


監(jiān)督學(xué)習(xí)中的數(shù)據(jù)要求具有標(biāo)簽。也就是說針對(duì)已有的結(jié)果去預(yù)測(cè)新出現(xiàn)的數(shù)據(jù)。如果要預(yù)測(cè)的內(nèi)容是數(shù)值類型,我們稱作回歸,如果要預(yù)測(cè)的內(nèi)容是類別或者是離散的,我們稱作分類。


其實(shí)回歸和分類本質(zhì)上是類似的,所以很多的算法既可以用作分類,也可以用作回歸。


回歸


線性回歸

線性回歸是經(jīng)典的回歸算法。


在統(tǒng)計(jì)學(xué)中,線性回歸(Linear regression)是利用稱為線性回歸方程的小二乘函數(shù)對(duì)一個(gè)或多個(gè)自變量和因變量之間關(guān)系進(jìn)行建模的一種回歸分析。


這種函數(shù)是一個(gè)或多個(gè)稱為回歸系數(shù)的模型參數(shù)的線性組合。 只有一個(gè)自變量的情況稱為簡(jiǎn)單回歸,大于一個(gè)自變量情況的叫做多元回歸。



如上圖所示,線性回歸就是要找到一條直線,使得所有的點(diǎn)預(yù)測(cè)的失誤小。也就是圖中的藍(lán)色直線段的和小。這個(gè)圖很像我們個(gè)例子中的PCA。仔細(xì)觀察,分辨它們的區(qū)別。


如果對(duì)于算法的的準(zhǔn)確性要求比較高,的回歸算法包括:隨機(jī)森林,神經(jīng)網(wǎng)絡(luò)或者Gradient Boosting Tree。


如果要求速度優(yōu)先,建議考慮決策樹和線性回歸。


分類


支持向量機(jī) SVM


如果對(duì)于分類的準(zhǔn)確性要求比較高,可使用的算法包括Kernel SVM,隨機(jī)森林,神經(jīng)網(wǎng)絡(luò)以及Gradient Boosting Tree。


給定一組訓(xùn)練實(shí)例,每個(gè)訓(xùn)練實(shí)例被標(biāo)記為屬于兩個(gè)類別中的一個(gè)或另一個(gè),SVM訓(xùn)練算法創(chuàng)建一個(gè)將新的實(shí)例分配給兩個(gè)類別之一的模型,使其成為非概率二元線性分類器。


SVM模型是將實(shí)例表示為空間中的點(diǎn),這樣映射就使得單獨(dú)類別的實(shí)例被盡可能寬的*的間隔分開。然后,將新的實(shí)例映射到同一空間,并基于它們落在間隔的哪一側(cè)來預(yù)測(cè)所屬類別。



如上圖所示,SVM算法就是在空間中找到一條直線,能夠的分割兩組數(shù)據(jù)。使得這兩組數(shù)據(jù)到直線的距離的值的和盡可能的大。



上圖示意了不同的核方法的不同分類效果。


決策樹


如果要求分類結(jié)果是可以解釋的,可以考慮決策樹或者邏輯回歸。


決策樹(decision tree)是一個(gè)樹結(jié)構(gòu)(可以是二叉樹或非二叉樹)。


其每個(gè)非葉節(jié)點(diǎn)表示一個(gè)特征屬性上的測(cè)試,每個(gè)分支代表這個(gè)特征屬性在某個(gè)值域上的輸出,而每個(gè)葉節(jié)點(diǎn)存放一個(gè)類別。


使用決策樹進(jìn)行決策的過程就是從根節(jié)點(diǎn)開始,測(cè)試待分類項(xiàng)中相應(yīng)的特征屬性,并按照其值選擇輸出分支,直到到達(dá)葉子節(jié)點(diǎn),將葉子節(jié)點(diǎn)存放的類別作為決策結(jié)果。


決策樹可以用于回歸或者分類,下圖是一個(gè)分類的例子。



如上圖所示,決策樹把空間分割成不同的區(qū)域。


邏輯回歸


邏輯回歸雖然名字是回歸,但是卻是個(gè)分類算法。因?yàn)樗蚐VM類似是一個(gè)二分類,數(shù)學(xué)模型是預(yù)測(cè)1或者0的概率。所以我說回歸和分類其實(shí)本質(zhì)上是一致的。


這里要注意邏輯回歸和線性SVM分類的區(qū)別


樸素貝葉斯


當(dāng)數(shù)據(jù)量相當(dāng)大的時(shí)候,樸素貝葉斯方法是一個(gè)很好的選擇。


15年我在公司給小伙伴們分享過bayers方法,可惜speaker deck被墻了,如果有興趣可以自行想辦法。



如上圖所示,大家可以思考一下左下的綠點(diǎn)對(duì)整體分類結(jié)果的影響。

KNN


KNN分類可能是所有機(jī)器學(xué)習(xí)算法里簡(jiǎn)單的一個(gè)了。



如上圖所示,K=3,鼠標(biāo)移動(dòng)到一個(gè)點(diǎn),就找到距離該點(diǎn)近的K個(gè)點(diǎn),然后,這K個(gè)點(diǎn)投票,多數(shù)表決獲勝。就是這么簡(jiǎn)單。


總結(jié)


本文利用二維交互圖幫助大家理解機(jī)器學(xué)習(xí)的基本算法,希望能增加大家對(duì)機(jī)器學(xué)習(xí)的各種方法有所了解。所有的代碼可以在參考中找到。歡迎大家來和我交流。


我來說兩句
人參與 丨 評(píng)論0條)
圖標(biāo)
注冊(cè) 登錄    
評(píng)論列表
每頁(yè) 10 條,共 0 條
×

微信掃一掃關(guān)注我們

歡迎投稿

×

郵箱:15236061639@163.com

QQ:60298351

微信:a18137798589

(版權(quán)所有 科工網(wǎng)&北京天云聚合科技有限公司 © Copyright 2015 - 2022 . All Rights Reserved.) 京ICP備14030211號(hào)-5   |   營(yíng)業(yè)執(zhí)照