【问题标题】:Design neural network and implement it on tensorflow设计神经网络并在 tensorflow 上实现
【发布时间】:2021-06-10 09:47:07
【问题描述】:

我一直在尝试设计可以拟合这个多项式函数的神经网络:

y = 2x^2 + 4x^3 + 5

我做到了

import numpy as np
import matplotlib.pyplot as plt
from sklearn.preprocessing import PolynomialFeatures
import tensorflow as tf
from tensorflow import keras

def dataset(show=True):
    X = np.arange(-25,25,0.1)
    y = 2*X**2 + 4*X**3 + 5 +  np.random.randn(500)*1000
    if show :
        plt.scatter(X,y)
        plt.show()
    return X,y

X,y = dataset()

X_scaled = X/max(X)
y_scaled = y/max(y)

poly = PolynomialFeatures(degree=4)
X_4 = poly.fit_transform(X_scaled.reshape(-1,1))

model = tf.keras.Sequential([keras.layers.Dense(units=1,input_shape=[5])])
optimizer = tf.keras.optimizers.Adam(learning_rate=1e-3)
model.compile(optimizer=optimizer,loss='mean_squared_error')
tf_history = model.fit(X_4, y_scaled, epochs=200, verbose=True)

mse = tf_history.history['loss'][-1]
y_hat = model.predict(X_4)

指令说使用 1 个输入、1 个输出和 1 个隐藏层和 3 个神经元。 我应该如何配置这些?

【问题讨论】:

    标签: tensorflow machine-learning deep-learning neural-network


    【解决方案1】:
    model = tf.keras.Sequential()
    
    # hidden layer with 3 neurons
    model.add(tf.keras.layers.Dense(3, activation='relu', input_shape=input_shape))
    
    # output layer
    model.add(tf.keras.layers.Dense(1, activation='relu'))
    

    【讨论】:

      猜你喜欢
      • 2013-06-09
      • 2011-01-02
      • 2016-08-31
      • 1970-01-01
      • 2019-07-18
      • 2012-09-22
      • 1970-01-01
      • 1970-01-01
      • 2016-12-23
      相关资源
      最近更新 更多