谁能向我解释如何处理更复杂的数据集,例如团队统计数据、天气、骰子、复杂的数字类型

我理解所有的数学以及一切是如何工作的我只是不知道如何输入更复杂的数据,然后如何读取它吐出的数据

如果有人可以提供 python 示例,那将会有很大帮助

有帮助吗?

解决方案

您必须将输入和输出编码为可由神经网络单元表示的内容。 (例如1表示“x具有某个属性p”-1表示“x没有属性p”,如果单位的范围是[-1,1])

您对输入进行编码的方式以及解码输出的方式取决于您想要训练神经网络的方式。

此外,还有许多“神经网络”。算法和不同任务的学习规则(反向传播,boltzman机器,自组织映射)。

其他提示

您的特征必须分解为可以表示为实数的部分。神经网络的神奇之处在于它是一个黑匣子,在训练过程中将建立正确的关联(具有内部权重)


输入

选择准确描述情况所需的尽可能少的特征,然后将每个特征分解为一组实数值。

  • 天气:[今天温度,今天湿度,昨天温度,昨天湿度...] 今天的温度和湿度之间的关联是在内部建立的
  • 球队统计:[平均身高、平均体重、最大身高、最高分……]
  • 骰子: 不确定我是否理解这一点,您的意思是如何对离散值进行编码?*
  • 复数:[A,人工智能,b,,...]

* 离散值特征很棘手,但仍然可以编码为(0.0,1.0)。问题是他们不提供学习阈值的梯度。


输出

您决定输出的含义,然后以该格式对训练示例进行编码。输出值越少,训练就越容易。

  • 天气:[明天下雨的可能性,明天的温度,...] **
  • 球队统计:【获胜几率,获胜几率超过20,……】
  • 复数:[X,,...]

** 这里是你的 训练 向量将是:如果第二天下雨,则为 1.0;如果没有下雨,则为 0.0


当然,这个问题是否真的可以通过神经网络建模是另一个问题。

更复杂的数据通常意味着在输入和输出层添加更多神经元。

您可以为每个“字段”提供信息。您的寄存器,正确编码为每个输入神经元的实数值(标准化等),或者您甚至可以进一步分解为位字段,为神经元分配饱和输入1或0 ...对于输出,这取决于你如何训练神经网络,它将试图模仿训练集输出。

您必须为问题所需的输入和输出添加单位数。如果要近似的未知函数取决于 n 参数,则您将有n个输入单位。输出单元的数量取决于功能的性质。对于具有n个实数参数的实际函数,您将有一个输出单元。

有些问题,例如在预测时间序列时,你将有m个输出单位用于函数的m个连续值。编码很重要,取决于选择的算法。例如,在前馈网络的反向传播中,如果可能的话,最好转换离散输入中的更多数量的特征,如分类任务。

编码的其他方面是您必须根据数据量来评估输入和隐藏单位的数量。由于过程ff维度问题,与数据相关的太多单元可能给出差的近似。在某些情况下,您可能以某种方式聚合某些输入数据以避免该问题或使用某种减少机制作为PCA。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top