gpt4 book ai didi

使用keras实现非线性回归(两种加激活函数的方式)

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章使用keras实现非线性回归(两种加激活函数的方式)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

我就废话不多说了,大家还是直接看代码吧~ 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import keras
import numpy as np
import matplotlib.pyplot as plt
#Sequential 按顺序构成的模型
from keras.models import Sequential #Sequential是模型结构,输入层,隐藏层,输出层
#Dense 全连接层,Activation激活函数
from keras.layers import Dense,Activation
from keras.optimizers import SGD
 
x_data = np.linspace( - 0.5 , 0.5 , 200 ) #从-0.5到0.5范围内生成200个随机点
noise = np.random.normal( 0 , 0.02 ,x_data.shape) #生成和x_data形状一样的噪声
y_data = np.square(x_data) + noise
 
#显示随机点
#plt.scatter(x_data,y_data)
#plt.show()
 
#构建一个顺序模型
model = Sequential()
 
#1-10-1,添加一个隐藏层
model.add(Dense(units = 10 ,input_dim = 1 ,activation = 'relu' )) #units是隐藏层,输出维度,输出y,input_dim是输入维度,输入x
#model.add(Activation('tanh'))#给这一层添加一个双曲正切激活函数tanh函数
model.add(Dense(units = 1 ,input_dim = 10 ,activation = 'relu' )) #input_dim可以不写,它可以识别到上一句的输出是10维
#model.add(Activation('tanh'))#给这一层添加一个双曲正切激活函数tanh函数
#定义优化器
sgd = SGD(lr = 0.3 ) #学习率提高到0.3,训练速度会加快
 
model. compile (optimizer = sgd,loss = 'mse' ) #编译这个模型,sgd是随机梯度下降法,优化器.mse是均方误差
 
#训练模型
for step in range ( 5001 ):
   #每次训练一个批次
   cost = model.train_on_batch(x_data,y_data) #代价函数的值,其实就是loss
   #每500个batch打印一次cost值
   if step % 500 = = 0 :
     print ( 'cost:' ,cost)
 
#打印权值和偏置值
W,b = model.layers[ 0 ].get_weights() #线性回归,只有一层
print ( 'W:' ,W, 'b:' ,b)
 
#x_data输入网络中,得到预测值y_pred
y_pred = model.predict(x_data)
 
#显示随机点s
plt.scatter(x_data,y_data)
#显示预测结果
plt.plot(x_data,y_pred, 'r-' ,lw = 3 ) #r-表示红色的线,lw表示线宽
plt.show()

结果:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
cost: 0.0077051604
cost: 0.0004980223
cost: 0.00047812634
cost: 0.00047762066
cost: 0.00047761563
cost: 0.00047761557
cost: 0.0004776156
cost: 0.0004776156
cost: 0.0004776156
cost: 0.00047761566
cost: 0.0004776156
W: [[ 0.37828678 0.37509003 0.1847014 - 0.46519393 - 0.6347979 - 0.70865685
   0.55382997 - 0.66780925 0.08229994 0.5980157 ]] b: [ - 0.00412499 - 0.01216194 0.01939214 - 0.03005166 - 0.00475936 - 0.00794064
  - 0.00015427 - 0.01620528 0.08056344 - 0.01741577 ]

使用keras实现非线性回归(两种加激活函数的方式)

以上这篇使用keras实现非线性回归(两种加激活函数的方式)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我.

原文链接:https://blog.csdn.net/iamcfb_/article/details/87461442 。

最后此篇关于使用keras实现非线性回归(两种加激活函数的方式)的文章就讲到这里了,如果你想了解更多关于使用keras实现非线性回归(两种加激活函数的方式)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com