ハクソク

世界を動かす技術を、日本語で。

機械学習のビジュアル入門 (2015)

概要

  • 機械学習はデータからパターンを自動的に発見し、予測を行う技術
  • 分類問題として、New YorkとSan Franciscoの住宅を識別するモデル作成
  • 特徴量(例:標高、平米単価)を用いて境界線を特定
  • 決定木によるif-then分岐でパターンを抽出
  • 過学習とその検出方法についても解説

機械学習の基本

  • 機械学習は、コンピュータが統計的手法を用いてデータ内のパターンを自動的に発見
  • データに基づく高精度な予測の実現
  • 今回は住宅データを使い、New YorkSan Franciscoの住宅分類モデルを作成
  • 分類問題として、データポイントをカテゴリに分けるタスク
  • 例えば、San Franciscoは丘陵地帯が多く、標高が識別の有力な特徴量

特徴量による識別

  • 標高240フィート以上ならSan Franciscoと分類する直感
  • 追加の特徴量(例:平米単価)で識別精度向上
  • New Yorkの住宅は低標高でも平米単価が高い傾向
  • 標高と平米単価を散布図で可視化し、識別境界を探る
  • データセット内の次元は特徴量、予測子、変数とも呼ばれる

境界線と分類

  • 標高・平米単価の境界線を散布図上で視覚化
  • 数学的にデータ内の境界を特定することが統計的学習の本質
  • データセットには7つの特徴量が含まれ、散布図行列で関係性を可視化
  • 明確な境界線が見えにくい場合も多い

決定木によるパターン抽出

  • 決定木は特徴量ごとにif-then分岐を行い、パターンを抽出
  • 例:標高がある値を超えたらSan Franciscoと分類
  • このif-then分岐は**フォーク(fork)**と呼ばれ、分割値(split point)でデータを2つに分岐
  • 分割値は決定木における境界線の役割

分割のトレードオフ

  • 分割値の選択にはトレードオフが存在
  • 初期分割(例:標高240フィート)は誤分類(false negatives, false positives)を生む
  • 最適な分割では各分岐の結果ができるだけ均質になるよう計算
  • 1つの特徴量だけでは完全な分類は困難

再帰と木の成長

  • 決定木は再帰的に分割を繰り返し、各サブセットで最適分割を探索
  • 低標高の住宅には平米単価、高標高には価格など、分岐ごとに最適特徴量が異なる
  • フォークを追加することで予測精度が向上
  • 木の深さを増やすことで最終的に100%の精度も可能
  • 各最終分岐はリーフノードと呼ばれ、多数派クラスで分類

予測とモデル評価

  • 訓練データを用いて決定木を成長させ、各住宅を分類
  • 完全に一致するまで木を伸ばせば、訓練データ上の精度は100%
  • しかし、重要なのは未知データ(テストデータ)での性能
  • テストデータで性能が落ちる場合、**過学習(overfitting)**が発生
  • 過学習は、訓練データの細部まで学習し、不要なパターンまでモデル化してしまう現象

機械学習のまとめ

  • 機械学習は統計的学習とコンピュータの力でデータの境界を発見
  • 決定木はif-then分岐でパターンを抽出する予測手法の一つ
  • 過学習は、意味のない区別まで境界線を引いてしまうこと
  • モデルの過学習の有無はテストデータで評価

次回予告と補足情報

  • 次回は過学習と機械学習の本質的なトレードオフ(バイアス・バリアンストレードオフ)を解説予定
  • 機械学習の用語や手法は複数分野で発展
  • 最適分割の計算方法としてgini indexcross entropyを参照
  • 決定木アルゴリズムはトップダウン型の貪欲法(greedy)でサブセットの均質化を目指す
  • お問い合わせや感想は**@r2d3us**(Twitter)またはメールで受付

Hackerたちの意見

これは2015年のものだね。技術的にも概念的にも、当時としては先進的だった。
トニー・フーとステファニー・ジーの新しい(または他の)素材がないのが残念だね。(誰かもっと見つけられる人いる?)
誰か、トランスフォーマーのアテンションメカニズムのような高次元のものをr2d3スタイルで説明してるもの見つけた人いる?
完全には違うけど、これが役立つよ。 https://poloclub.github.io/transformer-explainer/ https://youtu.be/wjZofJX0v4M?si=gT8Zlz1IY14KV_ju
これは傑作だね!機械学習の紹介をするたびに、このインタラクティブな説明を使ってるよ。ここにもう少し集められてるよ: https://p.migdal.pl/interactive-machine-learning-list/
本当に素晴らしい、こういう記事がもっとあればいいのに。視覚的な学びが大好きだし、別のブログ記事も思い出すな: https://pomb.us/build-your-own-react/ 直接的には同じじゃないけど、似たような書き方のブログ記事で、追いやすいし学びやすい。こういうブログ記事があると学ぶのがすごく楽だよね。
R2D3はここで素晴らしい仕事をしたね。統計学習の概念がこんなに視覚的に明確に説明されるのは珍しいよ。
ここにR2D3のクリエイターの一人がいるよ。今日これを見て目が覚めるなんて面白いね!質問があればここでもbskyでも答えるよ。
もう10年以上経っても、これってまだすごいね。
2015年にはモバイル対応のサイトなかったの?笑
いいね!
[遅延]