KNN和K means深入理解

2021-09-12 02:21:49 字數 1118 閱讀 4560

目標:

1. knn 英文

2. knn的計算步驟

3. k-means英文

4. k-means計算步驟

1. knn

knn,k-nearestneighbor,k鄰近演算法

2. knn的計算步驟

1)算距離:給定測試物件,計算它與訓練集中的每個物件的距離

2)找鄰居:圈定距離最近的k個訓練物件,作為測試物件的近鄰

3)做分類:根據這k個近鄰歸屬的主要類別,來對測試物件分類

從knn的演算法描述中可以發現,有三個元素很重要,分別是距離度量,k的大小和分類規則,這便是knn模型的三要素。

2.1 距離度量

距離度量有很多種方式,要根據具體情況選擇合適的距離度量方式。常用的是閔可夫斯基距離(minkowski distance)

2.2 k的選擇

k的選擇會對演算法的結果產生重大影響。

如果k值較小,就相當於用較小鄰域中的訓練例項進行**,極端情況下k=1,測試例項只和最接近的乙個樣本有關,訓練誤差很小(0),但是如果這個樣本恰好是雜訊,**就會出錯,測試誤差很大。也就是所,當k值較小的,會產生過擬合的現象。

如果k值較大,就相當於用很大鄰域中的訓練例項進行**,極端情況是k=n,測試例項的結果是訓練資料集中例項最多的類,這樣會產生欠擬合。

在應用中,一般選擇較小k並且k是奇數。通常採用交叉驗證的方法來選取合適的k值。

2.3 分類規則

knn中的分類決策規則通常是多數表決,即由測試樣本的k個臨近樣本的多數類決定測試樣本的類別

**這裡就不貼出來了,也比較簡單,如果想要的,可以找我。

3 k-means 英文

k-means clustering algorithm

4 k-means計算步驟

k-means演算法的基本步驟如下:

4.1 隨機選擇k個樣本作為初始化的中心點

4.2 分別計算其它樣本到這k個中心點的距離,並分別將這些樣本劃分給距離最近的那個中心

4.3 重新計算k類樣本的均值,得到新的k個中心點

4.4 重複步驟2和3,直到樣本到中心點的距離不再改變,或者迭代達到一定次數為止

深入理解KNN演算法

1.knn是個 消極 演算法,y f x1,x2,xp,x 其中x1,x2,xp是訓練資料,x是待分類或回歸查詢例項,y是分類或回歸結果.整個過程中沒有建立任何數學模型.2.與 積極 演算法的乙個關鍵差異 knn可以為不同的待分類查詢例項建立不同的目標函式逼近.3.knn的唯一假設,函式f是平滑的....

深入理解C語言 深入理解指標

關於指標,其是c語言的重點,c語言學的好壞,其實就是指標學的好壞。其實指標並不複雜,學習指標,要正確的理解指標。指標也是一種變數,占有記憶體空間,用來儲存記憶體位址 指標就是告訴編譯器,開闢4個位元組的儲存空間 32位系統 無論是幾級指標都是一樣的 p操作記憶體 在指標宣告時,號表示所宣告的變數為指...

mysql 索引深入理解 深入理解MySql的索引

為什麼索引能提高查詢速度 先從 mysql的基本儲存結構說起 mysql的基本儲存結構是頁 記錄都存在頁裡邊 各個資料頁可以組成乙個雙向鍊錶每個資料頁中的記錄又可以組成乙個單向鍊錶 每個資料頁都會為儲存在它裡邊兒的記錄生成乙個頁目錄,在通過主鍵查詢某條記錄的時候可以在頁目錄中使用二分法快速定位到對應...