次元の機械学習の呪いは説明されていますか?


14

私は次元の呪いを理解するのに苦労しています。具体的にはscikit-learn、Pythonでチュートリアルを実行しているときに遭遇しました。誰かが以下を簡単な方法で説明してもらえますか?申し訳ありませんが、私は長い間理解しようとしていましたが、効率的なKNN推定量を達成するためのトレーニング例の数の計算方法を理解できませんでしたか?

説明は次のとおりです。

推定器を有効にするには、隣接するポイント間の距離が値dよりも小さい必要がありますが、これは問題によって異なります。1つの次元では、これには平均でn〜1 / dポイントが必要です。上記のKNNの例のコンテキストでは、データが0から1の範囲の値とn個のトレーニング観測値を持つ1つの特徴だけで記述されている場合、新しいデータは1 / nを超えません。したがって、クラス間フィーチャバリエーションのスケールと比較して1 / nが小さいとすぐに、最近傍決定ルールが効率的になります。

フィーチャの数がpの場合、n〜1 / d ^ pポイントが必要になりました。1次元で10ポイントが必要だとしましょう:[0、1]空間を舗装するには、p次元で10 ^ pポイントが必要です。pが大きくなると、適切な推定量に必要なトレーニングポイントの数が指数関数的に増加します。

ここにリンク

編集:また、チルダ(~)はその例で近似を表すことになっていますか?またはPythonのチルダ演算子?


2
チルダは「に比例」を意味する
再設定者

@mbatchkarovハありがとうございます。ほぼ比例して非常に異なる結論ですlol

回答:


11

その段落の翻訳:

データポイントを説明する一連の機能があるとします。たぶん、あなたは天気を見ています。その機能セットには、温度、湿度、時刻などが含まれる可能性があります。したがって、各データポイントには1つの機能(温度のみを表示する場合)または2つの機能(温度を表示する場合)があります。および湿度)など。この段落が言っていることは、データが持つ次元の数(データが持つ機能の数)に基づいて、推定量を作成するのが難しくなるということです。これは、データまたは1次元データの特徴が1つしかない場合、このデータをグラフ化すると、折れ線グラフが表示され、0〜50度Cの間の折れ線グラフを想像すると、各データポイントの前の50個のランダムポイントは、他のデータポイントから約1度です。さあ 湿度と温度について話している2つの次元について考えます。今では、すべてのポイントが互いに「d」単位内にあるようにdを見つけるのは難しいです。温度はまだ0-50の間ですが、湿度も0-100%の間です。互いに1または2以内のすべてのポイントを取得するために、ランダムポイントはいくつ必要ですか?今では100 * 50または〜5,000です!次に、3次元などを想像してください。すべてのポイントが他のポイントのd以内にあることを保証するために、より多くのポイントが必要になり始めます。あなたの人生をより簡単にするために、「d」が1であると仮定して、何が起こるか見てみてください。お役に立てば幸いです!互いに1または2以内のすべてのポイントを取得するために、ランダムポイントはいくつ必要ですか?今では100 * 50または〜5,000です!次に、3次元などを想像してください。すべてのポイントが他のポイントのd以内にあることを保証するために、より多くのポイントが必要になり始めます。あなたの人生をより簡単にするために、「d」が1であると仮定して、何が起こるか見てみてください。お役に立てば幸いです!互いに1または2以内のすべてのポイントを取得するために、ランダムポイントはいくつ必要ですか?今では100 * 50または〜5,000です!次に、3次元などを想像してください。すべてのポイントが他のポイントのd以内にあることを保証するために、より多くのポイントが必要になり始めます。あなたの人生をより簡単にするために、「d」が1であると仮定して、何が起こるか見てみてください。お役に立てば幸いです!


2
それは良い説明ですが、彼らが提供した方程式はどうですか?あなたの1つの特徴の例では、推定器が1度離れている(つまりd = 1)場合、それらの方程式n~1/dはnが約1である必要があることを意味しますか?それはあまり意味がありませんか?

いいえ、フィーチャの範囲が0〜1の場合(私の範囲は0〜50の場合)、それぞれが約dになるように1 / dポイントになると言っています。1が「d」である場合、約50/1ポイントが必要になるため、これは私の例で機能します。申し訳ありませんが、それは外にこれらの式を入力するために混乱していますが、私はそれが役立つはずだと思う

12

matty-d すでに非常に良い答えを提供していますが、QuoraユーザーKevin Lackerから、この問題を同様に説明する別の答えを見つけました。

100ヤードの長さの直線があり、そのどこかにペニーを落としたとしましょう。見つけるのはそれほど難しくありません。線に沿って歩くと、2分かかります。

今、あなたは各辺に100ヤードの正方形があり、そのどこかにペニーを落としたとしましょう。2つのサッカーフィールドを一緒に検索するのはかなり難しいでしょう。数日かかることがあります。

今すぐ100ヤードの立方体。これは、サッカースタジアムのサイズの30階建ての建物を検索するようなものです。あー

次元が増えると、空間を検索するの難しくなります。それらはすべて同じ「幅」を持っているため、数式で記述されたばかりの場合、これを直感的に理解できないかもしれません。それが次元の呪いです。直感的でなく、便利でありながらシンプルであるため、名前が付けられます。


-1

その例は問題の直観を与えることができますが、実際には厳密な証明ではありません。これは、「良い」空間カバレッジを得るために多くのサンプルが必要な例にすぎません。通常のグリッドよりもはるかに効率的なカバレッジが存在する可能性があります(実際には、たとえば2Dの六角形が既に存在します)...(低不一致シーケンスの洗練された領域はこれに専念しています)...次元の呪いはまだ別の問題です。実際、特定の関数空間では、この明らかな問題を回避する方法さえあります。

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