Q学習

Q学習とは、TD学習の一つのモデル。

Q学習では、行動の評価値をQ値と呼び、以下のように更新していく。

Q値は、状態と行動の組に対して定まる値である。
状態 s_t下でとることのできる行動の一つをaとする。
行動前のその行動のQ値を、実際行動してみた後のその行動のQ値へと、Q値を以下のように更新する。
 Q(s_t,a) \leftarrow Q(s_t,a) + \alpha \{ r_{t+1} + \gamma max_p (Q(s_{t+1},p)) - Q(s_t,a) \}

ここで\alphaは学習率と、\gammaは割引率といい、どちらも0より大1以下の実数である。
 r_{t+1} はその行動で得られた報酬である。

Q(s_t,a)が行動前のその行動の評価であり、
r_{t+1} + \gamma max_p (Q(s_{t+1},p))を行動した結果の評価とすると、
 \{ r_{t+1} + \gamma max_p (Q(s_{t+1},p)) - Q(s_t,a) \}がTD誤差である。
学習率は、このTD誤差をどのくらい反映するか、
割引率は、時間を経るとともにどのくら報酬の価値が落ちるか、である。

エージェントの行動決定は、今いる状態で可能な行動のなかから、Q値が高いものほど高確率で選ばれるように行う。
(ルーレット方式など)

このようにエージェントが行動を行うたびに、TD誤差が少なくなるようにQ値を更新し、TD誤差を0に近づけようとする学習方法をQ学習と呼ぶ。



###エピソードを入れていない

TD学習

TD学習とは、強化学習の一つ

報酬にたどりついて初めて自分の行動の良し悪しを判断すると効率が悪いので、
常に自分の選択肢の価値を評価し更新することがTD学習の特徴。

TD学習はTD誤差というものを0に近づくよう評価値を更新していく手法のこと。

TD誤差とは、自分が行動する前に思っていた行動の評価値と、実際行動してみて評価したその行動の評価値との誤差のことである。
TD誤差が正ならば、思っていたよりも良い行動
TD誤差が負ならば、思っていたよりも悪い行動、となる。

s1の状態(環境)でaという行動をすれば報酬にありつけたとなれば、行動a(s1)は報酬にありつける可能性の高い良い行動、と判断される。
つまり、行動の評価値とは、この行動が将来どのくらい報酬に結びつきそうかを反映した値となる。

TD誤差が0に近づけば、行動前の行動の評価と行動後の行動の評価が一致することになり、自分の行動が報酬にどのくらい結びつく行動であるかが正確に予測できるようになり、
その場その場で評価が最大となる行動をとっていけば、報酬が最も期待できる一連の行動となる。

強化学習

強化学習とは、"経験"として"報酬が得られた"ことを用いる学習のこと。


強化学習では、学習主体のことをエージェントと呼びます。
エージェントが行動を選択することで、環境s_tが環境s_{t+1}に推移し、
そのことにより報酬 \gamma_tを受け取ります。
強化学習とは、この報酬の総和が最大になるような行動を学習することです。

強化学習の際に、簡単のため以下のことが仮定されることが多いです。

マルコフ決定過程
1. 環境は状態を持ち、それは完全に把握可能
2. 行動による環境変化は確率的であり、その確率は現在の環境と選択にのみ依存する。
また、環境から得られる報酬 \gamma_tも確率的であり、その確率は現在の環境と選択のみに依存する。
3. エージェントは、報酬の指数移動平均が最大になるように行動する。


3.についての補足
t

学習の定義

学習とは、"経験を通じて行動に持続的な変化が生じる、ないし行動パターンが変化する現象のこと"である。
(wikipedia"学習"より引用)

行動パターンに変化を及ぼす現象は他にも存在するが、"経験を通じて"というところで他とは区別される。

教師あり学習をこの定義に当てはめると、
<コンピュータに問題を解かせる際に>
経験 …… 事前に与えられたデータ(教師)
行動パターンの変化 …… コンピューターの出す解の変化
となる。

教師あり学習とは、
「コンピュータに問題を解かせる際、事前に与えられたデータを通じて、コンピュータの出す解が変化する現象」
のことである。

この学習の定義には、"良し悪し"という概念からは中立なものになっている。
これは"良し悪し"は普遍的な概念ではないからと考えられる。

事前に良し悪しを判断できる明確な基準があるときには、「経験を通じて行動パターンが"より良くなるように"変化する現象」と定義する。

パーセプトロンのまとめ

a. 仮説
b. 仮説を基としたパーセプトロンの特性
c. 他のサイトのパーセプトロンの説明で納得いかなかった部分の解釈


a. 仮説
第i層がl_i個(i=1,2,3)のノードを持つパーセプトロンを考える。
V_1を0もしくは1を要素として持つ長さl_1のベクトル全体の集合
V_3を0もしくは1を要素として持つ長さl_3のベクトル全体の集合とする。

I個の訓練データを用意し、{\{Inp_i,Tea_i\}}_{i=1,2,...,I}とする。
但し、Inp_i \in V_1,Tea_i \in V_3
また v \in V_1、uを有限ベクトル{\{s_i\}}_{i=1,2,...}( s_iは1以上I以下の自然数)とし、
f(v,u)を、列\{Inp_{s_{i}}\}の順に学習させたパーセプトロンにvを代入したとき、出力されるベクトル( \in V_3)を返す関数と定義する。
また、v_1,v_2を長さのひとしい二つのベクトルとしたとき、g(v_1,v_2)を、v_1,v_2のi番目の要素が共に1であるような自然数iの個数を返す関数と定義する。

1.
 u_2 = c(u_1,s)とし、(sはI以下の自然数) v \in V_1とする。
このとき[tex:d(f(v,u_2),Tea_s)

1114MIKU

正単体…正三角形(2次元)、正四面体(3次元)を次元について一般化した図形
    n次元の正単体は、n+1個の点を持つ正多胞体

n次元の正単体の(超)体積を求める。(1辺の長さは1)


2次元の正単体(正三角形)の体積(面積)は、
底辺の長さ×高さ÷2

3次元の正単体(正四面体)の体積は、
底面の面積×高さ÷3

ここで、底辺の長さは1次元の正単体の体積、
底面の面積は2次元の正単体の体積のことなので、
これを一般化して

n次元の正単体の体積 = n-1次元の正単体の体積×高さ÷n

と予想できる。

ここで、高さは簡単なベクトル計算で求まるため、
上記漸化式を解くことにより、

n次元の正単体の体積は
 \frac {sqrt{n+1}}  {n!sqrt{2^n}}
と求まる。

1024MIKU

(二項)演算とは

集合R上で定義される
 R \times R \to R
写像のことである。

代数的構造とは、集合Rと演算のセットである。
{R,+}などと表される。


1.結合則
2.単位元の存在
3.逆元の存在

代数的構造が、これらのうちどの性質を満たすかによって、群と呼ばれたりモノイドと呼ばれたりする。

今回は、複集合(造語;定義はまた別の機会に)に対する演算を、その代数的構造が群となるように定めかったため、
二つの複集合に対して、それらの対称和を対応させる演算を考えた。