AI產品經理需要掌握的內容有很多,本文將介紹K近鄰算法,它常用來解決分類問題。一起來看看它的原理和應用吧。
AI產品經理需要掌握的內容有很多,本文將介紹K近鄰算法,它常用來解決分類問題。一起來看看它的原理和應用吧。
前文我們介紹了AI產品經理的工作流程、模型構建流程、模型評估等內容,今天我們正式進入算法的學習。
首先介紹的是K近鄰算法,K近鄰算法是機器學習的入門級算法,原理簡單易懂,常用來解決分類問題。
一、基本原理
K近鄰算法(K-Nearest Neighbor),簡稱KNN算法,是基於距離計算來解決分類問題的一種算法。
其實KNN算法充斥在我們的日常生活中,很多時候,我們都會有意無意的參考一下身邊人的選擇,做出最簡單有效的選擇。
以買空調為例,在小區里轉悠一圈,統計其中安裝最多的空調品牌,再找其中一位鄰居聊幾句,符合預算的話,很容易就下決定了。
還有送女朋友禮物的時候,問下身邊的哥們兒之前都送過什麼禮物,選擇頻率最高的禮物,更不容易踩雷。
結合上面兩個小例子,KNN的原理其實就是參考周圍最近的已經做出的選擇,來做出與之類似的選擇,也就是「近朱者赤,近墨者黑」。
再回到機器學習場景,那麼KNN算法的基本思路就是:在特徵空間中,如果一個樣本附近的k個最近(即特徵空間中最鄰近)樣本的大多數屬於某一個類別,則該樣本也屬於這個類別。
這裡提到了「最近」的概念,我們在計算樣本點之間距離時,可以使用歐式距離、餘弦距離、曼哈頓距離等數學公式,最常見的是歐式距離。
找出距離待測樣本最近的K個樣本點,然後統計其中最多的類別是哪個,就認為待測樣本點歸屬於這個類別。
二、K值的選擇
除了距離之外,KNN算法還需要考慮如何選擇合適的K值,因為K值的選取會影響模型的預測效果。
如果選擇較小的K值,影響決策的樣本數量也較少,預測結果會對臨近的樣本過於敏感,如果臨近的樣本恰巧是噪聲,預測就會出錯。換句話說,K值減小就意味著整體模型變複雜,就容易發生過擬合。
如果選擇較大的K值,影響決策的樣本數量就會過多,導致預測效果下降,很容易導致欠擬合。
我們通常可以將K從1開始,逐一遞增,對比每個K值對應的結果,最終選擇表現最好的K值。
三、應用場景
理論上,KNN算法可以支持大多數的分類場景,如區分是否好瓜、是否薅羊毛用戶等。
除此之外,KNN還可以應用在各種簡單的推薦的場景,比如:
KNN算法的優點:
KNN算法的缺點:
本文我們簡單介紹了KNN算法的原理、應用場景和優缺點,KNN算法是機器學習的入門級算法,希望對大家有所幫助。
下篇文章,我們會聊一聊樸素貝葉斯算法,敬請期待。
本文由 @AI小當家 原創發布於人人都是產品經理,未經許可,禁止轉載
題圖來自 Unsplash,基於 CC0 協議