今日も窓辺でプログラム

外資系企業勤めのエンジニアが勉強した内容をまとめておくブログ

ニューラルネットワークを実装する [Part 4 バックプロパゲーションのベクトル化]

はじめに

前回に引き続き、Peters' NoteのPart 4 Vectorizationを見ていきます。

今回の記事では2クラス分類問題に対して、

  • バックプロパゲーションをベクトルで扱う方法
  • Gradient Checking
  • モーメンタム法

を順に実装していきます。

目次

  • はじめに
  • 目次
  • 今回扱うニューラルネットワーク
  • 使用するデータセットの用意
  • ベクトル化
    • 順伝播
      • 隠れ層の出力
      • 出力層の出力
    • 逆伝播
      • 出力層での逆伝播
      • 隠れ層での逆伝播
  • Gradient Checking
  • モーメンタム法を使った最適化
  • 最急降下法を使ったらどうなるの?
  • GitHub
  • 関連記事
続きを読む

ニューラルネットワークを実装する [Part 3 隠れ層とバックプロパゲーション(誤差逆伝播法)編]

はじめに

前回の記事の続きです。Peters's NoteのPart 3を追っていきます。
非常にシンプルなモデルを使って、隠れ層が果たす役割や、バックプロパゲーション(誤差逆伝播法)の考え方を見つつ、実装していきます。

目次

  • はじめに
  • 目次
  • 今回扱うニューラルネットワークのモデル
  • 使用するデータの用意
  • 非線形活性化関数
  • バックプロパゲーションで重みの最適化
    • バックプロパゲーションの概要
      • 順伝播
      • 逆伝播
  • 実際にバックプロパゲーションで重みを更新してみる
  • 学習したモデルの可視化
  • GitHub
  • 関連記事
続きを読む

ニューラルネットワークを実装する [Part 2 ロジスティック回帰編]

はじめに

Notes on machine learning のニューラルネットワークに関するメモのPart 2の部分を追っていきます。
前回は線形回帰でしたが、今回はロジスティック回帰です。

前回の記事:
www.madopro.net

目次

  • はじめに
  • 目次
  • ロジスティック回帰
  • 重みの学習に使用する入力の用意
  • モデルの出力
  • コスト関数
  • 最急降下法
  • 学習結果の可視化
  • GitHub
  • 関連記事
続きを読む

ニューラルネットワークを実装する [Part 1 線形回帰]

はじめに

最近機械学習の勉強ができてなかったのですが、知人にとあるチュートリアルをおすすめされたので、自分の学習も兼ねて紹介記事を書いていきます。

Notes on machine learning というメモの How to implement a neural networkというシリーズです。
まずこの記事では、Part 1の線形回帰の部分に取り組みます。

peterroelants.github.io

目次

  • はじめに
  • 目次
  • 本記事のゴール
  • 予測する線形関数の定義
  • モデルとコスト関数の定義
  • 最急降下法
  • 学習したモデルの可視化
  • GitHub
  • 次回記事
続きを読む