已知我们的训练数据集在坐标轴上是线性分布的,求数据集的分布规律,也就是求 Y = wX + b 函数中w和b的值,使得真实值Y1 和求得的值 wX1 + b,误差最小。
手动生成训练数据集:Y = X * 4 + 1 + noise
在训练一千遍之后,我们得到了w的值为4.00232605,b的值为0.99968383,测试集验证x1=1,y1=5.00200989,x2=2,y2= 9.00433594,x3=3,y3=13.00666,基本符合Y = X * 4 + 1规律。
代码:
import tensorflow as tf
import numpy as np
# 随机生成 3000行,1列向量
inputX = np.random.rand(3000,1)
# numpy.random.normal(loc=0.0, scale=1.0, size=None)
# 标准正态分布(μ=0, σ=1),对应loc=0.0, scale=1.0
# loc:此概率分布的均值(对应着整个分布的中心centre)
# scale:此概率分布的标准差(对应于分布的宽度,scale越大越矮胖,scale越小,越瘦高)
# size:输出的shape,默认为None,只输出一个值
noise = np.random.normal(0,0.05,inputX.shape)
# y=4x + 1
outputY = inputX * 4 + 1 + noise
# 第一层
# inputX.shape = (3000, 1)
# inputX.shape[1] = 1
# w 的shape实际是 (1, 4)
weight1 = tf.Variable(np.random.rand(inputX.shape[1],4))
bias1 = tf.Variable(np.random.rand(inputX.shape[1],4))
# x和w的shape行列值正好是相反,原因请看矩阵的线性变换
x1 = tf.placeholder(tf.float64, [None, 1])
# Y = w * X + b 一元线性回归模型
# tf.matmul是矩阵相乘
y1_ = tf.matmul(x1, weight1) + bias1
y = tf.placeholder(tf.float64, [None, 1])
# tf.reduce_sum(tf.square((y1_ - y)) 最小二乘的累加
# tf.reduce_mean 对矩阵降维
loss = tf.reduce_mean(tf.reduce_sum(tf.square((y1_ - y)),reduction_indices=[1]))
# 选择学习率为0.25的梯度下降法
train = tf.train.GradientDescentOptimizer(0.25).minimize(loss)
# 初始化全部变量
init = tf.initialize_all_variables()
sees = tf.Session()
sees.run(init)
# 训练一千遍
for i in range(1000):
sees.run(train, feed_dict={x1:inputX, y:outputY})
print(weight1.eval(sees))
print("====================")
print(bias1.eval(sees))
print("====================")
x_data = np.matrix([[1.],[2.],[3.]])
print(sees.run(y1_,feed_dict={x1: x_data}))
复制
结论:
w值:
[[4.00232605 4.00232605 4.00232605 4.00232605]]
b值:
[[0.99968383 0.99968383 0.99968383 0.99968383]]
计算结果:
[[ 5.00200989 5.00200989 5.00200989 5.00200989]
[ 9.00433594 9.00433594 9.00433594 9.00433594]
[13.006662 13.006662 13.006662 13.006662 ]]
复制
感觉今天的推文有点划水,但其实经典的神经网络模型,也就一百多行代码,随便写个脚本都比这多。神经网络、tensorflow太难了,,2021年立下的flag,要发够12篇深度学习的推文,后悔了,不想学了,太难了。
文章转载自大碗岛星期天下午的梦,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
2025年4月中国数据库流行度排行榜:OB高分复登顶,崖山稳驭撼十强
墨天轮编辑部
2437次阅读
2025-04-09 15:33:27
数据库国产化替代深化:DBA的机遇与挑战
代晓磊
1121次阅读
2025-04-27 16:53:22
2025年3月国产数据库中标情况一览:TDSQL大单622万、GaussDB大单581万……
通讯员
804次阅读
2025-04-10 15:35:48
2025年4月国产数据库中标情况一览:4个千万元级项目,GaussDB与OceanBase大放异彩!
通讯员
633次阅读
2025-04-30 15:24:06
数据库,没有关税却有壁垒
多明戈教你玩狼人杀
559次阅读
2025-04-11 09:38:42
天津市政府数据库框采结果公布,7家数据库产品入选!
通讯员
544次阅读
2025-04-10 12:32:35
国产数据库需要扩大场景覆盖面才能在竞争中更有优势
白鳝的洞穴
525次阅读
2025-04-14 09:40:20
最近我为什么不写评论国产数据库的文章了
白鳝的洞穴
494次阅读
2025-04-07 09:44:54
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
448次阅读
2025-04-17 17:02:24
一页概览:Oracle GoldenGate
甲骨文云技术
447次阅读
2025-04-30 12:17:56