tft每日頭條

 > 職場

 > knn算法的三個核心要素

knn算法的三個核心要素

職場 更新时间:2024-06-24 19:46:09

  作為想在AI領域長期發展的PM同學來說,對算法有一個初步、通識的了解是非常有必要的。今天我們就從一個最為簡單、易懂的“k-近鄰(KNN)算法”聊起,KNN屬于監督學習算法,即可以用于分類,也可以用于回歸,後續還會逐步為大家介紹一些常用的其他算法。

  knn算法的三個核心要素(AI産品經理必懂算法)(1)

  我們之所以要了解算法,不僅僅有利于和算法同學的溝通,更能深入的理解人工智能為産品賦能的過程,隻有将這個過程了解透徹,才能清晰明确的把握産品的方向,挖掘産品的亮點。

  那麼,今天我們就從一個最為簡單、易懂的“k-近鄰(KNN)算法”聊起,KNN屬于監督學習算法,即可以用于分類,也可以用于回歸,後續還會逐步為大家介紹一些常用的其他算法。

  KNN的核心思想可以用一句俗語表達:“物以類聚、人以群分”,想了解一個人,可以看他交什麼樣的朋友。即它的核心思想是:如果一個樣本在特征空間中的k個最相鄰的樣本(距離最近的樣本)中的大多數屬于某一個類别,則該樣本也屬于這個類别,并具有這個類别上樣本的特性。該方法在确定分類決策上隻依據最鄰近的一個或者幾個樣本的類别來決定待分樣本所屬的類别。

  這裡面提及的距離,一般可以選用歐氏距離、曼哈頓距離、闵式距離等等公式進行計算,對于我們初步了解的産品經理來講,就不上各種公式了。

  knn算法的三個核心要素(AI産品經理必懂算法)(2)

  我們用這個圖做一個簡單的介紹,藍色方形(用B标識)和紅色三角(R)代表兩個不同的分類,綠色圓形(C)是待分類樣本,根據KNN的思想,如果K=3,則C的最近鄰有1B、2R,根據少數服從多數原則,C應該屬于“R”的類型。如果k=5呢?C的最近鄰有3B、2R,C是不是應該屬于“B”類型了呢?

  其中判定類别也有兩種方法:

  投票決定:少數服從多數,近鄰中哪個類别的點最多就分為哪類。加權投票法:根據距離的遠近、對鄰近的投票進行加權,距離越近咋權重越大(權重為距離平方的倒數。) 看到這兒,是不是有不少小夥伴産生了疑問,那該如何選擇K值呢?K值的大小又将如何影響模型的效果呢?

  關于K值的選擇,需要注意:

  k值過大,非相似數據被包含較多,造成噪聲增加而導緻分類結果的降低;k值過小,得到的鄰近數過少,會降低分類精度,同時也會放大噪聲數據的幹擾; 經驗規則:k一般低于訓練樣本數的平方根,通常采用交叉檢驗來确定。

  接下來我們簡單介紹一下訓練過程,有如下幾步:

  準備數據,對數據進行預處理;選用合适的數據結構存儲訓練數據和測試元組;設定參數,如k;維護一個大小為k的的按距離由大到小的優先級隊列,用于存儲最近鄰訓練元組。随機從訓練元組中選取k個元組作為初始的最近鄰元組,分别計算測試元組到這k個元組的距離,将訓練元組标号和距離存入優先級隊列;遍曆訓練元組集,計算當前訓練元組與測試元組的距離,将所得距離L 與優先級隊列中的最大距離Lmax進行比較。若L=Lmax,則舍棄該元組,遍曆下一個元組。若L Lmax,删除優先級隊列中最大距離的元組,将當前訓練元組存入優先級隊列。 遍曆完畢,計算優先級隊列中k 個元組的多數類,并将其作為測試元組的類别。測試元組集測試完畢後計算誤差率,繼續設定不同的k值重新進行訓練,最後取誤差率最小的k 值。 基本概念和訓練過程我們都簡單的介紹清楚了,下面來講講K近鄰的優勢及缺陷。

  優勢:

  簡單,易于理解,易于實現,無需估計參數,無需訓練;特别适合于多分類問題(multi-modal,對象具有多個類别标簽), kNN比SVM的表現要好。 缺點:

  計算複雜度高、空間複雜度高;樣本嚴重不平衡時,如果一個類的樣本容量很大,而其他類很小,有可能導緻輸入一個新樣本時,被誤判為該分類的概率會很大。 了解了算法的優勢和局限性,下面就要了解一下它的适用領域了:

  模式識别,特别是光學字符識别;統計分類;計算機視覺;數據庫,如基于内容的圖像檢索;編碼理論(最大似然編碼);數據壓縮(mpeg-2标準);向導系統;網絡營銷;DNA測序拼寫檢查,建議正确拼寫;剽竊偵查;相似比分算法,用來推動運動員的職業表現。 本文由 @燕然未勒 原創發布于人人都是産品經理。未經許可,禁止轉載。

  題圖來自 Unsplash ,基于 CC0 協議。

  ,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关職場资讯推荐

热门職場资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved