黒木玄 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年10月26日(月)
なるほどな? (2枚めの方は妥当な気がする) (ありがとうございます!!)
twitter.com/LirimyDh/statu...
twitter.com/genkuroki/stat... pic.twitter.com/KSgmNbmSY5
タグ:
posted at 23:44:40
#統計 私による計算結果とソースコードは以下のリンク先で確認できます。特に豊田『瀕死本』の図5.2, 5.3は対応するP値のプロットとほぼぴったり一致しています。
「頻度論vs.ベイズ」という頭の悪そうな対立図式を煽っていても、具体的に値を計算すれば化けの皮がすぐに剥がれ落ちます。計算大事。 twitter.com/genkuroki/stat...
タグ: 統計
posted at 23:30:13
#統計 豊田『瀕死本』がひどい本であることを確認するには、その本がP値の代替物として勧めている「仮説が正しい確率」(←概念自体まずい)が、片側検定などのP値に近似的に一致していることをコンピュータで確認すると良いです。
P値の代替物として別のP値を勧めているのと本質的に同じwww
続く twitter.com/chap0201/statu...
タグ: 統計
posted at 23:26:15
#Julia言語 配列を函数の引数に渡した結果の計算時間を計測するときには、配列の変数に $ をつけるとより正確になります。
@ btime $ A * $ B
とか
@ benchmark $ A * $ B
@ $ の直後の空白は除く。 twitter.com/kb_satou/statu...
タグ: Julia言語
posted at 23:19:11
@genkuroki 気になって検索してみたら 「30%と70%の食塩水のツイート」が確かに大量に出てくるね。でも何故かこの同種のツイート群をよくみると登場人物や台詞が全部微妙に違ってて、何かのコピペネタなのかこれ?という明後日な方向の別の疑問が湧いてきて、気になってもう夜しか寝れないww
タグ:
posted at 23:05:22
@UFOprofessor @yamazaksv2 @genkuroki 私は算数・数学を教えるときは、線密度や面密度を扱う。体積密度はうかつには扱えない。
食塩水の問題も飽和の濃度を確認しながらやる。
こういうのって、教材作る側は神経使っていると思ったけど・・・
タグ:
posted at 22:52:29
↓掛け算順序ルールと「やり方を子供に考えさせる授業」が悪魔合体していた授業を参観日に見た話です。 twitter.com/oku__chan/stat...
タグ:
posted at 22:25:30
@GreatDemon1701 @genkuroki しかもひどいことに、最後のまとめで、みんなにどんなことがわかったか発表させていて
「かける順序をかえて計算しやすくできることがわかりました!」と発表した子に対して、先生が「いや、順序はかえてないよ!」と否定したんですよ。
その子は混乱していました…
あまりのことに絶句した私でした…
タグ:
posted at 22:10:29
@GreatDemon1701 @genkuroki そうできればシンプルでしょうに、なぜか小学校では掛け算の順序をかえてはならない規則があるみたいです。
文章題で単位×個数で立式しようというのは理解しますが、単純に計算の仕方の指導ですら順序は逆にしてはいけないオキテがあるようでびっくりしました。
タグ:
posted at 21:58:44
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
#Julia言語 逆順にするのは reverse 函数なのですが(添付画像1,2)、それ以外に、Iterators.reverse(a) や @ view(a[reverse(axes(a,1))]) のような「遅延評価」をやってくれる選択肢もある(添付画像3,4)。
それぞれ長所と短所がある。
gist.github.com/genkuroki/f58b... twitter.com/black_tank_top... pic.twitter.com/uc9Ut0dcPV
タグ: Julia言語
posted at 21:48:00
非公開
タグ:
posted at xx:xx:xx
The Julia Language @JuliaLanguage
Despite best effort from us and from #JuliaLang users, things still might not make sense (errors, docs, etc).
If you are confused, frustrated, or the like... chances are other people feel the same way. Feel free to always open an issue so we can try and address this! twitter.com/archiloque/sta...
タグ: JuliaLang
posted at 21:29:49
#Julia言語 行列を扱う函数の引数の「型指定」=「型の制限」を
function f(x::Matrix{Float64}) ~ end
のように書くと、Float32のCuArrayを使用不可能な函数ができあがる。
「型の制限」を書くのをやめたり、ゆるふわな抽象型で「型の制限」を行っておけば大丈夫。 twitter.com/kb_satou/statu...
タグ: Julia言語
posted at 21:26:21
@atsuko92717587 @okup123456789 >流石に分数まで定規ってことは、、、、そこまで学校は馬鹿じゃないと思いたいです。
馬鹿ですよ。
twitter.com/saya_lazy/stat...
タグ:
posted at 21:10:51
#Julia言語
整数による / での割り算は浮動小数点数になる←これ要注意!
他に ÷ だけではなく、有理数型を作る // もある。 twitter.com/SGThr7/status/... pic.twitter.com/v7RzbXnCon
タグ: Julia言語
posted at 21:07:25
OokuboTact 大久保中二病中年 @OokuboTact
@takusansu @sekibunnteisuu @golgo_sardine 市販の指導要領の解説書を出したりしている人です
新潟市教育委員会がマイスターを認定しているのか!
www.meijitosho.co.jp/detail/4-18-27... pic.twitter.com/bLnca0IEC7
タグ:
posted at 20:59:55
いいGPUの倍精度は? 速度は? 調べてみました!!
いかがでしたか? 今回はいいGPUがツモれなかったので K80 か P100 がでるまで試したいです!! (ためしたくない) pic.twitter.com/NXina5M6ME
タグ:
posted at 20:59:02
#Julia言語
Juliaで引数や返り値の型を指定しても、「より厳格かつ正確なプログラム」になったりしないという話。
具体例を見れば、返り値の型指定のせいでバグの発見が遅れる可能性が高まったりすることも分かる。
引数の型指定は「型の制限」と呼ばれるべきで、きつ過ぎる制限はひどく有害。 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 20:37:26
@henrich 今日Juliaの新しいバーションのパッケージをアップした。フリーズまでJulia 1.6を入れたいと思います。 #julialang
タグ: julialang
posted at 20:30:41
@OokuboTact @sekibunnteisuu @golgo_sardine 特定の図を、特定の式を書かせる為に利用している感じですね。
算数教育界wではありふれたダメ指導でしょう。
タグ:
posted at 20:23:33
OokuboTact 大久保中二病中年 @OokuboTact
@sekibunnteisuu @golgo_sardine 算数教育の権威の1人ですね。
「算数教育の権威」とは言わずに「算数マイスター」と自称するんですね
タグ:
posted at 20:08:06
@golgo_sardine #超算数
この人ですね。
studysapuri.jp/course/teacher...
>思考力を鍛える算数・数学界の立役者
wwww
スタディサプリってよく知らないけど、こういうレベルの低い講師も入り込んでいるんですね。
タグ: 超算数
posted at 20:07:07
Cristóvão D. Sousa @CristovaoDSousa
@archiloque @JuliaLanguage Probably both, but it has been recognized that error messages must be improved, possible in the next release: github.com/JuliaLang/juli... and discourse.julialang.org/t/human-readab...
タグ:
posted at 19:56:18
@SGThr7 #Julia言語 PyCall.jl経由でIPython. display. Audio を使ってみました。音を鳴らせました。
nbviewer.jupyter.org/gist/genkuroki... pic.twitter.com/YXYFGoQjUp
タグ: Julia言語
posted at 19:50:32
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
@oku__chan @genkuroki 最初から掛ける順番なんかどうでもいいから計算しやすいところから掛けてオッケー、って言えばいいのに、式の中ではどうのこうの、計算のところだったらいいとか話をややこしくしすぎ。
シンプルイズベスト、あっ最上級だから「ザ」がいるんだけどカタカナで書いたら日本語なので大丈夫。
タグ:
posted at 19:15:35
GeForce RTX 2060 で、たしかに 倍精度の性能は低いみたいでした。ご指摘ありがとうございます。 twitter.com/implict_none/s...
タグ:
posted at 19:10:18
CuArray に入れれば、LinearAlgebla の関数がそのまま使えるの、多重ディスパッチを最大限活かしてる感じがしていい。便利すぎてゾクってした。 pic.twitter.com/1qRqhG7GnW
タグ:
posted at 18:51:45
「算数マイスター」だそうです。#掛算 → 尾﨑正彦のブログ: 7×4,4×7? ozakizao12.blogspot.com/2020/10/blog-p...
タグ: 掛算
posted at 18:48:34
事前勉強としてJavaを軽く触ったし、やっと書店に届いてのでJulia本格的に稼働
#Julia言語 pic.twitter.com/EvUpIeNd4c
タグ: Julia言語
posted at 17:55:30
考えさせる前に、こういう楽になるやり方があるよ、とおしえちゃってから、じゃあ、どんな掛け算が10の倍数になるかな?と例をみせて法則性にきづかせてから、3つの掛け算の演習させたらよかったんじゃないのかと思った。
案の定、次男はわかってなかったから、家で上記の説明したらすっと入ったわ。
タグ:
posted at 17:51:21
いやー、かっこをつけたのは、先に計算する、という意味で、逆にしたわけじゃありません!とかいう説明、三年生にわかるのだろうか?参観していた大人へのアピールだった気がする…
タグ:
posted at 17:41:46
例えば、23×15×2といった計算の仕方を考えようという授業で、先に23×15をしてから2をかけるのは面倒だから、先に15×2をしてから23×30をすれば簡単→23×(15×2)と表記していて、あくまでも「掛け算の順序はかえてません!」と先生は主張していて、先生は大変だなと思いましたね…何と戦っているのか…
タグ:
posted at 17:40:15
ぼくはJulia言語全然触ったことないけど、学生氏がそれで数値流体力学のコードもたくさん書いてるらしいので、学生氏にお願いすると何とかなる日が来るだろうか
...と言い続けてるうちに公開してくれないかな
タグ:
posted at 16:17:53
これ、Cxxwrap.jl 使えば Julia 言語単体でもいけるんじゃろか? (pywinauto では comtypes 使って UIAutomationCore.dll をゴニョゴニョしてるので Julia でもできる予感はある) twitter.com/KB_satou/statu...
タグ:
posted at 15:07:01
#Julia言語 「オブジェクトにメソッドをぶら下げること」はJuliaでもできます。
Pi._div(Six).sin().log() でlog(sin(π/6))を計算するようにもできる(添付画像)。
この機能はPyCall.jlで大活躍しています。
「できるけど、普通の状況では不合理なのでやらない」と「絶対にできない」では大違い。 twitter.com/genkuroki/stat... pic.twitter.com/TizwBWVlE2
タグ: Julia言語
posted at 11:54:50
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
ごまふあざらし(GomahuAzaras @MathSorcerer
お? Julia1.6-DEV だと precompile が並列でされるようになってる? pic.twitter.com/KYzE9IhiOO
タグ:
posted at 11:38:50
#Julia言語 @ code_warntype の結果を追加
強い警告色で表示された部分があると、何かやらかしてしまっている。
人間は注意していてもミスるので、コンピュータさんに可能な限りチェックしてもらったほうが安全。
@ code_warntype は神!
nbviewer.jupyter.org/gist/genkuroki...
nbviewer.jupyter.org/gist/genkuroki... pic.twitter.com/EopKr7HGk7
タグ: Julia言語
posted at 11:29:45
Checkpoint: Implementing Linear Relations for Linear Time Invariant Systems (Re-post) www.juliabloggers.com/checkpoint-imp...
タグ:
posted at 10:34:00
#Julia言語 ディスパッチについて単純化した説明
集合Ωの部分集合A,B,C,D上で同名の函数fが定義されていたとしましょう。
値x∈Ωについてf(x)を実行しようとしたとき、xを含むA,B,C,Dのうち包含関係について最小のものを定義域とするfが実行される、というのがよくあるディスパッチの仕組みです。 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 09:54:58
JuliaでAtCoderのABCのAやBを解いてるけど、リストの連結とか商の出し方とか、indexingっていうの?スライスのやり方とか、Pythonのリストの逆順a[::-1]とか使えないし、いわゆるハンドリングができてなくて、毎回調べてる。。。Juliaで色々と実装できるようになるにはまだまだかかりそうだなぁ・・・
タグ:
posted at 09:34:14
#Julia言語
実行直前に型の伝搬が確定する仕組みのJuliaでは、事前の静的型チェックは不可能なので、型の伝搬の確認が重要になります。
@ code_warntype や @ code_typed で確認できる。
しかし、それだけだと色々不十分なので、新しい技術の開発が必要な分野になっていると思います。 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 09:29:39
#Julia言語
「型推論」よりも「型の伝搬」と言う方が、私のような素人にとっては実際にやっていることがわかりやすい。
Juliaにおける「型の伝搬」に関する解説の決定版かも↓
zenn.dev/aviatesk/artic...
タグ: Julia言語
posted at 09:18:21
中村 良幸 (Nakamura Yosh @nakayoshix
なるほど、Juliaであえて厳密な型指定をしないというのはそういう意味だったんですね。今までこういう考え方は全然知らなかったので、このスレを読んで大変勉強になりました。 twitter.com/genkuroki/stat...
タグ:
posted at 09:15:32
#Julia言語 もっとガチでどうするべきかを考えたい人は、以下のリンク先のリンク先の解説を見るとよいと思います。
「型の伝搬」の仕組みが非常に分かりやすく解説されています。 twitter.com/kdwkshh/status...
タグ: Julia言語
posted at 09:12:05
#Julia言語 私のようなプログラミング能力の低い人であってもすぐにできたことは、公式ドキュメントのPerformance Tipsで使用が推奨されている @ code_warntype マクロで、函数の引数の型が他のオブジェクトにどのように伝搬して行くかを確認することです。
docs.julialang.org/en/v1/manual/p...
タグ: Julia言語
posted at 09:08:02
#Julia言語 以上の問題は引数の型制限を、StringからAbstractStringにゆるめたり、引数の型制限を撤廃すれば解決します。
函数の引数の型を狭く制限し過ぎると、「正規表現に一致する部分文字列」などの普通に使えて欲しい機能が使えなくなってしまいます。
函数の引数の型制限は慎重に行うべき。 pic.twitter.com/2JNEhJVWH7
タグ: Julia言語
posted at 08:59:25
#Julia言語 文字列処理でも同様の注意が必要。
文字列を3重化する函数を
triple_String(s::String) = s^3
と引数をString型に制限して定義したとしましょう。
正規表現に一致した「文字列」tを3重化しようとするとできない!
添付画像中のtはString型ではなく、SubString型になるのです。続く pic.twitter.com/HYjVeexxTE
タグ: Julia言語
posted at 08:56:01
#Julia言語 その原因は @ view(u[6:end]) が Vector 型ではなく、SubArray 型になるからです。
型に関する十分な理解抜きに型指定するくらいなら、添付画像のように引数の型指定なしで書いた方が安全です。
速度的劣化は起こりません。
(VectorをAbstractVectorで置き換えることもできる。) pic.twitter.com/PVg6Kwuq9A
タグ: Julia言語
posted at 08:50:58
#Julia言語 u[6:end]をそのまま使うと不必要に見えるメモリアロケーションが発生することに気付いた人は、Juliaの公式ドキュメントに従って @ view マクロを追加して、無駄なアロケーションを防ごうとするでしょう。
その瞬間に今まで正常に動いていたプログラムが動かなくなる!
続く pic.twitter.com/GtYx7L9elE
タグ: Julia言語
posted at 08:47:36
#Julia言語 配列uの一部分をu1として、その一部分の離散ラプラシアンを計算したい場合があったとします。
添付画像のケースではうまく行っています。しかし~続く pic.twitter.com/syJqhwwm82
タグ: Julia言語
posted at 08:44:51
#Julia言語 f(x::ArgType)::RetTypeの::RetTypeを無くして::ArgTypeのみにした場合にも、注意深く型を指定しないとひどい目にあうことがある。
添付画像はin-place計算で1次元の離散ラプラシアンを計算する函数です。引数がVector{Float64} (Float64型の成分を持つ1次元配列)に型指定されている。続く pic.twitter.com/6ASyuuZkNp
タグ: Julia言語
posted at 08:43:20
#Julia言語 InexactError: Int64(3.0000000000000004) が出る仕組みは @ code_warntype f(3) で確認できます。
f(x::Int64)::Int64の後者の::Int64はBase.convert(Int64,~)に変換されており、Int64に変換できない場合にはエラーが出て止まるという仕組みになっています。
添付画像のg,hも参照。 pic.twitter.com/CaGcyPnEKM
タグ: Julia言語
posted at 08:34:10
#Julia言語 ところが f(3) を実行した途端に
InexactError: Int64(3.0000000000000004)
と言われる!(笑)
この例を見ただけで、【型を指定することによって、より厳格かつ正確なプログラムを作成することができます】は誤りであり、そういう思い込みが危険であることがすぐに分かると思います。 pic.twitter.com/2jAcCtSjUC
タグ: Julia言語
posted at 08:34:08
#Julia言語
function f(x::Int64)::Int64
0.1x * 10
end
は一目見ただけで非常にまずいプログラムなのですが、Juliaでは合法的にこれで函数が定義されます。
しかも、さらに悪いことに、f(1), f(-5), f(123)などが正常に実行されます。続く pic.twitter.com/YbCw7tIFP4
タグ: Julia言語
posted at 08:34:06
#Julia言語 Juliaは実行前にすべてを静的に型チェックをしてから実行可能な仕組みではないので、【型を指定することによって、より厳格かつ正確なプログラムを作成することができます】という説明は誤り。
「事前にコンパイルしたバイナリの実行」の場合への過学習はよくないです。具体例に続く。 twitter.com/smj_tcbot/stat... pic.twitter.com/gAbDofGMkM
タグ: Julia言語
posted at 08:34:02
Julia ってググりにくいことで有名なあの言語かあ。言語を実装することには興味ないけど、静的解析に少し興味があったので読んでて面白かった。 twitter.com/kdwkshh/status...
タグ:
posted at 05:59:37