統計學習方法 李航---第3章 k近鄰法


第3章 k近鄰法   

k近鄰法(k-nearest neighbor, k-NN)是一種基本分類與回歸方法。 k近鄰法假設給定一個訓練數據集,其 中的實例類別己定。分類時,對新的實例,根據其k個最近鄰的訓練實例的類別 通過多數表決等方式進行預測。k近鄰 法實際上利用訓練數據集對特征向量空間進行划分,並作為其分類的“模型”。k 值的選擇、距離度量及分類決策規則是k近鄰法的三個基本要素。

3.1 k近鄰算法

3.2   k近鄰模型

k近鄰法三個基本要素:距離度量、k值的選擇和分類決策規則
 
距離度量:   常用 歐氏距離,其他距離
Lp 距離(與distance)

當p=2時,稱為歐氏距離(Euclidean distance)
當p=1時,稱為曼哈頓距離(Manhattan distance )
Minkowski距離
k值的選擇
如果選擇較小的k值,“學
習”的近似誤差( approximation ertor)會減小,只有與輸入實例較近的(相似的)
訓練實例才會對預測結果起作用。但缺點是“學習”的估計誤差(estimarion ertor)
會增大,預測結果會對近鄰的實例點非常敏感。如果鄰近的實例點恰巧是噪聲,
預測就會出錯.換句話說,k值的減小就意味着整體模型變得復雜,容易發生過
擬合。
如果選擇較大的k值,正好相反,
k值的增大
就意味着整體的模型變得簡單.
如果k=N,那么無論輸入實例是什么,都將簡單地預測它屬於在訓練實例
中最多的類。這時,模型過於簡單,完全忽略訓練實例中的大量有用信息,是不
可取的.
在應用中,k值一般取一個比較小的數值.通常采用 交叉驗證法來選取最優
的k值.
 
分類決策規則
常用:多數表決規則(majority voting rule):0-1
損失函數下
經驗風險最小化.
 
 

3.3 k近鄰法的實現:kd樹

kd樹 是一種對k維空間中的實例點進行存儲以便對其進行快速檢索的樹形
數據結構。kd樹是二叉樹,表示對k維空間的一個划分(partition)。構造kd樹相
當於不斷地用垂直於坐標軸的超平面將k維空間切分,構成一系列的k維超矩形區
域。kd樹的每個結點對應於一個k維超矩形區域.
構造kd樹:
  • 輸入:k維空間數據集
  1. 構造根結點,使根結點對應於k維空間中包含所有實
    例點的超矩形區域;
  2. 通過下面的遞歸方法,不斷地對k維空間進行切分,生成子結
    點。在超矩形區域(結點)上選擇一個坐標軸和在此坐標軸上的一個切分點,確
    定一個超平面。這個超平面通過選定的切分點並垂直於選定的坐標軸,將當前超矩
    形區域切分為左右兩個子區域(子結點);這時,實例被分到兩個子區域。
  3. temp這個
    過程直到子區域內沒有實例時終止(終止時的結點為葉結點)。在此過程中,將
    實例保存在相應的結點上。
平衡kd樹構造 步驟 2中,
坐標軸選擇: 對深度為j的結點,選擇x(i)為切分的坐標軸,i = j(modk)+1;
切分點 選擇:選定坐標軸上的中位 數(median)為切分點。 平衡的kd樹搜索時 的效率未必是最優的.
 
 
搜索kd樹:
算法3.3(用kd樹的最近鄰搜索)
輸入: 已構造的kd樹:目標點x;
輸出x的最近鄰.
  1. 在kd樹中找出包含目標點x的葉結點:從根結點出發,遞歸地向下訪問kd樹.若目標點x當前維的坐標小於切分點的坐標,則移動到左子結點,否則移動到右子結點.直到子結點為葉結點為止.
  2. 以此葉結點為“當前最近點”.
  3. 遞歸地向上回退,在每個結點進行以下操作:
    1. 如果該結點保存的實例點比當前最近點距離目標點更近,則以該實例點為“當前最近點“
    2. 當前最近點一定存在於該結點一個子結點對應的區域。檢查該子結點的父結點的另一子結點對應的區域是否有更近的點。具體地,檢查另一子結點對應的區域是否與以目標點為球心、以目標點與“當前最近點”間的距離為半徑的超球體相交。如果相交,可能在另一個子結點對應的區域內存在距目標點更近的點,移動到另一個子結點。接着,遞歸地進行最近鄰搜索。 如果不相交,向上回退。
  4. 當回退到根結點時,搜索結束最后的“當前最近點”即為x的最近鄰點..
    如果實例點是隨機分布的,kd樹搜索的平均計算復雜度是O(log N),這里N 是訓練實例數。kd樹更適用於訓練實例數遠大於空間維數時的k近鄰搜索。當空 間維數接近訓練實例數時,它的效率會迅速下降,幾乎接近線性掃描。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM