第4章
4.1 ニューラル ネットワークを使用してビジネス地区の分類タスクを完了する
4.1.1 データセットについて
x_train, y_train, l_train = load_dataset("data/train.npz")
fig() + scatter(x_train, y_train, c=l_train)
4.1.2 人工ニューラルネットワークの構築
model = DeepLearning([2,4,4,1])
fig() + structure(model)
4.1.3 ニューラルネットワークのトレーニング
f_train = merge_features([x_train, y_train])
model.demo_train('business')
model.show_learning_curve()
4.1.4 ニューラルネットワークテスト
x_test, y_test, l_test = load_dataset("data/test.npz")
f_test = merge_features([x_test, y_test])
pred = model.predict(f_test)
print(accuracy(pred > 0.5, l_test))
4.1.5 パラメータの調整と再トレーニング
model.reset_weights()
model.loss = 'mse'
model.demo_train('business_mse')
model.show_learning_curve()
pred = model.predict(f_test)
print(accuracy(pred > 0.5, l_test))
4.2 身長に基づいた体重の予測
4.2.1 実験データの書き込み
height, weight = load('hw.train')
height, weight = load('hw.train')
4.2.2 ニューラルネットワークの構築
net = MLP([1, 4, 4, 1])
fig() + structure(net)
4.2.3 ニューラルネットワークのトレーニング
net.train(height, weight)
4.2.4 ニューラルネットワークテスト
t_height, t_weight = load('hw.test')
pred = net.predict(data=t_height)
fig() + scatter(t_height, pred) + scatter(t_height, t_weight)
error = net.compute_error(pred, t_weight)
print("Test error = %f" % error)