機械学習(特に強化学習)が好きな人のノート

機械学習関連のことをまとめていきます。強化学習関連が多いかもしれません

【open ai gym、強化学習】Acrobotの紹介

今回はAcrobotについて紹介します。 問題の概要 制御値、観測、報酬等について 制御値(行動) 観測 報酬 エピソードの終了判定 ちょっと動かしてみる サンプルコード 実行結果 参考文献 問題の概要 Acrobotは下のイメージ図にあるように 2つのリンクが中間…

【Open AI gym、強化学習】Pendulumの紹介

問題の概要 Pendulumは、 単振り子の問題になります。 以下の振り子に適切な力を加え、 振り子を立たせることが目的となる問題です。 出典:Leaderboard · openai/gym Wiki · GitHub 問題の概要 制御値、観測、報酬等について 制御値(行動) 観測 報酬 エピ…

【keras, データセット】ロイターのニュースワイヤーデータセット

今回はkerasが提供しているロイターのニュースワイヤーデータセットに ついて調べた内容をお話します。 データセットの概要 データの内容 説明変数(X) 単語インデックスに割り振られてる単語の調べ方 目的変数(Y) 参考文献 データセットの概要 ロイターのニ…

【Open AI gym、強化学習】MoutainCar(連続値)の紹介

前回の記事でMoutainCar問題を紹介しました。 www.tcom242242.net 今回はMoutainCarの制御値が連続値のバージョンを紹介します。 問題の概要 制御値、観測、報酬等について 制御値(行動) 観測 報酬 エピソードの終了判定 ちょっと動かしてみる サンプルコ…

【Open AI gym、強化学習】MoutainCarの紹介

gym

問題の概要 MoutainCarは、 台車を山の上にあるゴール地点にたどり着けるように 適切にコントロールする問題になります。 出典:Leaderboard · openai/gym Wiki · GitHub 問題の概要 制御値、観測、報酬等について 制御値(行動) 観測 報酬 エピソードの終…

【keras, データセット】IMDB映画レビューデータセット

今回はkerasが提供しているIMDB映画レビューデータセットに ついて調べた内容をお話します。 データセットの概要 データの内容 説明変数(X) 目的変数(Y) 参考文献 データセットの概要 IMDB映画レビューデータセットとは、 Internet Movie Database(IMDB)とい…

【Open AI gym、強化学習】CartPoleの紹介

問題の概要 CartPoleは、 棒が設置してある台車があり、 台車を棒が倒れないように うまくコントロールする問題になります。 出典:Leaderboard · openai/gym Wiki · GitHub 問題の概要 制御値、観測、報酬等について 制御値(行動) 観測 報酬 エピソードの…

【深層強化学習ライブラリ】tensorforceを試す

今回は、深層強化学習ライブラリであるtensorforceを試してみたいと思います。 tensorforceとは インストール サンプルを動かす tensorforceとは tensorflowを用いた深層強化学習用ライブラリです。 https://github.com/tensorforce/tensorforce イギリスの…

【深層強化学習、keras-rl】keras-rlでDouble-DQNを試す

今回は、keras-rlを使ってDouble-DQNを試します。 Double-DQNは、DQNの過大評価という課題の緩和のために開発された手法です。 ちなみに私の環境は ubuntu 18.04 python 3.6.0 です。 DDQNについて keras-rlのインストール 解く問題 ソースコード 結果の出力…

状態価値関数と状態行動価値関数について

今回は、強化学習で重要な状態価値と状態行動価値についてお話しようと思います。 状態価値関数$V(s)$とは、名前の通り各状態$s$の価値であり、 状態行動価値関数$Q(s, a)$とは、各状態$s$での各行動$a$の価値を表しています。 ここで言う価値というのは期待…

【深層強化学習、keras-rl】 keras-rlで連続値の行動を扱えるDDPGを試す

深層強化学習ライブラリであるkeras-rlを用いて、 DDPGを動かしてみます。 Open AI gym で提供されているPendulumという問題を解きます。 基本的にはkeras-rlのexmpleコードを用います。 適宜、日本語のコメントや学習結果を表示するためのコードを加えてい…

深層強化学習のライブラリまとめ

とりあえず、深層強化学習ライブラリをまとめてみました。 ただ思ったより数が多いので、とりあえず列挙しておくだけです。 まだ完成していませんが、現状を挙げておきます。 最終的には全部試してみたいと思っています。 tensorforce keras-rl chanear-rl b…

【強化学習、モデルベース強化学習】Dyna-Q

恐らく最もシンプルであり、 最初に考案されたモデルベース強化学習であるDyna-Qについて紹介します。 モデルベース強化学習 Dyna-Q アルゴリズム 実験 プログラム 結果 参考文献 その他 用語 モデルベース強化学習 一言で簡単に言ってしまえば、 モデルベー…

【強化学習】SARSAとQ Learningとの違い

SARSAとQ Learningの違いについて参考文献をもとにお話したいと思います。 SARSAとQ Learningのそれぞれのアルゴリズムとプログラムについては下記の記事で紹介しています。 www.tcom242242.net www.tcom242242.net SARSAとQ Learningの学習方法の違い 崖が…

【強化学習】アクタークリティック

アクタークリティック(actor-critic)とは アクター(actor) クリティック(critic) 終わりに 参考文献 アクタークリティック(actor-critic)とは アクタークリティックは 行動を選択肢するアクター(actor)と、 アクターが選択した行動を評価するクリティック(…

【深層学習、keras】mnistの数字の回帰モデルをkerasで作る

kerasでmnistの数字の画像を入力したら、その数字を出力するような回帰モデルを 作ってみます。 0と書いてある画像を入力したら、0を出力し、 9と書いてある画像を入力したら、9と出力するようにモデルを作成します。 以下はイメージ図 ちなみにCNNは使いま…

【強化学習】SARSA

SARSAとは 評価用問題 プログラム 結果 SARSAとは sarsaは強化学習の一種で、Q値を以下の式で更新します。 $$ \begin{eqnarray} Q(s, a) \leftarrow Q(s, a) + \alpha (r + \gamma Q(s', a') - Q(s, a)) \end{eqnarray} $$ $Q(s, a)$の更新量は、遷移先状態…

softmax行動選択

$\epsilon$-greedy と同様によく用いられる「softmax行動選択」についてご紹介します。 この手法も期待報酬値が高い選択肢の選択確率が高くなるように選択確率を決定します。 具体的には、softmax関数を用いて以下の式によって各選択肢の選択確率を決めます…

FX単語

FX

ポジション 外貨を買っているもしくは売っている状態のことを言う. 買っている状態を「買いポジション」もしくは「ロングポジション」. 売っている状態を「売りポジション」もしくは「ショートポジション」 ロング 買いから入る取引 ショート ウリから入る…

協調フィルタリングと内容フィルタリングについてのメモ

協調フィルタリング wikipediaから 協調フィルタリング(きょうちょうフィルタリング、Collaborative Filtering、CF)は、多くのユーザの嗜好情報を蓄積し、あるユーザと嗜好の類似した他のユーザの情報を用いて自動的に推論を行う方法論である。趣味の似た…

SUMOのシンプルなマップ生成とマップの細かい修正

基本的なマップの生成 マップの細かい修正 基本的なマップの生成 格子状のマップを作成する手法は, SUMOのnetgenerateを用いれば容易に作成できる. 以下のサイトを参考にすれば簡単に作成できる. inet-lab.naist.jp 下記のマップ作成スクリプトは参考サイ…

【サーベイ】Bayesian Policy Reuse

概要 すでに、あるタスクにおいて学習済みの方策$\pi$を現在のタスクに適切(より類似した問題を解いた方策)に適用することは非常に重要 この論文では、学習済みの方策$\pi$の集合があり、その中から現在のタスクに最も適した方策を選択する問題を定義 ベイ…

【サーベイ】QMIX:Monotonic Value Function Factorisation for Deep Multi-Agent Reinforcement Learning

概要 fully cooperative マルチエージェント強化学習の手法を提案 centralized 行動価値関数(状態と全エージェントの行動により構成される関数)とdecentralised policies(各々のエージェントのpolicy)を持つ形が協調型のマルチエージェント強化学習では知ら…

【強化学習、入門】Q Learning

Q Learningの説明のために、 簡単な迷路の例を用いて、説明したいと思います。 最後に例で用いた迷路を実装してQ Learningで解かせてみました。 Q Learning(Q学習) Q Learningとは、一言で言ってしまうと 現在の行動の価値(Q値)を遷移先の状態の 最大Q値 …

【強化学習】UCBアルゴリズムを使って、マルチアームバンディットプログラムを解く

やったこと UCBアルゴリズムを実装してマルチアームバンディットプログラムで試してみました。 UCBとは、 UCBアルゴリズムは、行動選択手法の一つになります。 UCBアルゴリズムは知らないものに楽観的にを ポリシーにした行動選択戦略です。 UCBではUCB値と…

【ディープラーニング】【TensorFlow】TensorFlowで多クラス分類

tensorflowで多クラス分類 背景 前回、Kerasを使ってirisデータを分類しました。 www.tcom242242.net 今回はそれをTensorFlowでやってみました。 やりたいこと 前回と同じですが irisデータセットをsklearnから取得して分類する。 irisデータセット sklearn…

【ゲーム理論】【マルチエージェント学習】Two Player Two Action ゲームの具体的な利得テーブルまとめ

Common interest game 1,2 a b a 1.0,1.0 0.0,0.0 b 0.0,0.0 0.5,0.5 Coordination game 1,2 a b a 1.0,0.5 0.0,0.0 b 0.0,0.0 0.5,1.0 Stag hunt game 1,2 a b a 1.0,1.0 0.0,0.75 b 0.75,0.0 0.5,0.5 Tricky game 1,2 a b a 0.0,1.0 1.0,0.67 b 0.33,0.0 0…

【強化学習】UCBアルゴリズム

UCBアルゴリズム UCBアルゴリズムは知らないものに楽観的にを ポリシーにした行動選択戦略です。 UCBではUCB値という値を用いて、 行動選択を行います。 UCB値は選択肢毎に設定され、 以下の式を用いて、更新していきます。 \begin{align} UCB_i = Q_{i} + C…

Win or Learn Fast PHC をじゃんけんゲームで実験

同じく、前回の記事でも用いた論文で、 紹介されているWin or Learn Fast PHC(WoLF-PHC)を実装して実験してみました。 http://www.cs.cmu.edu/~mmv/papers/01ijcai-mike.pdf Win or Learn Fast PHC 前回の記事参照 www.tcom242242.net 問題設定 今回はじゃん…

Win or Learn Fast-PHC

Win or Learn Fast Win or Learn Fast(WoLF)は マルチエージェント強化学習における重要な学習原理の1つです。 この手法は2人2行動ゲームにおいて、ナッシュ均衡に収束することが 証明されていることから、マルチエージェント強化学習では、重要な原理の…