維度詛咒對某些模型的影響是否比其他模型更大?
我一直在閱讀的關於維度詛咒的地方主要結合 kNN 和一般的線性模型來解釋它。我經常看到 Kaggle 中排名靠前的人在幾乎沒有 10 萬個數據點的數據集上使用了數千個特徵。他們主要使用 Boosted 樹和 NN 等。許多特徵似乎太高了,我覺得它們會受到維度詛咒的影響。但情況似乎並非如此,因為這些模型使它們在比賽中名列前茅。那麼,回到我最初的問題——某些模型是否比其他模型更容易受到維度詛咒的影響?
具體來說,我對以下模型感興趣(僅因為這些是我知道/使用的模型):
- 線性和邏輯回歸
- 決策樹/隨機森林/增強樹
- 神經網絡
- 支持向量機
- 神經網絡
- k-均值聚類
一般來說,維度災難使搜索空間的問題變得更加困難,並且影響了大多數通過劃分向量空間來“學習”的算法。我們的優化問題的維數越高,我們需要的數據就越多來填充我們正在優化的空間。
廣義線性模型
線性模型深受維度詛咒的影響。線性模型將空間劃分為單個線性平面。即使我們不打算直接計算
提出的問題仍然對共線性非常敏感,並且可以在沒有某種正則化的情況下被認為是“病態的”。在非常高維的空間中,有不止一個平面可以擬合您的數據,如果沒有適當的正則化類型,可能會導致模型表現得很差。具體來說,正則化的作用是試圖強制存在一種獨特的解決方案。L1 和平方 L2 正則化都試圖最小化權重,並且可以解釋為選擇具有最小權重的模型是最“正確”的模型。這可以被認為是奧卡姆剃刀的數學公式。 決策樹
決策樹也遭受維數災難。決策樹直接在每個節點處劃分樣本空間。隨著樣本空間的增加,數據點之間的距離增加,這使得找到“好的”分割變得更加困難。
隨機森林
隨機森林使用決策樹的集合來進行預測。但不是使用問題的所有特徵,個別樹只使用特徵的子集。這最大限度地減少了每棵樹優化的空間,並有助於解決維度災難的問題。
Boosted Tree 的
Boosting 算法(如 AdaBoost)遭受維數詛咒,如果不使用正則化,往往會過度擬合。我不會深入,因為帖子AdaBoost 是不是更容易過度擬合? 解釋了為什麼比我做得更好的原因。
神經網絡
神經網絡很奇怪,因為它們都受到依賴於架構、激活、深度等的維數詛咒的影響,也不受其影響。因此重申維數詛咒是一個問題,即在高維環境中需要大量的點覆蓋輸入空間的尺寸。解釋深度神經網絡的一種方法是認為所有層都期望最後一層將高維流形複雜投影到低維流形,然後最後一層在其上進行分類。因此,例如在最後一層是 softmax 層的分類卷積網絡中,我們可以將架構解釋為在較小維度上進行非線性投影,然後對該投影進行多項邏輯回歸(softmax 層)。所以從某種意義上說,我們數據的壓縮表示允許我們規避維數的詛咒。這又是一種解釋,實際上維數詛咒確實會影響神經網絡,但與上述模型不在同一水平。
由於發生過度正則化, SVM
SVM 傾向於不像廣義線性模型那樣過度擬合。查看這篇文章SVM, Overfitting, curse of dimensionality了解更多細節。
K-NN,K-均值
K-mean 和 K-NN 都受到維數詛咒的極大影響,因為它們都使用 L2 平方距離度量。隨著維度數量的增加,各種數據點之間的距離也會增加。這就是為什麼你需要更多的點來覆蓋更多的空間,希望距離更具描述性。
隨意詢問有關模型的細節,因為我的答案很籠統。希望這可以幫助。