![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
https://oshiete.goo.ne.jp/qa/9622886.html
↑のページで質問していた内容について
例えば
x1=2,x2=3,x3=1, w1=0.5,w2=0.5,w3=1, b=2 だとすると、z=5.5
重みとバイアスの値を少し変えて、
w1=0.3,w2=0.7,w3=1.1, b=2.2 とするとz=6
ということは、Δoutputの値は6-5.5=0.5になればいいということでしょうか?
また、その計算過程の部分で、dσ/dw1,dσ/dw2dσ/dw3,dσ/dbの値の出し方について教えて頂けないでしょうか。お願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
聞きかじり程度の知識ですが
z = (x1 * w1) + (x2 * w2) + (x3 * w3) + b
σ = 1 / (1+exp(-z))
Δσ = ∂σ/∂w1*Δw1 + ∂σ/∂w2*Δw2 + ∂σ/∂w3*Δw3 + ∂σ/∂b*Δb
∂σ/∂z
= -1 * (1+exp(-z))^-2 * exp(-z) * -1
= exp(-z) / (1+exp(-z))^2
= (1-1+exp(-z)) / (1+exp(-z))^2
= (1+exp(-z)) / (1+exp(-z))^2 - 1 / (1+exp(-z))^2
= 1 / (1+exp(-z)) - 1 / (1+exp(-z)) * 1 / (1+exp(-z))
= σ - σ * σ
= (1-σ)σ
∂z/∂w1 = x1
∂z/∂w2 = x2
∂z/∂w3 = x3
∂z/∂b = 1
∂σ/∂w1 = ∂σ/∂z * ∂z/∂w1 = (1-σ)σ * x1
∂σ/∂w2 = ∂σ/∂z * ∂z/∂w2 = (1-σ)σ * x2
∂σ/∂w3 = ∂σ/∂z * ∂z/∂w3 = (1-σ)σ * x3
∂σ/∂b = ∂σ/∂z * ∂z/∂b = (1-σ)σ
x1=2, x2=3, x3=1, w1=0.5, w2=0.5, w3=1, b=2 のとき
z = 5.5
σ = 0.99592986228...
∂σ/∂w1 = 0.00810714338... > 0
∂σ/∂w2 = 0.01216071508... > 0
∂σ/∂w3 = 0.00405357169... > 0
∂σ/∂b = 0.00405357169... > 0
ここからわかるのは、
ニューロンの出力をプラス方向に変化させたいなら、各パラメーターはプラス方向に調整する。
ニューロンの出力をマイナス方向に変化させたいなら、各パラメーターはマイナス方向に調整する。
特に w2 を調整すると効果が高い。
No.1
- 回答日時:
> Δoutputの値は6-5.5=0.5になればいいということでしょうか?
outputはシグモイド関数を通した値なので
Δoutputは、σ(6) - σ(5.5)です。
また、この部分の説明は、重みwの微小変化で、出力がほぼ線形に変化するということを
言いたいだけだと思うので、「~になればいい」ではなく、
wが微小変化した結果として「~になる」ということです。
> その計算過程の部分で、dσ/dw1,dσ/dw2dσ/dw3,dσ/dbの値の出し方について
z = (x1 * w1) + (x2 * w2) + (x3 * w3) + b
σ = 1 / (1+exp(-z))
output = σ(z)
∂output/∂w1 = ∂σ(z)/∂w1 = ∂σ(z)/∂z * ∂z/∂w1
= (1-σ(z))σ(z) * x1
前述のように、wの微小変化により、outputがほぼ線形に変化することを言いたいだけなので、
実際に数値をいれて云々はこの段階では、あまり意味がないのではないでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
[VBA]選択範囲の下から上に処理...
-
シーケンサで最小値を保持する
-
コンボボックスの幅の変更について
-
VBA ドロップダウンリストを残...
-
readonlyをスタイルシートで
-
VB.NETのスクロールバーコント...
-
VBA 小数点の割り算
-
テキストボックスのvalueとtext...
-
VB.NETでアクティブなformを知...
-
Excel VBA 複数選択したリスト...
-
VBScriptでAccessMDBにテーブル...
-
Request.QueryString への値の...
-
値を返さないコード パス
-
vb6のVSFlexGridで選択行、列の...
-
Powershellのparamについて
-
リストボックス内を検索(VB6.0)
-
Excel VBAのリストボックスの値...
-
シグモイド関数の計算について
-
VB.NETでコンボボックスの1行目...
-
DateLastModifiedのフォーマット
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックスのvalueとtext...
-
VB.NETでコンボボックスの1行目...
-
値を返さないコード パス
-
Vba TextBox1.ControlSourceに...
-
VB初心者。小数点以下の表示で...
-
PL/SQLでのTO_DATEの時間取得に...
-
Excel VBA 複数選択したリスト...
-
マクロ 特定のセル値のみクリ...
-
【C++/CLI.NET】コンボボックス...
-
Powershellのparamについて
-
[VBA]選択範囲の下から上に処理...
-
C#の質問です
-
変数名の取得
-
ISDBNULLをスルーしてDBNULLが...
-
VBA(自然数)
-
Excel VBAのリストボックスの値...
-
VB.NETのスクロールバーコント...
-
VBA ドロップダウンリストを残...
-
VB.NETでアクティブなformを知...
-
VBAでWEB上の入力項目に値をい...
おすすめ情報