神经网络做数据分类
问题描述
给定两个范围在[-1, 1]之间的数字[x1, x2],求落在[-0.5, 0.5]之间的数字个数
思路
- 构建一个神经网络,包含若干层,将一系列训练数据输入训练参数进行预测
- 神经网络的每层用一个Relu(Wx+b)实现
问题分解
- 构建数据集
- 实际上,我们需要先判断x是否落在目标区间,是,则为1,不是则为0,将结果相加
- 代码见train_data函数
- 神经网络搭建
- 思路同之前的深度神经网络训练手写文字识别
- 暂时不做优化
- 仅搭建两层神经网络
- 暂时不做validate,因为数据充分,每次训练都是新数据,新数据都相当于validate
代码:digit_nn.py
训练结果
仅截取最后一次结果为例
current first data [0.206416, 0.101028]
current first predict: [0.000000, 0.000177, 0.999823]
Minibatch loss at step 9980: 0.036539
Minibatch accuracy: 100.0%