tft每日頭條

 > 圖文

 > 最有前景的人工智能算法

最有前景的人工智能算法

圖文 更新时间:2024-09-18 12:20:35

1. 決策樹

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

最有前景的人工智能算法(人工智能的常用十種算法)1

如果你覺得這篇文章看起來稍微還有些吃力,或者想要更系統地學習人工智能,那麼推薦你去看床長人工智能教程。非常棒的大神之作,教程不僅通俗易懂,而且很風趣幽默。點擊這裡可以查看教程。

2. 随機森林

在源數據中随機選取數據,組成幾個子集

最有前景的人工智能算法(人工智能的常用十種算法)2

S 矩陣是源數據,有 1-N 條數據,A B C 是feature,最後一列C是類别

最有前景的人工智能算法(人工智能的常用十種算法)3

由 S 随機生成 M 個子矩陣

最有前景的人工智能算法(人工智能的常用十種算法)4

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

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

最有前景的人工智能算法(人工智能的常用十種算法)5

3. 邏輯回歸

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

最有前景的人工智能算法(人工智能的常用十種算法)6

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

最有前景的人工智能算法(人工智能的常用十種算法)7

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

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

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

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

最有前景的人工智能算法(人工智能的常用十種算法)8

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

最有前景的人工智能算法(人工智能的常用十種算法)9

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

最有前景的人工智能算法(人工智能的常用十種算法)10

最後得到 logistic 的圖形

最有前景的人工智能算法(人工智能的常用十種算法)11

4. SVM

support vector machine

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

最有前景的人工智能算法(人工智能的常用十種算法)12

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

最有前景的人工智能算法(人工智能的常用十種算法)13

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

最有前景的人工智能算法(人工智能的常用十種算法)14

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

最有前景的人工智能算法(人工智能的常用十種算法)15

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

最有前景的人工智能算法(人工智能的常用十種算法)16

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

最有前景的人工智能算法(人工智能的常用十種算法)17

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

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

5. 樸素貝葉斯

舉個在 NLP 的應用

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

最有前景的人工智能算法(人工智能的常用十種算法)18

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

最有前景的人工智能算法(人工智能的常用十種算法)19

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

最有前景的人工智能算法(人工智能的常用十種算法)20

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

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

最有前景的人工智能算法(人工智能的常用十種算法)21

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

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

最有前景的人工智能算法(人工智能的常用十種算法)22

6. K最近鄰

k nearest neighbours

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

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

最有前景的人工智能算法(人工智能的常用十種算法)23

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

最有前景的人工智能算法(人工智能的常用十種算法)24

7. K均值

想要将一組數據,分為三類,粉色數值大,黃色數值小

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

剩下的數據裡,每個都與三個初始值計算距離,然後歸類到離它最近的初始值所在類别

最有前景的人工智能算法(人工智能的常用十種算法)25

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

最有前景的人工智能算法(人工智能的常用十種算法)26

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

最有前景的人工智能算法(人工智能的常用十種算法)27

最有前景的人工智能算法(人工智能的常用十種算法)28

8. Adaboost

adaboost 是 bosting 的方法之一

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

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

最有前景的人工智能算法(人工智能的常用十種算法)29

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

最有前景的人工智能算法(人工智能的常用十種算法)30

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

最有前景的人工智能算法(人工智能的常用十種算法)31

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

最有前景的人工智能算法(人工智能的常用十種算法)32

9. 神經網絡

Neural Networks 适合一個input可能落入至少兩個類别裡

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

第一層是 input 層,最後一層是 output 層

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

最有前景的人工智能算法(人工智能的常用十種算法)33

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

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

這也就是 forward propagation

最有前景的人工智能算法(人工智能的常用十種算法)34

10. 馬爾可夫

Markov Chains 由 state 和 transitions 組成

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

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

最有前景的人工智能算法(人工智能的常用十種算法)35

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

最有前景的人工智能算法(人工智能的常用十種算法)36

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

最有前景的人工智能算法(人工智能的常用十種算法)37

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved