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


Posted in Python onJuly 05, 2020

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

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()

结果:

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实现非线性回归(两种加激活函数的方式)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中模拟enum枚举类型的5种方法分享
Nov 22 Python
实例说明Python中比较运算符的使用
May 13 Python
如何将python中的List转化成dictionary
Aug 15 Python
python运行其他程序的实现方法
Jul 14 Python
Django中ORM表的创建和增删改查方法示例
Nov 15 Python
朴素贝叶斯分类算法原理与Python实现与使用方法案例
Jun 26 Python
在Python中定义一个常量的方法
Nov 10 Python
树莓派实现移动拍照
Jun 22 Python
Python字符串处理的8招秘籍(小结)
Aug 13 Python
pytorch制作自己的LMDB数据操作示例
Dec 18 Python
Python栈的实现方法示例【列表、单链表】
Feb 22 Python
python中的插入排序的简单用法
Jan 19 Python
Keras 中Leaky ReLU等高级激活函数的用法
Jul 05 #Python
Django --Xadmin 判断登录者身份实例
Jul 03 #Python
详解Python多线程下的list
Jul 03 #Python
Python 字符串池化的前提
Jul 03 #Python
Pycharm打开已有项目配置python环境的方法
Jul 03 #Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
Jul 03 #Python
windows支持哪个版本的python
Jul 03 #Python
You might like
虹吸壶煮咖啡26个注意事项
2021/03/03 冲泡冲煮
php读取xml实例代码
2010/01/28 PHP
PHP实现文件上传下载实例
2016/10/18 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
php array 转json及java 转换 json数据格式操作示例
2019/11/13 PHP
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
JavaScript 错误处理与调试经验总结
2010/08/10 Javascript
Javascript图像处理—虚拟边缘介绍及使用方法
2012/12/27 Javascript
window.showModalDialog参数传递中含有特殊字符的处理方法
2013/06/06 Javascript
JS获取客户端IP地址、MAC和主机名的7个方法汇总
2014/07/21 Javascript
JQuery中serialize()用法实例分析
2015/02/06 Javascript
jQuery实现手机自定义弹出输入框
2016/06/13 Javascript
Ajax分页插件Pagination从前台jQuery到后端java总结
2016/07/22 Javascript
基于JS+Canves实现点击按钮水波纹效果
2016/09/15 Javascript
JavaScript实现经典排序算法之冒泡排序
2016/12/28 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
2017/06/02 jQuery
利用javascript如何随机生成一定位数的密码
2017/09/22 Javascript
微信小程序模版渲染详解
2018/01/26 Javascript
Vue渲染过程浅析
2019/03/14 Javascript
vue 动态组件用法示例小结
2020/03/06 Javascript
如何使用vue slot创建一个模态框的实例代码
2020/05/24 Javascript
跟老齐学Python之模块的加载
2014/10/24 Python
pandas中read_csv的缺失值处理方式
2019/12/19 Python
python实现自动清理重复文件
2020/08/24 Python
进程的查看和调度分别使用什么命令
2015/03/25 面试题
95%的面试官都会问到的50道Java线程题,附答案
2012/08/03 面试题
直接有效的自我评价
2014/01/11 职场文书
中学生班主任评语
2014/01/30 职场文书
小学教师节活动方案
2014/01/31 职场文书
《那片绿绿的爬山虎》教学反思
2014/02/27 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
挂职学习心得体会
2014/09/09 职场文书
争做文明公民倡议书
2019/06/24 职场文书
Java中try catch处理异常示例
2021/12/06 Java/Android
悬疑名作《朋友游戏》动画无字ED宣传片 新角色公开
2022/04/13 日漫
MySQL的prepare使用以及遇到的bug
2022/05/11 MySQL