Machine learning 神经网络中的单位是什么(反向传播算法)

Machine learning 神经网络中的单位是什么(反向传播算法),machine-learning,artificial-intelligence,neural-network,classification,backpropagation,Machine Learning,Artificial Intelligence,Neural Network,Classification,Backpropagation,请帮助我理解神经元网络中的单位事物。从书中我了解到,输入层中的一个单元表示训练元组的一个属性。然而,目前还不清楚它到底是如何做到的 图如下: 关于输入单元有两条“思考路径”。第一种可能是X1代表attr1,X2代表attr2。。。否则,可能是X1、X2和X3代表attr1,但X1代表值X3代表值。值为三个。所以,在最起码的情况下,如果attr1=Value.Value\u TWO,那么它会加权并同时馈送到第二层 公共类元组 { 私人价值属性1 私人价值属性2 私人价值属性3 } 公共枚举值 {

请帮助我理解神经元网络中的单位事物。从书中我了解到,输入层中的一个单元表示训练元组的一个属性。然而,目前还不清楚它到底是如何做到的

图如下:

关于输入单元有两条“思考路径”。第一种可能是X1代表attr1X2代表attr2。。。否则,可能是X1X2X3代表attr1,但X1代表X3代表值。值为三个。所以,在最起码的情况下,如果attr1=Value.Value\u TWO,那么它会加权并同时馈送到第二层

公共类元组
{
私人价值属性1
私人价值属性2
私人价值属性3
}
公共枚举值
{
价值观,
二,,
价值三
}
第二个问题是关于隐藏层单位。如何决定隐藏层中的单位数量,以及它们在模型中代表什么?

这些“单位”只是浮点值

在那里发生的所有计算都是向量乘法,因此可以使用矩阵乘法和GPU硬件很好地并行化

一般计算如下所示:

double v phi(double[] x, double[] w, double theta) {
  double sum = theta;
  for(int i = 0; i < x.length; i++)
    sum += x[i] * w[i];
  return tanh(sum);
}
双vφ(双[]x,双[]w,双θ){
双和=θ;
对于(int i=0;i

除了你不想自己在Java代码中这样做。您希望在GPU上以并行方式执行此操作,因为这样会快100倍。

据我所知,x[]是元组属性的数字表示,w[]是其连接的权重,但我仍然不知道如何从元组属性派生x[I]。假设输入数据是数字。您可以尝试使用诸如male=0、female=1之类的编码。这很有意义,因此属性(x[])必须是有序的。输入层中的单元数等于具有元组的属性数。但是,仍然不清楚隐藏层的单位,我应该如何定义那里的单位数量。在我使用的书中的图表上,隐藏层的单位数量较少,这是没有意义的。这取决于你的领域。通常,每个级别中的隐藏单元比输入层中的隐藏单元少,因为您需要抽象。但NNs似乎在应用于例如维数远高于所需的图像数据时效果最佳。