機器學習十大常用演算法

2021-08-03 08:57:11 字數 1656 閱讀 4397

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

在源資料中隨機選取資料,組成幾個子集源資料,這幾個子集得到幾個決策樹,將新資料投入到這 m 個樹中,得到 m 個分類結果,計數看**成哪一類的數目最多,就將此類別作為最後的**結果

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

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

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

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

要將兩類分開,想要得到乙個超平面,最優的超平面是到兩類的 margin 達到最大,margin就是超平面與離它最近一點的距離

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

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

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

原始問題是:給你一句話,它屬於哪一類。通過 bayes rules 問題變成,這一類中這句話出現的概率是多少

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

k nearest neighbours

給乙個新的資料時,離它最近的 k 個點中,哪個類別多,這個資料就屬於哪一類

想要將一組資料,分為三類。最開始先初始化作為各類的初始值

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

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

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

adaboost 是 bosting 的方法之一

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

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

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

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

nn 由若干層神經元,和它們之間的聯絡組成  第一層是 input 層,最後一層是 output 層

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

前向傳播 後向反饋 梯度下降

markov chains 由 state 和 transitions 組成

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

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

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

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

可參考

機器學習之十大機器學習演算法

邏輯回歸 機器學習實戰書籍和 分享 pca簡介 機器學習演算法篇 從為什麼梯度方向是函式變化率最快方向詳談梯度下降演算法 資源 有沒有必要把機器學習演算法自己實現一遍?推薦 用python實現 pattern recognition and machine learning 裡的演算法 推薦 斯坦福...

十大機器學習演算法之AdaBoost

adaboost是一種迭代演算法,核心思想是針對同乙個訓練集去訓練多個不同的分類器 弱分類器 訓練完畢之後,把所有這些弱分類器進行融合得到最終的分類器 強分類器 演算法本身是通過改變資料分布來實現的,首先根據每次訓練結束之後每個樣本是否分類正確然後賦予不同的權重,然後把新的資料集傳遞到下一層訓練下乙...

機器學習十大演算法之KNN

一 概述 knn是通過測量不同特徵值之間的距離進行分類。它的思路是 如果乙個樣本在特徵空間中的k個最相似 即特徵空間中最鄰近 的樣本中的大多數屬於某乙個類別,則該樣本也屬於這個類別,其中k通常是不大於20的整數。knn演算法中,所選擇的鄰居都是已經正確分類的物件。該方法在定類決策上只依據最鄰近的乙個...