機器學習十大演算法之k 最近鄰演算法

2021-07-04 20:57:46 字數 1390 閱讀 6773

機器學習是大資料應用發展最快的乙個領域,同時也是支撐著人工智慧領域的脊柱。機器學習是模擬人的學習方式,即經驗學習,讓計算機自己具有一定的學習能力,能夠從已經存在的資料集中總結出一些模型,以此模型來解決現實存在的某些問題。機器學習的特點就是『智慧型』,因為計算機可以根據訓練資料集自動地改進模型的**效果和效能,從而使得計算機具有了自己『學習』,提公升『自己』的能力。

k-最鄰近演算法是機器學習中最簡單,最容易掌握的監督學習的分類演算法了。

k-最鄰近演算法的步驟如下:

1.計算已知類別資料集中的點與當前點之間的距離;

2.按照距離遞增次序排序

3.選取與當前點距離最小的k個點

4.確定前k個點所在類別的出現頻率

5.返回前k個點出現頻率最高的類別作為當前點的**分類

舉例:電影編號

打鬥鏡頭

接吻鏡頭

電影型別13

104愛情片22

100愛情片31

81愛情片

4101

10動作片599

5動作片698

2動作片718

90未知

如上圖,假設有這樣一些資料,這裡有7部電影,前6部電影是已知類別的電影,而第7部電影是未知類別的電影,現在要把前6部電影當做訓練集,用k-最鄰近演算法來判斷第7部電影所屬的類別。

步驟如下:

1.先建立各電影的特徵向量:

x1=(3,104)

x2=(2,100)

x3=(1,81)

x4=(101,10)

x5=(99,5)

x6=(98,2)

x7=(18,90)

2.要判斷x7所屬哪個電影類別,利用歐式距離算出x7與其他6個向量的距離,並按照由小到大排序:

d(x7,x1)=sqrt((18-3)^2+(90-104)^2)=20.52

d(x7,x2)=sqrt((18-2)^2+(90-100)^2)=18.87

d(x7,x3)=sqrt((18-1)^2+(90-81)^2)=19.24

d(x7,x4)=sqrt((18-101)^2+(90-10)^2)=115.28

d(x7,x5)=sqrt((18-99)^2+(90-5)^2)=117.41

d(x7,x6)=sqrt((18-98)^2+(90-2)^2)=118.93

排序結果:d(x7,x2)

4.選取前最小的k個距離(k=4)

得d(x7,x2)、d(x7,x3)、d(x7,x1)、d(x7,x4)

其中x2、x3、x1都屬於愛情片,而只有x4屬於動作片,k個點中愛情片出現的頻率大於動作片出現的頻率,則說明x7與x2、x3、x1三個向量更加接近,則可以判斷x7是愛情片。

以上便是k-最鄰近演算法具體使用例項,該演算法簡單,易掌握,要求樣本特徵值必須可以量化。

機器學習之k 最近鄰(kNN)演算法

一 knn k nearest neighbor 演算法原理 事物都遵循物以類聚的思想,即有相同特性的事物在特徵空間分布上會靠得更近,所以knn的思路是 乙個樣本在特徵空間中k個靠的最近的樣本中,大多數屬於某個類別,這個樣本就屬於某個類別。如圖所示,藍色方框和橙色三角分別代表不同的類別,此時來了乙個...

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

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

機器學習之k 近鄰演算法

k nearest neighbor演算法又叫knn演算法,這個演算法是機器學習裡面乙個比較經典的演算法,總體來說knn演算法是相對比較容易理解的演算法 定義 如果乙個樣本在特徵空間中的k個最相似 即特徵空間中最鄰近 的樣本中的大多數屬於某乙個類別,則該樣本也屬於這個類別 2 相似度 就是指兩個點之...