「ニューラルネットワーク自作入門」サポートサイト
このページは2017年4月発行、マイナビ出版刊『ニューラルネットワーク自作入門』(ISBN978-4-8399-6225-8)』のサポートページです。
公開日:2017年4月7日
更新日:2019年2月7日
3刷発行:2017年7月7日
発行:マイナビ出版
商品紹介ページへ戻る
関連サイト情報
: Anacodaのダウンロード(2017/04現在)
: 原著のGitHub
: 原著のサポートサイト
https://github.com/makeyourownneuralnetwork/makeyourownneuralnetworkにアクセスし[Clone or download]をクリックし[Download ZIP]をクリックすることでプロジェクト全体のコードをZIP圧縮したファイルをダウンロードできます。
gitをインストール済みの場合は
git clone https://github.com/makeyourownneuralnetwork/makeyourownneuralnetwork.git
でコマンド実行フォルダにダウンロード可能です。
プログラムコードの提供
●コード、データのダウンロード
Part 2:
172ページ:「2.4.8 完成版ニューラルネットワークコード」
https://github.com/makeyourownneuralnetwork/makeyourownneuralnetwork/blob/master/part2_neural_network.ipynb
176ページ:MNISTデータベースのCSVファイル
http://pjreddie.com/projects/mnist-in-csv/
176、265ページ: 訓練データ
http://www.pjreddie.com/media/files/mnist_train.csv
176、265ページ: テストデータ
http://www.pjreddie.com/media/files/mnist_test.csv
178ページ:MNIST テストデータからの10データ
https://raw.githubusercontent.com/makeyourownneuralnetwork/makeyourownneuralnetwork/master/mnist_dataset/mnist_test_10.csv
179ページ:MNIST 訓練データからの100データ
https://raw.githubusercontent.com/makeyourownneuralnetwork/makeyourownneuralnetwork/master/mnist_dataset/mnist_train_100.csv
188ページ:「2.5.2 MNIST 訓練データの準備」のコード
https://github.com/makeyourownneuralnetwork/makeyourownneuralnetwork/blob/master/part2_neural_network_mnist_data.ipynb
199ページ:「2.5.4 完全データセットによる学習とテスト」のコード
https://github.com/makeyourownneuralnetwork/makeyourownneuralnetwork/blob/master/part2_neural_network_mnist_data.ipynb
189、199ページ:以前のバージョンのコードの履歴ビュー
https://github.com/makeyourownneuralnetwork/makeyourownneuralnetwork/commits/master/part2_neural_network_mnist_data.ipynb
Part 3
215ページ:著者の手書き画像
https://github.com/makeyourownneuralnetwork/makeyourownneuralnetwork/tree/master/my_own_images
216ページ:PNGファイルを読み込むサンプルコード
https://github.com/makeyourownneuralnetwork/makeyourownneuralnetwork/blob/master/part3_load_own_images.ipynb
220ページ:「3.1 自身の手書き文字」のコード
https://github.com/makeyourownneuralnetwork/makeyourownneuralnetwork/blob/master/part3_neural_network_mnist_and_own_data.ipynb
220ページ:「3.2 ニューラルネットワークの心の中」のコード
https://github.com/makeyourownneuralnetwork/makeyourownneuralnetwork/blob/master/part3_neural_network_mnist_backquery.ipynb
226ページ:「3.3 回転による新しい訓練データの作成」のコード
https://github.com/makeyourownneuralnetwork/makeyourownneuralnetwork/blob/master/part3_neural_network_mnist_data_with_rotations.ipynb
●参照ページ
158ページ 関数numpy.random.rand() について|http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.random.rand.html
160ページ 関数numpy.random.normal() について|http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.random.normal.html
176、199、204、207ページ ニューラルネットワークの研究者 Yann LeCun のウェブサイト|http://yann.lecun.com/exdb/mnist/
197ページ 関数numpy.argmax() について|http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.argmax.html
224ページ 関数ndimage.interpolation.rotate() について|http://docs.scipy.org/doc/scipy-0.16.0/reference/generated/scipy.ndimage.interpolation.rotate.html
256ページ Raspberry Pi Zero|https://www.raspberrypi.org/blog/raspberry-pi-zero/
257ページ Raspian|https://www.raspberrypi.org/downloads/raspbian/
正誤情報
以下の正誤がありお詫びして訂正します。見つかり次第更新します。
- 161、165、172、190、208ページ:コードの修正, GitHub上では修正されています
- 誤) self.wih = numpy.random.normal(0.0, pow(self.hnodes, -0.5), (self.hnodes, self.inodes))
self.who = numpy.random.normal(0.0, pow(self.onodes, -0.5), (self.onodes, self.hnodes)) - 正) self.wih = numpy.random.normal(0.0, pow(self.inodes, -0.5), (self.hnodes, self.inodes))
self.who = numpy.random.normal(0.0, pow(self.hnodes, -0.5), (self.onodes, self.hnodes))
▼1,2,3刷
- 67ページ:中央付近
- 誤)1番目の行列の行数と2番目の行列の列数とが等しくなければなりません。
- 正)1番目の行列の列数と2番目の行列の行数とが等しくなければなりません。
- 112ページ:下より5行目
- 誤)正の勾配を持つときは重みを増加させたく、また負の勾配を持つときは重みを減少させたい
- 正)正の勾配を持つときは重みを減少させたく、また負の勾配を持つときは重みを増加させたい
▼1,2刷
- 71,74,76~78,86~89,107,115ページ:"3層のネットワーク"図
- 誤)出力層 第1層
- 正)入力層 第1層
- 142ページ:3行目
- 誤)0からから始まります
- 正)0から始まります
- 142ページ:4-5行目
- 誤)右下は[2,1]ではなく[3,2]です。
- 正)右下は[2,1]であって[3,2]ではありません。
- 156ページ:下より8行目(コード間の本文の2行目)
- 誤)0.5 の学習率を持つ
- 正)0.3 の学習率を持つ
▼1刷
- 3ページ:はじめに, 6行目
- 誤)初心者側の本で内容には
- 正)初心者側の本で内容は
- 32ページ:下より2行目
- 誤)これはここので例
- 正)これはここでの例
- 116ページ:6行目
- 誤)1/(1 + e-2.3) = 0.909 を得ます
- 正)1/(1 + e-2.3) = 0.909 を得ます
- 116ページ:下より6行目
- 誤)学習率が 0.1 の場合、変化量は -(0.1 * - 0.04969) = 0.002650
- 正)学習率が 0.1 の場合、変化量は - 0.1 * (- 0.02650) = 0.002650
- 226ページ:Notebookのファイル名
- 誤)part2_neural_network_mnist_data_with_rotations.ipynb
- 正)part3_neural_network_mnist_data_with_rotations.ipynb
- 256ページ:下より2行目
- 誤)右ページのの写真
- 正)右ページの写真