Keras实现一个简单的线性回归

该博客介绍了如何用Keras实现一个简单的线性回归模型,其中y与x的关系设定为y=2x+3。模型中dense层的输出维度为1,参数包括权重w和偏置b,总共2个可训练参数。通过model.summary()展示网络结构,利用get_config()和get_weights()获取layer配置及参数,显示kernel为2,bias为3。
摘要由CSDN通过智能技术生成

这里设置x,y的关系是y=2x+3

因为输入的x是1维的数字,输出的y也是1维的,所以dense层的输出维度为1,总共的参数为(1+1)*1=2个,分别是w和b

# import packages
import numpy as np
from keras.models import *
from keras.layers import *
import matplotlib.pyplot as plt

# generate data
x_train = np.linspace(-1, 1, 200)
y_train = 2 * x_train + np.random.normal(3, 0.5, (x_train.shape[-1]))
x_test = np.linspace(-1, 1, 100)
y_test = 2 * x_test + np.random.normal(3, 0.5, (x_test.shape[-1]))

# initialize model
lr_model = Sequential()
lr_model.add(Dense(1, activation='linear', input_dim=1, name='dense_1'))
lr_model.compile(loss='mse', optimizer='sgd')

# train
lr_model.fit(x_train, y_train, batch_size=32, epochs=500, verbose=1)

# evaluate
x = lr_model.evaluate(x_test, y_test, batch_size=32)
print(lr_model.layers[0].get_weights())
print(lr_model.layer
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值