关于将前馈神经网络应用于回归的一些基础知识,我遇到了困难。具体来说,假设我有一个输入变量以及从未知函数生成的数据
我的目标是学习从样品. 我应该如何选择网络的层?我在这里读到,大多数网络都可以使用单个非线性隐藏层。但是我应该在那个层使用哪个激活函数?我尝试了整流器和 sigmoid,但都没有给出有希望的结果。
当我选择常量时, st 的值主要由线性相关决定,而不是从没有隐藏层的线性网络中获得令人满意的结果:
但是作为和增长,预测误差变大,我认为原因是线性层无法捕获数据中的非线性:
关于将前馈神经网络应用于回归的一些基础知识,我遇到了困难。具体来说,假设我有一个输入变量以及从未知函数生成的数据
当我选择常量时, st 的值主要由线性相关决定,而不是从没有隐藏层的线性网络中获得令人满意的结果:
但是作为和增长,预测误差变大,我认为原因是线性层无法捕获数据中的非线性:
好吧,我仍然对以下方面的指南或经验法则感兴趣:样品,如何选择回归神经网络的隐藏层?欢迎提出建议、评论和回答!
不过,在我的问题中,我陈述了一种特殊情况。尽管具有示范性质,但我认为应该从以下角度来处理隐藏层的选择:关系中的非线性可以通过两个概念的组合来捕捉:
让我放下两个旁注:
总之,我实现了“和”层和多项式层。我正在使用Lasagne框架以及scikit-neuralnetwork。
多项式层将每个输入特征(即前一层的神经元)映射到自己的神经元。这些神经元是.
class PolynomialLayer(lasagne.layers.Layer):
def __init__(self, incoming, deg, **kwargs):
super(PolynomialLayer, self).__init__(incoming, **kwargs)
self.deg = deg
def get_output_for(self, input, **kwargs):
monomials = [input ** i for i in range(self.deg + 1)]
return T.concatenate(monomials, axis=1)
def get_output_shape_for(self, input_shape):
return (input_shape[0], input_shape[1] * (self.deg + 1))
“和”层将前一层的所有不同的、无序的特征对连接到神经元中,并重复该层的每个特征。
class AndLayer(lasagne.layers.Layer):
def __init__(self, incoming, **kwargs):
super(AndLayer, self).__init__(incoming, **kwargs)
def get_output_for(self, input, **kwargs):
results = [input]
for i in range(self.input_shape[1]):
for k in range(i + 1, self.input_shape[1]):
results.append((input[:, i] * input[:, k]).dimshuffle((0, 'x')))
return T.concatenate(results, axis=1)
def get_output_shape_for(self, input_shape):
return (input_shape[0], ((input_shape[1] ** 2) + input_shape[1]) / 2)
另一个问题出现了:两个隐藏层应该按什么顺序排列?
这是网络布局:
input layer | polyn. layer | "and" layer
-------------|--------------|-------------
4 neurons | 12 neurons | 78 neurons
这是压倒性的结果:
使用的学习算法是随机梯度下降(SGD),学习率为. SGD 算法是框架的默认值。
我们交换隐藏层的替代网络布局如下所示:
input layer | "and" layer | polyn. layer
-------------|-------------|--------------
4 neurons | 14 neurons | 42 neurons
使用与以前相同的学习率,此布局的训练失败并导致均方根(RMS) 误差约为. 将学习率降低到,至少 SGD 算法正确收敛:
但是,RMS 误差比第一个布局要高得多。这表明,尽管它在神经元数量方面的复杂性较低,但第二种布局在某种程度上对学习率参数更敏感。我仍然想知道,这是从哪里来的:非常欢迎解释!可能与反向传播的性质有关吗?