黒木玄 Gen Kuroki
- いいね数 389,756/311,170
- フォロー 995 フォロワー 14,556 ツイート 293,980
- 現在地 (^-^)/
- Web https://genkuroki.github.io/documents/
- 自己紹介 私については https://twilog.org/genkuroki と https://genkuroki.github.io と https://github.com/genkuroki と https://github.com/genkuroki/public を見て下さい。
2020年03月05日(木)
OokuboTact 大久保中二病中年 @OokuboTact
@temmusu_n > 新宮恒次郎『算術教育汎論』東京、雄山閣編輯局、1934年。
勉強になりますね。
タグ:
posted at 22:57:53
何をプロットするかにも理解の深さが問われることになる。
最初のうちは「同一の標本分布が生成するサンプルについて異なるモデルが生成する各種の値の同時分布が大事である」ということがわかっていなかったので、情報量が少ないプロットを多数作成していた。
基本の理解は非常に難しい。
タグ:
posted at 22:38:43
ちなみにこの手のことをやったことのある人ならみんな気付いていることだと思いますが、計算のためのコードを書く手間と、綺麗にプロットするためのコードを書く手間はほぼ同じ。場合によっては後者の方が多くなってしまうことがある。「視覚化」は結構大変。
タグ:
posted at 22:33:58
数学的に n→∞ で成立している結果を現実に応用する場合には、有限の n でどうなっているかの確認が必ず必要。
有限の n で n→∞ での結果がどれだけ悪くない誤差で適用できるかはケース・バイ・ケース。上で紹介した場合には n = 10 でも悪くなさそうな感じで成立している。
タグ:
posted at 22:30:17
#統計 #Julia言語
せっかくなのでサンプルサイズn=10の場合のプロットも作った。
汎化誤差 G とWAIC W のプロットが「180度回転して平行移動」の関係になっていることは、n→大での漸近論でしかないのですが、n=10の小サンプルでも結構成立しています。 pic.twitter.com/GIXzyp0M1J
posted at 22:28:35
#統計 プロットも作り直した。背景の色が lightgray で明るすぎて見難かったので、gray に変更した。
そのおかげで「外れ値」の位置が相当に見易くなっています。
汎化誤差 G のプロットとWAIC W のプロットが「180度回転と平行移動」の関係になっていることが、外れ値も含めて見易くなったと思う。 pic.twitter.com/MP2bEgj6w0
タグ: 統計
posted at 22:18:56
富谷(助教);監修 シン仮面ライダー @TomiyaAkio
twitter.com/genkuroki/stat...
やはり物理は役に立つなー
(物理起源の手法という意味で)
タグ:
posted at 22:12:40
#Julia言語 での分散処理およびマルチスレッドについては
nbviewer.jupyter.org/gist/genkuroki...
Distributed and Threads examples (Julia v1.4.0-rc2.0)
というノートブックもあります。そこには書くスレッドへの仕事の割り振りを手動で行う例が載っている。それだと「18文字追加するだけ」では済まなくなる。
タグ: Julia言語
posted at 22:09:49
#Julia言語 ミニマルな例を作りました。
nbviewer.jupyter.org/gist/genkuroki...
Simple Threads.@ threads example
サンプル生成→サンプルからの推定→配列への結果の保存
のforループの前に Threads.@ therads を追加するだけ。 pic.twitter.com/FFUUkesXGd
タグ: Julia言語
posted at 22:07:14
マルチスレッド使うとマルチコアガンガン使えるの嬉しくなってタスクマネージャのCPUグラフ見続けたりする人は多いはずw twitter.com/genkuroki/stat...
タグ:
posted at 21:56:50
#Julia言語 というわけで、Threads.@ thereads をシミュレーションを繰り返すforループの前に追加しました。
もとのコードに18文字追加するだけで計算が3倍以上速くなりました。
docs.julialang.org/en/v1/manual/p...
twitter.com/genkuroki/stat... pic.twitter.com/nu4SSZWJat
タグ: Julia言語
posted at 21:37:38
#Julia言語
nbviewer.jupyter.org/gist/genkuroki...
1次元の混合正規分布モデルのWAIC
の計算ではサンプルサイズnごとに
n=30のサンプル1000個について色々計算→4分半
n=100のサンプル1000個について色々計算 →12分
n=300のサンプル1000個について色々計算 →30分
程度の時間がかかりました。CPUで並列化無し。
タグ: Julia言語
posted at 19:25:43
Julia で PyTorch を呼び出す方法
#Julia言語
qiita.com/Paalon/items/f... #Qiita
posted at 19:21:00
ごまふあざらし(GomahuAzaras @MathSorcerer
プロット知見が溜まっていく twitter.com/genkuroki/stat...
タグ:
posted at 18:50:50
〈 Berger | Dillon 〉 @InertialObservr
Mathematica(L) Animations: Tutorial 2
YouTube: www.youtube.com/watch?v=HOmaer... pic.twitter.com/Q0G9CerdSh
タグ:
posted at 18:46:04
#統計 以下のリンク先スレッドも参照。
ポイントは
* 標本分布 q(x_1)…q(x_n) による汎化誤差やWAICの確率分布がどうなっているか
* 同一の標本分布につい、複数のモデルの汎化誤差やWAICの同時確率分布がどうなっているか
の様子をコンピュータで確認すること。
twitter.com/genkuroki/stat...
タグ: 統計
posted at 18:37:36
#統計 もっと簡単なベルヌーイ分布モデルのケースであれば、多くの統計量の公式を紙の上での計算で比較的容易に作れます。そのような公式を用いたp.119 定理15の確認については
nbviewer.jupyter.org/gist/genkuroki...
Bernoulli分布モデル
を見て下さい。
タグ: 統計
posted at 18:34:04
#統計 #Julia言語
nbviewer.jupyter.org/gist/genkuroki...
1次元の混合正規分布モデルのWAIC
と
nbviewer.jupyter.org/gist/genkuroki...
Metropolis-Hastings method
ではp.119 定理15の数値的確認を実際に行っています。
遊びでMCMC法の実装から始めていますが、既存のMCMCパッケージを使ってもよいと思います。
posted at 18:26:08
あと、結論の一番面白そうな部分の様子をいきなり最初に見てしまえるなら、そうした方が都合が良いですが。
渡辺澄夫『ベイズ統計の理論と方法』では、WAICの計算の仕方と使い方の理解がまさにそれ。
p.119 定理15の数値的確認を行えば、WAICの計算をコンピュータでできるようになっています。
タグ:
posted at 18:22:19
数学の理解で最重要なことは
えっ!ほんとにそんなことが成立しているの?
という感覚を持ちつつ、実際に成立していることを確認すること。
紙の上での証明で確認するだけではなく、具体例で数値的に確認できていることも理解のためには必須です。後者だけでもできていれば理解は進む。
タグ:
posted at 18:19:09
内容を十分に理解していなくても、コンピュータで数値計算するコードを書ける場合は結構あります。
でも、理解せずにコードを書くと、ひどい単純ミスを犯していても気付くことができなくなってしまいます。
しかし、非自明な定理を数値的に再現できたなら、正しい実装になっていると期待できます。
タグ:
posted at 18:14:56
#統計 私は、渡辺澄夫『ベイズ統計の理論と方法』は、WAICと汎化誤差の関係に関するp.119の定理15のβ=1の場合を特別な確率モデルについて確認することを最初の目標にすると、実用的な理解に至り易いといつも言っています。
続く
twitter.com/f_jhr/status/1...
タグ: 統計
posted at 18:14:54
#Julia言語 おまけ
1行で3次元ランダムウォークを構成して1行で表示.
X = cumsum(randn(2^12, 3), dims=1)
plot(X[:,1], X[:,2], X[:,3]; label="random walk", lw=0.5) pic.twitter.com/Djnbo69yos
タグ: Julia言語
posted at 15:07:57
#Julia言語
nbviewer.jupyter.org/gist/genkuroki...
Plots.jlのpyplot()でlinestyleを自由に設定 pic.twitter.com/ZpVsRtZVHW
タグ: Julia言語
posted at 15:07:56
大童 澄瞳/Sumito Oowara @dennou319
ホゲー!!!!!我が庭の池にヒキガエルの卵が!!!!!!!ついに!!!ついに!!!!!!産卵してくれたのだ!!!!!!!環境を整えるまでなんやかんや数年かかったが・・・活発な時期に間に合って良かった・・・論文を読んだり詳しい方に教えて頂いたり・・・よかった pic.twitter.com/fRh4Eazwl3
タグ:
posted at 14:40:50
【重要】東北大学の学生の皆様へ(For English)
東北大学英語版のWEBサイトにも #COVID19 関連の情報を掲載しています。周りの留学生のお友達にもお知らせしてくださいね。
以下URLから確認してください。
#東北大 #COVID19 #新型コロナウイルス感染症 twitter.com/TohokuUniPR/st...
タグ: COVID19 新型コロナウイルス感染症 東北大
posted at 13:18:57
リポーター「今日は数学者の先生に取材に来てきます!普段、数学者が何をしているのか聞いちゃいます!」
リポーター「早速ですが、数学者は普段どんなことをやっているんですか?」
数学者「数学です」
タグ:
posted at 12:50:55
スゲー。#超算数|の語がネットを越えてリアルでも使用されたtwitter.com/yousaien/statu...。酷い目にあったR君、めげないで数と仲よくなって下さいね。
タグ: 超算数
posted at 12:15:53
左から正十二面体、六、八、二十、(ブランク)、です。
十二は角を少し削る必要があり、六は頂点が被ってしまうのでこの方法を使うときは八か二十がオススメですね(四は無理)
タグ:
posted at 12:12:51
私もその説明の仕方がよいと思う。
(ベイズ云々とか統計学云々と言うのはやめた方がよい。)
全体の人数を適当に与えて、2×2の分割表を作って眺めるだけ。
このスレッドに書いたように、大学入試問題にも出題されるくらい易しい話。
twitter.com/ikkeihotta/sta...
タグ:
posted at 11:57:26
吉田研作氏は、この段階になってもなお、妥当とは言えない現状認識や数の大きさでミスリードしようとするような論法を使い続けているように見える。今回の入試改革を牽引しようとする人たちは、間違った事実認識を正そうとする気配が全く感じられない。 twitter.com/VC5FKHkRrrZxII...
タグ:
posted at 11:51:15
【重要】東北大学の学生の皆様へ
#東北大学 公式アカウントで #新型コロナウイルスの蔓延を防ぐ ための対応について情報発信がありました。
以下URLから必ず確認してください。
#東北大 #COVID19 #新型コロナウイルス感染症 twitter.com/tohoku_univ/st...
タグ: COVID19 新型コロナウイルスの蔓延を防ぐ 新型コロナウイルス感染症 東北大 東北大学
posted at 11:39:13
#統計 以上で紹介したノート
nbviewer.jupyter.org/gist/genkuroki...
1次元の混合正規分布モデルのWAIC
は
nbviewer.jupyter.org/gist/genkuroki...
Metropolis-Hastings method
の続編。
既存のMCMCパッケージを使わずに素朴にテキトーに何も見ずに実装したMCMC法であっても、勉強のために非常に役に立つことを示したノート。
タグ: 統計
posted at 11:36:19
mathematica_command @mathematica_bot
FiniteAbelianGroupCount[n] :位数n の有限アーベル群の数を与える
タグ:
posted at 11:35:53
#統計 p_mixnormal(x|a,b)=(1-a)N(x)+aN(x-b)とp_normal(x|μ,σ)=N((x-μ)/σ)/σは共通部分がp_normal1(x|μ)=N(x-μ)に一致する異なる2パラメータモデルです。サンプルを生成した分布N(x)は共通部分に含まれている。
その場合のプロットが添付画像。
この場合にも何か綺麗な法則がありそうです。 pic.twitter.com/YgGxowfSve
タグ: 統計
posted at 11:28:40
#統計 点の分布の仕方や色付けと45度線の関係を見れば、特異モデルとそれを制限した部分モデルの場合にも何か普遍的な確率法則がありそう。
Wilks' theoremもベイズ特異モデル版の
定式化と証明
と
実用的に使える具体的な様子が分かる場合の同定
は多分生産的なよい問題だと思います。 pic.twitter.com/GLlNqkPoUU
タグ: 統計
posted at 11:23:59
#統計 この場合にmixnormalモデルは特異モデルになっており、normal1モデルを含んでいます。この場合の汎化誤差GとWAIC Wのプロットは添付画像の通り。
mixnormalモデルの方がnormal1モデルより汎化誤差が小さくなる場合の割合が多くなっています。私の計算例では737/1000でそうなっています。 pic.twitter.com/oqIGUQzQ5o
タグ: 統計
posted at 11:19:59
#統計 normalもnormal1もシンプルな正則モデル(指数型分布族!)なので、ベイズ統計やらMCMCやWAICを使う必然性は皆無で、最尤法を使ってWAICの代わりにAICをプロットしてもほぼ同じプロットが得られます。 pic.twitter.com/i0hww9rRYu
タグ: 統計
posted at 11:15:06
#統計 色の付け方
赤: normal側の方が汎化誤差もWAICも大きい場合
黄: normal側の汎化誤差が大きいが、WAIC側では逆
シアン: normal側の汎化誤差が小さいが、WAIC側では逆
青: normal側の方が汎化誤差もWAICも小さい場合
青色の点はない。
黄色シアンがWAICでのモデル選択に失敗する場合です。 pic.twitter.com/AzD0PBGSbL
タグ: 統計
posted at 11:12:26
#統計 WAIC側のプロットが、汎化誤差側のプロットを180度回転して平行移動したものになることは、渡辺澄夫『ベイズ統計の理論と方法』p.119の定理15より。
実際のプロットでは、その定理15の左辺の括弧中の量を2n倍したものの対を座標とする点をプロットしています。 pic.twitter.com/Udjfl2lOQf
タグ: 統計
posted at 11:08:26
#統計 続き。このプロットを見れば「非常にきれいな確率法則が成立していること」は明らかだと思います。
正則モデルで、片方のモデルがもう一方のパラメータ空間を制限したもので、制限内にサンプルを生成した分布が入っている場合には普遍的にこういうことが成立する(Wilks' theorem)。 pic.twitter.com/6hQIKyKDg9
タグ: 統計
posted at 11:04:53
ふつうに条件付き確率の定義にのっとって計算してもいいですが,直感的には10000人連れてくるのがいいと思います.検査で陽性反応が出るのが198人,実際に陽性なのは99人なので,確率は1/2,50%です. pic.twitter.com/LWqKq4pZkz
タグ:
posted at 11:04:49
#統計 normalをパラメータσを1に固定したものがnormal1です。この場合は古典的なWilks' theoremで扱える状況。それぞれについて、汎化誤差 GとWAIC Wをプロットした結果が添付画像。MCMCの誤差が結構入っていることに注意(以下も同様)。
黒の点線は45度線で、そこからの乖離が「差」になっている。 pic.twitter.com/g32i8zMuaS
タグ: 統計
posted at 11:01:58
新型コロナウイルスのPCR検査が話題になっていますが,私の確率統計の講義を受けた学生はこの演習問題を思い出すんだ(条件付き確率). pic.twitter.com/dhUn253SsF
タグ:
posted at 10:58:48
#統計 #Julia言語 ソースファイルは
nbviewer.jupyter.org/gist/genkuroki...
にある。
N(x)を標準正規分布とするとき、モデル達は
q(x)=N(x) (サンプルを生成する分布)
p_mixnormal(x|a,b)=(1-a)N(x)+aN(x-b) (混合正規分布モデル)
p_normal(x|μ,σ)=N((x-μ)/σ)/σ
p_normal1(x|μ)=N(x-μ)
です。
posted at 10:57:30
#統計 以下のリンク先は、モデルのペアごとに、汎化誤差G(正確にはKL情報量)とWAIC Wをプロットしたもの。それらの差の大きさは45度線からどれだけ離れたかで測られる。
3種のモデルの共通部分に含まれる分布でサンプルを1000個生成してプロットしています。 twitter.com/genkuroki/stat...
タグ: 統計
posted at 10:50:39
JuliaLangの経典を探しているがThink Juliaなのかしら。
The Julia Programming Languageが無いのが不思議な感じ。
タグ:
posted at 10:06:36
Juliaでルンゲクッタしてたら、"ERROR: LoadError: Something went wrong. Integrator stepped past tstops but the algorithm was dtchangeable. Please report this error."って出た
タグ:
posted at 09:42:15
QuantEconのJuliaのようにat_with_kwで構造体っぽく(型なしで)変数を定義して、のちにunpackで使うパラメタだけ取り出す方法と、mutable struct のように構造体かつ型宣言して、のちに構造体からパラメタ呼び出す方法、どっちが効率的なんでしょう?他言語とcompatibleにするなら後者でしょうか?
タグ:
posted at 09:05:02
Insanely realistic eye drawing.
Source: old.reddit.com/user/vosszaa pic.twitter.com/3xLlfvrKrd
タグ:
posted at 05:06:57
渡辺ベイズ、やっぱり5,6章で具体的な問題に対する練習をしてから、3,4章の漸近理論を読むのがよさそうな気がする。実用目的の人が5,6章読まずに4章あたりで挫折したらもったいないので
タグ:
posted at 04:59:37
#julialang *Just In Time* (JIT) compilation. Image from the excellent book «Julia High Performance» by Avik Sengupta: juliahighperformance.com pic.twitter.com/Dtssk7Mag8
タグ: julialang
posted at 03:50:53
#つぶやきProcessing #p5js
C=0,S=.985,A=[]
setup=_=>{for(i=0;i<300;){A[i++]=[sin(i),i]}}
draw=_=>{createCanvas(W=720,W)
F=sin(C++*.02);i=0
for([x,y]of A){v=w=0;ellipse(x+W/2,y+W/2,18)
for([a,b]of A){d=mag(x-a,y-b)
if(d<80&&d){v+=(a-x)/d,w+=(b-y)/d}}
A[i++]=[(x+v*F)*S,(y+w*F)*S]}} pic.twitter.com/OOvSt45rDd
タグ: p5js つぶやきProcessing
posted at 01:59:59
ごまふあざらし(GomahuAzaras @MathSorcerer
自由に数式をレンダリングができるようになれば
MathCounterExampleというリポジトリができて
〜をみたす例とそうでない例が大量にIssueなどで投稿されるようになると思うの。
タグ:
posted at 01:56:22
ごまふあざらし(GomahuAzaras @MathSorcerer
Julia 何も考えずにバージョンアップするといつのまにかパフォーマンス向上しててこわい。
タグ:
posted at 01:43:06
ごまふあざらし(GomahuAzaras @MathSorcerer
#Julialang
LinearAlgebra says ”Hey!!! why don't you use Julia 1.5-Dev? ”
😎 pic.twitter.com/U3hkehPSCI
タグ: Julialang
posted at 01:41:46
そういえばJuliaで
xs=range(1,10,length=10)
for x in xs
end
みたいなループで、forのindexって取得できないのかな。いまはi=0を外に書いてi+=1を内側に書いてる。
Pythonだと
for x,i in xs
みたいな感じでできたような気がする
タグ:
posted at 01:29:42
ごまふあざらし(GomahuAzaras @MathSorcerer
まくろしゅごいな。
こーかいたらいいかんじにしてくれるんでしょ?
AIよりもいいんじゃない?
タグ:
posted at 01:28:27
ごまふあざらし(GomahuAzaras @MathSorcerer
こういうのをみるとなかみどうなってるんだろうって
少しワクワクするんですよね。
github.com/chriselrod/Loo...
タグ:
posted at 01:07:12
ごまふあざらし(GomahuAzaras @MathSorcerer
htopでCPUの使用率を見るとGaiusがしっかりコアをつかってるんですよね。感動している
タグ:
posted at 00:58:02
ごまふあざらし(GomahuAzaras @MathSorcerer
Gaius.jl is a multi-threaded BLAS-like library using a divide-and-conquer strategy to parallelism
github.com/MasonProtter/G...
#Julialang #Julia言語 pic.twitter.com/kry3sXcELc
posted at 00:58:01
Artist and designer Julia Nizamutdinova has created a kinetic sculpture that rotates, twists, and turns in a mesmerizing and hypnotic fashion. Made of plastic, aluminum, and steel, INFI is modeled after the infinity sign in its form and movement buff.ly/3ctp7FT pic.twitter.com/wW8P3QVOLF
タグ:
posted at 00:37:40
ごまふあざらし(GomahuAzaras @MathSorcerer
そうそう、TypeCのiPadProはこうやってラズパイ4またはZeroとOTGせつぞくできるからべんり。ただし、電源共有の安定云々っていうのはあるけれど、趣味だったらもんだいない。 twitter.com/abap34/status/...
タグ:
posted at 00:25:51
#統計 ちょっと上の方の添付画像の訂正版。つまらないミスの訂正。
添付画像の GW は G + W の意味です。
normalモデルで G+W ≈ 4 で G+W ≈ 4λ と比較すると、λ≈1です。normalモデルはパラメーター数d=2の正則モデルなので、λ=d/2=1となり、理論値とよく一致。
normal1についても同様。 pic.twitter.com/Unvr82OjQ1
タグ: 統計
posted at 00:21:29
#統計 n=3000、10000の場合もちょっと計算してみた。nを増やしたら、G+Wが少し上昇して平均1.6くらいになった。
G + W ≈ 4λ
なので、そこから、λ≈0.4 程度であることが分かるのだが、私の手計算では λ=1/2 = 0.5, m=2 になった。これで合ってますか?
nbviewer.jupyter.org/gist/genkuroki... twitter.com/genkuroki/stat... pic.twitter.com/cDqhjf4Htp
タグ: 統計
posted at 00:15:38