回帰分析

単回帰、重回帰、ロジスティック回帰、一般化線形モデルなど統計検定準1級レベルの回帰分析手法を学習します。

バックプロパゲーションの計算 レベル1

単純なニューラルネットワーク(入力1個、隠れ層1個、出力1個)で、入力$x=2$、隠れ層の重み$w_1=0.5$、バイアス$b_1=0.3$、出力層の重み$w_2=0.8$、バイアス$b_2=0.1$とする。活性化関数をシグモイド関数$\sigma(z)=\frac{1}{1+e^{-z}}$とし、目標値$t=1$のとき、出力層の重み$w_2$の勾配$\frac{\partial E}{\partial w_2}$を小数第3位まで求めよ。ただし、誤差関数は$E=\frac{1}{2}(y-t)^2$とする。

解説
解答と解説を表示

バックプロパゲーションの数値計算

バックプロパゲーションは、ニューラルネットワークの学習において連鎖律を用いて各重みの勾配を効率的に計算する手法です。

ネットワーク構造

  • 入力層:$x = 2$
  • 隠れ層:$w_1 = 0.5$、$b_1 = 0.3$
  • 出力層:$w_2 = 0.8$、$b_2 = 0.1$
  • 目標値:$t = 1$

Step 1: 順伝播(Forward Propagation)

隠れ層の入力値:

$$z_1 = w_1 \\cdot x + b_1 = 0.5 \\times 2 + 0.3 = 1.3$$

隠れ層の出力値:

$$h_1 = \\sigma(z_1) = \\frac{1}{1+e^{-1.3}} = \\frac{1}{1+e^{-1.3}}$$

$e^{-1.3} \\approx 0.2725$ より:

$$h_1 = \\frac{1}{1+0.2725} = \\frac{1}{1.2725} \\approx 0.7858$$

出力層の入力値:

$$z_2 = w_2 \\cdot h_1 + b_2 = 0.8 \\times 0.7858 + 0.1 = 0.7286$$

出力層の出力値:

$$y = \\sigma(z_2) = \\frac{1}{1+e^{-0.7286}}$$

$e^{-0.7286} \\approx 0.4826$ より:

$$y = \\frac{1}{1+0.4826} = \\frac{1}{1.4826} \\approx 0.6745$$

シグモイド関数の性質

シグモイド関数の微分は:

$$\\frac{d\\sigma(z)}{dz} = \\sigma(z)(1-\\sigma(z))$$

この性質を利用して効率的に勾配を計算できます。

Step 2: 誤差の計算

二乗誤差関数:

$$E = \\frac{1}{2}(y-t)^2 = \\frac{1}{2}(0.6745-1)^2 = \\frac{1}{2}(-0.3255)^2 = 0.0530$$

Step 3: 逆伝播(Backpropagation)

出力層での誤差勾配:

$$\\frac{\\partial E}{\\partial y} = y - t = 0.6745 - 1 = -0.3255$$

出力層の活性化関数の微分:

$$\\frac{\\partial y}{\\partial z_2} = y(1-y) = 0.6745 \\times (1-0.6745) = 0.6745 \\times 0.3255 = 0.2195$$

出力層での局所勾配:

$$\\delta_2 = \\frac{\\partial E}{\\partial z_2} = \\frac{\\partial E}{\\partial y} \\cdot \\frac{\\partial y}{\\partial z_2} = -0.3255 \\times 0.2195 = -0.0714$$

連鎖律の適用

重み$w_2$の勾配は:

$$\\frac{\\partial E}{\\partial w_2} = \\frac{\\partial E}{\\partial z_2} \\cdot \\frac{\\partial z_2}{\\partial w_2} = \\delta_2 \\cdot h_1$$

Step 4: 重み$w_2$の勾配計算

出力層の入力$z_2 = w_2 \\cdot h_1 + b_2$より:

$$\\frac{\\partial z_2}{\\partial w_2} = h_1 = 0.7858$$

したがって:

$$\\frac{\\partial E}{\\partial w_2} = \\delta_2 \\cdot h_1 = -0.0714 \\times 0.7858 = -0.0561$$
問題 1/10
カテゴリ一覧に戻る