機械学習を行うにあたり、必要な数学のトピックを簡単に取り上げる。
#【線形代数】
キーワード:固有値、固有ベクトル、固有値分解、特異値分解
正方行列の場合は、固有値分解が出来るが、
正方でない行列の場合は、固有値分解が出来ない。
そのため、かわりとなる特異値分解を行う。
固有値分解または特異値分解を行う理由としては、行列の値をそのまま扱うよりも、
固有値の対角行列を含めた行列であらわす事で、データの特徴が見出しやすくなるためである。
特異値分解する事で、元々の行列の情報(生データ)についての性質を得る事が出来る。
具体的には、固有値分解は、
元の正方行列をM、
固有値を対角に並べた行列Λと、
それに対応する固有ベクトルを並べた行列Vとした時に、
固有値固有ベクトルの定義より
$MV=VΛ$
と書けるこれを変形すると
$M=VΛV^{-1}$
となり、これが元の正方行列Mの固有値分解になる。
特異値分解は、
元の行列をMとした時に、
$M\overrightarrow{v}=σ\overrightarrow{u}$
$M^T \overrightarrow {u}=σ \overrightarrow{v} ⃗$
を満たす単位ベクトルu ⃗, v ⃗が存在した場合、
$M=USV^{-1}$
と変形する事が出来、これが特異値分解になる(S:固有値を対角方向に並べた行列)。
$MV=US$ より $M=USV^{-1}$
$M^T U=VS^T$ より $M^T=VS^T U^{-1}$
が分かる。これらの積は、
$MM^T=USS^T U^{-1}$
となりこれは、正方行列になるので、固有値分解を行う事が出来る。
このUから左特異ベクトルが分かり、SS^Tから特異値の二乗の値を求める事が出来る。同様に
$M^T M=VS^T SV^{-1}$
となり、このVの転置行列から右特異ベクトルが分かる。
#【確率・統計】
キーワード:頻度確率(客観確率)、ベイズ確率(主観確率)、ベイズ則、確率変数、確率分布、期待値、分散、共分散、確率分布、ベルヌーイ分布、マルチヌーイ(カテゴリカル)分布、二項分布、ガウス分布
以下、重要なキーワードをピックアップして説明を行う。
条件付き確率:ある事象X=xが与えられた条件下で、Y=yとなる確率:
$P(Y=y|X=x)=\dfrac {P(Y=y,X=x)}{P(X=x)}$
例) 病院でガン検査を受けて、陽性と診断された場合に、実際にガンに罹患している確率、などといった事を求める際に使う事が出来る。
その場合は次のようになる:
$P(実際に陽性|診断が陽性)=\dfrac {P(実際に陽性,診断が陽性)}{P(診断が陽性)}$
確率変数:ある事象をある数値に割り当てたもの。
ある事象を確率変数として、数値に割り当てる事で、数理的に扱いやすくなる。
確率変数、確率分布から期待値を計算する事が出来る。
期待値E(f)とすると、
確率分布が離散的な場合は、
$E(f)=\sum ^{n}_{k=1}(P(X=x)f(X=x))$
確率分布が連続的な場合は、
$E(f)= \int P(X=x)f(X=x)dx$
となる。
いずれにしても、期待値は、確率変数と、その確率変数に対する確率の積を合計した数値が期待値となる。
つまり期待値は、確率変数の平均値とも解釈する事が出来る。
分散:データの散らばり具合を示す数値。テストなどで使われる偏差値はこの値の平方根になる。つまり、偏差値の二乗が分散。
共分散:2つのデータがどの程度似ているかを示す数値。
2つのデータがあった場合、分散からは、平均値からのずれは比較する事は出来るが、同じ方向にずれているのかどうかが分からない。
2つのデータの傾向を見るには、共分散を使う必要がある。
ただし、2つのデータの傾向を見る事について、共分散での評価が万能という訳ではない。
データが超球体(2次元上では円形)に分布している場合は、共分散がゼロに近い値になる事もある。
また共分散の定義でX=Yとしてみると、分散の定義と一致する事が分かる。
この意味で、共分散は分散の一般化とみなす事が出来る。
ベルヌーイ分布:事象Aか事象Bかどちらか一方だけが起こりうる分布。
例)
コインの表裏。性別の男女。
などどちらか一方が必ず起こる場合に使われる。
事象Aが起こる確率と、事象Bが起こる確率を足すと、必ず「1」になるようにする必要がある。
マルチヌーイ(カテゴリカル)分布:ベルヌーイ分布の複数パターン版。
例)
さいころの1~6。
など、いくつかのカテゴリの中で、いずれかが必ず起こる場合に使われる。
全カテゴリの各々の事象の起こる確率を足すと、必ず「1」になるようにカテゴライズを行う必要がある。
二項分布:ベルヌーイ分布の多試行版
ガウス分布:釣鐘上の連続分布。1つだけ山の頂点があり、すそ野が広がっている分布。頂点から離れるに従って、分布が少なくなる。
#【情報理論】
キーワード:情報量、自己情報量、平均情報量(シャノンエントロピー)、KLダイバージェンス、交差エントロピー
情報量:ある事象が起きた時に、どのくらいその事象が起こりにくいか、という値(尺度)。
自己情報量I(x)は下記の式であらわされる:
$I(x)=-log(P(x))=log(W(x))$
ここで、 $W(x)=\dfrac{1}{P(x)}$
対数の底が2の時、単位はbit
対数の底がeの時、単位はnat
つまり、珍しい事象になるとP(x)は小さくなる。即ち、確率が低いほど、情報量が多い。
logを使う理由については、
そのままで値で扱うと、複数時の事象が起こった場合、確率の積で計算されるが、
事象が数が多くなると、コンピュータの計算上0(ゼロ)になってしまう
(0~1の数値を繰り返しかけると、限りなくゼロに近づくため)。
数値がゼロになると、情報として意味をなさないので、
logを使う事で、複数の事象が起こる確率を積ではなく、和として扱う事が出来る。
和として扱う事で、一般的にゼロには収束しなくなる(情報としての意味がある)。
平均情報量(シャノンエントロピー) H(x)は下記の式であらわされる:
$H(x)=E(I(x))=-E(log(P(x)) )=-\sum(P(x)log(P(x))) $
上記の式から分かるように、平均情報量は、自己情報量I(x)の期待値として定義される。
同じ確率変数xに対して、異なる分布P(x), Q(x)がある時、KLダイバージェンス(カルバック ライブラ ダイバージェンス)を使って、この2つの分布にどれだけ差があるのかを測る事が出来る。即ち、
$D_{KL} (P∥Q)=E_{X~P} [log \dfrac{P(x)}{Q(x)}]=E_{X~P} [log(P(x))-log(Q(x))]$
$E_{X~P} [f(x)]$ : P(x)に関するf(x)の期待値
を用いて、2つの分布に差があるのかを測る事が出来る。
交差エントロピーは、下記の式で定義される:
$H(P,Q)=H(P)+D_{KL} (P∥Q)$
KLダイバージェンスにPの平均情報量を足した値になっている。
上記式に、平均情報量$H(x)=-E(log(P(x)) )$を代入して式変形を行うと、KLダイバージェンスの左側の項が削除されている。即ち、
$H(P,Q)=-E_{X~P} log(Q(x))$
と書ける(式の意味は、Qについての自己情報量をPの分布で平均している)。
QはKLダイバージェンスの取り除かれた項 $E_{X~P} [log(P(x))]$ に関与しないため、Qに関して、交差エントロピーを最小化する事は、KLダイバージェンスを最小化する事と同じ意味になる。