勉強 数学 機械学習/AI

【線形分類モデル】識別関数によって線形的に多クラス分類!!最小二乗法とその弱点とは…

2023年7月19日

この記事の要約

線形分類っていったいなんなんだ??いろいろ種類があるみたいだけど、一番単純な識別関数を使って分類する方法を考えてみよう。最小二乗法でなんとかなるかと思ったけどうまくいかねぇじゃん;;
という記事

 

ここでは線形的にクラス分類することを考える。

 

前提知識

最初に分類問題の前提知識をまとめておこう。

まず、「決定領域」について。分類問題とは、一言で言えば、与えられたデータがどのカテゴリに属するかを決定する問題だ。例えば、果物の重さと色から、それがリンゴかオレンジかを判断する、といった具体的な状況を思い浮かべると良い。各果物(つまりデータ)がどの果物のカテゴリに属するかを示す空間(例えば、重さと色で構成される二次元平面)を考える。この空間を、カテゴリごとに区切ると、それぞれのカテゴリが支配する領域ができる。これを「決定領域」であると言う。

次に、「決定境界」だ。先程の決定領域の説明で、カテゴリを区切る線や面が出てきた。このカテゴリを区切る線や面、つまりクラス\(\mathcal{C}_k\)とクラス\(\mathcal{C}_{k'}\)の決定領域の境界を指して「決定境界」であると言う。この決定境界がどのように引かれるかによって、それぞれのデータがどのカテゴリに分類されるかが決まる。

線形分離可能」について説明する。これは、決定境界を直線(または、高次元空間では平面や超平面)で引くことで、全てのデータを正しく分類できる状況を指す。すなわち、ある直線を引くことで、その一方の領域にリンゴのデータが、もう一方の領域にオレンジのデータがきれいに分かれるとき、そのデータ集合は「線形分離可能」と言う。

 

回帰問題分類問題の違いについて、具体的に解説しよう。これらはどちらも予測を行うタスクだが、回帰問題では予測したい目的変数\(t\)が連続値(実数)であり、分類問題では目的変数\(t\)が離散値(通常は整数)となる。

二つのクラス(例えば「リンゴ」と「オレンジ」)を持つ二値分類問題を考えてみる。この場合、\(t=1\)は「リンゴ」を示し、\(t=0\)は「オレンジ」を示すように、クラスラベルを0と1で表現する。これが「二値表現」だ。そして、\(t\)の値は「リンゴである確率」を表していると解釈することができる。ただし、\(t\)の値が取ることができるのは、極端な0か1のみである。

一方、もし3種類以上のクラス(例えば「リンゴ」、「オレンジ」、「バナナ」)を持つ分類問題を考えると、0と1だけでは表現が難しい。ここで使われるのが「ワンホットエンコーディング」だ。これは、各クラスに対応する位置に1を、その他の位置に0を配置する方法だ。例えば、「リンゴ」を\((1, 0, 0)\)、「オレンジ」を\((0, 1, 0)\)、「バナナ」を\((0, 0, 1)\)といった具体的な数値ベクトルで表現する。これにより、複数のクラスを一意に表現することが可能になる。

 

分類問題に対するアプローチは大きく三つに分けられる。

分類問題に対する3つのアプローチ

  • データ\(\mathbf{x}\)を入力したら直接クラスを推定してくれる関数、識別関数を構築する方法
    →パーセプトロンやSVMなど
  • 事後確率\(p\left(\mathcal{C}_k \mid x\right)\)を直接モデル化する方法(識別モデル)
    →ロジスティック回帰モデルなど
  • \(p\left(\mathcal{C}_k\right)\) と \(p\left(x \mid \mathcal{C}_k\right)\)を生成し、これから\(p\left(\mathcal{C}_k \mid x\right)\)を求める方法(生成モデル)
    →ナイーブベイズなど

線形回帰モデルでは\(y(\mathbf{x})=\mathbf{w}^{\mathrm{T}} \mathbf{x}+w_0\)のような関数を使ってきたが、分類問題では離散値であるクラスラベルを出力してほしいので、非線形関数\(f(-)\)を噛ませる場合が多い。

$$
y(\mathbf{x})=f\left(\mathbf{w}^{\mathrm{T}} \mathbf{x}+w_0\right)
$$

この\(f\)は活性化関数と呼ばれ、\(f\)が非線形であっても、決定面は線形であるから、上式で表されるモデルのクラスを一般化線形モデルと呼ぶ。

活性化関数が非線形でもなぜ決定面が線形と言えるのか

決定面とは、クラスを分割する境界線(または面)のことだ。二値分類問題における一般化線形モデルを考えてみる。活性化関数\(f\)をシグモイド関数とし、出力\(y\)が0.5以上ならばクラス1、0.5未満ならばクラス0と分類するとしよう。

シグモイド関数の特性から、\(y=0.5\)となる点は\(\mathbf{w}^{\mathrm{T}} \mathbf{x}+w_0=0\)となる。つまり、クラスを分割する境界(決定面)は\(\mathbf{w}^{\mathrm{T}} \mathbf{x}+w_0=0\)という直線(または高次元空間では平面または超平面)で表される。これが活性化関数が非線形であっても決定面が線形と言える理由だ。

この例は二値分類問題における一般化線形モデルだが、多クラス分類問題でも同様に考えることができ、各クラスを分割する決定面は直線(または平面または超平面)で表すことができる。

 

識別関数(判別関数)

まずは識別関数を使用して2クラスに分類する場合を考える。

最も簡単な線形識別関数は、入力ベクトル\(x\)の線形関数は

$$
y(\mathbf{x})=\mathbf{w}^{\mathrm{T}} \mathbf{x}+w_0
$$

で与えられる。\(\mathbf{w}\)を重みベクトル、\(w_0\)をバイアスパラメータと呼ばれる。このとき決定境界は超平面\(\pi: y(x)=0\)となる。決定面\(\pi\)上の2点\(\mathbf{x}_A\)と\(\mathbf{x}_B\)を考えると\(y\left(\mathbf{x}_{\mathrm{A}}\right)=y\left(\mathbf{x}_{\mathrm{B}}\right)=0\)であるので、\(\mathbf{w}^{\mathrm{T}}\left(\mathbf{x}_{\mathrm{A}}-\mathbf{x}_{\mathrm{B}}\right)=0\)となることから、ベクトル\(\mathbf{w}\)は決定面\(\pi\)に対して直交する。つまり\(\mathbf{w}\)は決定面の向きを決めている。

D=2の場合の図

さらに決定面と原点との距離は、\(\mathbf{x}_0\)が決定面\(\pi\)上にある場合。\(y(\mathbf{x}_0)=0\)となることから

$$
\frac{\mathbf{w}^{\mathrm{T}} \mathbf{x}_0}{\|\mathbf{w}\|}=-\frac{w_0}{\|\mathbf{w}\|}
$$

で与えられる。

これは、ベクトル\(\mathbf{w}\)の方向への\(\mathbf{x}_0\)の投影の長さ(\(\mathbf{w}^{\mathrm{T}} \mathbf{x}_0\))を、ベクトル\(\mathbf{w}\)の長さ(\(|\mathbf{w}|\))で割ったものが、決定面と原点との距離であることを示している。

さらに、任意の点\(\mathbf{x}\)を考え、\(\mathbf{x}_{\perp}\)を決定面上への直行射影であるとすると。

$$
\mathbf{x}=\mathbf{x}_{\perp}+r \frac{\mathbf{w}}{\|\mathbf{w}\|}
$$

となり、この両辺に\(\mathbf{w}^{\mathrm{T}}\)を掛けて、\(w_0\)を加え、\(y(\mathbf{x}) = \mathbf{w}^{\mathrm{T}} \mathbf{x}+w_0\) と \(y\left(\mathbf{x}_{\perp}\right)=\mathbf{w}^{\mathrm{T}} \mathbf{x}_{\perp}+w_0=0\)利用すると、決定面から点\(\mathbf{x}\)への直行距離は

$$
r=\frac{y(\mathbf{x})}{\|\mathbf{w}\|}
$$

と表すことができる。

 

多クラス分類

\(K=2\)の線形識別を\(K > 2 \)に拡張する。しかし、単純に2クラス識別関数を組み合わせると問題が生じる。

 

一対他分類器

一対他分類器はその名の通り、あるクラスとその他のクラス全てに分割して分類するやり方で、Kクラスを分類するのに、ある特定のクラス\(\mathcal{C}_k\)に入る点とそのクラスに入らない点とに分類する2クラス問題を解く分類器を\(K-1\)個利用することを考える。しかし、上の図を見ると、例えば\(\mathcal{C}_1\)でも\(\mathcal{C}_2\)でもない領域を\(\mathcal{C}_3\)と考えることにした場合、緑の領域、つまり\(\mathcal{C}_1\)でもあり\(\mathcal{C}_2\)でもある場所は一体何なんだという曖昧な領域が生まれてしまう。そういう場合は各分類器の出力の強さなどを使用してどちらなのか決めるという処理が必要になる。

クラスの数に分類器の数が比例するのでここから紹介する一対一分類器によりは計算量が少なくなる。

一対一分類器

一対一分類器は、一対分類器と異なり、任意の2つのクラスを選んで2クラス分類する。組み合わせの数はクラス数を\(K\)とすると\( { }_k C_2 \)種類の分類器が必要になる。しかしこの場合も緑の曖昧な領域が生まれてしまう。

どうしたらこの曖昧な領域をなくせるのか考えよう。

曖昧な領域をなくしたい

次のような\(K\)個の線形関数を使って\(K\)クラス識別することを考えよう。

多クラス分類の識別関数

$$
y_k(\mathbf{x})=\mathbf{w}_k^{\mathrm{T}} \mathbf{x}+w_{k 0}
$$

そして全ての\(j(\neq k)\)に対して\(y_k(\mathbf{x})>y_j(\mathbf{x})\)が成り立つ場合には\(\mathbf{x}\)が\(\mathcal{C}_k\)に分類されるとする

 

このように定義すれば先ほどのような「曖昧な領域が存在しない」ことを示そう

識別関数\(y_k(\mathbf{x})\)の値が他の全ての\(j (\neq k)\)に対して大きい場合、つまり\(y_k(\mathbf{x}) > y_j(\mathbf{x})\)が全ての\(j (\neq k)\)に対して成り立つとき、入力\(\mathbf{x}\)はクラス\(\mathcal{C}_k\)に分類される。

では、ここで任意の点\(\mathbf{x}\)について考える。そして、この点\(\mathbf{x}\)を最もよく識別するクラスを求めたいとする。これを数学的に表すために、\(I := \arg \max _i {y_i(\mathbf{x})}\)という記号を導入する。これは、識別関数\(y_i(\mathbf{x})\)の値が最大となるクラス\(i\)を集めたものを意味する。

もし、この集合\(I\)の要素数が1つ、つまり\(|I| = 1\)であるならば、入力\(\mathbf{x}\)はその1つのクラスに一意に分類される。つまり、\(\mathbf{x}\)はクラス\(\mathcal{C}_{i_0} (i_0 \in I)\)に属するということだ。

一方で、もし集合\(I\)の要素数が2つ以上、つまり\(|I| > 1\)であるならば、どのクラスに\(\mathbf{x}\)を分類すれば良いのか一意には決まらない。これは、そのような全ての\(i, j \in I\)に対して識別関数の値が等しくなる、つまり\(y_i(\mathbf{x}) = y_j(\mathbf{x})\)となるからだ。この場合、入力\(\mathbf{x}\)は複数のクラス\(\mathcal{C}_i\)と\(\mathcal{C}_j\)の決定境界上にあると解釈できる。

つまり、複数のクラスを識別する問題では、識別関数の値が最大となるクラスに入力を分類する。しかし、その最大値が複数のクラスで共有される場合、入力はそれらのクラスの境界上にあると考えられる。□

 

決定領域の凸性

先ほどのように定義した識別器の決定領域は常に一つに連結していて、凸領域となっている。

なんで???

2点\(\mathbf{x}_A\)と\(\mathbf{x}_B\)を考える。この2点は決定領域に\(\mathcal{R}_k\)にあるものとするこの様子が上図である。

2点\(\mathbf{x}_A\)と\(\mathbf{x}_B\)を結ぶ直線状にある任意の点\(\hat{x}\)を

\(\hat{x}:=\lambda x_{\mathrm{A}}+(1-\lambda) x_{\mathrm{B}}\)

と定義する。ここで\(0 \leq \lambda \leq 1\)である。識別関数の線形性より次が成り立つ。

$$
y_k(\widehat{\mathbf{x}})=\lambda y_k\left(\mathbf{x}_{\mathrm{A}}\right)+(1-\lambda) y_k\left(\mathbf{x}_{\mathrm{B}}\right)
$$

2点\(\mathbf{x}_A\)と\(\mathbf{x}_B\)はいずれも決定領域\(\mathcal{R}_k\)内にあるので、すべての\(j \neq k\)に対し\(y_k\left(\mathbf{x}_{\mathrm{A}}\right)>y_j\left(\mathbf{x}_{\mathrm{A}}\right)\)と\(y_k\left(\mathbf{x}_{\mathrm{B}}\right)>y_j\left(\mathbf{x}_{\mathrm{B}}\right)\)が成り立つので、\(y_k(\widehat{\mathbf{x}})>y_j(\widehat{\mathbf{x}})\)となり、任意の点\(\hat{x}\)も\(y_k(\widehat{\mathbf{x}})>y_j(\widehat{\mathbf{x}})\)内にある。□

 

決定領域が凸性を持つと何が嬉しいの??

なぜこれが嬉しいかというと、凸性があると最適化問題が容易に解けることが多いからだ。具体的には、凸関数(局所的な最小値が全体の最小値となる性質を持つ関数)の最小値を求める問題は効率的に解くことができる。

例えばラグランジュの未定乗数法を用いてその停留点を求める場合、凸という性質をもつとそれは局所最適解ではなく大域最適解になる(凸計画問題)

識別問題においては、凸性があることで識別器のパラメータを最適化しやすくなる。また、凸領域に属する点の集合から新たな点を生成するときに、その新たな点も同じ領域に属するという保証がある。これは、例えば、学習データを補完したり、新たなデータを生成する際に有利な性質となる。

 

決定領域の単連結性

決定領域\(\mathcal{R}_k\)は弧状連結(任意の2点を取ったときに、それらを結ぶ連続曲線が存在する)であり、さらに単連結(ループを連続的に変形して1点に縮めることができる)である。

なんで???

凸性から弧状連結であることは明らか。

凸領域が単連結であることを証明しよう。領域\(C\)を凸領域とする。そして、\(C\)上の任意の閉曲線(始点と終点が同じパス)\(L\)を考える。この閉曲線\(L\)は、\(C\)上の二点\(a\)と\(b\)を結ぶ部分を含むとする。

このとき、凸性から\(a\)から\(b\)への直線(線分)は全て領域\(C\)内に収まる。つまり、\(L\)上の\(a\)から\(b\)への部分を、\(a\)から\(b\)への直線(線分)で置き換えても、依然として閉曲線は\(C\)内に収まる。

さらに、これを閉曲線上の任意の二点について繰り返すことで、最終的に閉曲線は一つの点に縮小する。これは、単連結性の定義そのものである。□

単連結だとなにが嬉しいの???

この性質が嬉しい理由は、線形識別モデルが生成する決定領域が単連結であるということは、そのモデルが非常に単純で理解しやすいということを意味するからだ。それぞれのクラスに対応する決定領域は一つの連続した塊であり、その領域の中の任意の点を選んだとき、それらの点は同じクラスに分類されるということが保証される。

例えば、手書きの数字を識別する問題を考える。各数字に対応する領域が単連結であれば、数字の一部がほんの少し変わっただけで、別の数字に分類されるというようなことは起きない。数字の形状が大きく変わらない限り、それは同じ数字と認識される。このように、単連結性は我々が識別モデルの振る舞いを理解し、その振る舞いに対して直感的な理解を持つことを可能にする。

 

最小二乗法

線形回帰のときは二乗和誤差を最小化することで最適なパラメータを解析的に求めた。

多クラスの分類問題にも最小二乗法を適用してみよう。ただし目的変数ベクトル\(\mathbf{t}\)はワンホットエンコーディングされているものとする。

なぜ最小二乗を使用するのかというと、その方法が入力ベクトルを与えられた際の目的変数値の条件付期待値\(\mathbb{E}[\mathbf{t} \mid \mathbf{x}]\)を近似するからである。というのも、最小二乗法は全データポイントにおけるモデルの予測値と実際の値との差を最小化するような関数を求める手法だからである。これはすなわち、予測値が平均的に実際の値に最も近くなるような関数を求めているとも言える。つまり、最小二乗法により求められるモデルは、入力ベクトル\( \mathbf{x} \)が与えられたときの目的変数\(\mathbf{t}\)の期待値\( \mathbb{E}[ \mathbf{t} | \mathbf{x}] \)を近似すると言えるのである。

 

識別関数は以下のように表される。

$$
y_k(\mathbf{x})=\mathbf{w}_k^{\mathrm{T}} \mathbf{x}+w_{k 0}
$$

これはベクトルを使って

$$
\mathbf{y}(\mathbf{x})=\widetilde{\mathbf{W}}^{\mathrm{T}} \widetilde{\mathbf{x}}
$$

と表すことができる。ただし、

$$
\widetilde{\mathbf{W}}:=\left(\begin{array}{cccc}
w_{10} & w_{20} & \cdots & w_{K 0} \\
w_{11} & w_{21} & \cdots & w_{K 1} \\
\vdots & \vdots & \ddots & \vdots \\
w_{1 D} & w_{2 D} & \cdots & w_{K D}
\end{array}\right), \widetilde{\mathbf{x}}:=\left(\begin{array}{c}
x_0 \\
x_1 \\
\vdots \\
x_D
\end{array}\right), x_0:=1
$$

学習データ\(\left\{\left(x_n, t_n\right)\right\}_{n=1, \ldots, N}\)が与えられたとして

$$
\widetilde{X}:=\left(\begin{array}{c}
\widetilde{\mathbf{x}}_1^{\mathrm{T}} \\
\vdots \\
\widetilde{\mathbf{x}}_N^{\mathrm{T}}
\end{array}\right), \quad \widetilde{T}:=\left(\begin{array}{c}
\mathbf{t}_1^{\mathrm{T}} \\
\vdots \\
\mathbf{t}_n^{\mathrm{T}}
\end{array}\right)
$$

となる時の二乗和誤差関数は

$$
\begin{aligned}
E_{\mathrm{D}}(\widetilde{W}) & :=\frac{1}{2} \operatorname{tr}\left((\widetilde{X} \widetilde{W}-\widetilde{T})^{\prime}(\widetilde{X} \widetilde{W}-\widetilde{T})\right) \\
& =\frac{1}{2}\|\widetilde{X} \widetilde{W}-\widetilde{T}\|^2
\end{aligned}
$$

 

僕たちの目的はこの\(E_{\mathrm{D}}(\widetilde{W})\)を最小化する\(\widetilde{W}\)を見つけることだ。この問題は最適化問題となり、一般的には勾配が0になる点を求めることで解くことができる。

しかし、\(E_{\mathrm{D}}(\widetilde{W})\)は行列\(\widetilde{W}\)に対する関数であり、標準的な微分ではなくフレシェ微分と呼ばれる手法を使う。ここで、フレシェ微分の考え方を簡単に説明すると、スカラー値関数の微分を行列に拡張したものと考えることができる。

フレシェ微分は以下のように定義される。

$$Df(\widetilde{W})(H)=\lim_{t\rightarrow 0}\frac{f(\widetilde{W}+tH)-f(\widetilde{W})}{t}$$

ここでの\(H\)は行列\(\widetilde{W}\)と同じ形状を持つ任意の行列である。具体的には、\(\widetilde{W}\)が\(D \times K\)の行列であるならば、\(H\)も\(D \times K\)の行列である。\(H\)はフレシェ微分を定義する際に用いられる「微小な変動」を表す行列と考えることができる。

そして、これを\(E_{\mathrm{D}}(\widetilde{W})\)に適用する。

ここでは、誤差関数\(E_D(\widetilde{W})\)を行列\(\widetilde{W}\)に対して微分しようとしている。フレシェ微分の定義に従って、この関数の微分を計算すると、

$$ \begin{aligned} D E_{D}(\widetilde{W})(H) &= \lim_{\epsilon \to 0} \frac{1}{2 \epsilon} \left( E_D(\widetilde{W} + \epsilon H) - E_D(\widetilde{W}) \right)\\ &= \lim_{\epsilon \to 0} \frac{1}{2 \epsilon} \left( |\widetilde{X}(\widetilde{W}+\epsilon H) - \widetilde{T}|^2 - |\widetilde{X}\widetilde{W} - \widetilde{T}|^2 \right) \end{aligned} $$

次に、内積の性質とノルムの定義から、以下のように展開できる:

$$ \begin{aligned} &= \lim_{\epsilon \to 0} \frac{1}{2 \epsilon} \left( \langle\widetilde{X}(\widetilde{W}+\epsilon H) - \widetilde{T}, \widetilde{X}(\widetilde{W}+\epsilon H) - \widetilde{T}\rangle - \langle\widetilde{X}\widetilde{W} - \widetilde{T}, \widetilde{X}\widetilde{W} - \widetilde{T}\rangle \right) \\ &= \lim_{\epsilon \to 0} \frac{1}{2 \epsilon} \left( \langle\widetilde{X}\widetilde{W} - \widetilde{T} + \epsilon \widetilde{X}H, \widetilde{X}\widetilde{W} - \widetilde{T} + \epsilon \widetilde{X}H\rangle - \langle\widetilde{X}\widetilde{W} - \widetilde{T}, \widetilde{X}\widetilde{W} - \widetilde{T}\rangle \right) \end{aligned} $$

 

まず、内積\(\langle a, b \rangle\)は\(a^Tb\)と表現できるが、ここでは\(a = \widetilde{X}(\widetilde{W}+\epsilon H) - \widetilde{T}\)、\(b = \widetilde{X}(\widetilde{W}+\epsilon H) - \widetilde{T}\)となる。したがって、内積を展開すると次のようになる:

$$ \begin{aligned} &= \lim_{\epsilon \to 0} \frac{1}{2 \epsilon} \left( \langle\widetilde{X}\widetilde{W} - \widetilde{T} + \epsilon \widetilde{X}H, \widetilde{X}\widetilde{W} - \widetilde{T} + \epsilon \widetilde{X}H\rangle - \langle\widetilde{X}\widetilde{W} - \widetilde{T}, \widetilde{X}\widetilde{W} - \widetilde{T}\rangle \right) \\ &= \lim_{\epsilon \to 0} \frac{1}{2 \epsilon} \left( \langle\widetilde{X}\widetilde{W} - \widetilde{T}, \widetilde{X}\widetilde{W} - \widetilde{T}\rangle + \epsilon \langle\widetilde{X}\widetilde{W} - \widetilde{T}, \widetilde{X}H\rangle \\  \qquad \qquad+ \epsilon \langle\widetilde{X}H, \widetilde{X}\widetilde{W} - \widetilde{T}\rangle + \epsilon^2 \langle\widetilde{X}H, \widetilde{X}H\rangle - \langle\widetilde{X}\widetilde{W} - \widetilde{T}, \widetilde{X}\widetilde{W} - \widetilde{T}\rangle \right) \end{aligned} $$

ここで、第一項と最後の項が打ち消し合い、\(\epsilon^2 \langle\widetilde{X}H, \widetilde{X}H\rangle\)は\(\epsilon\)の二次の項なので無視できる。また、\(\langle\widetilde{X}\widetilde{W} - \widetilde{T}, \widetilde{X}H\rangle\)と\(\langle\widetilde{X}H, \widetilde{X}\widetilde{W} - \widetilde{T}\rangle\)は内積の交換法則により同じであるため、これらを足すと\(2\epsilon \langle\widetilde{X}\widetilde{W} - \widetilde{T}, \widetilde{X}H\rangle\)になります。したがって、元の式は次のようになる:

$$ \begin{aligned} &= \lim_{\epsilon \to 0} \frac{1}{2 \epsilon} (2\epsilon \langle\widetilde{X}\widetilde{W} - \widetilde{T}, \widetilde{X}H\rangle) \\ &=  \langle\widetilde{X}\widetilde{W} - \widetilde{T}, \widetilde{X}H\rangle \end{aligned} $$

最終的に次の式が得られる:

$$ \begin{aligned} &= \langle\widetilde{X}^{\mathrm{T}}(\widetilde{X} \widetilde{W}-\widetilde{T}), H\rangle \end{aligned} $$

つまり

$$D E_{\mathrm{D}}(\widetilde{W})(H)=\left\langle\widetilde{X}^{\mathrm{T}}(\widetilde{X} \widetilde{W}-\widetilde{T}), H\right\rangle$$

となる。

左辺の\(D E_{D}(\widetilde{W})(H)\)は、重み行列\(\widetilde{W}\)を微小量\(H\)だけ変化させたときの誤差関数\(E_D\)の変化を表している。

右辺の\(\left\langle\widetilde{X}^{\mathrm{T}}(\widetilde{X} \widetilde{W}-\widetilde{T}), H\right\rangle\)はその変化を具体的に計算したものである。ここで\(\left\langle A, B\right\rangle\)は行列\(A\)と\(B\)の内積を表しており、\(\widetilde{X}^{\mathrm{T}}(\widetilde{X} \widetilde{W}-\widetilde{T})\)は誤差関数を\(\widetilde{W}\)で微分した結果(勾配)、\(H\)は微小変動を表している。つまり、この式は「重み行列\(\widetilde{W}\)の微小な変化\(H\)が誤差関数\(E_D\)にどれだけ影響を与えるか」を計算している。

最小化問題では、フレシェ微分が0になる点を求めればよいので、この値が0になる\(\widetilde{W}\)を求めることになる。したがって、次のような方程式を解くことになる。

$$\widetilde{X}^{\mathrm{T}}(\widetilde{X} \widetilde{W}-\widetilde{T})=0$$

そして、この方程式を\(\widetilde{W}\)について解くと

$$ \widetilde{X}^{\mathrm{T}} \widetilde{X} \widetilde{W} = \widetilde{X}^{\mathrm{T}} T $$

これは行列の積の分配法則と、転置の法則\((AB)^{\mathrm{T}} = B^{\mathrm{T}}A^{\mathrm{T}}\)を使って得られる結果だ。ここで\(\widetilde{X}^{\mathrm{T}} \widetilde{X}\)は正方行列で、その逆行列が存在すると仮定する。

すると、この等式の両辺を左から\((\widetilde{X}^{\mathrm{T}} \widetilde{X})^{-1}\)(\(\widetilde{X}^{\mathrm{T}} \widetilde{X}\)の逆行列)で掛けると、次のようになる:

$$ (\widetilde{X}^{\mathrm{T}} \widetilde{X})^{-1} \widetilde{X}^{\mathrm{T}} \widetilde{X} \widetilde{W} = (\widetilde{X}^{\mathrm{T}} \widetilde{X})^{-1} \widetilde{X}^{\mathrm{T}} T $$

ここで、左辺の\((\widetilde{X}^{\mathrm{T}} \widetilde{X})^{-1} \widetilde{X}^{\mathrm{T}} \widetilde{X}\)は単位行列になる。つまり、\(\widetilde{W} = (\widetilde{X}^{\mathrm{T}} \widetilde{X})^{-1} \widetilde{X}^{\mathrm{T}} T\)という等式が得られる。

結局のところ

$$\widetilde{W}=(\widetilde{X}^{\mathrm{T}} \widetilde{X})^{-1} \widetilde{X}^{\mathrm{T}} T=\widetilde{X}^{\dagger} \mathrm{T}$$

これが、二乗和誤差関数を最小化する\(\widetilde{W}\)、すなわち最小二乗解と呼ばれるもので、\(\widetilde{X}^{\dagger}\)はムーア・ペンローズの疑似逆行列である。

結局識別関数は、

$$
\mathbf{y}(\mathbf{x})=\widetilde{\mathbf{W}}^{\mathrm{T}} \widetilde{\mathbf{x}}=\mathbf{T}^{\mathrm{T}}\left(\widetilde{\mathbf{X}}^{\dagger}\right)^{\mathrm{T}} \widetilde{\mathbf{x}} .
$$

となる。

 

最小二乗法の問題点

しかしながら、線形識別における最小二乗解には以下のような問題がある。

最小二乗解の実用性

  • 外れ値に敏感すぎる
  • 2値目的変数と、最小二乗法が仮定するガウス分布との相性の悪さ

 

外れ値に敏感

左のプロットは2クラスからのデータを赤十字と青円で表していて、それを分類する最小二乗によって得られる決定境界(紫)とロジスティック回帰モデルによって得られる決定境界(緑)を示している。右のプロットのように新しく右下にデータを青円のデータを追加した場合、ロジスティック回帰モデルを使用した場合は正しい境界のままように思われるが、最小二乗を使用した場合は大きく変化してしまっている。

このように、最小二乗法は「正しすぎる」外れ値に対してペナルティを与えてしまう。

2値目的変数と、最小二乗法が仮定するガウス分布との相性の悪さ

最小二乗法ロジスティック回帰モデル

上の図のように3クラスの人工的に作成されたデータ集合を分類する場合、最小二乗を使用した場合は緑の決定領域が小さくなってしまっており、反対にロジスティック回帰モデルは満足いく結果を与えてくれている。

これの原因は最小二乗法がそもそも条件付確率分布にガウス分布を仮定した場合の最尤法であり、一方2値目的変数ベクトルは明らかにガウス分布からかけ離れているからであり、最小二乗法がうまくいかないのは当たり前である。

 

 

参考先

 

 

-勉強, 数学, 機械学習/AI