人工智能的常用十種算法(下)


5. 朴素貝葉斯
視頻

舉個在 NLP 的應用

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

 

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

 

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

 

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

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

 

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

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

 

6. K最近鄰
視頻

k nearest neighbours

給一個新的數據時,離它最近的 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 chain

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

 

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

 

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

轉載:https://blog.csdn.net/qq_45067177/article/details/90411885


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM