分类 Python学习笔记 下的文章

使用梯度下降算法

keras.Sequential() #顺序模型

model.add(layers.Dense(1,input_dim=1)) #输入数据1维,输出也是1维

import keras

import numpy as np

import matplotlib.pyplot as plt

x=np.linspace(0,100,30)

y=3*x+7+np.random.randn(30)*8

x

y

plt.scatter(x,y)

model=keras.Sequential()

from keras import layers

model.add(layers.Dense(1,input_dim=1)) 

model.summary()

#编译模型,损失函数,使得损失函数越小越好,adam:梯度下降算法,mse:均方差

model.compile(optimizer='adam',loss='mse')

#训练模型

model.fit(x,y,epochs=3000)

model.predict(x)

plt.scatter(x,y,c='r')
plt.plot(x,model.predict(x))

model.predict([150])