いよいよこのシリーズもこれで最後です。暗記ではなく理解でと言いつつ最後の方は覚えるコツ(結局暗記か)という感じになってしまい申し訳ないのです。記事のチョイスも私に依存していますが同じところで苦しんでいる人もいるかもしれないので、共有します。
コンテンツベース 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:イッシュ―(課題)
📘 シリーズ記事の流れ
◀️ 前の記事:
【DS検定対策20】補足編 分類・クラスタリング・決定木・デンドログラムの違い
分類・クラスタリング・決定木・デンドログラムの違いを図解で整理。DS検定頻出ポイントを実務視点でわかりやすく解説。
📚 シリーズトップ:

DS検定対策シリーズ完全ガイド|全21記事で合格を目指す【目指せDi-Lite】
DS検定(データサイエンティスト検定リテラシーレベル)の合格を目指す全21記事の完全ガイド。数学・統計・機械学習を初心者向けに図解とLaTeX数式でわかりやすく解説。3回受験の失敗談から学ぶ効果的な勉強法・過学習対策も公開。Di-Lite認定(DX推進パスポート)取得を応援します。



コメント