Coursera Machine Learning week1 その3
行列とは
大括弧に閉じられた数字の配列のこと
上の例は3*2の行列。(行数*列数で表現する)
と表すこともある。
各要素への参照は
- i:行
- j:列
で表す。
例)
ベクトルとは
行列の特殊な形にすぎない。
n × 1の行列のこと。
上記の例は3次元のベクトル。
と表すこともある。
で上からi番目の要素を参照する
プログラミングとの兼ね合いでiが0始まりの場合と1始まりの場合の2パターンがあるが、この講義では基本的に1始まりとしている。
行列の足し算
同じ位置にある数値を足し合わせるだけ。同じ次元の行列しか足せない。
行列の掛け算
行列の各要素に実数をかけるだけ。
行列と行列の掛け算
m行n列の行列 とn行o列の行列のみが積算が可能である
結果の行列の形はm行o列の行列になる。
[m × n] × [n × o] = [m × o]
片方の列と片方の行の数が一致しないと掛け算不可。
行列の掛け算には可換性がないことに注意(not commutative)
行列の掛け算にはスカラ(実数)の場合と同じく、結合法則が成り立つ
スカラ: (3 × 5 ) × 2 = 3 ×(5×2)
行列:
逆行列
Aに対して
が成り立つのこと
(補足:は単位行列)
逆行列は以下のようにoctaveではpinv関数で求められる
octave:8> a = [3,4;2,16] a = 3 4 2 16 octave:9> pinv(a) ans = 0.400000 -0.100000 -0.050000 0.075000 octave:10>
逆行列は正方行列(行数と列数が一致する行列)にのみ存在し
また全ての正方行列が逆行列を持つとは限らない。
逆行列を持たない正方行列のことを特異行列(singular)や縮退行列(degenerate)と行ったりする。
行列の転置(transposition)
ある行列Aに対して
となるようなBを作ることを行列の転置と呼ぶ
またこのようなBをとも表現する