次元の呪い:kNN分類器


11

私はケビンマーフィーの本「機械学習-確率論的展望」を読んでいます。最初の章では作者が次元の呪いを説明していて、わからない部分があります。例として、著者は次のように述べています。

入力がD次元の単位立方体に沿って均一に分布していることを考慮してください。データポイントの目的の割合が含まれるまで、xの周りにハイパーキューブを成長させることにより、クラスラベルの密度を推定するとします。この立方体の予想されるエッジの長さはe Df = f 1です。feD(f)=f1D

それは私が頭を動かすことができない最後の式です。あなたがカバーしたいなら、エッジの長さは各次元に沿って0.1でなければならないよりもポイントの10%を言うように思われますか?私の推論が間違っていることはわかっていますが、その理由は理解できません。


6
最初に状況を2次元で描写してみてください。1m * 1mの用紙があり、左下隅から0.1m * 0.1mの正方形を切り取った場合、用紙の1/10は削除せず、100分の1しか削除していません
David Zhang

回答:


13

それはまさに高次元での距離の予想外の振る舞いです。1次元の場合、間隔は[0、1]です。ポイントの10%は長さ0.1のセグメントにあります。しかし、特徴空間の次元が増えるとどうなりますか?

その式は、5次元でポイントの10%が必要な場合、立方体の長さが0.63、10次元で0.79、100次元で0.98である必要があることを示しています。

ご覧のように、次元を増やすには、同じ量のポイントを取得するために、遠くを見る必要があります。さらに、は、次元数が増えるにつれて、ほとんどの点が立方体の境界にあることを示しています。それは予想外です。


4

気づく主なことは、表現

eD(f)=f1D

D

これをさらに明確にするために、マーフィーが示すプロットを思い出してください。

ここに画像の説明を入力してください

D>1eD(f)

eD(f)=1Df1D1=1Df1DD

D>11D<0

eD(f)=1D(f1D)1D

fx1=1xf<1kNDD

(ことに注意してください。f1D1D


2

ええ、ですから、単位立方体がある場合、またはあなたの場合は単位線があり、データが均一に分布している場合、データの10%をキャプチャするには、長さ0.1にする必要があります。次元を増やすと、Dが増加し、累乗が減少し、fが1未満になるため、Dが無限大になると、すべての立方体(e = 1)をキャプチャする必要があります。


0

kNNでは距離がより大きな役割を果たすと思います。(ハイパー)キューブに何が起こるかは、ポイント間の距離に何が起こるかに似ています。次元数を増やすと、最も近い距離と平均距離の比率が大きくなります。これは、最も近い点が平均点とほとんど同じ距離にあることを意味し、平均点よりもわずかに予測力が高くなります。この記事はそれをうまく説明しています

Joel Grusは、Data Science in Scratchでこの問題をうまく説明しています。その本では、次元の数が増えるにつれて、次元空間の2点間の平均距離と最小距離を計算しています。彼は、ポイント間の10,000の距離を計算し、次元数は0〜100の範囲です。次に、2つのポイント間の平均距離と最小距離、および平均距離に対する最も近い距離の比率(Distance_Closest / Distance_Average)をプロットします。 。

これらのプロットで、Joelは、平均距離に対する最も近い距離の比率が、0次元での0から100次元での最大0.8まで増加することを示しました。そしてこれは、k最近傍アルゴリズムを使用する場合の次元の基本的な課題を示しています。次元数が増加し、平均距離に対する最も近い距離の比率が1に近づくと、アルゴリズムの予測力は低下します。最も近い点が平均点とほとんど同じ距離にある場合、平均点よりもわずかに多くの予測力しかありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.