使用tensorflow解决XOR问题示例

该博客通过实例展示了如何使用TensorFlow构建一个神经网络来解决经典的XOR问题。作者首先导入相关包,然后设置了包含一层隐藏网络的模型,接着定义了损失函数,并选择了特定的学习率和优化算法进行参数调整。在训练过程中,模型迭代了10000次,每500次打印一次损失值,以此展示模型的训练进展。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 导入包:
import tensorflow as tf
import numpy as np

#定义输入与目标值
X = np.array([[0, 0], [0, 1], [1, 0], [1, 1]])
Y = np.array([[0], [1], [1], [0]])
  1. 设置tensorflow神经网络(包含一层隐藏网络)
#定义占位符,从输入或目标中按行取数据
x = tf.placeholder(tf.float32, [None, 2])
y = tf.placeholder(tf.float32, [None, 1])
#初始化权重,使权重满足正态分布
#w1是输入层到隐含层间的权重矩阵,w2是隐含层到输出层的权重
w1 = tf.Variable(tf.random_normal([2,2]))
w2 = tf.Variable(tf.random_normal([2,1]))
#定义偏移量,b1为隐含层上偏移量,b2是输出层上偏移量。
b1=tf.Variable([0.1,0.1])
b2=tf.Variable(0.1)

#利用激活函数就隐含层的输出值
h=tf.nn.relu(tf.matmul(x,w1)+b1)
#计算输出层的值
out=tf.matmul(h,w2)+b2
  1. 损失函数定义,学习率,优化算法选用
#定义损失函数或代价函数
loss = tf.reduce_mean(tf.square(out - y))
#利用Adam自适应优化算法,学习率0.1
train = tf.train.AdamOptimizer(0.1).minimize(loss)
  1. 运行调参
with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值