LoginSignup
1
6

More than 5 years have passed since last update.

ゼロから作るDeep Learning(4章)

Last updated at Posted at 2017-12-04

4章 ニューラルネットワークの学習

学習アルゴリズムの実装

118ページのサンプルプログラムに誤植?があったので、書き残し

import numpy as np
from dataset.mnist import load_mnist
from two_layer_net import TwoLayerNet

と書いてあるが、datasetが見つかりませんエラーが出た。
datasetフォルダは親フォルダにあるので、親フォルダへのアクセスが必要になる。
mnistデータへのアクセスが登場したページ(73ページ)を参考にして書き直すと以下の通り。

import numpy as np
import sys, os
sys.path.append(os.pardir)
from dataset.mnist import load_mnist
from two_layer_net import TwoLayerNet

この変更で通すことができた。


同サンプルプログラムの中のnp.random.choice(a, b)は初めて出てきた気がする。
動作は、0~(a-1)までの数からb個をランダムに取り出す
なので、

batch_mask = np.random.choice(train_size, batch_size)

でやっているのは、0~783の中からランダムに100個を取り出して、1次元のndarrayを返す


for key in ('W1', 'b1', 'W2', 'b2'):

これも一瞬何やっているのかよくわからなかったが、辞書型でforループしているだけ。
すなわち、W1、b1、W2、b2を順に呼び出して処理しているだけである。


過学習の確認方法

学習用のデータの認識精度と確認用のデータの認識精度を比べる。
両方描画してみて、グラフの形に違いがなければ過学習はしていない。(121,122ページ)

1
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
6