次元の機械学習の呪いは説明されていますか?
私は次元の呪いを理解するのに苦労しています。具体的には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のチルダ演算子?