iT邦幫忙

2023 iThome 鐵人賽

DAY 11
0
AI & Data

踏上AI的步伐系列 第 11

Day11 AI的主要演算法(四)-KNN

  • 分享至 

  • xImage
  •  

今天將會講解,類推學派的演算法。


類推學派

類推學派(Analogical Reasoning)指使用物件與物件間的相似性,來作資訊分類與分群的判斷與分析,簡單來說就是「物以類聚,人以群分」的意思。

K近鄰演算法

K近鄰演算法(K-Nearest Neighbor,KNN)用於分類的無母體統計方法。簡單來說KNN根據資料與資料之間的距離來進行分類,距離哪一類較近,就分配到哪一類,也因此KNN時常用於資料的分類問題。若是以常見的中文來說便是”近朱者赤,近墨者黑”的意思。

KNN特色

  • 多數決(Majority Vote):在KNN演算法中新加入的物件的分類是由「已分類」鄰居的多寡來決定,新物件將會被歸類為多的一方。例如:有一個新物件,附近已分類的鄰居中,「蛋包飯」有三個,「牛肉麵」有四個,因此新物件將會被份類為牛肉麵。
  • 相似度的算法(Calculidean Distance):分為兩種方法 1.歐幾里得距離(Euclidean Distance) 2.餘弦值(Cosine)
  • 加權式的KNN(Weighted KNN):KNN給予不同距離的物件不同的權重,根據加權來判斷新物件。

KNN應用

  • 推薦系統:透過過去消費者喜歡的特徵來抓取類似物件以推薦給使用者,例如:愛情片、恐怖片等等。
  • 人臉與物件辨識:例如:FB使用訓練好的樣本找尋最相似的物件或人臉,稱為人臉辨識。
  • 文章分類:利用關鍵字抓取,相似關鍵字越多的則分為同一個類別。

KNN優點

  • 簡單性:只需在訓練集中選出主要特徵,並標記正確的樣本。
  • 穩健性(Robust):正確率高。
  • 對數據不敏感:可處理各種資料類型
  • 不用許多樣本來建立模型
  • 增量式學習(Incremental Learning):若有新數據可直接加入學習,不需從頭開始訓練。

KNN缺點

  • 維度的詛咒:只能用在約小於35個變數的維度,若維度太高,則用來區分的類別將會呈現大爆炸,造成KNN很大的負擔,因此KNN必須選擇有價值的變數,去除掉無用的變數,就是所謂的特徵工程。
  • 計算量大速度慢:每一次新樣本的分類都必須搜尋全部的樣本,並計算比較其相對的「多維距離」,因此計算量龐大。
  • 樣本不平均:若樣本數不平均,則結果很可能傾向某一個類別。
  • 需大量儲存空間:需儲存所有樣本的資料,耗費龐大空間。
  • K值的選擇沒有理論依據:太大或太小都會有問題,因此只能不斷的Try and error。

參考資料
人工智慧-概念應用與管理 林東清 著


上一篇
Day10 AI的主要的演算法-馬可夫鏈、迴歸分析(三)
下一篇
Day12 AI的主要演算法(五)-支持向量機
系列文
踏上AI的步伐30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言