機器學習的核心目標是從資料中學習模式並進行預測。監督式學習利用標記資料訓練模型,而非監督式學習則探索未標記資料的結構。這兩種學習方法各有優劣,適用於不同的應用場景。理解向量距離和投票機制對於KNN等分類別演算法至關重要。不同的距離度量方式,如歐幾裡得距離和餘弦距離,適用於不同型別的資料和問題。而投票機制則決定了如何利用鄰居資訊進行分類別,多數決投票、共識投票和加權投票各有其特點,需要根據實際情況選擇。
分類別學習導論
機器學習的起點在於收集一系列有趣的資料樣本,以探索其中隱藏的規律或模式。這些模式以模型的形式呈現,並被用於特定的目的。機器學習演算法主要分為監督式和非監督式兩大類別。監督式演算法使用的是已經被標記過的資料集合,每個樣本都已經被專家以某種方式標記過。例如,許多監督式演算法執行分類別任務。分類別的基本概念是類別,指的是一組具有共同屬性、特徵或特性的物體集合,可以被視為一個“自然”的類別,與當前的問題相關。
每個樣本都透過一系列特徵來描述。例如,如果我們的樣本來自車輛領域,每個樣本可能具有高度、長度、寬度、重量、顏色、是否使用汽油或柴油或電力以及座位數等特徵。相關的類別可能是車輛製造商的名稱,例如福特、通用汽車和寶馬。監督式學習的目的是從已知製造商的資料集中學習模式,以便能夠根據特徵值“預測”或識別未知製造商的車輛。
因此,監督式學習需要一個資料集,其中每個樣本都透過其特徵和類別來描述。表6.1列出了傳統機器學習文獻中常用的幾個簡單但真實的資料集。表6.2提供了第三個資料集的詳細資訊,該資訊來自UCI機器學習倉函式庫網站。
表6.1:UCI機器學習倉函式庫中的幾個資料集
資料集 | 描述 | 類別數 | 特徵數 | 樣本數 |
---|---|---|---|---|
Covertype | 預測森林覆寫型別(例如,松樹、雲杉等) | 7 | 54 | 581,012 |
Glass | 預測玻璃型別(例如,窗戶玻璃、餐具玻璃、車頭燈玻璃) | 7 | 10 | 214 |
Iris | 預測鳶尾花型別(例如,Setosa、Versicolor、Virginica) | 3 | 4 | 150 |
Lenses | 決定是否應該為患者配戴隱形眼鏡(軟性或硬性)或不配戴 | 3 | 4 | 24 |
Seeds | 決定一顆穀物是哪一種小麥(Kama、Rosa、加拿大小麥) | 3 | 7 | 210 |
表6.2:Iris資料集的屬性
描述:根據四個屬性值預測鳶尾花的型別。該資料集來自一位英國生物學家和統計學家於1936年發表的一篇論文。 a
類別包括Setosa、Versicolor和Virginica。 屬性資訊:
名稱 | 資料型別 | 測量單位 |
---|
看圖說話:
flowchart TD A[資料收集] --> B[特徵提取] B --> C[模型訓練] C --> D[模型評估] D --> E[預測]
這個流程圖展示了從資料收集到預測的整個過程,包括特徵提取、模型訓練和模型評估等步驟。這些步驟對於監督式學習中的分類別任務至關重要。
瞭解監督式學習與非監督式學習
在機器學習中,監督式學習(Supervised Learning)和非監督式學習(Unsupervised Learning)是兩種不同的學習方法。監督式學習的目的是根據已知的資料特徵和類別標籤,建立一個模型來預測新的、未知的資料的類別。另一方面,非監督式學習則試圖在沒有類別標籤的情況下,從資料中發現模式和關係。
監督式學習
監督式學習的過程包括以下步驟:
- 資料收集:收集具有特徵和類別標籤的資料。
- 模型建立:使用收集到的資料建立一個模型,該模型能夠根據特徵預測類別標籤。
- 模型訓練:使用收集到的資料訓練模型,使其能夠準確地預測類別標籤。
- 模型評估:評估模型的效能,通常使用準確率、精確率、召回率等指標。
常見的監督式學習演算法包括最近鄰演算法(Nearest Neighbor)、決策樹演算法(Decision Tree)、支援向量機演算法(Support Vector Machine)等。
非監督式學習
非監督式學習的目的是在沒有類別標籤的情況下,從資料中發現模式和關係。常見的非監督式學習演算法包括聚類別演算法(Clustering)、主成分分析演算法(Principal Component Analysis)等。
最近鄰演算法
最近鄰演算法是一種簡單而有效的監督式學習演算法。其基本思想是根據新的、未知的資料特徵,找到最接近的已知資料點,並將其類別標籤作為預測結果。
例如,假設我們有一個二維空間,x軸和y軸分別代表兩個特徵。當新的、未知的資料點出現時,我們可以根據其特徵找到最接近的已知資料點,並將其類別標籤作為預測結果。
看圖說話:
flowchart TD A[資料收集] --> B[模型建立] B --> C[模型訓練] C --> D[模型評估] D --> E[預測]
這個流程圖展示了監督式學習的基本步驟,從資料收集到預測結果。每一步驟都非常重要,才能夠建立一個準確的模型。
k-NN 分類別器的工作原理
k-NN(k-Nearest Neighbors)分類別器是一種根據例項的學習演算法,它的工作原理是根據新的輸入例項與訓練集中的例項之間的相似度來進行分類別。具體來說,當有一個新的輸入例項時,k-NN 分類別器會計算這個例項與訓練集中的每個例項之間的距離,然後選擇與其最接近的 k 個例項(即 k 個最近鄰居),並根據這些最近鄰居的類別來對新的輸入例項進行分類別。
k-NN 分類別器的優點
k-NN 分類別器有一些優點,使其成為一個受歡迎的分類別演算法:
- 簡單易實作:k-NN 分類別器的實作相對簡單,不需要複雜的模型訓練過程。
- 非引數化:k-NN 分類別器不需要對資料進行假設或分佈,適合處理非線性關係的資料。
- 高精確度:當 k 選擇適當時,k-NN 分類別器可以達到很高的分類別精確度。
k-NN 分類別器的缺點
然而,k-NN 分類別器也有一些缺點:
- 計算成本高:當資料集很大時,計算新的輸入例項與每個訓練例項之間的距離會非常耗時。
- 對異常值敏感:k-NN 分類別器對異常值(outlier)很敏感,因為異常值可能會對距離計算產生很大的影響。
- 選擇 k 的困難:選擇適當的 k 值對於 k-NN 分類別器的效能有很大的影響,但是選擇最佳的 k 值往往需要嘗試不同的值並評估其效能。
距離度量
在 k-NN 分類別器中,距離度量是用來計算兩個例項之間相似度的指標。常用的距離度量包括:
- 歐幾裡得距離(Euclidean Distance):計算兩個向量之間的歐幾裡得距離。
- 餘弦距離(Cosine Distance):計算兩個向量之間的角度,反映了它們之間的相似度。
應用
k-NN 分類別器在許多領域都有廣泛的應用,例如:
- 影像分類別:k-NN 分類別器可以用於影像分類別任務,例如手寫字母的識別。
- 文字分類別:k-NN 分類別器可以用於文字分類別任務,例如垃圾郵件過濾。
- 生物資訊學:k-NN 分類別器可以用於生物資訊學領域,例如基因表達資料的分類別。
看圖說話:
flowchart TD A[新的輸入例項] --> B[計算距離] B --> C[選擇 k 個最近鄰居] C --> D[根據最近鄰居進行分類別]
這個流程圖展示了 k-NN 分類別器的基本工作流程。首先,計算新的輸入例項與訓練集中的每個例項之間的距離。然後,選擇與新的輸入例項最接近的 k 個例項。最後,根據這些最近鄰居的類別來對新的輸入例項進行分類別。
類別分類別中的向量距離與投票機制
在類別分類別的過程中,瞭解兩個向量之間的距離是非常重要的。向量距離可以用來衡量兩個資料點之間的相似度或差異度。其中,一種常用的距離度量是歐幾裡得距離(Euclidean Distance),但在某些情況下,餘弦距離(Cosine Distance)可能更為適合。
餘弦距離
餘弦距離是一種用於衡量兩個向量之間角度差異的度量。給定兩個向量 (a) 和 (b),其餘弦距離可以計算如下:
[ \text{cosine distance} = \frac{a \cdot b}{|a| |b|} = \frac{\sum_{i=1}^{m} a_i b_i}{\sqrt{\sum_{i=1}^{m} a_i^2} \sqrt{\sum_{i=1}^{m} b_i^2}} ]
這裡,(a \cdot b) 代表向量 (a) 和 (b) 的內積,(|a|) 和 (|b|) 代表向量 (a) 和 (b) 的歐幾裡得範數。餘弦距離的值域在 (-1) 到 (1) 之間,其中 (-1) 表示兩個向量完全相反,(1) 表示兩個向量完全相同。
投票機制
在 K 最近鄰(K-Nearest Neighbors, KNN)演算法中,一旦找到新的、未分類別的例子 (e) 的 (k) 個最近鄰,接下來就是讓這些鄰居進行投票,以決定 (e) 的類別。最常用的投票方式是多數決投票,即最常出現的類別成為 (e) 的類別。
然而,在某些情況下,可能需要達成共識,即所有 (k) 個鄰居都必須屬於同一類別,才能將這一類別賦予給新的例子。如果沒有達成共識,新的例子就保持未分類別。
加權投票
在 KNN 演算法的高階版本中,可以根據鄰居與新例子之間的距離對投票進行加權。距離越近的鄰居,其投票權重越大。假設有 (k) 個最近鄰,使用距離度量 (d),鄰居 (x_j) 的投票權重可以計算如下:
[ v_j = \frac{1}{d(x_j, e)} \Bigg/ \sum_{i=1}^{k} \frac{1}{d(x_i, e)} ]
這樣,距離新例子 (e) 越近的鄰居,就會對最終的分類別結果有更大的影響力。
綜上所述,向量距離和投票機制是 KNN 演算法中的核心組成部分。透過選擇合適的距離度量和投票策略,可以提高演算法的準確性和效率。
從機器學習模型構建的流程來看,分類別學習的核心在於如何有效地利用已知資料集的規律,準確預測未知資料的類別。本文深入探討了監督式學習方法,特別是k-NN分類別器,並闡述了其運作機制、優缺點以及關鍵概念,如向量距離、投票機制和加權投票。分析比較了歐幾裡得距離和餘弦距離在不同情境下的適用性,並點明瞭k值選擇、異常值敏感性以及計算成本等k-NN演算法的侷限性。展望未來,隨著資料量的增加和演算法的最佳化,預計k-NN演算法在高維資料處理和複雜分類別任務中的效率將進一步提升。對於追求高效實踐的高階管理者,建議優先將k-NN應用於中小規模資料集的分類別問題,並關注距離度量的選擇和k值的調優,以最大化模型的預測準確性和實用價值。