任何人都可以向我解释如何处理更复杂的数据集,如团队统计数据,天气,骰子,复杂数字类型
我理解所有数学和一切如何工作我只是不知道如何输入更复杂的数据,然后如何读取它吐出的数据
如果有人可以在python中提供一个很大帮助的例子
答案 0 :(得分:3)
您必须将输入和输出编码为可由神经网络单元表示的内容。 (例如1表示“x具有某个属性p”-1表示“x没有属性p”,如果单位的范围是[-1,1])
您对输入进行编码的方式以及解码输出的方式取决于您想要训练神经网络的方式。
此外,还有许多“神经网络”算法和不同任务的学习规则(反向传播,bolzman机器,自组织映射)。
答案 1 :(得分:2)
您的功能必须分解为可以表示为实数的部分。神经网络的神奇之处在于它是一个黑盒子,在训练期间会产生正确的关联(内部重量)
<强>输入强>
选择尽可能少的功能来准确描述情况,然后将每个功能分解为一组实值数字。
*离散值特征很棘手,但仍然可以编码为(0.0,1.0)。问题是他们没有提供渐变来学习阈值。
<强>输出强>
您决定输出的含义,然后以该格式对训练示例进行编码。输出值越少,训练越容易。
**这里你的训练向量是:如果第二天下雨,则为1.0,如果没有,则为0.0
当然,问题是否可以通过神经网络实际建模是一个不同的问题。
答案 2 :(得分:0)
更复杂的数据通常意味着在输入和输出层添加更多神经元。
您可以为寄存器的每个“字段”提供信号,将其正确编码为每个输入神经元的实数值(标准化等),或者甚至可以进一步分解为位字段,分配饱和输入1或0对于神经元...对于输出,它取决于你如何训练神经网络,它将试图模仿训练集输出。
答案 3 :(得分:0)
您必须为问题所需的输入和输出添加单位数。如果要近似的未知函数取决于 n 参数,则您将有n个输入单位。输出单元的数量取决于功能的性质。对于具有n个实数参数的实际函数,您将有一个输出单元。
有些问题,例如在预测时间序列时,你将有m个输出单位用于函数的m个连续值。编码很重要,取决于选择的算法。例如,在前馈网络的反向传播中,如果可能的话,最好转换离散输入中的更多数量的特征,如分类任务。
编码的其他方面是您必须根据数据量来评估输入和隐藏单位的数量。由于过程ff维度问题,与数据相关的太多单元可能给出差的近似。在某些情况下,您可能以某种方式聚合某些输入数据以避免该问题或使用某种减少机制作为PCA。