謝邀。

這兩天翻閱周志華《機器學習》,正好看到第10章,降維與度量學習,專門講了curse of dimensionality,他翻譯成了維災難。維災難泛指高維情形下出現的數據樣本稀疏,距離計算困難等問題,解決方法一般是降維和特徵選擇,常見的降維方法有PCA,embedding等


prml: 一個多維球, 薄薄一層殼佔有很大比例的體積. 隨機抽的樣本數量不多可能都聚集在殼上.


你說的是維度詛咒吧,就是隨著維度的增加,有一些演算法的時間空間複雜度會指數上升,導致難以計算。簡單說機器學習裡面的採樣問題。很多時候需要採樣來獲取一個概率分布的均值,一個範圍是10的一維分布可能採樣10個點就差不多了,二維情況下要採樣100個點,三維就要1000個點。

說些我剛剛學到的吧。

k近鄰演算法一般會出現維度災難的問題,這種演算法不具有可解釋性,且數據有高度線性的問題。

關於維度災難的問題,主要是由於k近鄰演算法是需要計算目標數據和周圍數據點的距離的,距離的演算法有歐式距離,曼哈頓距離,餘弦相似度等,對於平面坐標點只有兩個維度,對於(0,0)點和(1,1)點距離(都為歐式距離)為根號2(不知道根號該怎麼打),對於空間坐標(0,0,0)和(1,1,1)的距離為根號3,隨著維度增加,如果增加到100維度,那麼對於非常近的兩個數據點的距離就會變得很大。就會出現維度災難的問題。這是我前兩天做的筆記,大家湊過看看吧。


  1. 特徵數量越多,越能將辨識目標描述得越仔細。
  2. 特徵數量=模型的維度。
  3. 線是1D、面是2D、體是3D、幾個特徵就是幾D,接下去還可以無限多D。
  4. 模型是一個(或多個)超平面,在 ND 空間劃出一道牆將不同類的樣本隔開。
  5. 樣本數量不變下,ND 空間的 N 越大,使得這道牆與樣本之間的空隙越大(其他回答所說的「稀疏」),這個空隙代表「未來(未知)樣本出沒的不確定性」,也就是越容易把牆築錯地方。
  6. SVM 為什麼效果好?因為把牆築在空隙的正中間,這是把牆築對概率最高的位置,而 [邊緣樣本, 牆] 的距離就是 Support Vector。


這個首先有一部分是取決於你對距離的演算法,有時候距離採用kernel function 計算(簡稱K)但是K的形式是多種多樣的。當在高維空間中兩個點非常相近的時候你才可以用它臨近的其他數據點來平滑模擬這個點。如果在你給定的kernel function 的距離內而沒有找到臨近的點 那就很尷尬了。

這種杯具隨著維度的增加會成指數倍的增長, 所以在高維空間中, 點就會比較疏鬆。這樣的話就不好進行回歸了。


緯度過多相應需要訓練樣本也會變多,過多的緯度也會造成過擬合現象。


推薦閱讀:
相关文章