質問: sigmoid(out_in) print(out_out) ``` というコードで簡単なニューラルネットワークの勉強をしています。 この中に出てくる2つの部分がわかりません。 一つは ``` np.random.seed(45) ``` でseedメソッドの役割はnp.random.seed(45)ということだと読みました。 ( http://qiita.com/yubais/items/bf9ce0a8fefdcc0b0c97 ) しかし、np.random.seed(45)をprint文で実行してもNoneと出るだけで 何の数が発生しているのかが分かりません。 でも、最終的にprint(out_out) の部分で小数が出てくるので、np.random.seed(45)の引数の45を固定して発生させるを思いきや、そうではないように思います。 このnp.random.seed(45)の役割は固定された数を45こ発生させているということなのでしょうか?
回答: この「45」は、擬似乱数の**シード値**と呼ばれるものです。 本当にランダムな現象で発生させる乱数もありますが、プログラミングで使う乱数は通常、一定のプログラムで生成していく「擬似乱数」を使っています。 ただ、プログラムが一定で「毎回同じ乱数が発生する」のでは不便なこともあるので、初期化の時にある値(シード値)を指定して、それをもとに乱数を生成するようになっています。 一般に、シード値は時刻など状況に応じて自動設定されますが、「45」のように固定値を指定すれば**毎回同じ組み合わせ**で発生させることができます。