在使用k近鄰演算法進行分類時,對於乙個待分類的樣本,需要計算其與訓練集中所有樣本的距離(首先要儲存訓練集中所有的樣本),並選擇距離最小的前k個來進行分類決策。隨著訓練集中的樣本數的增大,k近鄰演算法的計算成本將急劇增大。目前有兩種減少訓練集樣本數的方法:剪輯方法和壓縮方法。前者通過刪除錯誤分類的樣本達到壓縮訓練集的效果,後者的目的是在不改變分類決策邊界的前提下減少每乙個類的樣本數目。
基本的剪輯方法:
給定訓練集r和分類規則c,設s是被分類規則錯誤分類的樣本集合,將這些樣本從訓練集中刪除,得到r = r - s。重複這個過程,直到滿足停止標準。上述過程結束時,訓練集中的樣本都是由分類規則正確分類的樣本。
將此方法應用於k近鄰演算法時,過程如下(以n-交叉驗證為例):
1. 將訓練集r隨機劃分成n組;2. 以其餘的(n-1)組樣本集的並集作為訓練集集,對第i組樣本集中的每乙個樣本進行k近鄰分類。如果分類錯誤,則加入到集合s中。i = 1,2,...n.
3. 從r中刪除錯誤樣本集,形成新的資料集r = r - s
3. 重複上述過程,直至最近i次迭代過程中沒有錯分類的樣本出現。
若k = 1時,上述方法變成多重剪輯方法。
壓縮方法:
1. 對初始訓練集r,將其劃分為兩個部分a和b,初始a樣本集合為空。2. 從r中隨機選擇乙個樣本放入a中,其它樣本放入b中,用其對b中的每乙個樣本進行分類。若樣本i能夠被正確分類,則將其放回到b中;否則將其加入到a中;
3. 重複上述過程,直到b中所有樣本都能正確分類為止。
實驗表明,這種壓縮方法能夠大大減少樣本集數目。
統計學習方法 k 近鄰演算法
所謂k 近鄰 knn 是基本且簡單的分類與回歸方法,說的就是每個樣本的分類都可以用它最接近的k個鄰居來代表。1 對給定的訓練例項點和輸入例項點,首先確定輸入例項點的k個最近鄰訓練例項點,然後利用這k個訓練例項點的類的多數來 輸入例項點的類。2 k近鄰模型對應於基於訓練資料集對特徵空間的乙個劃分。k近...
統計學習方法 K近鄰演算法
目錄 k近鄰的思想 距離怎麼算 k的取值 規則 應用 kd樹 kd樹的構建 kd樹的搜尋 今天介紹的k近鄰演算法是一種思想非常簡單的分類回歸演算法。顧名思義,結果肯定是和樣本最靠近的k個鄰居有很大的關係。不同於其他演算法,需要先訓練模型才可以進行 k近鄰演算法直接選擇與我們要 的樣本點距離最近的k個...
k近鄰演算法 理解和使用場景
數學知識歐式距離 使用k近鄰演算法的條件 1.你需要乙個訓練的資料集,這個資料集包含各種特徵值和對應的label值 在使用前需要將各種特徵值 歸一化處理。2.利用訓練的資料集來對要分類的資料進行分類 根據歐式距離計算出要 的資料與訓練資料集中距離最短的前k個值,然後根據前k個值對應的label 統計...