使用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中迭代器(iterator)用法实例分析
Apr 29 Python
Python的CGIHTTPServer交互实现详解
Feb 08 Python
Python在groupby分组后提取指定位置记录方法
Apr 20 Python
python docx 中文字体设置的操作方法
May 08 Python
Python自定义函数实现求两个数最大公约数、最小公倍数示例
May 21 Python
Caffe均值文件mean.binaryproto转mean.npy的方法
Jul 09 Python
Python+OpenCV+pyQt5录制双目摄像头视频的实例
Jun 28 Python
Python3如何在Windows和Linux上打包
Feb 25 Python
django自带的权限管理Permission用法说明
May 13 Python
Python机器学习之基础概述
May 19 Python
Python合并pdf文件的工具
Jul 01 Python
http通过StreamingHttpResponse完成连续的数据传输长链接方式
Feb 12 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
使用Apache的htaccess防止图片被盗链的解决方法
2013/04/27 PHP
php编写的简单页面跳转功能实现代码
2013/11/27 PHP
thinkPHP使用post方式查询时分页失效的解决方法
2015/12/09 PHP
php微信开发接入
2016/08/27 PHP
Nigma vs Liquid BO3 第一场2.14
2021/03/10 DOTA
浏览器兼容console对象的简要解决方案分享
2013/10/24 Javascript
JS组件Bootstrap Select2使用方法解析
2016/05/30 Javascript
浅析Javascript的自动分号插入(ASI)机制
2016/09/29 Javascript
JQuery学习总结【二】
2016/12/01 Javascript
JS出现失效的情况总结
2017/01/20 Javascript
SVG描边动画
2017/02/23 Javascript
轻松理解JavaScript闭包
2017/03/14 Javascript
AngularJs 终极购物车(实例讲解)
2017/11/08 Javascript
重新认识vue之事件阻止冒泡的实现
2018/08/02 Javascript
vue框架下部署上线后刷新报404问题的解决方案(推荐)
2019/04/03 Javascript
微信小程序身份证验证方法实现详解
2019/06/28 Javascript
js实现简单抽奖功能
2020/11/24 Javascript
JS获取一个字符串中指定字符串第n次出现的位置
2021/02/10 Javascript
[02:44]DOTA2英雄基础教程 钢背兽
2013/12/19 DOTA
python实现协同过滤推荐算法完整代码示例
2017/12/15 Python
使用python3+xlrd解析Excel的实例
2018/05/04 Python
Django单元测试中Fixtures的使用方法
2020/02/26 Python
Python3.7下安装pyqt5的方法步骤(图文)
2020/05/12 Python
基于django micro搭建网站实现加水印功能
2020/05/22 Python
python 求两个向量的顺时针夹角操作
2021/03/04 Python
纯CSS实现设置半个字符的样式
2014/07/03 HTML / CSS
Html5如何唤起百度地图App的方法
2019/01/27 HTML / CSS
英国第一家领先的在线处方眼镜零售商:Glasses Direct
2018/02/23 全球购物
德国团购网站:Groupon德国
2018/03/13 全球购物
吉列剃须刀美国官网:Gillette美国
2018/07/13 全球购物
Harman Audio官方商店:购买JBL、Harman Kardon、Infinity和AKG
2019/12/05 全球购物
类如何去实现接口
2013/12/19 面试题
会计电算化专业求职信
2014/06/10 职场文书
2015年创先争优活动总结
2015/03/27 职场文书
Golang 实现超大文件读取的两种方法
2021/04/27 Golang
python中mongodb包操作数据库
2022/04/19 Python