首页 > 其他 > 详细

keras_非线性回归

时间:2020-04-07 01:32:50      阅读:92      评论:0      收藏:0      [点我收藏+]

keras是tensorflow里的高阶API库,几行代码就可以构建一个神经网络。

可以利用keras做非线性回归。

生成一组数据

1 import numpy as np
2 import matplotlib.pyplot as plt
3 x=np.linspace(-10,10,100)
4 y=x**2+np.random.rand(100)*10
5 fig1,ax1=plt.subplots()
6 ax1.scatter(x,y)
7 plt.show()

技术分享图片

完整程序:

 

 1 import tensorflow as tf
 2 import numpy as np
 3 import matplotlib.pyplot as plt
 4 
 5 #生成试验数据
 6 x=np.linspace(-10,10,100)  
 7 x=tf.convert_to_tensor(x)
 8 y=x**2+np.random.rand(100)*10
 9 
10 #建立模型
11 #设置层
12 model=tf.keras.Sequential([
13     #1-2层,输入层一个神经元,隐层100个神经元,激活函数sigmoid
14     tf.keras.layers.Dense(100,activation=sigmoid,input_dim=1),
15     tf.keras.layers.Dense(1)#3层,输出层一个神经元,输出一个数
16 ])
17 #编译模型
18 ssgd=tf.keras.optimizers.SGD(lr=0.005)#设置学习率0.005
19 #损失函数设为:mse(均方误差),优化器设为:SGD(梯度下降)
20 model.compile(loss=mse,optimizer=ssgd)
21 #训练模型
22 model.fit(x,y,epochs=2000)#迭代2000次
23 print(训练结束)
24 #绘图
25 a=model.predict(x)
26 fig1,ax1=plt.subplots()
27 ax1.scatter(x,y)
28 fig,ax=plt.subplots()
29 ax.scatter(x,y)
30 ax.plot(x,a,r)
31 plt.show()

技术分享图片

 

keras_非线性回归

原文:https://www.cnblogs.com/winterbear/p/12650539.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!