概要
- ロジックを実現するニューラルネットワークを作る
- 今回はあまりノートを取っていなかったのでメモだけ
講義メモ
- ニューラルネットワークの入力にはX0、バイアスユニットやバイアスニューロンと呼ばれる1を出力するものを置くこともある
- アクティベーション関数: いままでの授業で言うところのシグモイド関数とかにあたる
- ウェイト: パラメータ (シータ) のこと
パラメータ
- a_i(j): j レイヤーの i 番目のユニットの出力
- Θ(j): jレイヤーからj+1レイヤーへの重みの行列
- s_j: jレイヤーのユニット数
重みの行列のサイズは s_(j+1) x (s_j + 1) となる (s_j + 1 の + 1はバイアスノードがあるから)
ニューラルネットワークのよさ
基本的にニューラルネットワークはいままでのロジスティック回帰とやってることは変わらない。興味深いのは層が2つ以上あるおかげで、1層目などでニューラルネットワーク自身が作り出した特徴量をロジスティック回帰に入力できること。いままでの授業では x1 * x2 + x1^2 + x1^2 * x2^2 のような組み合わせの特徴量を作っていたが、パラメータの数が増えすぎる問題があった。
論理ゲートを作る
AND, NOT, OR から XNOR のニューラルネットワークを作るには、それぞれを表すニューラルネットワークをまず作り、重みを先に計算してから、AND, NOT を重ね合わせた1層を作り、2層にORを置く. AND, NOT は入力が同じなので重ね合わせて一つの層にできる。