mathtod.online

現在のタイムライン

https://mathtod.online/@darkofsociety/727428

2年生の夢(sophomore’s dream)$$\sum_{n=1}^\infty\frac1{n^n}=\int_{0}^{1}\frac1{x^x}\,dx$$を連想しました。 https://mathtrain.jp/sophomore による証明過程でガンマ関数が使われていますね。関連性があるかも知れませんし、無いかも知れません。

avatar
プラスト (@1_324718) 2017-10-17 20:37:34
avatar
avatar
avatar
avatar
avatar

https://mathtod.online/@darkofsociety/727428

自信がないときには数値計算!

オイラーもガウスもリーマンもそうしていた。

我々は彼らのような天才ではないけど科学技術の進歩の力を借りられる。

https://mathtod.online/media/-HPalyeeVsCDHwRg2oI

avatar
avatar
avatar
avatar
avatar
avatar
(@darkofsociety) 2017-10-17 14:21:31
avatar
avatar
avatar
avatar
ε (@kyo_math1729) 2017-10-17 08:23:12
avatar
汁 (@vic_viper) 2017-10-17 07:44:15
avatar
幻獣 (@America) 2017-10-17 06:26:44
avatar
幻獣 (@America) 2017-10-17 06:24:31
avatar
avatar
avatar
(@je6bmq) 2017-10-17 00:40:42
avatar

まあ目標は

「数値計算で遊ぶことを通して、今までの自分に欠けていた数学的教養を身に付けること」

なのでパッケージをそのまま素直に使うのではなく、中身を覗きながら、対数尤度函数(物理で言えばハミルトニアンにあたる量、MCMCで遊ぶには物理の教養が滅茶苦茶役に立ちます)のコードを直接書いてしまう方がいいのかもしれない。

sum()の挙動については以前にも問題にしたのですが、NUTSサンプラーに渡すgradient函数を手計算で微分した結果をそのままコード化するよりも、Calculus.gradient 函数にまかせた場合の方が計算が速かったのは非常に意外だった。

何か見落としているのかもしれない。

avatar

http://nbviewer.jupyter.org/gist/genkuroki/33e3832ad526411d6e3d592e5fb4192b
Performance test of Mamba

Julia言語にはMambaというそれなりに使い易いMCMCパッケージがあるのですが、それを「モデル記述→mcmc函数」という通常の使い方をするとなぜか遅い。

対数尤度函数を直接定義して、sample!()函数の繰り返しで計算した方がなんと10倍くらい速い!!!

結局、何が律速段階なのかわからなかったのですが、対数尤度函数の書き方によって計算速度が大きく変わることは確認できました。

sum(f(x[i]) for i in 1:N)

ではなく

sum(f.(x))

と書くと滅茶苦茶遅くなる。

あと、対数尤度函数のgradientの定義式を書かずに、
Calculus.gradient函数にまかせた方が速かったのは意外でした。

これだけ計算速度が違うと、これからは sample!() 函数を直接使いたくなるかも。

avatar
avatar
avatar
avatar
avatar
avatar
ふぁぼん (@fabon) 2017-10-16 20:48:52
avatar
あり (@ta_to_co) 2017-10-16 20:46:10
avatar
ふぁぼん (@fabon) 2017-10-16 20:44:11
avatar
ふぁぼん (@fabon) 2017-10-16 20:43:35
avatar
ふぁぼん (@fabon) 2017-10-16 20:43:23
avatar
ふぁぼん (@fabon) 2017-10-16 20:42:47
avatar
ふぁぼん (@fabon) 2017-10-16 20:26:49
avatar
yoriyuki (@yoriyuki) 2017-10-16 20:06:44
avatar
yoriyuki (@yoriyuki) 2017-10-16 19:49:14
avatar
ヤジダス (@yajidasu) 2017-10-16 18:08:40
avatar
ヤジダス (@yajidasu) 2017-10-16 18:03:34

タイムラインについて

表示内容

指定したインスタンスの現在のローカルタイムラインを表示します。