神经网络做数据分类

问题描述

给定两个范围在[-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%

results matching ""

    No results matching ""