使用神经网络进行非线性回归

问题描述

你如何创建一个神经网络来解决例如:2 * x ** 3 + 4 * x + 8 + 随机噪声? 我可以使用 sklearn 的 LinearRegression 轻松地做到这一点,但我希望能够为多元样本实现这一点,我不知道函数是 log/exp/poly/etc。 谢谢! 阿什坎

解决方法

神经网络中的非线性可以通过简单的具有非线性激活函数的层来实现,例如(relu)。例如:

from tensorflow.keras import Sequential
from tensorflow.keras.layers import Dense

model = Sequential()
model.add(Dense(10,activation='relu',kernel_initializer='he_normal',input_shape=(n_features,)))
model.add(Dense(1))

model.compile(optimizer='adam',loss='mse')
model.fit(X_train,y_train,epochs=10,batch_size=16,verbose=0)

只需要再增加 3 层 - 谢谢托尼!