2017-01-24 4 views
1

私は1/0クラスに分類しようとしているところでthis tutorialをmatlabに変更しています。私の各データ点xは、寸法が30であり、30個の特徴を有する。これは私の最初のNNです。アクティベーション機能の前のデータの正規化

a1=np.tanh(z1)またはmatlab a1 = tanh(z1);を計算しようとすると、私は1または-1の値を取得しています。 z1 |> 2。

  • 値を標準化する必要がありますか?
  • -2 < z1 < 2の範囲内にとどまるためにチュートリアルで逃した約束はありますか?
  • 問題が境界から外れていると仮定して正しいですか?

答えて

3

入力値は常に[0、1]の範囲に正規化する必要があります。ネットワークはそうでなければ訓練しないかもしれない。

注目すべきもう一つのことは、あなたが活性化としてtanhを使用しているということです。この関数は極端に飽和します。これはゼログラジエントを意味します。 ReLU(max(0、x))のような他のアクティベーション関数にはこの問題はありません。それは試してみる価値がある。

+0

...これは、飽和問題を避けるために+1と-1に2次導関数の最大値を持つこの形式のf(x)= 1.7159 * tanh(2/3x)の使用を検討する理由です(正規化入力)。 –

+0

私はシグモイドと同様に両方を試みます。 – havakok

+0

正規化するポイントは?私は 'X'または' z1'を正規化すべきですか? – havakok

関連する問題