使用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 urlopen 使用小示例
Sep 06 Python
pygame播放音乐的方法
May 19 Python
Python 迭代器工具包【推荐】
May 06 Python
Python 基础教程之闭包的使用方法
Sep 29 Python
python MysqlDb模块安装及其使用详解
Feb 23 Python
python实现泊松图像融合
Jul 26 Python
基于tensorflow加载部分层的方法
Jul 26 Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
Jan 30 Python
python+django+rest框架配置创建方法
Aug 31 Python
pytorch多GPU并行运算的实现
Sep 27 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
Jan 16 Python
详解Python中的编码问题(encoding与decode、str与bytes)
Sep 30 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
php 服务器调试 Zend Debugger 的安装教程
2009/09/25 PHP
用PHP实现读取和编写XML DOM代码
2010/04/07 PHP
PHP APC的安装与使用详解
2013/06/13 PHP
php过滤XSS攻击的函数
2013/11/12 PHP
Yii2设置默认控制器的两种方法
2017/05/19 PHP
php连接sftp的作用以及实例代码
2019/09/23 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
制作特殊字的脚本
2006/06/26 Javascript
javascript 中String.match()与RegExp.exec()的区别说明
2013/01/10 Javascript
select标签模拟/美化方法采用JS外挂式插件
2013/04/01 Javascript
document节点对象的获取方式示例介绍
2013/12/24 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
2014/06/03 Javascript
jQuery常用操作方法及常用函数总结
2014/06/19 Javascript
JQuery中extend的用法实例分析
2015/02/08 Javascript
你不知道的高性能JAVASCRIPT
2016/01/18 Javascript
浅谈javascript中遇到的字符串对象处理
2016/11/18 Javascript
Bootstrap 下拉多选框插件Bootstrap Multiselect
2017/01/22 Javascript
Angular2学习教程之ng中变更检测问题详解
2017/05/28 Javascript
浅谈jQuery框架Ajax常用选项
2017/07/08 jQuery
vue2中filter()的实现代码
2017/07/09 Javascript
使用proxy实现一个更优雅的vue【推荐】
2018/06/19 Javascript
vue.js 双层嵌套for遍历的方法详解, 类似php foreach()
2018/09/07 Javascript
Flutter 超实用简单菜单弹出框 PopupMenuButton功能
2019/08/06 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
2020/03/03 Javascript
vuex入门最详细整理
2020/03/04 Javascript
[01:56]生活中的妖精之七夕特别档
2016/08/09 DOTA
[03:59]第二届DOTA2亚洲邀请赛选手传记-VGJ.rOtk
2017/04/03 DOTA
Python自定义函数的创建、调用和函数的参数详解
2014/03/11 Python
讲解Python中if语句的嵌套用法
2015/05/14 Python
Python ftp上传文件
2016/02/13 Python
python搜索包的路径的实现方法
2019/07/19 Python
django 多数据库及分库实现方式
2020/04/01 Python
Django如何实现密码错误报错提醒
2020/09/04 Python
pycharm永久激活超详细教程
2020/10/29 Python
给学校建议书范文
2014/05/13 职场文书
业务员管理制度范本
2015/08/06 职场文书