古典的機械学習の可視化
古典的機械学習は、各計算を追える大きさで学べます。二つのベクトルの内積がスコアになり、複数のスコアが予測になり、平面の境界が分類を決めます。これらの演算と、深いネットワークにも残る性質を観察します。
内積は Transformer が繰り返す基本演算でもあり、クラスごとに採点して最大を選ぶ規則は、多くの画像分類器の出力層にもあります。次元や計算量が増えても、小さい例で仕組みを理解できます。
レッスンの内容
| レッスン | 観察するもの |
|---|---|
| ベクトルと内積 | 要素ごとの積和が直線への投影となり、角度が符号を決める |
| 行列の積 | A の行と B の列が計算するマスにそろい、同じ二つの行列を入れ替えると形の違う表になる |
| 線形分類器 | 三つの採点関数が凸領域を作り、離れた島状のクラスを表せない理由 |
| k 近傍法 | 距離順の列で k の切れ目を動かし、同じ問いが k = 1 と k = 3 で変わる |
| 決定木 | 情報利得で軸に平行な分割を選び、深さを一つ増やすとノイズ点に専用領域を作る |
| サポートベクトルマシン | 最も広い間隔を探し、十二点中の三点が境界を決める |
| 線形回帰 | 残差の二乗を面積にし、一回の集計で当てはめ、外れ値が答えを引く |
| ロジスティック回帰 | sigmoid がスコアを確率へ変え、(w, b) の倍増で境界は動かず、交差エントロピーが強い確信を評価する |
| K-Means クラスタリング | ラベルなしの点が群を作り、目的値が増えず、同じデータでも初期値により 28.80 と 133.10 に落ち着く |
| 主成分分析 | 捕捉した分散と捨てた誤差の総量を固定し、方向と単位による表現の変化を見る |
| ナイーブベイズ | 各語の固定因子が対数オッズに積み重なり、同じ語の追加二回でオッズが約 13.6 倍になる |
推奨する学習順序
内積から分類境界へ
ベクトルと内積では対応要素を掛けて足します。角度を固定してベクトルを伸ばすとスコアは比例し、長さを固定して回すと余弦に沿って最大からゼロ、最小へ移ります。ゼロが w·x = 0 を境界に使える理由です。
行列の積はこのループを表へ広げます。C = AB の各マスは A の第 i 行と B の第 j 列の内積 1 回です。三つの行列を、行と列がちょうど結果のマスで交わるように並べるので、形の規則(内積には同じ長さの並びが要るため内側のサイズが一致する)とコスト(m·n·p 回の掛け算)がそのまま見えます。次に A と B が位置を入れ替えます。デフォルトでは AB が 2×2 で 12 回、BA が 3×3 で 18 回となり、順序も問いの一部だとわかります。ニューラルネットの層は、入力を行、重みベクトルを列に置いたこの積です。
線形分類器は各クラスで内積を計算し、argmax が最大を選びます。境界は一つのスコアがゼロの位置から、二スコアが等しい位置へ変わり、平面を凸領域に分けます。重みの一行を回すと領域が回り、バイアスを変えると境界が平行移動します。失敗データでは同じクラスを二つの島に置き、その間に別クラスを置きます。一つの凸領域ではこの配置を正しく囲めません。
k 近傍法は別の方法です。線形分類器は情報をパラメーター行列へ圧縮し、予測時に全点を保持する必要がありません。本例の kNN は全点を保存し、問い合わせ後に距離を計算して並べます。k の変更は同じ列の切れ目を変えるだけで、距離を再計算しません。islands は線形分類器では分けられませんが、三票の kNN なら解けます。ただし k = 13 で再び失敗し、投票規模が制約になります。k = 1 は保存点で 100% を得ても、一つの誤ラベルの周りに誤答の島を作ります。暗記と汎化の違いです。
木とマージンを学ぶ
決定木はアニメーション中に構築します。各ノードが軸に平行な全候補を調べ、減らすエントロピーを採点し、最大の情報利得を残して両側へ再帰します。矩形の決定領域は質問から導かれます。線形分類器に不可能な二島のデータは二回の貪欲な分割で解けます。逆に、斜めの一本の線で分かれるデータには階段状の切り方が必要で、深さ 3 でも誤りが残ります。ノイズ例では深さ 2 が一点の誤りを受け入れ、深さ 3 がその点だけの領域を作ります。訓練誤差はゼロでも、ノイズを当てはめています。
サポートベクトルマシンは、分離可能なデータの多数の正しい境界から、最も広いマージンを選びます。方向を固定し、点を含まない帯を点に触れるまで広げ、その幅を方向の得点として比較します。
実験では α = 0 の点を七単位動かして再計算しても、答えはビット単位で同じです。支持ベクトルを壁から外へ二単位動かすと、帯が広がって傾き、別の点が支持ベクトルになります。十二点のうち三点がモデルを決めます。失敗例は一サンプルを間隔内へ置きます。分離は可能なまま、幅は 2.83 から 0.71 へ縮みます。ソフトマージンで違反の罰則を下げると、一つの誤分類を許して広い間隔を取り戻せます。
二乗誤差から確率へ
線形回帰は数値の当てはめを扱います。残差上の正方形により、二乗誤差の最小化を総面積の縮小として見ます。本例は集計した和から傾きを求め、平均点で切片を決めるため、探索は不要です。一点を傾向から遠ざけると、同じ最適式が直線を他の八点から引き離します。大きい残差を強く罰する二乗損失の結果です。
ロジスティック回帰は境界と損失を結びます。z = w·x + b を sigmoid に通して確率にします。(w, b) を比率を保って倍にすると、決定境界は動かず、不確かな帯の幅が半分になります。誤った側の一点があれば、自信のある誤りの損失が増えるため総交差エントロピーは上がります。本例の分離可能なデータでは同じ拡大が損失を下げ続け、重みは無限大へ向かいます。この尺度の実験は、どのクラスを選ぶかと、どれだけ確信するかを分け、損失は後者の変化を評価します。
ラベルなしで何を最適化するか
K-Means クラスタリングはラベルを外し、群内の二乗距離でまとまりを測ります。各点を最近の中心へ割り当て、中心を所属点の平均へ移す二段階を交互に実行します。どちらも目的値を増やしません。本例は一ラウンド後の状態が変わらなくなったら止まり、許容誤差や反復予算を使いません。
収束しても最良の群とは限りません。同じ十五点と k でも、初期値により慣性 28.80 と 133.10 で止まります。悪い解は左の二群を合わせ、右の一群を分けます。点から三つの初期中心を選ぶ全 455 通りのうち、332 は良い解、123 はそうでない解に達します。一回の実行だけではどちらか分かりません。k = 4 は実際の群を分けても目的値を下げるので、慣性だけで k は選べません。同心円の群には形の制約があります。中心の Voronoi 領域は直線境界で分かれ、完全な環状の群を表せず、初期値を変えても解決しません。
主成分分析(PCA)は、少ない数でデータを表す問題です。中心化したデータで、任意の方向に捕捉した分散と、垂直方向に残る再構成誤差の和は一定です。直角三角形の関係から、最大の分散を残すことと二乗再構成誤差を最小にすることは同じになります。
一列を捨てるだけでは分散の 63.75% を残し、典型的なずれは 2.30 cm です。九方向を掃引すると、全長が固定された棒の二部分が入れ替わります。厳密解は 2 × 2 行列の最大固有値に対応する固有ベクトルで、36.16°、保持率 95.26% です。九つの方向は答えを挟みますが一致せず、解析的に求める意義が見えます。
二つの失敗は原因が異なります。第二特徴を cm から mm に変えると、説明分散は 99.67% へ上がりますが、第一主成分がほぼ「mm 単位の幅」になります。両特徴を単位分散へ標準化すると、測定単位の変更に影響されません。別の例では、二群からの十二サンプルで PC1 が 86.91% の分散を保ちながら両群を重ねます。捨てた 13.09% こそ群を分ける情報です。PCA はラベルを見ず、分散は課題に有用な情報と同義ではありません。
語の証拠を積み重ねる
ナイーブベイズは、この分類コース群の生成モデルです。各クラスが文書を生む可能性を考え、語ごとの確率を掛け、大きいスコアを選びます。本例は訓練メール八通、二十三語、一回の計数で確認できます。対数オッズ軸では乗算が固定距離の移動になります。free は ×2.46 で迷惑メール側へ、meeting は ×0.41 で通常メール側へ動かし、積の着地点が分類を決めます。
「ナイーブ」の代償は、語の証拠を条件付き独立として扱うことです。最も強い語をさらに二回加えると、オッズは 5.47 : 1 から 74.28 : 1、約 13.6 倍になります。既に数えた語と完全に重複しても増えます。argmax の判定は同じでも、確信の強さは変わります。語とそれを含む語句、本文を繰り返す件名などの相関でも同じ問題が起きるため、ここでの確率をそのまま校正済みの信頼度とは読めません。順位付けとして扱う方が適します。
平滑化を切ると、あるクラスに一度も出なかった一語が積をゼロにします。既定のメールでは両クラスに起こり、argmax は −∞ と −∞ を比べます。平滑化を 5 にすると、各クラスに 115 の擬似カウントが入り、32 の実トークンを圧倒して判定がコイン投げに近づきます。
これらはモデルが何を計算し、何を最適化するかを説明します。次は勾配による学習です。勾配降下が更新方向を決め、誤差逆伝播が各重みの勾配を求め、学習ループが繰り返します。K-Means は平均で中心を直接更新します。勾配降下は解を直接求めず、傾きに沿って一歩ずつ下ります。そのレッスンでは回帰直線ではなく、一変数の椀形曲線で示します。パーセプトロンは、線形分類器のレッスンで与えられた種類の境界を学びます。
古典的機械学習の可視化一覧
入力を変え、一段階ずつ実行し、コードのハイライトと図の変化を確認してください。