前から興味があったのです。
なぜ「AI入門」ではなく、「ディープラーニング入門」なのかというと手に取った本がたまたま「はじめてのディープラーニング(我妻幸長[著])」だったというだけ。たまたま手にした本だったけどわかりやすかった。微分も完全に忘れてたけど、それとなく分かった気にはなった。
基本的にはPythonコマンドや微分公式などの要点と自分なりにかみ砕いた説明を書いていくことにする。
最初はPythonというかNumpy(読みは「ナンパイ」でいいみたい)。
1.Numpyの関数
●shape
shape(<numpy配列>) |
次元別要素数取得 |
●size
●zeros
zeros(<要素数>) |
値が0の配列を作成 |
zeros(<次元別要素数タプル>) |
値が0の多次元配列を作成 |
●ones
ones(<要素数>) |
値が1の配列を作成 |
ones(<次元別要素数タプル>) |
値が1の多次元配列を作成 |
●random
random.rand(<要素数>) |
乱数の配列を作成 |
●arange
arange(<開始値>,<終了値>,<間隔>) |
連続値の配列を作成
※開始値省略時=0
※間隔省略時=1 |
●linspace
linspace(<開始値>,<終了値>,<要素数>) |
連続値の配列を作成
※要素数省略時=50 |
●reshape
reshape(<numpy配列>, <次元別要素数タプル>) |
形状変更
※次元別要素数タプルに-1を指定すると、自動で判定する。-1のみだと1次元配列になる。途中で-1だと残りを自動計算する。 |
●sum
sum(<numpy配列>) |
要素値合計
※axisオプションで指定軸方向の合計
※axisオプションと一緒にkeepdimsオプションを使用すると次元数をキープする |
●max
max(<numpy配列>) |
最大値取得
※axisオプションで指定軸方向の最大値
※sumと同様にkeepdimsオプションあり |
●argmax
argmax(<numpy配列>) |
最大値のインデックス取得
※axisオプションで指定軸方向の最大値idx
※keepdimsオプションはない |
●where
where(<numpy配列に対する条件>,<真値>,<偽値>) |
条件付き値変更
※形状は条件に使用した配列と同じになる |
2.numpy配列の演算
3.numpy配列の操作
(1) 要素抽出
(2) 要素値変更
(3) 配列の取得
(4) 配列の置換
(5) スライシング(部分参照)
(6) 軸(axis)の入れ替え
※「転置について」以下の通り、軸の順番を逆順に変更する
・2次元の場合・・・transpose(1,0)と同じ
・3次元の場合・・・transpose(2,1,0)と同じ
・4次元の場合・・・transpose(3,2,1,0)と同じ