網站資訊 news
您現在的位置:首頁 > 網站資訊 > AI人工智能的10種常用算法
NEWS

新聞資訊

  • 老而不死的三種編程語言
    2019/11/07

    老而不死的三種編程語言 導讀: 在軟件世界中,鐵打的二進制,流水的語言。從計算機誕生至今,不知誕生了多少門編程語言。譯...

  • AI人工智能的10種常用算法
    2019/09/25

    ML的常用算法有個常識性的認識,沒有代碼,沒有復雜的理論推導,就是圖解一下,知道這些算法是什么,它們是怎么應用的,例子...

  • 網站如何進行安全設置
    2019/08/28

    為了安全起見,建議先做好全站數據和文件的備份,以下教程是AB模板網的總結經驗,本人也是這樣設置,并且沒有任何問題) 1、...

  • What’s your problem?
    2019/07/08

    今天在路上走著走著,突然下暴雨了,我抬頭問天:What‘s?your?problem?? 在前兩天的百度AI開發者大會上,百度創始人、...

  • 西部數碼網站備案率先告別幕布,備案全程電子化,全網首推!
    2019/07/05

    網站備案已經伴隨中國互聯網的發展走過了十余年。網站備案過程中的真實性核驗環節,需要網站負責人到指定的核驗點進行現場拍...

  • 如何做好百度移動搜索引擎優化?
    2019/06/19

    移動數字時代已經到來,沒有給人們太多的思考時間,而越來越多的用戶通過手機進行社交、查看新聞、移動辦公及瀏覽網頁等,隨...

  • 華為CEO任正非接受媒體專訪:5G領先美國2-3年
    2019/05/31

    5G已經成為了當前行業的一個焦點,不過由于近日美國方面的因素讓華為業務受到影響,外界都在關注這一次華為能否挺過來,華為...

AI人工智能的10種常用算法

發布時間:2019/09/25 網站資訊 瀏覽次數:224

ML的常用算法有個常識性的認識,沒有代碼,沒有復雜的理論推導,就是圖解一下,知道這些算法是什么,它們是怎么應用的,例子主要是分類問題。

決策樹、隨機森林算法、邏輯回歸、SVM、樸素貝葉斯、K最近鄰算法、K均值算法、Adaboost算法、神經網絡、馬爾可夫

1. 決策樹 根據一些 feature 進行分類,每個節點提一個問題,通過判斷,將數據分為兩類,再繼續提問。這些問題是根據已有數據學習出來的,再投入新數據的時候,就可以根據這棵樹上的問題,將數據劃分到合適的葉子上。

2、隨機森林 在源數據中隨機選取數據,組成幾個子集:

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

由S隨機生成M個子矩陣:

這M個子集得到 M 個決策樹:

將新數據投入到這M個樹中,得到M個分類結果,計數看預測成哪一類的數目最多,就將此類別作為最后的預測結果。

3、邏輯回歸 當預測目標是概率這樣的,值域需要滿足大于等于0,小于等于1的,這個時候單純的線性模型是做不到的,因為在定義域不在某個范圍之內時,值域也超出了規定區間。

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

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

這個模型需要滿足兩個條件 “大于等于0”,“小于等于1”

大于等于0 的模型可以選擇絕對值,平方值,這里用指數函數,一定大于0;

小于等于1 用除法,分子是自己,分母是自身加上1,那一定是小于1的了。

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

通過源數據計算可以得到相應的系數了:

最后得到 logistic 的圖形:

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

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

點到面的距離根據圖中的公式計算:

所以得到total margin的表達式如下,目標是最大化這個margin,就需要最小化分母,于是變成了一個優化問題:

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

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

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

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

5、樸素貝葉斯

舉個在 NLP 的應用:

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

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

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

原始問題是:給你一句話,它屬于哪一類 ?

通過bayes rules變成一個比較簡單容易求得的問題:

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

例子:單詞“love”在positive的情況下出現的概率是 0.1,在negative的情況下出現的概率是0.001。

6、K最近臨算法

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

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

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

7、K均值算法

先要將一組數據,分為三類,粉色數值大,黃色數值小 。

最開始先初始化,這里面選了最簡單的 3,2,1 作為各類的初始值 。

剩下的數據里,每個都與三個初始值計算距離,然后歸類到離它最近的初始值所在類別。

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

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

8、Adaboost

adaboost 是 bosting 的方法之一。

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

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

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

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

而這個alpha角就具有很強的識別性,這個feature的權重就會較大,最后的預測結果是綜合考慮這些feature的結果。

9、網絡神經

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

NN由若干層神經元,和它們之間的聯系組成。

第一層是input層,最后一層是output層。

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

input輸入到網絡中,被激活,計算的分數被傳遞到下一層,激活后面的神經層,最后output層的節點上的分數代表屬于各類的分數,下圖例子得到分類結果為class 1;

同樣的input被傳輸到不同的節點上,之所以會得到不同的結果是因為各自節點有不同的weights 和bias,這也就是forward propagation。

10、馬爾可夫

Markov Chains 由state和transitions組成。

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

步驟,先給每一個單詞設定成一個狀態,然后計算狀態間轉換的概率。

這是一句話計算出來的概率,當你用大量文本去做統計的時候,會得到更大的狀態轉移矩陣,例如the后面可以連接的單詞,及相應的概率。

云風網絡是集昆山網站制作,昆山網頁設計,昆山網站推廣于一體的昆山網絡公司,業務涵蓋:昆山手機網站制作,昆山網站設計,昆山網絡建設,昆山做網站,昆山網站建設,電話:13912673321

點擊這里給我發消息 技術咨詢
回到頂部
广东36一7结果