More Related Content
[第2版]Python機械学習プログラミング 第15章 [第2版]Python機械学習プログラミング 第13章 [第2版]Python機械学習プログラミング 第14章 [第2版]Python機械学習プログラミング 第16章 Differentiable neural conputers Mxnetによるデープラーニングでセミの抜け殻を識別する [DL輪読会]Xception: Deep Learning with Depthwise Separable Convolutions BMS Molecular Translation 3rd place solution What's hot (20)
[DL輪読会] Hybrid computing using a neural network with dynamic external memory Hybrid computing using a neural network with dynamic NIPS2019 Amazon「think globally, act locally : a deep neural network approach... Learning Convolutional Neural Networks for Graphs 論文紹介 Pixel Recurrent Neural Networks [DL輪読会]QUASI-RECURRENT NEURAL NETWORKS [DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R... 0から理解するニューラルネットアーキテクチャサーチ(NAS) GCEをTensorFlowの「計算エンジン」にする 2015年9月18日 (GTC Japan 2015) 深層学習フレームワークChainerの導入と化合物活性予測への応用 Similar to [第2版]Python機械学習プログラミング 第12章 (20)
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1 ハンズオン セッション 3: リカレント ニューラル ネットワーク入門 「深層学習」勉強会LT資料 "Chainer使ってみた" 「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化 PythonによるDeep Learningの実装 TensorflowとKerasによる深層学習のプログラム実装実践講座 A yet another brief introduction to neural networks Scikit-learn and TensorFlow Chap-14 RNN (v1.1) 深層学習 勉強会第1回 ディープラーニングの歴史とFFNNの設計 2018年01月27日 Keras/TesorFlowによるディープラーニング事始め More from Haruki Eguchi (13)
[第2版]Python機械学習プログラミング 第12章 [第2版]Python機械学習プログラミング 第11章 [第2版]Python機械学習プログラミング 第10章 [第2版]Python機械学習プログラミング 第9章 [第2版]Python機械学習プログラミング 第8章 [第2版]Python機械学習プログラミング 第7章 [第2版]Python機械学習プログラミング 第6章 [第2版] Python機械学習プログラミング 第5章 [第2版] Python機械学習プログラミング 第4章 [第2版] Python機械学習プログラミング 第3章(5節~) [第2版] Python機械学習プログラミング 第3章(~4節) [第2版] Python機械学習プログラミング 第2章 [第2版] Python機械学習プログラミング 第1章 [第2版]Python機械学習プログラミング 第12章
- 11. 多層パーセプトロンを実装する
● MNISTデータセットのトレーニング
11
>>> nn = NeuralNetMLP(n_hidden=100,
... l2=0.01,
... epochs=200,
... eta=0.0005,
... minibatch_size=100,
... shuffle=True,
... seed=1)
>>> nn.fit(X_train=X_train[:55000],
... y_train=y_train[:55000],
... X_valid=X_train[55000:],
... y_valid=y_train[55000:])
200/200 | Cost: 5065.78 | Train/Valid Acc.: 99.28%/97.98%
コスト
正解率
正解率の差が
開いていっていることが分かる
- 12. 多層パーセプトロンを実装する
● 正しく分類できなかった数字
12
miscl_img = X_test[y_test != y_test_pred][:25]
correct_lab = y_test[y_test != y_test_pred][:25]
miscl_lab = y_test_pred[y_test != y_test_pred][:25]
fig, ax = plt.subplots(nrows=5, ncols=5, sharex=True, sharey=True,)
ax = ax.flatten()
for i in range(25):
img = miscl_img[i].reshape(28, 28)
ax[i].imshow(img, cmap='Greys', interpolation='nearest')
ax[i].set_title('%d) t: %d p: %d' ¥
% (i+1, correct_lab[i], miscl_lab[i]))
ax[0].set_xticks([])
ax[0].set_yticks([])
plt.tight_layout()
plt.show()
人が正しく分類するのが難しいものもあることがわかる
Editor's Notes
- #3: IMDb: Internet Movie Database
- #5: 入力と重みを掛け合わせ、総入力関数に入れて活性化関数を通り、単位ステップ関数でクラスラベルを予測する。
勾配降下法を使って、重みの更新を行う
η(イーター):学習率
- #6: 隠れ層が1つ以上存在するネットワークは「ディープ人工ニューラルネットワーク」と呼ばれる
inとh、hとoutはそれぞれ完全に結合している。
a0はバイアスユニットで1に設定されている。入力にバイアスを足したものが伝搬する。
- #7: 隠れ層の総入力z^(h)は入力層aとhへの重みwの内積をとったもので、
それらを活性化関数(シグモイド関数)に入れて、隠れ層へ伝播する。
- #15: a: シグモイド関数
t: ネットワーク内のパーセプトロンの数
i: トレーニングサンプルのindex数(28*28個)
- #19: オンライン学習:通常の勾配降下法よりも早く収束し、早いが、外れ値に影響されやすかったりもする
ミニバッチは:ベクトル化された実装で計算を行えるので計算効率が良い、そして重みの更新も速い