

ニューラルネットワークに関する質問です。

ニューラルネットワークでロジスティック回帰を実施するときは学習率や更新回数などを指定しますよね？一方、一般化線形モデルにおけるロジスティック回帰を実施するときにそのようなものを指定した覚えがありません。（Rで言うと
`glm()`）

一般化線形モデルでは学習率などを設定していないんですか？ それとも、内部的に何らかの処理がされているのですか？

双方の数式を示して、ご説明いただければ幸いです


CC BY-SA 3.0
2018-01-11T03:57:57.710
40877
2020-02-19T06:02:50.410
2018-01-11T07:49:50.543
19110
20267
question
python r 機械学習 ニューラルネットワーク
ニューラルネットワークの重み更新


数式、と言われていますが、ひとまずパラメータがない理由を説明できると思ったので、説明するだけします。

ロジスティック回帰は、特定の観測データたちがあらかじめ想定した確率分布に従うとして、その確率分布についてのパラメータをデータから最尤推定します。数学的に解けるので、パラメータはデータを与えれば一意に定まります。

ニューラルネットワークはずっと複雑な数式になって、これの入力データすべてに対する最尤推定は、多分解けません。ただ、特定のデータに対して、ネットワークの出力と解との誤差を関数とした時に、それを最適化する勾配を求めることができます。少し言い換えると、データとそれに対応する回答を固定すると、誤差関数に対して勾配法がつかえる構造を持っています。それぞれのデータに対して、この勾配法によって少しずつ重みを更新する。これを誤差が最小になるまで延々と繰りかえす。これがニューラルネットワークの誤差逆伝播と言われているものの内部ロジックです。そして、この重みをどれぐらい更新するかを学習率といいます。

ニューラルネットワーク(というか、多層パーセプトロン)は、誤差逆伝播が行列演算のみでできるという特性があることと、中間ノードを増やせば無限に精度をあげられることから、パターンマッチでよく利用されます。


CC BY-SA 3.0
2018-01-12T11:39:34.347
40915
2018-01-12T11:39:34.347
754
40877
answer