どうも、カタミチです。
さて、今日も「最短コースでわかる ディープラーニングの数学」のひとり読書会、やっていきたいと思います。
今日から、新たなワールド。「ベクトル・行列」の世界に突入ですね。いってみよ〜!
3-1. ベクトル入門
ベクトルとは、向きと大きさを持つ量である!
東に3、北に4進んだ地点に向かうことを\( \vec{a} = (3,4) \)と表す、みたいな感じですね。確かに、高校の時に習った時もそう聞いた気がしますが、よく考えてみたら、\(xy\)平面上の座標を表す\( (x,y)=(3,4) \)と何が違うんだろう…?わざわざ新たにベクトルなるものを定義する意味とは…?というところでいきなり詰まってしまいましたが、少し読み進めて思ったのは、ベクトルにとって絶対位置としての座標に意味はないってこと。相対的な座標のみを追い求めるのがベクトル…という感じなんですかねー。感覚的には、自分が常に原点に居るような感じ。そう思ったのは、次の節のベクトルの「和」や「差」を見たからなんですが、その話はいったんここまでにしておいて…
ベクトルっていうと、上に書いたような矢印を使った表記「\( \vec{a} \)」で高校の時には習ったんですが、どうもオトナの世界では太字「\( \boldsymbol{a} \)」で書くことが多いみたいですね。見た目には矢印表記のほうが分かりやすそうですし、黒板やホワイトボードに板書する時も矢印表記のほうが見やすそうなんですが、なぜ太字なんでしょうね…。「矢印は2次元だとイメージしやすいが、3次元以上になるとイメージからずれるから」と言う話もチラッと聞きましたが果たして…。
中身を表す表記としては2種類あって、上に書いたようなこんな表記と…
$$ \boldsymbol{a} = ( a_1, a_2, \cdots , a_n ) $$
こんな表記。
$$ \boldsymbol{a} = \left( \begin{array}{c} a_1 \\ a_2 \\ \vdots \\ a_n \end{array} \right) $$
カッコの中に並んでいる数字のことを成分と言うようですが、各成分は\( x,y \)といった表記ではなく、添字を使った\( a_1,a_2 \)って感じになってますね。まぁ、ひとつひとつ違う文字を使ってたら文字が枯渇しそうですもんね(ふむ)。
前者の書き方を横ベクトル、後者の書き方を縦ベクトルと言ったりもするみたいですが、機械学習やってるとよく見るのは、後者の縦ベクトルですね。ブログ書く分には横ベクトルの方がありがたいんですが…。まぁこれは、計算上、縦ベクトルにしておくほうが計算しやすいケースが多いことが理由だとは思いますが…。ちなみに、上の書き方でも分かるように、次元が増えれば増えるほど表示が伸びます。
いずれにせよ、ベクトルの基本ルールはだいたい把握しました。…ついでに、新たな表記がいくつか出てきたことで、ブログ上で数式を書く私の技術も少しずつ進歩してます(笑)。
3-2. 和・差・スカラー倍
さて、次は計算ですね。まずは和と差。これは単純に成分同士の計算ですね。
\( \boldsymbol{a} = (3,4),\boldsymbol{b} = (1,2) \)とすると、
和は、\( \boldsymbol{a} + \boldsymbol{b} = (3+1,4+2) = (4,6) \)
差は、\( \boldsymbol{a} + \boldsymbol{b} = (3-1,4-2) = (2,2) \)
ってことになりますね。
和のイメージとしては、東に3、北に4進んだところからさらに東に1、北に2進む感じですかね。結果的に、最初に居たところからは東に4、北に6の地点に居ますもんね。
差の方は、後退するイメージですかね。東に3、北に4進んだところから、東に向かって1後退…つまり西に1、北に向かって2後退…つまり南に2進むと、\( (2,2) \)の地点に来ますね。3次元以上でも同じ要領でやるようですが、イメージはつきますね。
で、次にスカラー倍。スカラーの意味を調べてみたんですが「学者」とか「学生」って意味でした。「学問を志し、取り組む姿勢を持つもの」みたいなところがベースにあるようですね。つまり…私もスカラーだ!
…ベクトルの世界では、実数のことをスカラーと言うみたいです。ベクトルという概念が出てきたことによって、「じゃぁ今までのはなんて呼ぼう?…スカラーって呼ぼう」みたいなことですかね。それまでの世の中で「世界戦争」と呼ばれていた争いが、同じような二度目の戦争が起こったことで「第一次世界大戦」と名前を変えた…みたいなものですかね(違う)。
…ともあれ、スカラーってのは実数のことみたいです。で、スカラー倍は、各成分にスカラーを掛けるのがルールみたいですね。
\( \boldsymbol{a} = (3,4), k=2 \)とすると、ベクトル\( \boldsymbol{a} \)のスカラー倍\( k \boldsymbol{a} \)は…
\( k \boldsymbol{a} = (2 \times 3,2 \times 4) = (6,8) \)
ってことになりますね。本書の図を見ると、向きが変わらず大きさが大きくなるってことになります。イメージとしては、孫悟空の如意棒がにゅいーんと伸びる感じですかね。
3-3. 長さ(絶対値)・距離
さて次は、ベクトルの長さ。ベクトルの絶対値とも呼ばれるみたいです。覚えとこ。
二次元の場合はこんな感じ。 \( \boldsymbol{a} = ( a_1, a_2) \)のとき、
$$ \mid \boldsymbol{a} \mid = \sqrt{a_1^2+a_2^2} $$
…三平方の定理やん。\(xy\)座標上の原点からの距離の計算ですね。多次元に拡張しても同じ要領で行けるみたいで…
$$ \mid \boldsymbol{a} \mid = \sqrt{ \sum_{k=1}^{n}{a_k^2}} $$
こんな感じ。私もだいぶ、シグマアレルギーが無くなって来ました。機械学習の勉強を始めたばかりの頃は、シグマを見ると頭がクラクラしたんですが、最近では「うん、すっきりしとる」と思えるようになってきました。慣れというのは偉大です。
で、次にベクトル間の距離ですが、\(xy\)座標上の計算でイメージすると、起点を原点からずらしたイメージで…
$$ \mid \boldsymbol{a}-\boldsymbol{b} \mid = \sqrt{ \sum_{k=1}^{n}{(a_k-b_k)^2}} $$
こうですね。
うーん、やはりスカラー世界の座標上の計算と比べてベクトル世界のメリットがよく分かりません…。
ということで
ひとまず、前半戦はこんなところですかねー。表記や計算はだいたい掴めました。ここから先きっと、ベクトルがあって良かった!って場面が出てくるはずなので、楽しみにしておきますかねー。
ではまた。