工学系大学院生のブログ

2人の大学院生による雑記ブログ

カテゴリー: 趣味プログラミング

第1-3回 数学から見るニューラルネットワーク [python]

 前回は,最小化すべき誤差関数を求めました.  今回は,その誤差関数を最小化する方法を紹介します. 1 勾配降下法  誤差関数\(E(w)\)の最小値を求めていきます.  ニューラルネットワークは,複数の入力と出力を組み合わせるため,誤差関数は複雑になります.前回書いた分類における誤差関数は次の形です. \begin{align}E(w) = – \sum_{n=1}^{N} \sum_{k=1}^{K} d_{n k} log z_{k}(W)\end{align}  最小値を求める方法として,勾配降下法を用います. この手法は,ある点における傾きから低い方に下がっていくことで求めます.  概要は過去に記載したことがあるので,こちらをご参照くだ.....

第1-2回 数学から見るニューラルネットワーク [python]

 前回は,ニューラルネットワークにおける入出力を整理しました.  今回は,誤差関数について紹介します.  ニューラルネットワーク全体の内容としては,出力が「 0 か 1 」という分類について掘り下げていきます. 1 誤差関数  機械学習を行う上では,学習データが必要となります.具体的には、入力 \(\textbf{x}\) に対して正しい出力 \(\textbf{d}\) というデータが必要です.  このデータを用いて、重み \(\textbf{w}\) を調整し、すべての学習データ \(\textbf{x}_n\) に対して、ニューラルネットワークの出力 \(\textbf{z}\) が正しい答え \(\textbf{d}\) に近づくようにします. この.....

第1-1回 数学から見るニューラルネットワーク [python]

 機械学習でよく聞くニューラルネットワークについて数学的にどうやって計算しているのか基本的な部分を紹介していきます.  ゴールは、「ライブラリを使わずニューラルネットワークのプログラミングができるようになること」とします.  そのため、実装方法や使用方法にのみ興味がある方は別のホームページをご覧ください.  また,ニューラルネットワークの内容としては,出力が「 0 か 1 」という分類について掘り下げていきます.気が向いたら回帰もするかもしれません. 1 ニューラルネットワークの概要 まず、ニューラルネットワークの模式図は下記の通りです.    ユニット1が入力\((x_1, x_2, x_3)\)を受け取り、総入力\(u\)を計算し、出力\(z\)を得ます.....