これまでにニューラルネットワークで見たほとんどの例では、ネットワークは分類に使用され、ノードはシグモイド関数で変換されます。ただし、ニューラルネットワークを使用して連続的な実数値を出力したいと思います(現実的には、出力は通常-5〜+5の範囲になります)。
私の質問は:
1. Should I still scale the input features using feature scaling? What range?
2. What transformation function should I use in place of the sigmoid?
私は最初にこれらのレイヤータイプを記述するPyBrainを実装したいと考えています。
だから私は、すべての線形レイヤーである3つのレイヤー(入力、非表示、および出力レイヤー)を開始する必要があると考えていますか?それは合理的な方法ですか?または、シグモイド関数を-5〜5の範囲で「ストレッチ」できますか?
1
確かにあなたはシグモイドを使用することができ 。たとえば、ロジスティック関数から始まり、10を掛け、5を引く...
—
cbeleitesはMonicaをサポートしています
2つの非表示レイヤーの使用を避けている特別な理由はありますか?これは、ニューラルネットワークから実際の値の連続出力を取得する最も簡単な方法のようです。:ミッチェルの機械学習テキストスライド26からノートに記載された(「任意の関数は、二つの隠れ層を有するネットワークによって任意の精度で近似することができる」cs.cmu.edu/afs/cs.cmu.edu/project/theo-20/ www / mlbook / ch4.pdf)
—
クリスシモカット
@ChrisSimokat:いいえ、しかし、私がこれまで読んだことのほとんどは、合理的な出発点として単一の隠されたレイヤーを示唆しています。単一の隠れ層ネットワークは機能を近似できませんか?
—
ユーザー
@ChrisSimokat:何かが足りないかもしれませんが、単一の隠れ層が「単一層パーセプトロン」に等しくないと思いましたか?
—
ユーザー
いいえ、あなたは何も見逃していません。私はちょうどそれを読んでいないようです。
—
クリスシモカット