Keras实现一个简单的Regression回归
来源:互联网 发布:出库软件哪个好 编辑:程序博客网 时间:2024/06/02 05:37
linux平台下运行,使用Keras框架,其中构建神经网络很简单,例子中指构造了一层神经网络
通过深度学习,将图中的点回归成线性模型,学习直线的W和b
#import various of packagesimport numpy as npnp.random.seed(1337)from keras.models import Sequentialfrom keras.layers import Denseimport matplotlib.pyplot as plt#create some dataX=np.linspace(-1,1,200)np.random.shuffle(X)//最后训练出的结果W越接近0.5,b越接近2则效果越好Y=0.5*X+2+np.random.normal(0,0.05,(200,))#plot dataplt.scatter(X,Y)plt.show()//前160个数据作为训练样本,用于训练模型X_train,Y_train=X[:160],Y[:160]X_test,Y_test=X[160:],Y[160:]#build a neural networkmodel=Sequential()//Dense为全连接层,设定输入和输出的维度,因为每次输入的是一个点,所以维度为1,输出也是一个点,所以维度也为1.model.add(Dense(output_dim=1,input_dim=1))#choose loss function and optimizer//训练之前,编译,设置随时函数,和优化函数model.compile(loss='mse',optimizer='sgd')#training//训练步骤,300次,每100次返回一个损失值print('Training---------------')for step in range(301)://每次训练batch大小的数据量 cost=model.train_on_batch(X_train,Y_train) if step%100==0: print('train cost:',cost)#testprint('\nTesting---------------')cost=model.evaluate(X_test,Y_test,batch_size=40)print('test cost:',cost)//返回权重项和偏置项W,b=model.layers[0].get_weights()print('Weight=',W,'\nbiases=',b)#plotting the prediction//图形化的形式,显示出来Y_pred=model.predict(X_test)plt.scatter(X_test,Y_test)plt.plot(X_test,Y_pred)plt.show()
运行结果:
最后训练结果W=0.49222, b=1.99950
阅读全文
0 0
- Keras实现一个简单的Regression回归
- Keras上实现简单线性回归模型
- Logistic Regression逻辑回归的简单解释
- Keras实现一个简单的CNN的分类例子
- 模式识别与机器学习基础之1-一个简单的回归问题(regression problem)
- Keras上基于TensorFlow实现简单线性回归模型
- 【scala】简单线性回归的随机梯度下降算法实现:Linear Regression - SGD
- 【scala】【spark】基于随机梯度下降的简单线性回归编程实现:Linear Regression - SGD
- 【Breeze】【Scala】基于梯度下降的简单逻辑回归编程实现 Logistic Regression - GD
- tensorflow实现softmax回归(softmax regression)——简单的MNIST识别(第一课)
- 简单线性回归的随机梯度下降算法实现:Linear Regression - SGD
- 简单logistic regression的实现
- 关于逻辑回归(Logistic regression)模型的简单思考
- 用keras创建拟合网络解决回归问题Regression
- 用keras创建拟合网络解决回归问题Regression
- spark实现下的逻辑回归(logistic regression)
- 基于Tensorflow实现基本的线性回归(Linear regression)
- TensorFlow实现一个简单的线性回归预测
- Hive集合数据类型
- linux zip,linux下打包zip文件
- red_black_tree的一个实现(c/c++)
- 特定式子的非线性拟合(使用于数据较少的的时候)
- 查看进程所消耗的内存脚本
- Keras实现一个简单的Regression回归
- 模板方法模式--大步骤一样小实现不同
- 手把手叫你如何集成高德地图,实现地图显示、定位蓝点、大头针显示、获取周围地点信息等
- “多进程”,你不知道的事(下)
- Window系统中MySql 5.7.19 忘记密码该怎么改回来
- HTML-子div在父div中垂直居中
- python002 Python3 基础语法
- KNN算法 代码详细解释
- socket.gaierror Errno -3 Temporary failure in name resolution