【发布时间】:2019-01-17 14:23:38
【问题描述】:
我正在尝试使用神经网络进行二元分类。它由三层组成。第一层有 3 个输入神经元,隐藏层有 2 个神经元,输出层有 3 个输出二进制值 1 或 0 的神经元。实际上输出通常是浮点数,但通常会四舍五入为整数数字。
如果网络只输出 3 的向量,那么我的输入向量不应该是相同的大小吗?否则,对于分类,您如何将输出映射到输入?
我根据以下文章使用 VBA 在 Excel 中编写了神经网络:https://www.analyticsvidhya.com/blog/2017/05/neural-network-from-scratch-in-python-and-r/ 到目前为止,它的工作原理与文章中描述的完全一样。我目前无法访问机器学习库,所以我选择尝试一下。
例如:
如果网络的输出是 [n, n ,n],那是否意味着我的输入数据也必须是 [n, n, n]?
从我在这里读到的:Neural net input/output
看起来应该是这样的。不过我不完全确定。
【问题讨论】:
-
我认为你有一个很大的误解,神经网络的输入和输出不必是相同的大小,例如,要将 32x32 图像分类为 10 类,你有一个输入32x32,输出 10 个元素。
-
那么,如果你有一个 32x32 的输入和一个 10 个元素的输出,如何将输出映射到输入呢?我想这就是我不明白的。似乎如果输出与输入向量的大小不同,您将无法分类。
-
将输出映射到输入是什么意思?通常的神经网络将输入映射到输出。
-
我想我明白你的意思,网络内部将输入映射到输出。但在外部,我不明白的是这个;在我的特殊情况下,网络输出一个 1 x 3 的向量。我不知道这意味着什么?这如何告诉我它预测的是哪个类?
-
嗯,你必须设计你的网络来适应你的数据,包括输入和输出的维度,所以对我来说 1x3 向量没有任何意义,因为我不知道你打算使用什么数据对于训练,您提到了二元分类,但这不是用 3 个输出神经元完成的。需要详细信息。
标签: neural-network data-science