小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

十大必須掌握的機(jī)器學(xué)習(xí)算法,竟然都如此有趣 | 人人都是互聯(lián)網(wǎng)創(chuàng)意G客

 小飛苑 2017-12-28
通過本篇文章可以對ML的常用算法有個常識性的認(rèn)識,沒有代碼,沒有復(fù)雜的理論推導(dǎo),就是圖解一下,知道這些算法是什么,它們是怎么應(yīng)用的,例子主要是分類問題。

每個算法都看了好幾個視頻,挑出講的最清晰明了有趣的,便于科普。 以后有時間再對單個算法做深入地解析。

今天的算法如下:

  1. 決策樹

  2. 隨機(jī)森林算法

  3. 邏輯回歸

  4. SVM

  5. 樸素貝葉斯

  6. K最近鄰算法

  7. K均值算法

  8. Adaboost算法

  9. 神經(jīng)網(wǎng)絡(luò)

  10. 馬爾可夫


1.  決策樹

根據(jù)一些 feature 進(jìn)行分類,每個節(jié)點提一個問題,通過判斷,將數(shù)據(jù)分為兩類,再繼續(xù)提問。這些問題是根據(jù)已有數(shù)據(jù)學(xué)習(xí)出來的,再投入新數(shù)據(jù)的時候,就可以根據(jù)這棵樹上的問題,將數(shù)據(jù)劃分到合適的葉子上。


2、隨機(jī)森林

在源數(shù)據(jù)中隨機(jī)選取數(shù)據(jù),組成幾個子集:



S矩陣是源數(shù)據(jù),有1-N條數(shù)據(jù),A、B、C 是feature,最后一列C是類別:



由S隨機(jī)生成M個子矩陣:



這M個子集得到 M 個決策樹:
將新數(shù)據(jù)投入到這M個樹中,得到M個分類結(jié)果,計數(shù)看預(yù)測成哪一類的數(shù)目最多,就將此類別作為最后的預(yù)測結(jié)果。


3、邏輯回歸

當(dāng)預(yù)測目標(biāo)是概率這樣的,值域需要滿足大于等于0,小于等于1的,這個時候單純的線性模型是做不到的,因為在定義域不在某個范圍之內(nèi)時,值域也超出了規(guī)定區(qū)間。



所以此時需要這樣的形狀的模型會比較好:



那么怎么得到這樣的模型呢?

這個模型需要滿足兩個條件 “大于等于0”,“小于等于1” 
大于等于0 的模型可以選擇絕對值,平方值,這里用指數(shù)函數(shù),一定大于0;
小于等于1 用除法,分子是自己,分母是自身加上1,那一定是小于1的了。



再做一下變形,就得到了 logistic regressions 模型:



通過源數(shù)據(jù)計算可以得到相應(yīng)的系數(shù)了:



最后得到 logistic 的圖形:



4、SVM

要將兩類分開,想要得到一個超平面,最優(yōu)的超平面是到兩類的 margin 達(dá)到最大,margin就是超平面與離它最近一點的距離,如下圖,Z2>Z1,所以綠色的超平面比較好。



將這個超平面表示成一個線性方程,在線上方的一類,都大于等于1,另一類小于等于-1:



點到面的距離根據(jù)圖中的公式計算:



所以得到total margin的表達(dá)式如下,目標(biāo)是最大化這個margin,就需要最小化分母,于是變成了一個優(yōu)化問題:



舉個例子,三個點,找到最優(yōu)的超平面,定義了 weight vector=(2,3)-(1,1):



得到weight vector為(a,2a),將兩個點代入方程,代入(2,3)另其值=1,代入(1,1)另其值=-1,求解出 a 和 截矩 w0 的值,進(jìn)而得到超平面的表達(dá)式。



a求出來后,代入(a,2a)得到的就是support vector,

a和w0代入超平面的方程就是support vector machine。

5、樸素貝葉斯

舉個在 NLP 的應(yīng)用:

給一段文字,返回情感分類,這段文字的態(tài)度是positive,還是negative:



為了解決這個問題,可以只看其中的一些單詞:



這段文字,將僅由一些單詞和它們的計數(shù)代表:



原始問題是:給你一句話,它屬于哪一類 ?
通過bayes rules變成一個比較簡單容易求得的問題:



問題變成,這一類中這句話出現(xiàn)的概率是多少,當(dāng)然,別忘了公式里的另外兩個概率。

例子:單詞“l(fā)ove”在positive的情況下出現(xiàn)的概率是 0.1,在negative的情況下出現(xiàn)的概率是0.001。



6、K最近臨算法

給一個新的數(shù)據(jù)時,離它最近的 k 個點中,哪個類別多,這個數(shù)據(jù)就屬于哪一類。

例子:要區(qū)分“貓”和“狗”,通過“claws”和“sound”兩個feature來判斷的話,圓形和三角形是已知分類的了,那么這個“star”代表的是哪一類呢?



k=3時,這三條線鏈接的點就是最近的三個點,那么圓形多一些,所以這個star就是屬于貓。



7、K均值算法

先要將一組數(shù)據(jù),分為三類,粉色數(shù)值大,黃色數(shù)值小 。
最開始先初始化,這里面選了最簡單的 3,2,1 作為各類的初始值 。
剩下的數(shù)據(jù)里,每個都與三個初始值計算距離,然后歸類到離它最近的初始值所在類別。



分好類后,計算每一類的平均值,作為新一輪的中心點:



幾輪之后,分組不再變化了,就可以停止了:



8、Adaboost 

adaboost 是 bosting 的方法之一。

bosting就是把若干個分類效果并不好的分類器綜合起來考慮,會得到一個效果比較好的分類器。

下圖,左右兩個決策樹,單個看是效果不怎么好的,但是把同樣的數(shù)據(jù)投入進(jìn)去,把兩個結(jié)果加起來考慮,就會增加可信度。


adaboost 的例子,手寫識別中,在畫板上可以抓取到很多 features,例如始點的方向,始點和終點的距離等等。




training的時候,會得到每個feature的weight,例如2和3的開頭部分很像,這個feature對分類起到的作用很小,它的權(quán)重也就會較小。


而這個alpha角就具有很強(qiáng)的識別性,這個feature的權(quán)重就會較大,最后的預(yù)測結(jié)果是綜合考慮這些feature的結(jié)果。




9、網(wǎng)絡(luò)神經(jīng)

Neural Networks適合一個input可能落入至少兩個類別里:

NN由若干層神經(jīng)元,和它們之間的聯(lián)系組成。 
第一層是input層,最后一層是output層。

在hidden層和output層都有自己的classifier。



input輸入到網(wǎng)絡(luò)中,被激活,計算的分?jǐn)?shù)被傳遞到下一層,激活后面的神經(jīng)層,最后output層的節(jié)點上的分?jǐn)?shù)代表屬于各類的分?jǐn)?shù),下圖例子得到分類結(jié)果為class 1;

同樣的input被傳輸?shù)讲煌墓?jié)點上,之所以會得到不同的結(jié)果是因為各自節(jié)點有不同的weights 和bias,這也就是forward propagation。



10、馬爾可夫

Markov Chains 由state和transitions組成。

例子,根據(jù)這一句話 ‘the quick brown fox jumps over the lazy dog’,要得到markov chains。

步驟,先給每一個單詞設(shè)定成一個狀態(tài),然后計算狀態(tài)間轉(zhuǎn)換的概率。



這是一句話計算出來的概率,當(dāng)你用大量文本去做統(tǒng)計的時候,會得到更大的狀態(tài)轉(zhuǎn)移矩陣,例如the后面可以連接的單詞,及相應(yīng)的概率。



生活中,鍵盤輸入法的備選結(jié)果也是一樣的原理,模型會更高級。





    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多