buto > /dev/null

だいたい急に挑戦してゴールにたどり着かずに飽きる日々です

機械学習の数学入門 合成関数

勾配法+機械学習の勉強会の予習! 勉強会主催者より「合成関数の微分もできると良いです」なので、合成関数を学んでみた!

合成関数とは

y = f(u), u = g(x) のとき y = f(g(x)) と表せる f(g(x))入れ子になっている関数のことを「f(u)とg(x)合成関数」という

ニューラルネットワークと合成関数

ニューラルネットワークの各ノードで入力→出力された値は合成関数 → ニューラルネットの学習結果(予測値)も合成関数 → 合成関数の微分ができると、学習結果に勾配降下法が適用できる!

だからニューラルネットの出力値は合成関数

ニューラルネットワーク 分かりやすくしてみた2でやってみたように ニューラルネットワークはこんな計算がされている 1. 入力値に重みを掛けてバイアスを足す 1. ↑の計算結果に活性化関数を適用して出力

計算式にしてみると (x、y:入力値 w1、w2:重み b:バイアス ReLU:活性化関数)

  1. 入力値に重みを掛けてバイアスを足す
    • xw1 + yw2 + b
  2. 活性化関数を適用
    • ReLU(xw1 + yw2 + b)

ReLU(xw1 + yw2 + b)って合成関数だ!!