パーセプトロン規則から勾配降下へ:シグモイド活性化関数を持つパーセプトロンはロジスティック回帰とどのように異なりますか?


21

本質的に、私の質問は、多層パーセプトロンにおいて、パーセプトロンがシグモイド活性化機能とともに使用されるということです。更新ルールでは、は次のように計算されます。y^

y^=11+exp(wTxi)

この「シグモイド」パーセプトロンは、ロジスティック回帰とどのように違いますか?

単一層のシグモイドパーセプトロンは、両方とも更新ルールの。また、両方とも予測でをます。ただし、多層パーセプトロンでは、シグモイド活性化関数を使用して、ロジスティック回帰と単層パーセプトロンとは対照的に、オンオフ信号ではなく確率を返します。記号 Y =1y^=11+exp(wTxi)sign(y^=11+exp(wTxi))

「パーセプトロン」という用語の使用法は少し曖昧かもしれないと思うので、単層パーセプトロンについての私の現在の理解に基づいて背景を説明しましょう。

古典的なパーセプトロン規則

まず、ステップ関数があるF. Rosenblattによる古典的なパーセプトロン:

Δwd=η(yiyi^)xidyi,yi^{1,1}

重みを更新するには

wk:=wk+Δwk(k{1,...,d})

したがって、は次のように計算されます。y^

y^=sign(wTxi)=sign(w0+w1xi1+...+wdxid)


勾配降下

勾配降下法を使用して、コスト関数を最適化(最小化)します

J(w)=i12(yiyi^)2yi,yi^R

「実際の」数字があるので、これは基本的に線形回帰に似ていますが、分類出力にはしきい値があります。

ここで、重みを更新すると、勾配の負の方向に一歩進みます

Δwk=ηJwk=ηi(yiyi^)(xik)=ηi(yiyi^)xik

しかし、ここでは、代わりにます Yは =符号wがTはxはIをy^=wTxiy^=sign(wTxi)

wk:=wk+Δwk(k{1,...,d})

また、新しいトレーニングサンプルが到着すると重みを更新する古典的なパーセプトロンルールとは対照的に、(バッチ学習モードで)トレーニングデータセット全体の完全なパスの2乗誤差の合計を計算します(確率的勾配降下法に類似-オンライン学習)。


シグモイド活性化機能

さて、ここに私の質問があります:

多層パーセプトロンでは、パーセプトロンはシグモイド活性化機能とともに使用されます。更新ルールでは、は次のように計算されます。y^

y^=11+exp(wTxi)

この「シグモイド」パーセプトロンは、ロジスティック回帰とどのように違いますか?


4
驚くべきことに、この質問だけで、機械学習とニューラルネットの基本を凝縮することができました!
バルン

回答:


4

勾配降下法を使用して、コスト関数を最適化(最小化)します

J(w)=i12(yiyi^)2yi,yi^R

平均二乗誤差を最小化すると、ロジスティック回帰とは異なります。ロジスティック回帰は通常、クロスエントロピー損失に関連しています。これがscikit-learnライブラリの紹介ページです。


(多層パーセプトロンはニューラルネットワークと同じものであると仮定します。)

単層ニューラルネットワークに(正則化を伴う)クロスエントロピー損失を使用した場合、ロジスティック回帰と同じモデル(対数線形モデル)になります。代わりに多層ネットワークを使用する場合、パラメトリック非線形基底関数を使用したロジスティック回帰と考えることができます。


ただし、多層パーセプトロンでは、シグモイド活性化関数を使用して、ロジスティック回帰と単層パーセプトロンとは対照的に、オンオフ信号ではなく確率を返します。

シグモイド活性化関数を使用したロジスティック回帰とニューラルネットワークの両方の出力は、確率として解釈できます。クロスエントロピー損失は、実際にはベルヌーイ分布を通じて定義された負の対数尤度です。


2

勾配降下は、出力エラーを減らすように各パラメーターを更新するため、すべてのパラメーターの機能を継続する必要があります。しきい値ベースのアクティベーションは微分可能ではないため、シグモイドまたはタンのアクティベーションが使用されます。

単層NNです

dJ(w,b)dωkj=dJ(w,b)dzkdzkdωkj

dJ(w,b)dzk=(akyk)(ak(1ak))

dzkdωkj=xk

J(w,b)=12(ykak)2

ak=sigm(zk)=sigm(Wkjxk+bk)

Jzk

ここでは、一般的にそれを説明するリンクがあります。

編集:たぶん、パーセプトロンの意味を誤解したかもしれません。誤解がない場合、パーセプトロンは入力の重み付き合計になります。ロジスティック関数でしきい値を変更すると、ロジスティック回帰に変わります。シグモイド(ロジスティック)アクティベーション関数を持つマルチレイヤーNNは、ロジスティック回帰で構成されるカスケードレイヤーです。


3
これは質問に答えません。
ニールG

この素晴らしいコメントを書いてくれてありがとう、しかしこれは私が求めていたものではなかった。私の質問は、「なぜ勾配降下」ではなく、「シグモイド活性化機能を備えたパーセプトロンをロジスティック回帰と異なるものにするもの」

y=WTX

1
y=wjTxji

η(ysign(wTxi))xη(ywTxi)xi

2

直感的に、多層パーセプトロンは、入力フィーチャの非線形変換を計算し、これらの変換された変数をロジスティック回帰に送り込むと考えています。

βiXiβiXjβjX

あなたについては知りませんが、モデリングコースと研究で、入力フィーチャのあらゆる種類の賢明で愚かな変換を試みて、その重要性と全体的なモデル予測を改善しました。物を二乗する、ログを取る、2つを組み合わせてレートにする、など。

Xβi

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.