1

我正在将本教程更改为 matlab,我试图在其中进行分类1/0。我的每个数据点x都是维度的30,即它有 30 个特征。这是我的第一个NN。

我的问题是,当我尝试计算a1=np.tanh(z1)或在 matlab 中a1 = tanh(z1);我得到一个1-1值,因为 | z1|>2。

  • 我应该标准化这些值吗?
  • 我在本教程中错过了保持在 -2 < z1 < 2 范围内的任何承诺吗?
  • 我是否正确假设这是一个超出界限的问题?
4

1 回答 1

2

输入值应始终标准化,通常为 [0, 1] 范围。否则网络可能无法训练。

另一件值得注意的事情是,您使用 tanh 作为激活函数,并且此函数在极端情况下会饱和,这意味着梯度为零。ReLU (max(0, x)) 等其他激活函数没有这个问题。值得一试。

于 2017-01-24T12:11:23.853 回答