分類のMLPが回帰のMLPとどのように、そしてなぜ異なるのですか?異なる逆伝播と伝達関数?


8

2つの3レイヤーフィードフォワードマルチレイヤーパーセプトロン(MLP)を使用しています。同じ入力データ(14個の入力ニューロン)を使用して、1つの分類(true / false)と1つの回帰(trueの場合は「どのくらい」)を行います¹。これまでは、Matlabsのpatternnetfitnetをそれぞれ遅延して使用してきました。怠惰です。何が起こっているのかを本当に理解するのに時間をかけていなかったからです。さらに、OSSライブラリ(おそらくFANN)に移行する必要があります。これには、Matlab NN Toolboxよりも多くの手動設定が必要になる可能性があります。したがって、私は何が起こっているのかをより正確に理解しようとしています。

ネットワークにより作成されたpatternnetfitnetほぼ同一である:14個の入力ニューロン、11個の隠されたニューロン、1個の標的ニューロン(2ためのfitnet情報のが、唯一1個)。しかし、それらは完全に同一ではありません。デフォルトの違いは次のとおりです。

それらの違いはありますか?

分類にはどのような逆伝播関数が最適で、回帰にはどのような種類の関数が最適ですか?なぜですか?

分類にはどのような伝達関数が最適で、回帰にはどのような種類の伝達関数が最適ですか?なぜですか?


¹ 分類が「曇り」または「クラウド・フリー」(2つの相補的ターゲット)のためである、回帰は、「どのくらいの雲」(1ターゲット)を定量化するためのものです。

回答:


2

主な違いは、トレーニング基準にあります。最小二乗トレーニング基準は、ガウスノイズが応答(ターゲット)変数を破損していると仮定して、モデルパラメーターの(ペナルティ付き)最尤推定を与えるため、回帰によく使用されます。分類問題では、ベルノイリまたは多項損失を仮定して最尤推定を行うために、クロスエントロピートレーニング基準を使用するのが一般的です。どちらの方法でも、モデル出力はクラスメンバーシップの確率の推定値として解釈できますが、出力層でロジスティックまたはソフトマックスのアクティブ化関数を使用するのが一般的であるため、出力は0と1の間にあるように制約され、合計は1になります。 tanh関数を使用する場合、1を追加して2で除算することで、これらを確率に再マッピングできます(ただし、それ以外は同じです)。

スケーリングされた共役勾配とLevenberg-Marquardtの違いは、一般化のパフォーマンスの点ではかなり小さいと思われます。

MATLAB独自のニューラルネットワークツールボックスよりも、MATLAB のNETLABツールボックスを強くお勧めします。過適合を避けるためにベイジアン正規化を調査することはおそらく良い考えです(Chris Bishopのは読む価値があり、そのほとんどはNETLABツールボックスでカバーされています)。


興味深い—なぜ、MATLAB独自のNNツールボックスよりもNETLABを強く推奨するのですか?私は後者にはかなり満足していますが、商用ライセンスを免れるために離れることを目指しています。Netlabは明らかにMatlabであるため、独立性に関しては問題の半分しか解決しません。私はできればPythonで使用できるものを使用したいと思います。
gerrit 2013

NETLABは、商用ライセンスの問題を解決するオクターブでも動作すると思います。私はNETLABを好みます。これは、分類と回帰のための基本的なツールが非常に簡単に設定され、正規化されたネットワークの使用を促進するためです。それはまた、Chris Bishopの本を非常によく補足しており、怒りの中でニューラルネットワークを使用したいと思っていたすべての人におすすめしたい本です。ガウスのプロセスはGPMLツールボックスや書籍も非常に(推奨されている、が、より近代的なオプションですgaussianprocess.org/gpmlを)。
Dikran Marsupial

なるほど、分かりました。それはいつも私にとってはうまくいきました、私は早期停止での過剰適合問題を抱えていませんでした。Octaveで要点はわかりますが、とにかく移行する必要がある場合は、すぐにPythonに移行したいと思います(Octaveに拍手を送ります。R2008a後のクラスに大きく依存しているMatlabコードを実行できたらいいのにと思います。 ;しかし、Matlabは、OctaveよりもFOSS Matlabクローンを選択するのに十分な言語としては好きではありません。とにかく、この議論は話題から外れています)。
gerrit

かなり長い間私自身でpythonを学ぶことを意味していましたが、それは機械学習コミュニティで非常に多く使用されているので、いくつかの優れたライブラリが利用可能であることを期待しています。
Dikran Marsupial
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.