learningAI 人工知能のニュースと勉強の記録

人工知能について調べたり勉強したりするブログ

これまで勉強した線形代数の復習

2ヶ月ほど勉強が止まってしまっていたので、これまで勉強した内容の復習をしなければなりません。

 

これまで勉強した内容は、このブログにメモしてあるので、メモをもとに復習していくことにします。

 

 

線形代数のためのベクトル入門

learningai.hatenablog.com

  • Vector(ベクトル)は、magnitude(大きさ)と direction(方向)から成る。
  • vector = magnitude + direction = velocity = 方向を持つ大きさ
  • scala = magnitude = speed = 方向を持たない大きさ
  • どこから始まるベクトルでも、大きさと方向が同じであれば、等価のベクトルとみなされる

 

線形代数のエッセンス:ベクトルとは一体どういうもの?

learningai.hatenablog.com

  • ベクトルと一口に言っても、物理学、コンピュータサイエンス、数学それぞれで捉えられかたが異なる
  • 線形代数では、ベクトルは座標系の中の長さと方向をもった矢印、として考える
  • 2次元座標のベクトルは、大かっこのなかの、上にx軸の長さ、下にy軸の長さを書いて表現する
  • 2つのベクトル v, wの合成(足し算)は、ベクトル v の終点(tail)の部分をベクトル w の始点にしてつなげ、ベクトル v の始点とベクトル w の終点を結ぶことで合成できる。これは、ベクトル v と w の、x軸の長さどうし、y軸の長さどうしをそれぞれ足したのと同じになる。
  • 2v のような、ベクトルに数字をかける計算はもっと簡単。単純にベクトルの長さがかけた数字倍になる。1.8v であれば、ベクトル v の長さを 1.8 倍したものになる。マイナスをかけた場合は、ベクトルの向きが逆になる。
  • このベクトルの記述を使うと、空間を記述し、計算を行うことができる。

 

Real coordinate spaces - 実数空間

learningai.hatenablog.com

  • n次の実空間を表記する方法についての解説
  •  2-dimensional real coodinate space (2次元実空間) であれば、2 tuple で表すことができる(表記の仕方は記事のノート写真を参照)
  • tuple とは、ordered list、つまり順序があるリストのこと
  • 3次元実空間であれば 3 tuple で、n次元実空間であれば n tuple で表現することができる

 

線形代数のエッセンス:線型結合、スパン、基底

learningai.hatenablog.com

  • 基底(basis)という概念。
  • 線形結合(Linear combinations)という概念。まだ自分の言葉で明確に説明できないけど、ベクトルを他のベクトルの係数とそれらの和で表す、ということだと思います。
  • スパン(span)とは、線形結合のとりうる全ての値。だと思う。
  • 2次元座標空間において、ベクトル i, j それぞれが重なり合うベクトルではなく、0でもないのであれば、2次元座標上のどんなベクトルも i, j を使って表現できる。このときベクトル i, j を基底という。(という解釈であっていると思う。)
  • ポイントは、基底ベクトルを使うと、係数の変更と足し算という2つの操作だけでn次空間上のすべてのベクトルの表現と変更ができるところだと思う。
  • ベクトルの表現方法について。一般的には、1つのベクトルを表すときは、矢印を用い、ベクトルの集合を表現するときは、ベクトルの終端を点として表現すると便利。
  • 3次元座標上のスパンの説明については、ビデオの説明をみるのがとてもわかりやすい。
  • ベクトル v, w があったとして、av ≠ w のとき、"Lineary Independent"(線型独立)という。
  • Technical definition of basis: The basis of a vector space is a set of lineary independent vectors that span the full space.
  • 基底の定義:線形結合によって、ベクトル空間上のありうるすべての点に到達することができるベクトルを作ることのできる線形独立のベクトル。(という感じでしょうか?)
  • 繰り返しになるけど、ポイントは、基底ベクトルを使うと、係数の変更と足し算という2つの操作だけでn次空間上のすべてのベクトルの表現と変更ができるところ(だと思う)。


Adding vectors algebraically & graphically - ベクトルの加算を視覚的に理解する

learningai.hatenablog.com

  • ベクトルの加算(合成?)についての説明。
  • 2次元座標のベクトルは、大かっこのなかの、上にx軸の長さ、下にy軸の長さを書いて表現する
  • 2つのベクトル v, wの合成(足し算)は、ベクトル v の終点(tail)の部分をベクトル w の始点にしてつなげ、ベクトル v の始点とベクトル w の終点を結ぶことで合成できる。これは、ベクトル v と w の、x軸の長さどうし、y軸の長さどうしをそれぞれ足したのと同じになる。
  • 2v のような、ベクトルに数字をかける計算はもっと簡単。単純にベクトルの長さがかけた数字倍になる。1.8v であれば、ベクトル v の長さを 1.8 倍したものになる。マイナスをかけた場合は、ベクトルの向きが逆になる。

 

線形代数のエッセンス:線形変換と行列

learningai.hatenablog.com

  • Matrices as Linear transformation(線形変換における行列?)は特に重要みたいです。
  • まず、Linear transformation という言葉の意味を理解する。
  • Linear transformation の "transformation" は function、つまり関数を意味する。関数とは、ある入力に対して、ある出力を行うもの。線形変換においては、あるベクトルの入力に対し、あるベクトルを出力するもの。Input Vector に対して、Output Vector を出力する関数。
  • では、なぜ transformation という言葉を使うのか?関数によるベクトルの変換を"移動"として考える。ビジュアル化するとわかりやすい。
  • Linear transformation の "linear" は、Lines remains lines - カーブしない、Origin remains fixed - 原点が移動しない、Grid lines remain parallel and evenly spaced、ということを表す。
  • ベクトルの移動を表す関数(線形変換)をどのようにして、数字で表現するか?
  • 2つの基底ベクトルを使う。
  • ここで、線形代数のエッセンス:線型結合、スパン、基底 で勉強した内容が生きてくる。
  • ベクトルの変形部分の説明については、ブログ記事のノートを見た方がよさそう。
  • => ここはちょっと不明瞭なので、もう一度復習する必要がある。
  • 2x2 マトリクスをみたときは、変形を表現していると考えてもいい!

 

 

... ここまで約1時間弱でなんとなく復習ができました。線形変換のところはなんとなくしか頭に入っていないので、再度復習が必要ですが。

 

勉強したことをブログにメモしていて復習には役立ったけど、自分の文章を読み返すと、誤字脱字が多かったり、主語が抜けていたりしていてとても恥ずかしいです。