【发布时间】:2017-08-25 17:17:02
【问题描述】:
我正在尝试使用多层神经网络来预测第 n 个正方形。
我有以下包含前 99 个方格的训练数据
1 1
2 4
3 9
4 16
5 25
...
98 9604
99 9801
这是代码:
import numpy as np
import neurolab as nl
# Load input data
text = np.loadtxt('data_sq.txt')
# Separate it into datapoints and labels
data = text[:, :1]
labels = text[:, 1:]
# Define a multilayer neural network with 2 hidden layers;
# First hidden layer consists of 10 neurons
# Second hidden layer consists of 6 neurons
# Output layer consists of 1 neuron
nn = nl.net.newff([[0, 99]], [10, 6, 1])
# Train the neural network
error_progress = nn.train(data, labels, epochs=2000, show=10, goal=0.01)
# Run the classifier on test datapoints
print('\nTest results:')
data_test = [[100], [101]]
for item in data_test:
print(item, '-->', nn.sim([item])[0])
第 100 和第 101 方格都打印 1:
Test results:
[100] --> [ 1.]
[101] --> [ 1.]
这样做的正确方法是什么?
【问题讨论】:
-
文本变量中数据的格式是什么?
-
你确定神经网络应该能够做到这一点吗?根据我的经验,神经网络并不擅长数学推理。
-
@Seanny123 我不知道。我也试图找到这一点——如果这对于神经网络或人工智能来说是一个很好的问题。如果不是NN,线性分类器会不会很合适?
标签: python-3.x machine-learning tensorflow neural-network artificial-intelligence