【发布时间】:2019-04-26 10:10:07
【问题描述】:
我想使用神经网络逼近 sinc 函数。这是我的代码:
import tensorflow as tf
from keras.layers import Dense
from keras.models import Sequential
N = 10000
x1 = numpy.empty((N,))
x2 = numpy.empty((N,))
x3 = numpy.empty((N,))
z1 = numpy.empty((N,))
z2 = numpy.empty((N,))
y = numpy.empty((N,))
for i in range(N):
x1[i] = random.uniform(-10, 10)
x2[i] = random.uniform(-10, 10)
x3[i] = random.uniform(-10, 10)
z1 = x1 + x2 - x3
z2 = -x1 + x2 + x3
for i in range(N):
y[i] = (numpy.sin(z1[i])/z1[i])*(numpy.sin(z2[i])/z2[i])
y = y.reshape(-1, 1)
scaler = MinMaxScaler()
x1 = scalar.fit_transform(x1)
x2 = scalar.fit_transform(x2)
x3 = scalar.fit_transform(x3)
y = scalar.fit_transform(y)
model = Sequential()
model.add(Dense(50, activation='relu', input_shape=(3,)))
model.add(Dense(1, activation='relu'))
model.fit(X, y, epochs=50, verbose=1, batch_size=2)
我见过类似的代码,其中X 和Y 是两个一维矩阵,但就我而言,我应该使用三个输入值计算y。对于我的情况,上面代码中的X 是什么?换句话说,我应该如何使用x1、x2和x3创建X?
【问题讨论】:
-
通常
X将是一个Nx3 矩阵,但这取决于fit()的工作方式。在您的情况下,create_model是什么?包裹里的东西? -
@Simon 我在代码中添加了模型
标签: python neural-network regression