覚え書きブログ

Pythonによる機械学習

Pythonによる機械学習7(Q学習の応用)

前回実装した強化学習の代表的な手法であるQ学習を、各グループで設定したタスクに応用してみましょう。 タスクは、OpenAI gymから選んでください。 gym.openai.com 宿題 MountainCarタスクを参考に、各グループで選定した課題に、Q学習を適用してみましょう…

Pythonによる機械学習7(Q学習 3/3)

【Pythonによる機械学習7(Q学習 3/3)】 Q学習の実行 演習3 宿題1 宿題2 Q学習の実行 演習3 これまでに実装した、discretizeState、updateQおよびselectActionをメインから呼び出し、Q学習を完成させましょう。 Qテーブルを更新するのには時間がかかる…

Pythonによる機械学習7(Q学習 2/3)

【Pythonによる機械学習7(Q学習 2/3)】 Q関数を用いた方策関数 演習2 Q関数を用いた方策関数 Q学習法により獲得したQテーブルを用いて、方策関数を定義します。代表的な方策関数としては、以下のように、貪欲方策と、貪欲方策があります。 演習2 RLク…

Pythonによる機械学習7(Q学習 1/3)

【Pythonによる機械学習7(Q学習 1/3)】 Q学習 Q学習の実装 演習1 Q学習 前回求めた漸化式表現を利用して、価値関数を更新する代表的な方法であるQ学習法を実装します。 以下は、最も単純な強化学習のタスクである2状態マルコフチェーンに、Q学習を適用…

Pythonによる機械学習6(強化学習の基礎 3/3)

【Pythonによる機械学習6(強化学習の基礎 3/3)】 強化学習のテンプレート 強化学習のテンプレートの実行 演習3 宿題 強化学習のテンプレート 次は強化学習のアルゴリズムの実装の準備に入りたいと思います。まずは、強化学習のテンプレートをgitを用い…

Pythonによる機械学習6(強化学習の基礎 補足)

【Pythonによる機械学習6(強化学習の基礎 補足)の目次】 WindowsへのOpenAI Gymをインストール手順 WindowsへのOpenAI Gymをインストール手順 1) windows subsystem for Linux(WSL)の設定とUbuntuのインストール Qiitaのページhttps://qiita.com/Arun…

Pythonによる機械学習6(強化学習の基礎 2/3)

【Pythonによる機械学習6(強化学習の基礎 2/3)の目次】 エピソード OpenAI Gym Mountain Carタスク 演習2 エピソード 猫の問題箱実験での猫のように、強化学習では試行錯誤を繰り返しながら、より高い報酬和の期待値を獲得する方策を探索します。強化…

Pythonによる機械学習6(強化学習の基礎 1/3)

今回は、まず、強化学習の基礎(教師あり学習との違い、動物の行動学習、定式化)について学びます。そして、演習で用いるベンチマークツールのopen AI Gymのセットアップを行います。【Pythonによる機械学習6(強化学習の基礎 1/3)の目次】 機械学習の…

Pythonによる機械学習5(グループ発表)

前回の宿題 感情分類および手書き文字画像の分類を参考に、各グループで選定した課題に、ニューラルネットワークを適用してみましょう。各グループにて以下の内容を発表してください。 1) 選択した課題の内容 2) 学習データと評価データの概要 3) ニューラル…

Pythonによる機械学習10(4/4)

<< Pythonによる機械学習10(3/4)【Pythonによる機械学習10(3/4)の目次】 モデル選択 モデル選択 カーネルモデルを最大限に活用するためには、データに合わせてガウスカーネルの幅や多項式カーネルの次数などのハイパーパラメータを調整する必…

Pythonによる機械学習10(3/4)

<< Pythonによる機械学習10(2/4)【Pythonによる機械学習10(3/4)の目次】 非線形な関数の回帰 カーネルモデルの導入 分類におけるカーネルモデルのイメージ カーネルトリックとカーネル関数の例 演習4 カーネルモデルの線形性 演習5 演習6 演習…

Pythonによる機械学習10(2/4)

<< Pythonによる機械学習10(1/4)【Pythonによる機械学習10(2/4)の目次】 線形回帰のテンプレート 演習2 行列演算による高速化 演習3 線形回帰の実行例 線形回帰のテンプレート intelligentSystemTrainingフォルダ下の線形回帰のテンプレートre…

Pythonによる機械学習10(1/4)

【Pythonによる機械学習10(1/4)の目次】 回帰問題とは 線形回帰問題の定式化 最小二乗法によるモデルパラメータの最適化 線形回帰モデルのデータの準備 学習データの構造 演習1 回帰問題とは 線形回帰問題の定式化 最小二乗法によるモデルパラメータ…

Pythonによる機械学習4(ニューラルネット応用 4/4)

<< Pythonによるデータ解析4(ニューラルネット応用 3/4)【Pythonによる機械学習4(ニューラルネット応用 4/4)の目次】 画像分類ニューラルネットワークの学習と評価 画像分類の結果の可視化 演習2 宿題 画像分類ニューラルネットワークの学習と…

Pythonによる機械学習4(ニューラルネット応用 3/4)

<< Pythonによるデータ解析4(ニューラルネット応用 2/4)【Pythonによる機械学習4(ニューラルネット応用 3/4)の目次】 手書き文字画像の分類 画像特徴量の抽出 学習と評価データの準備 手書き文字画像の分類 画像分類の題材として、手書き文字画…

Pythonによる機械学習4(ニューラルネット応用 2/4)

<< Pythonによるデータ解析4(ニューラルネット応用 1/4)【Pythonによる機械学習4(ニューラルネット応用 2/4)の目次】 TF-IDF特徴量の抽出 ニューラルネットワークの学習と評価 感情分類の結果の可視化 演習1 TF-IDF特徴量の抽出 今回は、比較的…

Pythonによる機械学習4(ニューラルネット応用 1/3)

前回までは、ロジスティック回帰とニューラルネットワークを題材に、機械学習のアルゴリズムの開発を経験しました。機械学習のアルゴリズムの開発は、高校・大学で学んだ微積分、線形代数、確率、情報理論およびプログラム言語を駆使して、以下のような手順…

Pythonによる機械学習3(ニューラルネット 3/3)

<< Pythonによる機械学習3(ニューラルネット 2/3)【Pythonによる機械学習3(ニューラルネット 3/3)の目次】 演習3 ニューラルネットワークの実行例 中間層のノード数と交差エントロピー損失の関係 宿題 演習3 以下のupdateメソッド【self.W1の更…

Pythonによる機械学習3(ニューラルネット 2/3)

<< Pythonによるデータ解析3(ニューラルネット 1/3)【Pythonによる機械学習3(ニューラルネット 2/3)の目次】 難しいデータに対するロジスティック回帰 ニューラルネットワークのテンプレート 演習2 難しいデータに対するロジスティック回帰 前回…

Pythonによる機械学習3(ニューラルネット 1/3)

前回のロジスティック回帰の構成を2階層のニューラルネットワークと解釈できました。今回は、中間層を導入し非線形な表現が可能な3階層のニューラルネットワークを実装していきます。【Pythonによる機械学習3(ニューラルネット 1/3)の目次】 3階層の…

Pythonによる機械学習2(ロジスティック回帰 4/4)

<< Pythonによる機械学習2(3/4)さて、ロジスティック回帰のテンプレートで、まだ未実装の交差エントロピー(lossメソッド)を実装し、完成させていきます。【Pythonによる機械学習2(ロジスティック回帰 4/4)の目次】 演習4 ロジスティック回帰…

Pythonによる機械学習2(ロジスティック回帰 3/4)

<< Pythonによる機械学習2(ロジスティック回帰 2/4)【Pythonによる機械学習2(ロジスティック回帰 3/4)の目次】 ロジスティック回帰のテンプレート ロジスティック回帰のテンプレートの実行 演習3 ロジスティック回帰のテンプレート 人工データ…

Pythonによる機械学習2(ロジスティック回帰 2/4)

<< Pythonによる機械学習2(ロジスティック回帰 1/4)【Pythonによる機械学習2(ロジスティック回帰 2/4)の目次】 学習データの構造 人工データの取得 演習2 学習データの構造 本講義では、学習データを、以下のような行列構造で表現します。 ※教科…

Pythonによる機械学習2(ロジスティック回帰 1/4)

今回は、まず、人工知能(3セメ)で学んだロジスティックモデル(2階層のニューラルネットワーク)を簡単に復習し、モデルのパラメータの勾配を手計算で求めます。 そして、ソフトマックス、交差エントロピー、事後確率および最急降下法のメソッドを持つ2階…

Pythonによる機械学習1(Pythonの基礎 補足)

【Pythonによる機械学習1(Pythonの基礎 補足)の目次】 jupyter notebookを用いたインタラクティブ開発 dataframeを用いた簡単なデータ分析 seabornを用いたデータの可視化 jupyter notebookを用いたインタラクティブ開発 jupyter notebookを用いると、ブ…

Pythonによる機械学習1(Pythonの基礎 4/4)

※以下の内容を、各自で自習し、宿題をMoodleにて提出してください。 【Pythonによる機械学習1(Pythonの基礎 4/4)の目次】 matplotlib.pylabを用いたプロット オブジェクト指向のPythonスクリプトの例 宿題2 matplotlib.pylabを用いたプロット Pythonで…

Pythonによる機械学習1(Pythonの基礎 3/4)

【Pythonによる機械学習1(Pythonの基礎 3/4)の目次】 for文とIf文とリスト内包表記 演習3 for文とIf文とリスト内包表記 pythonのfor文とif文には、C言語と類似の記述をする通常のものと、リストの括弧[]内に記述するリスト内包表記があります。【通常…

Pythonによる機械学習1(Pythonの基礎 2/4)

【Pythonによる機械学習1(Pythonの基礎 2/4)の目次】 数値演算のスクリプトの例 pdbを用いたデバッグ 演習2 宿題1 数値演算のスクリプトの例 以下は、数値計算用のライブライrnumpyを用いた線形代数の行列演算を実行するスクリプトの例です。 具体的に…

Pythonによる機械学習1(Pythonの基礎 1/4)

データ解析を題材に、Pythonを用いた機械学習アルゴリズムの実装の演習を行います。本演習では、最近の機械学習ライブラリの普及によりブラックボックス化され、かえって理解が困難になった機械学習アルゴリズムの基礎的な部分の理解を深めることを目的とし…