2020-01-01から1年間の記事一覧

ゼロDee --がんばってます

さて。 誤差逆伝播法も理解したいのだが、それ以前に機械学習のもう少し基本的部分を知っておきたい。そもそも、誤差逆伝播法は、関数の勾配を求める手段だ。勾配がわからなければ次に進めないのはわかっているが、まずは基本的な形で最後まで行ってみない。…

誤差逆伝播法

さて、勉強がなかなか進まない。アリさんのケーキ探しのやり方は、誤差逆伝播法だという。なにがどう誤差逆伝播法なのかよくわからない。そもそも誤差逆伝播法とはなんぞや。調べてみると、連鎖率なるものを使うらしい。なんだそりゃ? これを調べると、多変…

アリさんのケーキ探し ―― よくわからん

「Excelでわかる機械学習超入門」でのDQN。よくわからん。なんだか、既に正解がわかっているものに、いかに合わせるか、というもののように見えてしまうが、何か違うのだろう。ブツブツ。 しかし、超初心者向けだからVBAを使わない、というのも、どうだろう…

アリさんのケーキ探し ―― DQN版

「Excelでわかる機械学習超入門」でのQ学習がなんとか分かったような気がするので、次のDQNに進もうとしているのだが、、、、 説明を読んでも、エクセルシートで何をしているのか、よくわからない。 時間かかりそう、、、、

アリさんのケーキ探し―― 大きい版2

拡張してみた。考え方は同じはずなのに、修正すべき個所は意外と多かった。たかがこれだけのコードで、ちょっと変えただけなのに。何度試しても修正し忘れとか、いつの間にか変わっていたりとか、なかなかうまく行かない。 例えばこれ。なんでまた各Q値がマ…

アリさんのケーキ探し -- 大きい版

ちょっと拡張して遊んでみる。 これまでは3X3の世界だったが、4X4ではどうだろうか。 すこし広くなるだけで、計算量は膨大に増えるだろうが、それでも同じ理屈でできるはず。 とりあえず、シートを作ってみた。 どんなことになるかな。

アリさんのケーキ探し ―― コード

作ったコードは以下のようなもの。 3つの部分に分けた。 シートのセルを変数にしたし、繰り返しもfor-nextではなく、while-Loopにしたので、ほとんどDimは使わなかった。 この方がすっきりしている。 Sub step1() Dim Gran, Gran2 Range("b17") = Range("…

アリさんのケーキ探し ―― ほぼ完成

書き直していたら、もっと酷いミスを発見した。While-Loopを終わらせるためのカウンターの設定がされていなかった。道理で終わらないわけだ。 でも、こちょこちょ直したら、結構うまく行ったかな?という状態まできた。 これは回し終わった時の図。C12からG2…

アリさんのケーキ探し ―― 間違い見つけた

部品ごとに分けて書き直していたら、しょうもない間違いを見つけた。NQ2 = CQ + Gaku1 * (NQ - CQ)とあるべきところが、NQ2 = CQ + Gaku1 * (Ho - CQ)になってた。これではダメだ。 (いや、こうなっていると、どういう計算をしてしまうのか、ちゃんと見てい…

アリさんのケーキ探し --修正中

エクセルのシート、VBAを書き直し中。部品ごとに分けて考えれば、どこがおかしいか、わかりやすかもしれない。

アリさんのケーキ探し --進まない

どこが悪いのか探しているが、どうも進まない。 変更箇所の記録の仕方が下手なので、 あれ、どこ直したっけ、もとに戻すには、、、、 なんてことばかりやってる。

アリさんのケーキ探し ―― 何度かやってみたが、、、

さて、なんとかケーキに到達したら、それを何度も繰り返し、ケーキに至る最短ルートを求める!のだが、 Greedy比を次第に小さくしながら20回ほどやってみたが、8回目あたりから、Q値がみんな-1になってきた。これは変だ。これは、ケーキのある部屋以外の部…

アリさんのケーキ探し ―― とりあえずケーキ見つけて

何度も部屋を移動してもケーキまでたどり着かない場合は無視する、最初からやり直し、という条件をつける。『Excelでわかる機械学習超入門』では10回だった。しかし、10回でたどり着かないことが延々と続くといつまでたっても進まない。条件をちょっと緩和し…

アリさんのケーキ探し ―― 現状

マイナポイントの予約だの申し込みだのがうまくいかないのでいじけてます。

アリさんのケーキ探し ―― 変数とセルの使用について

コードがごちゃごちゃしてきたので多少整理。その際、ちょっと考えを改めた。本来、自分がやりたいのはPythonなので、VBAでコードを書く時にも、それに近い形にした方がいいのではないか。そのため、できるだけ変数を使って、その変数の中身を確認するために…

アリさんのケーキ探し ―― まだまだ序盤

各ステップについて、さらに微調整したが、まだ修正するところがあるかもしれない。数をこなして調べてみよう。 ということで、数をこなして異常値を探し出しているのだが、一つ、ランダムに行っていると、アリさんはなかなかケーキに到達しないということに…

アリさんのケーキ探し ―― もうちょい改善

ある程度うまく行ったかな、と思っていたのに、何回かステップを踏むうちに、やっぱり変なところがある。どこがいけないんだろう、と何度も見直す。途中途中の計算を書き出したり、電卓で計算したりしてみる。おかしいなあと20回ぐらい繰返すと、突然、あれ…

アリさんのケーキ探し ―― セルに名前を付ける実験

なんだか変なところで変な動きをしているが、何が問題なのかわかりにくいので、整理する。 整理のため、セルに名前を付ければ、行や列の変更、削除などがしやすいようになるはず。 名前を付けた後、offset機能がうまく行くかどうか、ひとまず実験してみた。A…

アリさんのケーキ探し ―― 少しは改善

なぜ「型が一致しません」などというエラーがでたのか。計算の途中途中でどういう数値になっているか、シートに表示させながらやってみた。すると、なぜかHoが空欄になる。さらに、なぜかJouR2が空欄になっている。 2回目、状態4から状態5に移った時はJouR2…

アリさんのケーキ探し ―― もうちょい進展

Sub Gか冒険か3() Dim Gran, Gran2, IT2, ST1, DR1 Gran = Rnd() Range("D10") = Gran ' Greedyで行くか、冒険で行くか、その結果どの方向に行くかを決める ‘ しかし、b10より小さければ冒険、としているが、B10が1なので、間違いなく冒険 ‘ b10は今後、だん…

アリさんのケーキさがし―― 一歩前進

『Excelでわかる機械学習超入門』では、Excelの新しいテクニック、使い方も教えてくれる。マクロを使わないという方針なので、人によっては回りくどいと感じるものもあるかもしれない。また、いくら「超初心者」にマクロは無理と思っても、この一つのセルに…

アリさんのケーキ探し――初めの一歩

まずは、3X3のマス目づくり。中段右側は入れない。その他の状態を示すものがいる。 こんな感じ。A1からC4までが、マス目の番地。アリさんがどこにいるのかは、J2で示される。K2はその行、L2は列。 その他いろいろあるが、説明は後。まずは、最初の一歩をgr…

アリさんのケーキさがし――できるかな

Python でのカタンも進めたいが、ちょいと脇道で、アリさんのケーキ探しをやってみる。 『Excelでわかる機械学習超入門』という本のなかで、Q学習を理解するために、3X3のマス目のはじっこにいるアリさんが、反対側の隅にあるケーキにたどり着く最短コース…

カタン、Pythonでは?--なかなかできない

せめて一人カタンでもするためには、家とか道とか都市とかを画面上に置けなければならない。エクセルでやる分には、新しい図を何枚でも上に重ねられるし、ドラッグすれば場所も変えられる。 しかし、pygameではそうはいかない。Tkinterでもそうだろうが、ク…

カタン、Pythonでは?―― マップできた

で、マップであるが、とりあえず、下のような形になった。 import numpy as np import pygame import numpy.random as nr import random import csv t1 = [0,1,1,1,2,2,2,2,3,3,3,4,4,4,4,5,5,5,5] p1 = [5,2,6,3,8,10,9,12,11,4,8,10,9,4,5,6,3,11] random.…

カタン、Pythonでは?―― マップできた、の前に

マウスを買ってきた。いい感じである。今まで使っていたマウスは、PCを買ったときに付いていたものだが、bluetoothを使ったワイヤレスで、左利き、配線嫌いの私は重宝していた。ワイヤレスは重要だ。時々使う漫画喫茶では、たいていマウスは右側においてある…

今日もまだお休み

新しいマウスを買いに行く時間が無かった。マウスが無いと、できないわけではないが、やりづらいので、今日もお休み。 たまにはのんびりオンラインでカタンをやろう。

今日この頃

マウスの調子がおかしい。クリックが反応しない。動かせば、カーソルは連動するので、電池とかの問題ではない。タッチパネルなので、PC作業は一応できるのだが、やはりやりづらいことこの上ない。ブツブツ。 買ってから6年ぐらいはたったかな。ホイールの調…

カタン、Pythonでは?―― マップ作り

タイルの位置を渦巻き状にする計算をpaythonにさせようかと考えたのだけど、事実上一つ一つ動かしていくのと同じことしか思いつかないので、やめた。そのうち、角度とかを考慮して順番を決めていく方法が分かるかもしれないが、今のところ無理。また、Python…

カタン、Pythonでは?―― トークンの順番その2

トークンの順番で、砂漠の位置にゼロを挿入することはできた。次は、トークンの位置の修正である。前にやったのは、上の段から、という形だったが、外側から内側へ、渦巻き状にしなければいけない。どうやって並べ替えるか! 結局、手でやった。 並べ替えて…