今日も窓辺でプログラム

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

ニューラルネットワークを実装する [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
  • 次回記事
続きを読む

Python (Flask) を使って簡単なLINEのBotを作ってみる

はじめに

ここ最近新しいチームに参加し、仕事がバタバタしていて更新が滞ってしまっていました。
以前のチームとはかなり毛色や作業内容が異なるので、今回は新しいチームでの勉強も兼ねて記事を書いてみます。

今回は、LINEが提供しているMessaging APIを使って簡単なBotを作成してみます。
まずはサーバーを用意してMessaging APIをつなぐことが目的ですので、話しかけたときの返答は「オウム返し」をするだけにします。

続きを読む