模拟数据解决二分类问题项目描述



模拟数据解决二分类问题项目描述:
已经发布公众号:
利用Python的numpy模块下的random类生成模拟数据集,然后对这些数据进行交叉熵最小化计算找到最合适的参数,也就完成了整个模型的调整过程。
数据集是一个由两个元素组成的列表的组合列表,通过计算两个元素的和和1的比较来模拟真实情况中的好零件还是坏零件。
数据集如下,只是其中一部分。
 [[  4.17022005e-01   7.20324493e-01]
 [  1.14374817e-04   3.02332573e-01]
 [  1.46755891e-01   9.23385948e-02]
 [  1.86260211e-01   3.45560727e-01]]
 预测值Y就是0,1组成的数列。
 Y is [[0], [1], [1], [1], [1], [0], [0], [1], [1], [1], [0]]

输入数据 x: Tensor("x-input:0", shape=(?, 2), dtype=float32)
真实值y_ : Tensor("y-input:0", shape=(?, 1), dtype=float32)
交叉熵 cross_entropy is: Tensor("Neg:0", shape=(), dtype=float32)
numpy是一个科学计算工具包,这里用来生成模拟数据集
batch就是每次训练多少批次的意思
定义神经网络参数,根据具体的神经网络结构来定义
定义前向传播算法
定义损失函数
定义反向传播算法
随机数生成模拟数据集
定义符合条件的规则:x1+ x2<1是正样本,比如零件合格。0表示负样本,1表示正样本
创建会话运行TensorFlow程序
初始化变量
设定训练的轮数
每次选取batch个样本进行训练
通过选取的样本训练神经网络并且更新参数
隔一段时间计算所有数据集上的交叉熵
看到交叉熵越来越小,说明预测结果和真实值越来越小
最后我们得到了神经网络最合理的参数值。这是我们想要的结果,调整模型其实就是调整参数的过程。

你可能感兴趣的:(AI项目)