いものやま。

雑多な知識の寄せ集め

2016-04-01から1ヶ月間の記事一覧

ポーカーでサンクコストを考慮してはいけない数学的な理由。

久々にポーカー(テキサスホールデム)をやって面白かったので、昔考えたことを。 サンクコストを考慮してはならない テキサスホールデムに関する理論を見ていると出てくるのが、「サンクコストを考慮してはならない」という話。 テキサスホールデムでは、ベ…

CodeIQ「ディビジョン・ナイン」問題を解いてみた。

CodeIQで出題された「ディビジョン・ナイン」問題。 https://codeiq.jp/q/2561 Rubyで解いてみたので、コードを公開してみる。 問題 問題は以下のとおり: 1から4の数字を使って 桁の整数を作ります。 このとき、9の倍数となるものを考えましょう。 例えば …

強化学習用のニューラルネットワークをSwiftで書いてみた。(その8)

前回は○×ゲームをSwiftで実装した。 今日はSarsaComの実装。 なお、Rubyでの実装は、以下を参照: SarsaComクラス ということで、さっそく。 //============================== // TicTacToe //------------------------------ // SarsaCom.swift //========…

自転車で都内の桜とか見てきた。

花見の季節。 ということで、久々に自転車に乗って、都内の桜とか、いろいろ見てきた。 ルート 今回走ったルートは、以下: 国道4号を南下して、入谷で鶯谷の方に折れて線路越え。 そして、上野、不忍池を回り、秋葉原を通って靖国通りへ。 そのあと、千鳥ヶ…

越谷市の花田苑に行ってきた。

埼玉県越谷市にある日本庭園、花田苑。 すごく地元なんだけど、自分も最近まで存在を知らなくて、この間、初めて行った。 桜がすごくキレイだったので、ちょっと紹介。 入り口 入り口からもう見事な桜。 この桜を眺めながら進むと門があるので、そこで入園料…

強化学習用のニューラルネットワークをSwiftで書いてみた。(その7)

昨日はValueNetworkの保存とロードの実装をした。 (ただ、いろいろ問題があったので、後で修正する予定) これで実際に学習をするために、今日は○×ゲームをSwiftで実装する。 Markクラス まずはマークを表すMarkクラスから。 enumで実装するのも一つの手だ…

強化学習用のニューラルネットワークをSwiftで書いてみた。(その6)

昨日は強化学習用のHMEの実装を行った。 今日はそれらのデータの保存とロードが出来るようにする。 (2016-04-08追記:いろいろ問題があったので、大幅に修正する予定) NSKeyedArchiver、NSKeyedUnarchiver データをファイルに保存し、ロードする一つの方法…

強化学習用のニューラルネットワークをSwiftで書いてみた。(その5)

昨日は強化学習用のHMEの計算を行列で表現した。 今日はそれを使って実際に実装していく。 なお、Rubyでの実装は、以下を参照: GateNetworkクラス まずはゲートネットワークの実装。 //============================== // ValueNetwork //-----------------…

強化学習用のニューラルネットワークをSwiftで書いてみた。(その4)

昨日は強化学習用のニューラルネットワークの実装を行った。 今日はHMEの実装を行うために、同様にHMEの計算を行列で表現していく。 強化学習用のHMEの計算 ここでは、HMEへの入力を 、出力を とする。 また、エキスパートネットワーク の出力を 、パラメー…

強化学習用のニューラルネットワークをSwiftで書いてみた。(その3)

昨日は強化学習用のニューラルネットワークの計算を行列で表現した。 今日はそれを使って実際に実装していく。 なお、Swiftでの行列演算については、以下を参照: ここで定義したMatrixクラス、Vectorクラスを使っていくことになる。 また、Rubyでの実装は以…

強化学習用のニューラルネットワークをSwiftで書いてみた。(その2)

昨日は乱数生成器の実装を行った。 今日は強化学習用のニューラルネットワークの計算を行列で表現する。 強化学習用のニューラルネットワークの計算 説明を簡単にするために、ここでは次のようなニューラルネットワークを考える: 3層ニューラルネットワーク…

強化学習用のニューラルネットワークをSwiftで書いてみた。(その1)

強化学習の関数近似にニューラルネットワークを組合せるということをやってきていた。 強化学習については以下から: ニューラルネットワークについては以下から: 複数のニューラルネットワークを組合せるHME(Hierarchical Mixtures of Experts)について…

Swiftでの行列計算について調べてみた。(まとめ)

これまでの各記事は以下から。 行列、ベクトル、Splatの生成 Swiftでの行列計算について調べてみた。(その1) - いものやま。 Swiftでの行列計算について調べてみた。(その2) - いものやま。 行列、ベクトルの演算 Swiftでの行列計算について調べてみた。…