使用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里大整数相乘相关技巧指南
Sep 12 Python
Python下的twisted框架入门指引
Apr 15 Python
Python基于回溯法子集树模板解决选排问题示例
Sep 07 Python
Python比较2个时间大小的实现方法
Apr 10 Python
python实现BP神经网络回归预测模型
Aug 09 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
Nov 01 Python
解决Pycharm 导入其他文件夹源码的2种方法
Feb 12 Python
开启Django博客的RSS功能的实现方法
Feb 17 Python
Python进程Multiprocessing模块原理解析
Feb 28 Python
TensorFlow2.1.0最新版本安装详细教程
Apr 08 Python
python3发送request请求及查看返回结果实例
Apr 30 Python
python requests库的使用
Jan 06 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
Yii中的cookie的发送和读取
2016/07/27 PHP
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
2015/01/09 Javascript
animate 实现滑动切换效果【实例代码】
2016/05/05 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
JS得到当前时间的方法示例
2017/03/24 Javascript
微信小程序 获取二维码实例详解
2017/06/23 Javascript
react学习笔记之state以及setState的使用
2017/12/07 Javascript
深入浅出理解JavaScript高级定时器原理与用法
2018/08/02 Javascript
JS+HTML5实现获取手机验证码倒计时按钮
2018/08/08 Javascript
最简单的JS实现json转csv的方法
2019/01/10 Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
2020/04/11 Javascript
Nuxt.js 静态资源和打包的操作
2020/11/06 Javascript
JS实现纸牌发牌动画
2021/01/19 Javascript
vue常用高阶函数及综合实例
2021/02/25 Vue.js
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
python抓取豆瓣图片并自动保存示例学习
2014/01/10 Python
python实现备份目录的方法
2015/08/03 Python
Python实现Sqlite将字段当做索引进行查询的方法
2016/07/21 Python
Python入门之三角函数sin()函数实例详解
2017/11/08 Python
Python中py文件引用另一个py文件变量的方法
2018/04/29 Python
如何基于Python实现电子邮件的发送
2019/12/16 Python
Python底层封装实现方法详解
2020/01/22 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
2020/02/22 Python
Python日志logging模块功能与用法详解
2020/04/09 Python
python 决策树算法的实现
2020/10/09 Python
安装pyinstaller遇到的各种问题(小结)
2020/11/20 Python
优秀少先队员主要事迹材料
2014/05/28 职场文书
教育系统干部作风整顿心得体会
2014/09/09 职场文书
二年级学生期末评语
2014/12/26 职场文书
消防安全主题班会
2015/08/12 职场文书
创业计划书之寿司
2019/07/19 职场文书
创业计划书之淘宝网店
2019/10/08 职场文书
总结Python常用的魔法方法
2021/05/25 Python
OpenCV-Python 实现两张图片自动拼接成全景图
2021/06/11 Python
SQL Server携程核心系统无感迁移到MySQL实战
2022/06/01 SQL Server