ds modeling
まず結論
次元の呪い(Curse of Dimensionality)とは、
特徴量(変数)の数が増えすぎると、データの解析や機械学習がうまく機能しなくなる問題のことです。
DS検定では、
- 特徴量が増えるとデータの組み合わせが急増する
- 距離や密度の概念がうまく働かなくなる
- 過学習が起きやすくなる
といった 高次元データ特有の問題を理解しているか が問われます。
直感的な説明
例えば、商品の売上を分析するとします。
最初は次のような 少ない特徴量だけを使うとします。
- 価格
- 季節
この場合、データの関係は比較的シンプルです。
しかし、次のように特徴量をどんどん増やしていくとどうなるでしょう。
- 価格
- 季節
- 気温
- 曜日
- 広告の種類
- 店舗の場所
- 顧客の年齢
- 顧客の職業
- 購入履歴
このように 変数(特徴量)が増えすぎると、データの組み合わせが爆発的に増えます。
すると
- データがスカスカになる
- モデルがうまく一般化できない
- 距離が意味を持たなくなる
といった問題が起きます。
これを 次元の呪いと呼びます。
定義・仕組み
機械学習では、データを次のような形で扱います。
1つの特徴量 = 1つの次元
例:
| 特徴量 | 意味 |
|---|---|
| 身長 | 1次元 |
| 身長・体重 | 2次元 |
| 身長・体重・年齢 | 3次元 |
この 次元(特徴量)が増えるほど、データ空間は急激に広くなります。
すると次の問題が起きます。
① データが疎(スカスカ)になる
次元が増えると、同じ数のデータでは
空間を埋めることができなくなる
ため、
- データ密度が低くなる
- 学習が難しくなる
という問題が発生します。
② 距離が意味を持たなくなる
クラスタリングやk-NNなどでは
データ同士の距離
を使います。
しかし次元が増えると
- すべての点の距離が似た値になる
という現象が起き、
「近いデータ」と「遠いデータ」の区別が難しくなります。
③ 過学習が起きやすい
特徴量が多すぎると、
モデルが
データのノイズまで学習してしまう
ため、
- 学習データでは高精度
- 新しいデータでは低精度
という 過学習(Overfitting) が起きやすくなります。
どんな場面で使う?
次元の呪いは、次のような場面で特に問題になります。
機械学習
- 特徴量が多すぎる
- データ数が少ない
ときに発生しやすいです。
例:
- 画像認識
- テキスト分析
- 顧客属性分析
クラスタリング
クラスタリングでは
距離
を使ってデータを分類します。
しかし高次元になると
- 距離が均一化する
ため、
クラスタを正しく分けられなくなる
ことがあります。
対策
次元の呪いを避けるために、次の方法が使われます。
① 特徴量選択(Feature Selection)
不要な特徴量を削除する
例
- 相関が高すぎる特徴量を削除
- 重要度の低い特徴量を削除
② 次元削減(Dimensionality Reduction)
情報を保ったまま次元を減らす方法
例
- PCA(主成分分析)
よくある誤解・混同
誤解①
「特徴量は多いほど良い」
これは必ずしも正しくありません。
特徴量が多すぎると
- 過学習
- 計算量増加
- 次元の呪い
が発生します。
誤解②
「次元の呪い=計算が遅くなること」
計算量の増加も問題ですが、
本質は
データの構造が学習しにくくなること
です。
DS検定の典型的なひっかけ
選択肢でよくある誤り:
❌
「特徴量を増やすほどモデルの性能は必ず向上する」
⭕
「特徴量が増えすぎると次元の呪いが発生する」
まとめ(試験直前用)
- 次元の呪い=特徴量が増えすぎることで学習が難しくなる問題
- 次元が増えると データ空間が指数的に広がる
- 結果として
- データが疎になる
- 距離が意味を持たなくなる
- 過学習が起きやすくなる
- 対策は
特徴量選択 と 次元削減
DS検定では
「特徴量が多いほど良い」という誤った理解を見抜けるか
が重要なポイントです。
対応スキル項目(データサイエンス力シート)
-
スキルカテゴリ名
機械学習 -
サブカテゴリ名
機械学習 -
★ 次元の呪いとは何か、その問題について説明できる
🔗 関連記事
- 中間層で使用される活性化関数とは?(ReLU・シグモイド・ソフトマックスの違い)【DS検定】
- アノテーションとは?(AI学習データを作る重要な作業)【DS検定】
- Aprioriアルゴリズムとは?(アソシエーション分析の基本手法)【DS検定】
- アソシエーション分析とは?購買データの関係性を見つける分析【DS検定】
- 共起頻度・支持度・信頼度・リフト値の違いとは?【DS検定】