2016-04-01から1ヶ月間の記事一覧
久々にポーカー(テキサスホールデム)をやって面白かったので、昔考えたことを。 サンクコストを考慮してはならない テキサスホールデムに関する理論を見ていると出てくるのが、「サンクコストを考慮してはならない」という話。 テキサスホールデムでは、ベ…
CodeIQで出題された「ディビジョン・ナイン」問題。 https://codeiq.jp/q/2561 Rubyで解いてみたので、コードを公開してみる。 問題 問題は以下のとおり: 1から4の数字を使って 桁の整数を作ります。 このとき、9の倍数となるものを考えましょう。 例えば …
前回は○×ゲームをSwiftで実装した。 今日はSarsaComの実装。 なお、Rubyでの実装は、以下を参照: SarsaComクラス ということで、さっそく。 //============================== // TicTacToe //------------------------------ // SarsaCom.swift //========…
花見の季節。 ということで、久々に自転車に乗って、都内の桜とか、いろいろ見てきた。 ルート 今回走ったルートは、以下: 国道4号を南下して、入谷で鶯谷の方に折れて線路越え。 そして、上野、不忍池を回り、秋葉原を通って靖国通りへ。 そのあと、千鳥ヶ…
埼玉県越谷市にある日本庭園、花田苑。 すごく地元なんだけど、自分も最近まで存在を知らなくて、この間、初めて行った。 桜がすごくキレイだったので、ちょっと紹介。 入り口 入り口からもう見事な桜。 この桜を眺めながら進むと門があるので、そこで入園料…
昨日はValueNetworkの保存とロードの実装をした。 (ただ、いろいろ問題があったので、後で修正する予定) これで実際に学習をするために、今日は○×ゲームをSwiftで実装する。 Markクラス まずはマークを表すMarkクラスから。 enumで実装するのも一つの手だ…
昨日は強化学習用のHMEの実装を行った。 今日はそれらのデータの保存とロードが出来るようにする。 (2016-04-08追記:いろいろ問題があったので、大幅に修正する予定) NSKeyedArchiver、NSKeyedUnarchiver データをファイルに保存し、ロードする一つの方法…
昨日は強化学習用のHMEの計算を行列で表現した。 今日はそれを使って実際に実装していく。 なお、Rubyでの実装は、以下を参照: GateNetworkクラス まずはゲートネットワークの実装。 //============================== // ValueNetwork //-----------------…
昨日は強化学習用のニューラルネットワークの実装を行った。 今日はHMEの実装を行うために、同様にHMEの計算を行列で表現していく。 強化学習用のHMEの計算 ここでは、HMEへの入力を 、出力を とする。 また、エキスパートネットワーク の出力を 、パラメー…
昨日は強化学習用のニューラルネットワークの計算を行列で表現した。 今日はそれを使って実際に実装していく。 なお、Swiftでの行列演算については、以下を参照: ここで定義したMatrixクラス、Vectorクラスを使っていくことになる。 また、Rubyでの実装は以…
昨日は乱数生成器の実装を行った。 今日は強化学習用のニューラルネットワークの計算を行列で表現する。 強化学習用のニューラルネットワークの計算 説明を簡単にするために、ここでは次のようなニューラルネットワークを考える: 3層ニューラルネットワーク…
強化学習の関数近似にニューラルネットワークを組合せるということをやってきていた。 強化学習については以下から: ニューラルネットワークについては以下から: 複数のニューラルネットワークを組合せるHME(Hierarchical Mixtures of Experts)について…
これまでの各記事は以下から。 行列、ベクトル、Splatの生成 Swiftでの行列計算について調べてみた。(その1) - いものやま。 Swiftでの行列計算について調べてみた。(その2) - いものやま。 行列、ベクトルの演算 Swiftでの行列計算について調べてみた。…