白色化 (G検定)

白色化

1. 定義と概要

白色化(whitening)とは、複数の特徴量(データを説明する個々の要素で、身長や体重のような変数を指す)からなるデータについて、特徴量どうしの相関をゼロにする無相関化を行う前処理手法です。無相関化とは、一方が増えると他方も増減するという特徴量どうしの関係を取り除く処理を指します。そのうえで、各成分の分散を1に揃えます。

処理を終えたデータの共分散行列(複数の特徴量どうしのばらつきや関係性を1つの表にまとめたもの)は単位行列(対角線上の成分だけが1で残りはすべて0という特別な表)になります。つまり各成分は互いに独立していて、同じばらつきを持つ状態に整うということです。

白色化の代表的な実現方法はPCA白色化(PCAで無相関化したあと、各主成分の分散を1にそろえる白色化の代表的な方法)です。主成分分析(PCA)とは、データのばらつきが最も大きい方向を新しい軸として捉え直す手法を指します。PCA白色化では、この手法でデータを回転させて無相関化したのち、各主成分(元の特徴量を組み合わせて作った新しい軸)の標準偏差(固有値の平方根)で割り、スケールを1に揃えます。

従来、特徴量のスケールを揃える処理としては、値の範囲を0〜1などの決まった幅にそろえる正規化(値の範囲を0〜1などに合わせる処理)や、平均0・分散1に揃える標準化(特徴量ごとに平均を0、分散を1にそろえる処理)が使われてきました。ただしこれらは各特徴量を個別に処理するため、特徴量どうしの相関はそのまま残るという課題があります。

画像の隣接する画素どうしのように特徴量間に強い相関が残ると、学習アルゴリズムが同じ情報を重複して学習してしまい、効率が落ちます。そこで相関そのものを取り除く無相関化まで踏み込む白色化が、画像認識や信号処理の前処理として使われてきました。

2. 試験対策ポイント

まず押さえておきたいのは、白色化が「無相関化」と「標準化」の2段階からなる処理だという点です。標準化だけではスケールが揃うのみで特徴量どうしの相関は残る一方、白色化はさらに相関をゼロにする点で処理の踏み込みが深いという点で区別されます。この位置づけの違いは、取り違えやすい典型です。

白色化の代表的な実現方法はPCA白色化で、主成分分析(PCA)による回転、すなわち無相関化を経たのち、各主成分の分散を1にスケーリングします。この過程では分散共分散行列の固有値分解(行列を、向き(固有ベクトル)と大きさ(固有値)に分解する計算)を必要とします。

そのため標準化だけの処理と比べて計算コストが高いという関係にあります。無相関化と分散の調整という2つの処理を経る分、演算量が標準化単体より増えるという点が、両者を区別する試験上のポイントです。

発展的な手法にZCA白色化があります。両者の違いは、無相関化のあとに座標軸をどこまで戻すかにあり、次のように整理できます。

手法 回転の到達点 位置づけ
PCA白色化 主成分空間へ回転した状態で終わる 白色化の代表的な実現方法
ZCA白色化 さらに元の特徴量空間の座標軸へ回転し直す 画像の見た目(画素の並び)を保ちたい場面で使われる発展形

軸を元へ戻すかどうかという一点だけの違いですが、画像を扱う場面では見た目が保たれるかどうかに直結します。ZCA白色化はPCA白色化と並べて理解したいテーマです。

3. 関連概念との比較・相違点

標準化との最大の違いは、処理の踏み込みの深さにあります。標準化は各特徴量ごとに平均0・分散1へスケールを揃えるだけの処理で、特徴量どうしの相関は残ったままです。白色化はこの標準化に加えてPCAなどによる無相関化を行うため固有値分解を必要とし、標準化より計算コストが高いという関係にあります。

標準化そのものの詳しい仕組みは別記事に譲りますが、白色化は「無相関化したうえでの標準化」という位置づけにあります。スケールを揃える処理どうしを目的の面から並べると、次のような違いが見えてきます。

手法 主な目的 特徴量どうしの相関
正規化 値の範囲を0〜1などの決まった幅にそろえる 残ったまま
標準化 特徴量ごとに平均0・分散1へスケールを揃える 残ったまま
主成分分析(PCA) 情報の損失を抑えながら変数の数を減らす次元削減 回転によって無相関化される
白色化 無相関化したうえで各成分の分散を1に揃える ゼロになる

PCA(主成分分析)との最大の違いは、この表のとおり目的にあります。PCAは分散が最大になる方向を新しい軸として捉え直し、情報の損失を抑えながら変数の数を減らす次元削減が主目的です。

一方、白色化はPCAによる回転を経たうえで各軸の分散を1に揃えてスケールも均一にすることが目的で、次元数を減らすこと自体は主眼ではありません。PCAの詳しい仕組みは別記事に譲りますが、白色化はPCAの計算過程を土台にしながら、目的の異なる処理として区別されます。

4. ビジネス・実務での活用シナリオ

画像認識・コンピュータビジョンの分野では、自然画像の隣接する画素どうしに強い相関が残りやすいという特性があります。学習前にPCA白色化やZCA白色化を施すと冗長な相関情報が取り除かれ、輪郭やエッジといった本質的な特徴をモデルが学習しやすい状態になります。こうした前処理は、コンピュータビジョンの分野で古くから使われてきました。

音声・信号処理の分野では、複数の信号が混ざったデータから元の独立した信号を分離する独立成分分析(ICA。複数の信号が混ざったデータから元の独立した信号を取り出す手法)の前処理として白色化が使われます。相関をあらかじめ取り除くことで、ICAの計算が安定し、雑音の影響も抑えられます。

センサーデータ分析の現場では、相関の強い複数のセンサー値をまとめて異常検知モデルに投入する場面があります。白色化で無相関化してからモデルに入力すると、相関に由来する重複した信号が減り、異常の兆候が際立ちます。相関の強いデータをそのまま扱う場合に比べ、無相関化を経たデータのほうが異常検知の精度向上につながります。

5. 要点まとめ

  • 白色化は特徴量どうしの相関をゼロにする無相関化を行ったうえで、各成分の分散を1に揃える前処理であり、処理後の共分散行列は単位行列になります。
  • 標準化はスケールを揃えるだけで相関は残る一方、白色化は無相関化まで踏み込むため固有値分解を要し、標準化より計算コストが高いという関係にあります。
  • 代表的な手法にPCA白色化があり、元の特徴量空間の並びを保つZCA白色化という発展形も存在します。画像認識やICAの前処理として使われてきました。

6. 確認問題

問1白色化とは、特徴量どうしの相関をゼロにする無相関化を行ったうえで、各成分の分散を1に揃える前処理であり、処理後のデータの共分散行列は単位行列になる。

解答・解説をみる

○ 正しい

白色化は無相関化と分散の調整という2段階からなり、処理後は各成分が独立していて同じばらつきを持つ状態になります。この状態を数式で表すと、共分散行列が単位行列になります。

問2白色化は無相関化と分散の調整を両方行う処理であるため、スケールの調整のみを行う標準化に比べて固有値分解などの計算コストが高くなる。

解答・解説をみる

○ 正しい

白色化の代表的な実現方法であるPCA白色化は、分散共分散行列の固有値分解を経て無相関化と分散1へのスケーリングを行うため、標準化だけの処理より計算コストが高いという点で区別されます。

問3標準化を行えば特徴量どうしの相関も同時に取り除かれるため、標準化と白色化は同じ処理を指す。

解答・解説をみる

× 誤り

正しくは、標準化は各特徴量のスケール(平均0・分散1)を揃えるのみで、特徴量どうしの相関は残ります。白色化はこの標準化に加えてPCAなどによる無相関化を行う処理であり、両者は別の処理として区別されます。