k值過大:
k值選擇問題,李航博士的一書「統計學習方法」上所說:
1) 選擇較小的k值,就相當於用較小的領域中的訓練例項進行**,「學習」近似誤差會減小,只有與輸入例項較近或相似的訓練例項才會對**結果起作用,與此同時帶來的問題是「學習」的估計誤差會增大,換句話說,k值的減小就意味著整體模型變得複雜,容易發生過擬合;
2) 選擇較大的k值,就相當於用較大領域中的訓練例項進行**,其優點是可以減少學習的估計誤差,但缺點是學習的近似誤差會增大。這時候,與輸入例項較遠(不相似的)訓練例項也會對**器作用,使**發生錯誤,且k值的增大就意味著整體的模型變得簡單。
3) k=n(n為訓練樣本個數),則完全不足取,因為此時無論輸入例項是什麼,都只是簡單的**它屬於在訓練例項中最多的類,模型過於簡單,忽略了訓練例項中大量有用資訊。
在實際應用中,k值一般取乙個比較小的數值,例如採用交叉驗證法(簡單來說,就是把訓練資料在分成兩組:訓練集和驗證集)來選擇最優的k值。
估計誤差:
K means中K值的選擇
kmeans是最簡單的聚類演算法之一,但是運用十分廣泛。最近在工作中也經常遇到這個演算法。kmeans一般在資料分析前期使用,選取適當的k,將資料分類後,然後分類研究不同聚類下資料的特點。kmeans的計算方法如下 1.隨機選取k個中心點 2.遍歷所有資料,將每個資料劃分到最近的中心點中 3.計算每...
聚類演算法K值的選擇
下面是scikit learn中的幾種聚類演算法。聚類演算法 引數k means number of clusters affinity propagation damping,sample preference mean shift bandwidth spectral clustering nu...
如何選擇K Means中K的值
k means需要設定乙個簇心個數的引數,現實中,最常用於確定k數的方法,其實還是人手工設定。例如,當我們決定將衣服做成幾個碼的時候,其實就是在以 人的衣服的長和寬為為特徵進行聚類。所以,弄清楚我們更在意的是什麼,能夠 引導選擇更合適的k值。有種方法能自動決定k值,也就是所謂的elbow metho...