【DS検定対策21】補足編 推薦・確率・次元・ELSIまで総整理

データサイエンス

 いよいよこのシリーズもこれで最後です。暗記ではなく理解でと言いつつ最後の方は覚えるコツ(結局暗記か)という感じになってしまい申し訳ないのです。記事のチョイスも私に依存していますが同じところで苦しんでいる人もいるかもしれないので、共有します。

コンテンツベース vs 協調フィルタリング

比較項目コンテンツベース
フィルタリング
協調
フィルタリング
ベース情報アイテムの特徴
(ジャンル、タグ、メタ情報など)
ユーザーの行動履歴
(評価、閲覧、購入など)
推薦対象ユーザーが高評価したアイテムに似たもの似た行動をした他ユーザーが
好んだアイテム
注目点コンテンツの魅力周囲の好み・行動傾向
ラベルの使い方自分の履歴のみ他人との類似性を活用
見分けのコツ「アイテムの特徴に注目」している → コンテンツベース

確率密度関数の理解ポイント(DS検定向け)

観点内容補足
全体の面積が1になる確率密度関数を定義域全体で積分すると1になる確率の総和=1」に対応
(連続型なので“足す”ではなく“積分”)
値の大きさに制限はないPDFの値自体は1を超えることもある重要なのは「面積=確率」であり、値の上限ではない
区間の面積が確率になるある範囲で積分すると、その範囲に属する確率が得られる例:正規分布で「±1σの範囲に入る確率」など
2次元グラフで表される横軸:変数
縦軸:密度(確率密度)
面積で確率を表すため、
連続型変数に適用される

可視化グラフの使い分け

変数の組み合わせ主な可視化手法読み取れる内容
質的 × 質的クロス集計表、
積み上げ棒グラフ
カテゴリ同士の関係性
(例:性別 × 購入有無)
質的 × 量的箱ひげ図、棒グラフ、
平均比較
グループごとの数値傾向(例:性別 × 年収)
量的 × 量的散布図、相関係数、回帰直線数値同士の関係性
(例:身長 × 体重)

ダミー変数の考え方

職業などの名義変数は、「その職種かどうか」を示すダミー変数(0 or 1)で表現します。
職種が4つある場合は、3つのダミー変数を作り、残り1つを基準カテゴリとして省略します。
「営業=1、技術者=2…」のように数値を割り当てると、職種に順序や大小があると誤解されるため回帰分析では不適切です。    「俺か 俺以外か」ですね。

次元の呪い(Curse of Dimensionality)の特徴

「ディープラーニングが何でも解決してくれる」という期待から、手持ちのデータを全部突っ込んでしまう。すると重要な情報(年齢、年収)も不要な情報(血液型、好きな色)も同じように計算対象になり、変数が多数になって「呪われる」現象です。

  • 高次元になると、データが空間にまばらに広がり(疎になる
      → クラスタリングや分類が困難になる
     ★イメージ:パーティー会場の100人のデータ
     2次元: 居酒屋に100人 → 密集、似た人がすぐ見つかる ✓
     100次元: 東京ドームに同じ100人 → バラバラに散らばって孤立 ✗
    →人数(データ数)は同じでも、空間が広がりすぎて「近くの人」が存在しなくなる
  • 次元が増えると、近い・遠いの差が縮まり、距離の意味が薄れる
    → k-NNや距離ベースの手法が不安定になる
    ★イメージ:レストラン選び
     2つの基準(近さ、値段): 良い店と悪い店がハッキリ区別可能 ✓
     100の基準(+おしゃれさ、静かさ…): どの店も同じくらいの評価になって区別不能 ✗
    →重要な違いが、99個のどうでもいい項目に埋もれてしまいます。
  • 距離が極端に大きくなるように見えるが、実際は距離の差が小さくなることが問題
    → 距離計算が無意味になる
    ★数式で理解: 距離 = √(項目1² + 項目2² + … + 項目n²)
      2次元: √(1² + 1²) = 1.41
      100次元: √(1² + 1² + … + 1²) = 10 
    →「最も似ている」データでも距離10と極端に遠くなり、「近い」データが存在しなくなります。
  • 必要なデータ量が指数的に増加し、学習時間・計算コストが膨大になる
  • 有効な特徴が埋もれやすくなり、特徴選択が困難になる
  • モデルが複雑になりすぎて、過学習のリスクが高まる
  • 可視化や直感的な理解が難しくなり、解釈性が低下する

    解決策:カメラのフォーカス
  • 次元の呪い: 広角レンズで余計な背景まで写り込み、肝心の被写体がボヤけている
  • 次元削減: ズームで「本当に重要な部分」だけにフォーカスし、余計な情報を切り捨てる
     → 本来のデータの関連性がハッキリ見えてきます

ハッシュ関数の用途

用途目的具体例
データの整合性確認改ざん検出・一致確認ファイルのチェックサム、
ダウンロード後の検証
パスワード管理平文保存を避けるログイン時のハッシュ照合(SHA-256, bcryptなど)
高速検索・データ構造キーから高速に値を取得ハッシュテーブル、辞書型(Pythonのdictなど)
電子署名・認証改ざん防止と本人確認デジタル署名、
JWTトークンの検証
ブロックチェーン取引履歴の固定・検証Bitcoinのブロック構造、Merkle Tree
重複検出・データ比較内容一致の高速判定画像・文書の類似性判定、
キャッシュ管理
URL短縮・識別子生成短く一意なIDを生成短縮URL、GitのコミットID

ELSI(倫理的・法的・社会的課題)

先端技術の社会実装にともなう、倫理・法律・社会への影響を事前に検討する枠組みです。
AI・ゲノム・ロボティクスなど、技術が「行き過ぎる」前に人間中心の視点で問い直すための概念です。

  • E:エシカル(倫理)
  • L:リーガル(法)
  • S:ソーシャル(社会)
  • I:イッシュ―(課題)

コメント