イントロ(狙いと概要)
  • このコースの概要と狙い
  • 機械学習のいろいろなパターン
第1日:機械学習を体験してみよう
  • Anaconda最新版のインストール
  • はじめての機械学習体験(線形回帰とグラフのプロット)改変中
  • データのダウンロードURL
  • GitHubからのパラメーターファイルのダウンロード方法
  • 練習課題:線形回帰を実行してみよう
  • notebookを保存して終了しよう
  • 練習課題:Notebookの保存と再読み込み
  • 線形回帰(その2 Bostonデータ)
  • 線形回帰2(データの読み込み)
  • 線形回帰を実行する(部屋数と価格の関係)
  • 線形回帰の結果をグラフにしてみよう
  • 練習課題: 部屋数から価格の推定をしてみよう
  • 練習課題: 他の変数と住宅価格の関係性を調べよう
  • ディープラーニングを体験してみよう(1/2)
  • ディープラーニングを体験してみよう(2/2)
  • moviepyでエラーが出る場合の対処方法
  • 補足:チェックポイントファイルの保存手順
  • 練習課題: スタイルトランスファーを実行してみよう
  • イントロのまとめ
第2日:Pythonによるデータの扱い
  • さまざまなデータ形式とテンソル
  • 確認テスト
  • 行列の扱い(NumPy)
  • ベクトルデータ
  • 練習課題: ベクトルデータの生成と掛け算
  • 行列の扱い
  • 練習課題: 2次元行列をNumPyで扱ってみよう
  • レクチャーノート
第3日:パーセプトロン
  • 形式ニューロン
  • 練習課題:形式ニューロン
  • 単層パーセプトロン
  • 練習課題:AND回路
  • 解答例: AND回路
  • 練習課題:NAND回路
  • 練習課題: OR回路
  • 練習課題: XOR回路を考えてみよう
  • ニューラルネットワークへ
第4日:ニューラルネットワークによる出力計算
  • 活性化関数
  • GeoGebraをインストールしてグラフを描こう
  • GeoGebraについての注意
  • (オプション)指数対数の復習
  • 練習課題:指数関数と対数関数のグラフを描いてみよう
  • 練習課題: シグモイド関数をPythonで描いてみよう
  • 解答例: シグモイド関数をプロットする
  • 練習課題: ReLU関数をPythonで描いてみよう
  • 解答例: ReLU関数のグラフを描いてみよう
  • シンプルなニューラルネットワークによる出力計算
  • 練習課題: アウトプットを計算してみよう
  • 解答例: アウトプットの計算
  • 練習課題:行列の積として書き直す
  • 解答例: 行列のドット積として計算
  • レクチャーノート
第5日:勾配降下法による重みの逆伝播
  • このセクションの概要
  • 誤差関数の導入
  • 微分と学習率の導入
  • 連鎖律(チェインルール)その1
  • 連鎖律による微分(その2)
  • シグモイド関数の微分
  • 練習課題: 勾配から新しい重みを計算してみよう
  • 解答例: 単層NNにおける逆伝播による重みの更新
  • サンプルコード
  • 発展課題: 重みの更新を繰り返して推定値の変化を確認しよう
  • レクチャーノート
第6日:多層ニューラルネットワーク(*追加中*)
  • 隠れ層の導入(非線形分離問題を解く)
  • 隠れ層の出力を計算してみよう
  • 練習課題: 出力を計算してみよう
  • 解答例: 多層NNの出力
  • 重みの更新手順のレビュー
  • 多層ネットワークにおけるバックプロパゲーション
  • 練習課題:バックプロパゲーションの計算
  • このセクションのレクチャーノート(更新中)
  • 最終プロジェクト: ニューラルネットワークを自作
  • レンタルバイク問題のコードサンプル