評判のよい"はじパタ"ですが、数学が割と容赦なく出てきている印象だったので、自分自身の理解補助のためにも、はじパタに出てくる数学関連事項のまとめメモを作成することにしました。
もし間違った解釈をしていることがありましたらご指摘いただけると幸いです。
#はじパタの数学 第1章
次元の呪い
ここは敢えて書くこともない事ないかもしれませんが…
特徴ベクトルの次元数が上がるにつれて学習に必要なデータ数が膨大になってしまうという事の説明です。
ここでは256次元の16階調の例(区画の数が$16^{256}$になる例)が書かれていますが分かりにくい場合は3次元の場合で考えてみるとスッキリするかも…
例えば3次元で16段階の分類がされていた場合は$161616$で$16^3$ですね。
この例で、すべてのパターンを考えると$16^3$個ある各点が対応するわけですが、学習データの1つはこの1点に過ぎません。当然次元が増えて、すべてのパターンが膨大になった場合必要となる学習データの数もそれにつられて膨大になるという話です。
単位超立方体
いきなり抽象的な概念が出てきましたが、高次元の特徴ベクトルを扱う以上必要なのでしょう。
まず簡単に、d次元超立方体の特徴を以下にまとめます。(比較のため普通の立方体も載せます。)
3次元単位立方体(立方体) | d次元単位超立方体 | |
---|---|---|
中心から面までの距離 | $1/2$ | $1/2$ |
中心から頂点までの距離 | $\sqrt{3}/2$ | $\sqrt{d}/2$ |
面の数 | 6 | $2d$ |
頂点の数 | 8 | $2^d$ |
表面積 | 6 | $2d$ |
[中心から面までの距離]
まずここからスタートです。一辺の長さは1ですから、面までの距離は次元によらず$1/2$となります。
[中心から頂点までの距離]
立方体の場合は、
中心から頂点までの距離 = $\sqrt{(1/2)^2+(1/2)^2+(1/2)^2}$
で求めることができます。これをそのまま拡張してd次元の場合は、
中心から頂点までの距離 = $\sqrt{(1/2)^2+(1/2)^2+(1/2)^2…}$ = $\sqrt{d*(1/2)^2}$ = $\sqrt{d}/2$
[面の数]
3次元を考えてみると、立方体の面は各軸に2つずつあり、$32=6$となります。d次元も同様に考えて、各軸に直交する面(d−1次元超平面)が2つずつあるので$d2=2d$となります。
[頂点の数]
1次元あたりから拡張していくと分かりやすいかもです。
1次元の線分から2次元の正方形になる時、頂点は2→4となります。線分を直交する方向に線分の長さだけ引きずっていくとその軌跡は正方形になり、当然作り方から頂点の数は2倍になるわけです。2次元から3次元も同様にして正方形を直交する軸の方へ一辺の長さ分ずらしていけば、その軌跡が立方体になり、頂点数は倍の8になります。
このように倍々になっていく性質からd次元の頂点数は$2^d$となります。
[表面積]
一つの面の面積が$1^{d-1}=1$で面の数が$2d$なので$2d$となります。d=3を当てはめてみると確かに単位立方体の表面積の求め方になりますよね。