# Copyright (c)2018, 东北大学软件学院学生
# All rightsreserved
# 文件名称:test.py
# 作 者:孔云
#问题描述:搭建网络实现。反向传播:训练模型参数,在所有参数上用梯度下降,使 NN 模型在训练数据上的损失函数最小。
#损失函数(loss): 计算得到的预测值 y 与已知答案 y_的差距。
#损失函数的计算有很多方法,均方误差 MSE 是比较常用的方法之一。
#均方误差 MSE: 求前向传播计算结果与已知答案之差的平方再求平均。
# coding:utf-8
# 0导入模块,生成模拟数据集。
import tensorflow as tf
import numpy as np
BATCH_SIZE = 8
SEED = 23455
# 基于seed产生随机数
rdm = np.random.RandomState(SEED)
# 随机数返回32行2列的矩阵 表示32组 体积和重量 作为输入数据集
X = rdm.rand(32, 2)
# 从X这个32行2列的矩阵中 取出一行 判断如果和小于1 给Y赋值1 如果和不小于1 给Y赋值0
# 作为输入数据集的标签(正确答案)
Y_ = [[int(x0 + x1 < 1)] for (x0, x1) in X]
print("X:\n", X)
print ("Y_:\n", Y_)
# 1定义神经网络的输入、参数和输出,定义前向传播过程。
x = tf.placeholder(tf.float32, shape=(None, 2))
y_ = tf.placeholder(tf.float32, shape=(None, 1))
w1 = tf.V