摘要:K近鄰(k-NearestNeighbor,K-NN)演算法是一個有監督的機器學習演算法,也被稱為K-NN演算法,由Cover和Hart于1968年提出,可以用于解決分類問題和回歸問題,
1. 為什么要學習k-近鄰演算法
k-近鄰演算法,也叫KNN演算法,是一個非常適合入門的演算法
擁有如下特性:
● 思想極度簡單
● 應用數學知識少(近乎為零)
● 對于各位開發者來說,很多不擅長數學,而KNN演算法幾乎用不到數學專業知識
● 效果好
○ 雖然演算法簡單,但效果出奇的好
○ 缺點也是存在的,后面會進行講解
● 可以解釋機器學習演算法使用程序中的很多細節問題
○我們會利用KNN演算法打通機器學習演算法使用程序,研究機器學習演算法使用程序中的細節問題
● 更完整的刻畫機器學習應用的流程
○ 對比經典演算法的不同之處
○ 利用pandas、numpy學習KNN演算法
2. 什么是K-近鄰演算法

上圖中的資料點是分布在一個特征空間中的,通常我們使用一個二維的空間演示
橫軸表示腫瘤大小,縱軸表示發現時間,
惡性腫瘤用藍色表示,良性腫瘤用紅色表示,
此時新來了一個病人

如上圖綠色的點,我們怎么判斷新來的病人(即綠色點)是良性腫瘤還是惡性腫瘤呢?
k-近鄰演算法的做法如下:
取一個值k=3(此處的k值后面介紹,現在大家可以理解為機器學習的使用者根據經驗取得了一個經驗的最優值),
k近鄰判斷綠色點的依據就是在所有的點中找到距離綠色點最近的三個點,然后讓最近的點所屬的類別進行投票,我們發現,最近的三個點都是藍色的,所以該病人對應的應該也是藍色,即惡性腫瘤,
本質:兩個樣本足夠相似,那么他們兩個就具有更高概率屬于同一個類別,
但如果只看一個,可能不準確,所以就需要看K個樣本,如果K個樣本中大多數屬于同一個類別,則被預測的樣本就很可能屬于對應的類別,這里的相似性就依靠舉例來衡量,
這里我再舉一個例子

● 上圖中和綠色的點距離最近的點包含兩個紅色和一個藍色,此處紅色點和藍色點的數量比為2:1,則綠色點為紅色的概率最大,最后判斷結果為良性腫瘤,
● 通過上述發現,K近鄰演算法善于解決監督學習中的分類問題
點擊關注,第一時間了解華為云新鮮技術~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/198728.html
標籤:AI
上一篇:Django創建專案,setting的配置講解,mysql資料庫的配置, 資料庫的遷移操作。
下一篇:cgb2007-京淘day03
