为什么我们在神经网络的输出层有多个神经元?
数据挖掘
机器学习
神经网络
深度学习
2021-09-16 07:41:26
2个回答
如果您想从网络中取出多个东西,则需要多个输出节点。在多类分类的情况下,您需要多个输出,每个类一个。这些代表不同类别的概率分布。对于二进制,您只能使用一个输出,因为另一个类具有1-P
概率。你可以对多类说同样的,你需要少一个,但是这通常是用一个softmax参数化的,它需要分母的所有值。
其他情况可能是例如每个像素一个输出,例如用于图像分割。
神经网络可用于分类和回归任务。它们也用于转录和聚类。他们每个人都可以有自己的特点。对于分类任务,您可能有不同的类别。受过训练的网络应该在与适当输入相对应的其他输出中标记具有最大值的输出。在回归任务中,有不同的情况。假设给你一个包含年龄、性别、身高和其他相关内容的输入特征,你试图同时找到脚的大小和手的长度。我的意思是你有很多输入和输出。作为另一个示例,在检测任务中,系统会询问您所需对象的位置。如果你想使用神经网络来做到这一点,你的系统的输出包括检测到的项目的中心,是一个回归任务。
回归任务的输出解释就像估计一个真实值,这就是为什么线性激活函数被用作最后一层的激活。对于分类任务,这就像寻找概率。您的网络找到的概率取决于最后一层中使用的激活函数。如果您的类是互斥的,并且每个输入应该只有一个标签,那么对于OCR
任务,每个数字图像仅指一个数字,因此类是互斥的,则激活应该是Softmax
并且它表示属于每个类的概率。如果输入可能包含不同的类别,例如包含猫和狗的图像,您可以使用Sigmoid
激活,每个输出代表每个类别存在的机会。你也可以看看在这里。
其它你可能感兴趣的问题