神经网络分类数据实现

use*_*211 14 neural-network

我一直在学习使用神经网络作为业余爱好项目,但是如何处理分类数据完全失败了.我阅读了文章http://visualstudiomagazine.com/articles/2013/07/01/neural-network-data-normalization-and-encoding.aspx,它解释了输入数据的规范化,并解释了如何使用效果预处理分类数据编码.我理解将类别分解为向量的概念,但不知道如何实际实现它.

例如,如果我使用国家作为分类数据(例如芬兰,泰国等),我是否会将结果向量处理为单个数字以馈送到单个输入,或者我将为每个组件提供单独的输入向量?在后者的情况下,如果有196个不同的国家,这意味着我只需要196个不同的输入来处理这个特定的数据.如果向网络提供了大量不同的分类数据,我可以看到它变得非常笨重.

有什么我想念的吗?分类数据究竟是如何映射到神经元输入的?

jor*_*nkg 28

神经网络输入

根据经验:不同的类和类别应该有自己的输入信号.


为什么你不能用一个输入编码它

由于神经网络通过激活函数对输入值起作用,因此较高的输入值将导致较高的激活输入.

较高的输入值将使神经元更容易发射.

只要你不想告诉网络Thailand是"更好"比Finland,那么你可能编码国家输入信号InputValue(Finland) = 24, InputValue(Thailand) = 140.

如何不格式化输入


它应该如何编码

每个国家都应该有自己的输入信号,这样它们对激活神经元的贡献相同. 在此输入图像描述

  • 您需要创建一个全新的网络. (3认同)
  • 好答案。对于那些感兴趣的人,此技术称为[一次性](https://en.wikipedia.org/wiki/一次性)编码。有几种工具,例如[Scikit](http://scikit-learn.org/stable/modules/generation/sklearn.preprocessing.OneHotEncoder.html)或[Keras](https://keras.io/ utils /#to_categorical)内置方法,用于处理此类分类数据。 (2认同)