ディープラーニングG検定の勉強中 その14(ベクトルの和と差)

書籍「最短コースでわかるディープラーニングの数学」の内容に沿って勉強しています。

今回からは、テキストの第3章のベクトル・行列に取り掛かります。
今回は、ベクトルの和と差について見ていきます。

参考サイト
ベクトルのいろいろ(2.ベクトルの演算について その1(和と差、実数倍))

ベクトルとは、「向きと大きさを持つ量」のことです。

ベクトルの表記は、このブログではという表記に統一します。

ベクトルの特徴

の移動距離と向きがまったく同じ場合は、2つのベクトルは等しい

図1
3-1-1.png

図1でみると、a’、あるいは、b’は等しいです。


ベクトルの成分表示

x軸の向きとy軸の向きとそれぞれの大きさを(a, b)のように表します。
図1でのは、(0, 3)、とは、と(3, 1)と表します。


ベクトルの和

ベクトルの和、は、図1で見ると、

図1
3-1-1.png

・点Aから点Bに進み、その点Bから点Cに進む
・点Aから点Cに直接進む

のでは、その量は同じと考えます。
よって、式1が成り立ちます。

式1
3-1-3.png

計算は、各ベクトルのx軸ごと、y軸ごとに行いますが、それを式1に当てはめると、式2も成立します。

式2
3-1-2.png

なお、式2は多次元にも当てはまるため、それぞれのベクトルにz軸を追加しても和を計算することが可能です。

それでは、図1を使ってベクトルの和を計算します。グラフの目盛りは1単位ごととします。

式3
3-1-4.png

ちなみに、a’b’の和もの量と等しくなります。

式4
3-1-5.png


ベクトルの差

図1において、からを引いたものは、と等しくなります。

式5
3-1-6.png

これを計算すると、式6となります。

式6
3-1-7.png

このときのは、元々のの値と同じです。


ベクトルのスカラー倍

と向きが同じで、のk倍のをスカラー倍と呼び、式7のように表記する。

式7
3-1-8.png

成分表示では、式8となる。

式8
3-1-9.png


それでは、今回の計算をPythonでも実施してみます。

参考サイト
Math Python(NumPyでベクトルの足し算と引き算を行う)

--------------------
import numpy as np

a = np.array([0, 3])  # ベクトルaの成分表示
b = np.array([3, 1])
c = a + b   # ベクトルの和
b = c - a   # ベクトルの差
k = 3    # 倍数
d = a * k   # ベクトルaのスカラー倍

print("c = a+b = " + str(c))
print("b = c-a = " + str(b))
print("d = a*k = " + str(d))

--------------------
出力結果
c = a+b = [3 4]
b = c-a = [3 1]
d = a*k = [0 9]


Pythonだと多次元のベクトルの計算がすごく簡単そうですね。



進捗状況

最短コースでわかるディープラーニングの数学
85/328(25.9%)

ディープラーニングG検定まであと47日

"ディープラーニングG検定の勉強中 その14(ベクトルの和と差)" へのコメントを書く

お名前[必須入力]
メールアドレス
ホームページアドレス
コメント[必須入力]

※ブログオーナーが承認したコメントのみ表示されます。