2011-01-01から1年間の記事一覧
最初6つ用意しておいたクラスタが、学習と共に消えて行って最終的に2個になるのが観察できる。初期パラメータによって収束するパターンはまちまちなので、次は初期パラメータを変えて何度も学習し、一番良い結果に収束したものの動画をつくろう。ちゃんとX字…
昨日の社内機械学習勉強会のハイライト、PRML P.357のカルマン利得行列(eq. 13.92) の意味について忘れないうちにまとめておく。Σが0に近い時、つまり出力確率の分散が小さい場合を考えてみよう。出力確率の分散が小さいってのは「センサーが優秀で、ほとん…
結婚式のウェルカムボード、二人の写真で作ってもその後困るだけじゃないか?などと考えていたら妻が「カッティングシートであなたの作品の表面にWelcomeって入れれば、あとで剥がして元に戻せるんじゃない?」と言うのでやってみた。カッティングシートはハ…
あの「カパッ」と開く箱の仕組みについて、気になったので分解して見ることにしました。もちろん事前に妻の承諾は得ていますよ!意外とシンプル。 蝶番と板バネが入っているだけ 板バネが両端を近づける方向に力をかける。蝶番のバネを引っ掛ける部分が少し…
下のコードでfill=Falseをしているにもかかわらず「青く塗られた円」が描かれる。 from matplotlib.collections import PatchCollection from pylab import * def draw(): clf() circles = [Circle(random(2), radius=random(), fill=False)] gca().add_coll…
なぜか一度ipythonを終了してまた起動したらプロンプトがおかしくなってしまった。resetしてもTerminal.appを再起動しても治らない。 34In[1;3[0;34][0何をいじったせいなのか…しばらく悩んだけどもipythonの起動時にreadlineに関する警告が出ていたのでsudo…
変分ベイズを勉強中。数式も、グラフィカルモデルも、最小限のことしか書いていないから行間を読むのが大変だ。ようやく少しわかったので独自記法でグラフィカルモデルに書きたしてみた。 まず混合正規分布のグラフィカルモデルについて、グラフィカルモデル…
自分の実装した「Numpyで混合ガウス分布のEMアルゴリズムを実装した」のコードを中谷さんの「EM アルゴリズム実装(勉強用) - Mi manca qualche giovedi`?」と照らしあわせて答え合わせしてみる。まず、EMアルゴリズムってなんなのかって話を簡潔に。観測でき…
「バツ印をつける」と言った場合、多くの場合言語化されていない暗黙の要求仕様がある。「バツ印はグラフの軸に影響されて横長になったりしないでほしい」とか。前回 「NumPy+Matplotlibで散布図の上に平均と分散を表示する」 ではCircleをPatchCollectionに…
NumPyすごいな。学習部分は実質2行だ。 # E-step nearest_cluster = array([argmin([norm(x - mu) for mu in mus]) for x in data]) # M-step mus = [average(data[nearest_cluster == k], axis=0) for k in range(K)] 「パターン認識と機械学習」(PRML)読書…
散布図のマーカーに"+"を指定して「あれー、色を指定しても反映されないなー」と悩んでいたが、指定した色はマーカーの塗りに使われるのであった。"+"だと塗りがないから色が変わらないというオチ。edgecolorを指定すればいいんだろうけどマーカーを"o"に変…
与えられた成分が対角成分に入っているような対角行列を作りたい場合、diagを使えばよい。 In [837]: diag([1, 2, 3]) Out[837]: array([[1, 0, 0], [0, 2, 0], [0, 0, 3]])
内積(v^t v)や行列の積はndarrayのdotメソッドでできるが、外積(v v^t)はどうやってやるんだろう…それらしきメソッドがないなぁ…と思ったらouterって関数があった。めでたしめでたし。 In [833]: array([1, 2, 3]) Out[833]: array([1, 2, 3]) In [834]: v =…
昨日行われたJubatus Workshopに参加してきました。ref. 第一回 Jubatus Workshop #jubatus - Togetter JubatusOfficial Presentations以下は僕の解釈も含めたまとめ ユバタスの必要性 データはこれからも増加していく。今多いってことより、今後どんどん増…
$ convert -delay 100 -loop 0 [1-6].png anime.gif楽チン。 $ convert -delay 100 -loop 0 fig*.png anime.gif10枚を超えてきたら"%02d"とかでfig00.png ... fig99.pngにしてアスタリスク(*)で取ったほうがよさげ。
楕円は3標準偏差、初期値からEMステップを1回、2回、3回、7回、15回(平均のベクトルの変化量が0.0001未満という基準で収束と判定)の6枚でアニメーションGIFにしてみた。 こっちはEMステップを0〜15回実行。k平均法ではこれはできまい。しかし初期値によって…
おっと。invertで逆行列をつくろうとしたら謎の行列が返ってきた。 In [1]: invert(array([[4, 0], [0, 1]])) Out[1]: array([[-5, -1], [-1, -2]]) invertは「Compute bit-wise inversion, or bit-wise NOT, element-wise.」だそうな。invを使うのが正解。(…
先日「NumPyで散布図を書く」ではscatterを使って散布図を描くところまでをやった。今日はこの上に分散と平均を示す楕円を描き足したい。PatchCollectionのサンプルを見てみるとpylab.figureでmatplotlib.figure.Figureを作って、fig.add_subplotでmatplotli…
iMovieは写真をポンポンとドロップするだけで、画像の重要そうなところを判断して適当にスクロールするイフェクトをつけてくれます。素人に優しいシステムですね。だけどたまに自動判定に失敗するので調整したいことがあります。それがどこからいじれるのか…
追記:結論としてはtransposeはデータのコピーをしないので気兼ねなく使ってOK。まず「各column単位でイテレートしたい」が理解してもらいにくいので簡単に説明する。ある行列matがあったとする。 In [125]: array([[1, 2], [3, 4]]) Out[125]: array([[1, 2…
結婚式の動画のために自分の顔写真が必要で、Googleで自分の名前でイメージ検索していたらいろいろなものが発見される。2006年7月の自分のブログエントリーにこんなことが書いてあった。 意外。最近しばらくJavaとPythonばっかり使っていて、多くの人に「Jav…
予期しない例外が起きた場合: In [55]: scatter(data[:, 0], data[:, 1], marker=".") --------------------------------------------------------------------------- (中略) /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/s…
NumPy + Matplotlibの環境構築がうまく行かなくてほったらかしにしていたのだけどいい加減ほったらかしにしてられなくなってきたので「明確な目標を立ててそれの達成のために必要最小限だけタイムトライアルで学ぶ」というアプローチで頑張ってみた。ipython…
Twitterの自分の発言から転載 インプットとアウトプットのどちらが大事か、という議論が不毛なのは対象が明確でないからだ。言われた仕事をするだけで自発的に学ばない人にはもっと入力を増やせ、机上のお勉強ばかりで行動しない人にはもっと出力を増やせ、…
やったー、ついに10番台。目指せ一桁! 1週間経って、ふと思い出したので問題増えたかなとアクセスしてみたら270位に落ちてた。ということは、総ユーザ数は2万以上だけど、僕が問題を解いていない間に新着の4問の問題を解いて僕を追い越していく人は300人も…
9年くらいテレビの無い生活をしていたんだけども、最近テレビを買ってみたらテレビがゲーム機になっていてビックリした。何気なくテレビをつけたらいきなり画面の周りに情報画面が出ていて、なんだかそこからパズルが解ける!夫婦でノリノリで解いてたら全国…
KJ法A型(もどき)をしてからマインドマップ(もどき)にしてみた。情報カードを買おうとしたら妻が「付箋のほうがいいよ、かさばらないし貼り付くし」というので付箋で。名刺サイズよりだいぶ小さい。まとめるまとめるまとめるマインドマップ用のクロッキーに並…
4歳頃の作品。なんじゃこりゃ、何を表現したかったんだ… 地球と土星はわかるけどうねうねした線は何なんだ そしてさらに抽象画になってるw いつ頃にどういう文脈で書いたものか知りたいけど今となってはもうわからないと思うので、今から子供の作品を保管す…
哲学は詳しくないので、帰納(induction)とアブダクションの違いがよくわからなかった。アブダクションは「観測事実X1, X2, ..., Xnが与えられたときに、仮説Hを仮定すればこれらの観測事実が説明できることから、きっとHだろうと結論すること」で、演繹(dedu…
機械学習の方は人工知能の方のシステムと少し違うみたい。動画は1.5倍速で再生できる(音があまりよくない)けど、人工知能の方みたいにクイズがどこにあるのかわかりやすくないので、授業を飛ばし飛ばしで聞きながら問題だけ解くってのができない。僕がやり方…