拟合的神经网络-乳腺癌数据集

时间:2018-09-16 21:24:55

标签: python machine-learning neural-network deep-learning classification

我正在尝试为乳腺癌数据集创建一个用于二进制分类的神经网络:

https://www.kaggle.com/uciml/breast-cancer-wisconsin-data

我的神经网络由3层组成(不包括输入层):

第一层:6个具有tanh激活的神经元。

第二层:6个具有tanh激活的神经元。

最后一层:1个具有乙状结肠激活的神经元。

不幸的是,在训练示例中,我的准确率仅为44%,在测试示例中,我的准确率仅为23%。

这是我的python代码:

std::swap

感谢您的帮助:)

1 个答案:

答案 0 :(得分:2)

我认为您的反向传播存在问题(我进行了快速测试,并在Tensorflow上尝试了您的模型,该模型在训练和测试数据上均达到了约92%的准确性)。

我对您的代码进行了以下修改:

dz3 = a3 - y

d3 = np.multiply(dz3, dsigmoid(a3))

您的函数预测也仅返回一个数字,因此它应返回示例数量与之相同的数字

y_predict = np.zeros((m, 1)) for i in range(m): y_predict = 1 if a3[i, 0] > 0.5 else 0 return y_predict

我将此部分更改为

y_predict[a3[:,0] > 0.5] = 1 return y_predict

我进行了2000次训练,并将学习率提高到1(a = 1)