先ずは乱数の扱い方から.
AIとは統計のようなプログラムを書かないと,乱数はあまり使用する機会がないかもしれませんが,工学ではこのような乱数配列を作成する場面はとても多いです(少なくとも私は)
それで,乱数と言っても,利用する機会が多いのは一様乱数と正規乱数だと思います.先ずはこれらの乱数値を得る方法です.まず大前提で,numpyをインポートしておきます.
import numpy as np
この後で,命令と結果を以下の表に示します(こういうふうにまとめた方が一発でわかる)
実行内容 | 命令 | 結果 |
0以上1未満の一様乱数(実数) | np.random.rand() |
|
0以上1未満の一様乱数のd次元配列(実数) | np.random.rand(d) |
|
min以上max未満の一様乱数(整数) | np.random.randint(min, max) |
|
min以上max未満の一様乱数のd次元配列(整数) | np.random.randint(min, max, d) |
|
平均0分散1の正規乱数 | np.random.randn() |
|
平均0分散1の正規乱数のd次元配列 | np.random.randn(d) |
|
これで,乱数配列まで出来る.正規乱数は正規(normalize)の頭文字nが入ってrandnなんだろう.
乱数マトリックス(m行n列)にするには,以下のようにすればよい.
実行内容 | 命令 | 実行結果 |
0以上1未満の一様乱数のm行n列の行列 | np.random.rand(m,n) |
|
min以上max未満の一様乱数(整数)のm行n列の行列 | np.random.randint(min, max, (m,n)) |
|
平均0分散1の正規乱数のm行n列の行列 | np.random.randn(m,n) |
|
これはもう覚えておいた方がいいだろう.特に奇異な法則はないけど,範囲を指定する乱数の場合,マトリクス形式にするには,カッコをいれて行数と列数を書くところがポイント.