淄川区建设局网站,兖州城乡建设局网站,怎么给网站备案,培训方案2023.11.28 使用tensorflow进行三好权重分析
这是最基础的一个神经网络问题。许久没有再使用#xff0c;用来做恢复训练比较好。
x1w1 x2w2 x3*w3 y#xff0c;已知x1,x2,x3和y#xff0c;求w1,w2,w3 这是一个三元一次方程#xff0c;正常需要三组数据就能…2023.11.28 使用tensorflow进行三好权重分析
这是最基础的一个神经网络问题。许久没有再使用用来做恢复训练比较好。
x1w1 x2w2 x3*w3 y已知x1,x2,x3和y求w1,w2,w3 这是一个三元一次方程正常需要三组数据就能准确求出解但是如果要在仅有两组数据的情况下进行求解除使用暴力法外采用神经网络是一个不错的选择网络模型图如下
尝试最基础的tensorflow应用三好学生的三好权重分析问题三好指的是品德好学习好体育好有两组分数和各组分数综合值求每个分数的权重
import tensorflow.compat.v1 as tf # tf2.0版本改动太大如果要按1.X版本的格式写需要调用这个库
tf.disable_v2_behavior() # tf2.0版本改动太大如果要按1.X版本的格式写需要调用这个库x1 tf.placeholder(dtypetf.float32)
x2 tf.placeholder(dtypetf.float32)
x3 tf.placeholder(dtypetf.float32)
yTrain tf.placeholder(dtypetf.float32)
在TensorFlow 1.X中创建占位符并在tf.Session实例化时为其提供实际值。但是从TensorFlow2.0开始默认情况下启用了Eager Execution因此“占位符”的概念没有意义因为操作是立即计算的而不是与旧范例不同
w1 tf.Variable(0.1,dtypetf.float32) # 0.1是w1的初始化参数
w2 tf.Variable(0.1,dtypetf.float32)
w3 tf.Variable(0.1,dtypetf.float32)n1 x1 * w1
n2 x2 * w2
n3 x3 * w3y n1 n2 n3loss tf.abs(y - yTrain) # 使用.abs(绝对值)是使实际值和目标值差距最小而不是损失函数数字最小
learning_rate 0.001optimizer tf.train.RMSPropOptimizer(learning_rate) # 选择优化器/分类器train optimizer.minimize(loss) # 训练模型目标是loss最小sess tf.Session()
init tf.global_variables_initializer() # 初始化前述张量tf.
sess.run(init)for i in range(5000):result sess.run([train,x1,x2,x3,w1,w2,w3,y,yTrain,loss],feed_dict{x1:90,x2:80,x3:70,yTrain:85})print(result)result sess.run([train, x1, x2, x3, w1, w2, w3, y, yTrain, loss], feed_dict{x1: 98, x2: 95, x3: 87, yTrain: 96})print(result)循环5000次输出结果
# 输出结果解释
第一个元素 None 表示训练操作 train 的执行结果为空。
第二个元素 array(98., dtypefloat32) 表示输入占位符 x1 的值为 98。
第三个元素 array(95., dtypefloat32) 表示输入占位符 x2 的值为 95。
第四个元素 array(87., dtypefloat32) 表示输入占位符 x3 的值为 87。
第五个元素 0.5828438 表示权重变量 w1 的值为 0.5828438。
第六个元素 0.2860972 表示权重变量 w2 的值为 0.2860972。
第七个元素 0.13144642 表示权重变量 w3 的值为 0.13144642。
第八个元素 96.03325 表示模型输出 y 的值为 96.03325。
第九个元素 array(96., dtypefloat32) 表示目标输出占位符 yTrain 的值为 96。
最后一个元素 0.0332489 表示损失函数 loss 的值为 0.0332489。对比循环500次输出结果循环500次loss尚未稳定和最终结果存在较大偏差