機械学習

ノルムと相関

ベクトルの大きさを測るノルムと、二つの変数の線形な連動を測る相関を整理し、距離計算と前処理での使い分けを確認する。

  • B|標準
  • 機械学習
  • シラバス上は出題対象外

数式の記号で止まったら 記号の読み方 (∂・⊙・転置・上付き添字を、読み方から)

ひとことで言うと

ノルムはベクトルの大きさ、相関係数は二つの変数が同じ向きにどれだけ線形に動くかを表します。前者は距離や類似度の土台、後者は変数間の関係を読む尺度です。

ノルムは「荷物を運ぶ距離の測り方」です。縦横に分けて運ぶか、直線で運ぶかで数値が変わります。相関は二つの温度計の針が一緒に動く度合いで、単位や原点が違っても動きの向きは比較できます。

なぜ必要か

特徴量から距離を計算するモデルでは、値の単位が揃っていないと大きい軸が距離を支配します。たとえば年齢と年収をそのままユークリッド距離に入れると、年収の差がほぼ全体を決めます。これはモデルが重要度を学習した結果ではなく、入力の尺度をそのまま足し合わせた結果です。

そこで、値を一定範囲へ収める正規化や、平均と標準偏差を基準にする標準化を検討します。ただし、ベクトルの長さを1に揃える正規化もあり、用語だけで判断すると混乱します。何を揃えたのかを、範囲・分布・ベクトルの長さで区別してください。

そのまま距離を測ると起きること
単位・桁が大きい特徴距離への寄与が大きくなる
軸ごとの尺度が近い特徴各軸の差が比較されやすい

仕組み

ベクトルを x=(x1,…,xd)\mathbf{x}=(x_1,\ldots,x_d) とします。dd は成分数、xix_i は第 ii 成分です。代表的なノルムは次の通りです。

∥x∥1=∑i=1d∣xi∣,∥x∥2=∑i=1dxi2,∥x∥∞=max⁡i∣xi∣\lVert\mathbf{x}\rVert_1=\sum_{i=1}^{d}|x_i|,\qquad \lVert\mathbf{x}\rVert_2=\sqrt{\sum_{i=1}^{d}x_i^2},\qquad \lVert\mathbf{x}\rVert_\infty=\max_i|x_i|

L1は成分の絶対値を合計し、L2は直線距離、無限大ノルムは最大の絶対値だけを見ます。したがって同じベクトルでも値は一致しません。NumPyでは ord=1、ord=2、ord=np.inf で次数を指定できます。ord が1未満の場合は数学的なノルムの性質を満たさない点にも注意が要ります。

相関係数は共分散を各変数の標準偏差で割った量です。変数を X,YX,Y、共分散を Cov⁡(X,Y)\operatorname{Cov}(X,Y)、標準偏差を σX,σY\sigma_X,\sigma_Y とすると、

ρXY=Cov⁡(X,Y)σXσY,−1≤ρXY≤1\rho_{XY}=\frac{\operatorname{Cov}(X,Y)}{\sigma_X\sigma_Y},\qquad -1\leq\rho_{XY}\leq1

ρ\rho は相関係数です。11 は完全な正の線形関係、−1-1 は完全な負の線形関係、00 は線形な連動がないことを示しますが、非線形な関係まで否定しません。つまり無相関だから独立とは限らず、相関があっても因果関係を意味しません。np.corrcoef は行を変数、列を観測値として扱うのが既定です。

試験でどう問われるか

問われ方正解に寄る条件引っかけ
ノルムの式の対応L1は絶対値和、L2は二乗和平方根、無限大は最大絶対値L2を絶対値和とする
距離計算の前処理単位や尺度を確認し、必要なら特徴量を揃える大きい数値の軸を重要な特徴と解釈する
相関係数の解釈値は-1から1で、線形関係の強さと向きを表す0なら独立、相関があれば因果とする
corrcoef の入力変数と観測の向き、rowvar を確認する行列の行列積を相関係数と呼ぶ

実装で確かめる

三つのノルムと相関を同じデータで確認します。x と y は観測値の列で、相関は列同士に対して計算します。

import numpy as np

x = np.array([3.0, -4.0])
y = np.array([1.0, 2.0, 3.0, 4.0])
z = np.array([10.0, 20.0, 30.0, 40.0])
print(np.linalg.norm(x, ord=1))
print(np.linalg.norm(x, ord=2))
print(np.linalg.norm(x, ord=np.inf))
print(np.corrcoef(y, z)[0, 1])

出力は順に 7.0、5.0、4.0、1.0 です。最後の1.0は、z が y の正の線形変換だからです。値の大きさを比べる処理と、変数の動きを比べる処理では、見る量が違います。

取り違えやすいもの

用語揃えるもの・測るもの判断の軸
L1ノルム絶対値の合計全成分の寄与を足す
L2ノルム二乗和の平方根幾何学的な直線距離
無限大ノルム最大絶対値最悪の一成分
正規化範囲やベクトル長など、定めた基準何を基準に揃えたか
標準化平均と標準偏差分布の中心とばらつき
相関係数二変数の線形な連動独立性や因果性とは別

想起チェック

L1、L2、無限大ノルムは、それぞれ何を見るか

絶対値の合計、二乗和の平方根、最大絶対値です。

相関係数が0なら、二つの変数は独立か

限りません。相関係数が直接測るのは線形関係なので、非線形な依存が残ることがあります。

距離計算の前に特徴量の尺度を確認する理由は何か

尺度の大きい軸が、ノルムや距離の値を支配するためです。単位や分布を確認してから前処理を選びます。

出典