舉例說明:
k值過大:
k值選擇問題,李航博士的一書「統計學習方法」上所說:
選擇較小的k值,就相當於用較小的領域中的訓練例項進行**,「學習」近似誤差會減小,只有與輸入例項較近或相似的訓練例項才會對**結果起作用,與此同時帶來的問題是「學習」的估計誤差會增大,換句話說,k值的減小就意味著整體模型變得複雜,容易發生過擬合;
選擇較大的k值,就相當於用較大領域中的訓練例項進行**,其優點是可以減少學習的估計誤差,但缺點是學習的近似誤差會增大。這時候,與輸入例項較遠(不相似的)訓練例項也會對**器作用,使**發生錯誤,且k值的增大就意味著整體的模型變得簡單。
k=n(n為訓練樣本個數),則完全不足取,因為此時無論輸入例項是什麼,都只是簡單的**它屬於在訓練例項中最多的類,模型過於簡單,忽略了訓練例項中大量有用資訊。
在實際應用中,k值一般取乙個比較小的數值,例如採用交叉驗證法(簡單來說,就是把訓練資料在分成兩組:訓練集和驗證集)來選擇最優的k值。
估計誤差:
k值過大:
機器學習 K means如何選擇k值?
k means聚類是我們在無監督學習中常用的一種演算法,但有乙個很讓人頭疼的問題就是如何選擇k值。在實際業務中,如果根據業務場景明確知道要得到的類數,那就好辦了,但很多時候不知道k怎麼辦呢?下面有三種方法可以用來確定k值,其基本思想還是最小化類內距離,最大化類間距離,使同一簇內樣本盡可能相似,不同簇...
機器學習03 K值的選擇
k值過小 容易受到異常點的影響 k值的減小就意味著整體模型變得複雜,容易發生過擬合 eg 判斷是不是人?眼睛,鼻子,黃 顏色為過擬合 k值過大 受到樣本均衡的問題 與輸入例項較遠 不相似的 訓練例項也會對 器作用,使 發生錯誤,且k值的增大就意味著整體的模型變得簡單。eg 判斷是不是人?特徵值 眼睛...
聚類演算法K值的選擇
下面是scikit learn中的幾種聚類演算法。聚類演算法 引數k means number of clusters affinity propagation damping,sample preference mean shift bandwidth spectral clustering nu...