Twitter APIの仕様変更のため、「いいね」の新規取得を終了いたしました

黒木玄 Gen Kuroki

@genkuroki

  • いいね数 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 を見て下さい。
並び順 : 新→古 | 古→新

2018年01月13日(土)

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語

Julia言語で書いてみた。

nbviewer.jupyter.org/gist/genkuroki...

スクリーンショットは続きのツイートで。

twitter.com/MathSorcerer/s...

タグ: Julia言語

posted at 00:34:31

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 2枚目の画像に注目。Julia言語で扱える浮動小数点実数にはFloat64, Float32, Float16, BigFloat があるのですが、そのどれでも適切に許容誤差を設定して計算できるように書いたつもりです。 pic.twitter.com/PAvZHu43hc

タグ: Julia言語

posted at 00:37:43

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 めちゃくちゃおもしろかった。

Juliaのスレッド並列を使って簡単な並列計算を楽しむ on @Qiita qiita.com/goropikari/ite...

タグ: Julia言語

posted at 01:09:30

ceptree @ceptree

18年1月13日

あ、これPythonです twitter.com/ceptree/status...

タグ:

posted at 01:43:09

ceptree @ceptree

18年1月13日

いま、Juliaにしてる

タグ:

posted at 01:44:08

黒木玄 Gen Kuroki @genkuroki

18年1月13日

@ceptree @MathSorcerer #Julia言語 では函数の返り値の型が場合ごとに変わるのは良くないらしいので、私が書いたコードでは引数の型TのNaNを返すようにしています。

twitter.com/genkuroki/stat...

Julia言語で「値なし」を扱う方法についてはv1.0で改善(自然な方法が高速化)されるらしい。

タグ: Julia言語

posted at 01:52:33

ceptree @ceptree

18年1月13日

@genkuroki @MathSorcerer NaNに型ってあるんですね...。あるがとうございます。AbstractFloatというのは、Floatの抽象クラス的なものですか?

タグ:

posted at 02:03:21

黒木玄 Gen Kuroki @genkuroki

18年1月13日

@ceptree @MathSorcerer #Julia言語

subtypes(AbstractFloat)
→ Float64,Float32,Float16,BigFloat

Float32<:AbstractFloat
→true

です。

x::T ~ where T<:AbstractFloat

は「Tは上の浮動小数点数型のどれかでxはT型」という意味。T(NaN)は型TのNaNです。eps(T)は型Tのε (これ便利)。

タグ: Julia言語

posted at 02:18:47

黒木玄 Gen Kuroki @genkuroki

18年1月13日

@ceptree @MathSorcerer #Julia言語 は型指定は必要最小限しか書かないけど、函数の引数の型が確定したら、それに合わせて他の変数の型が自動的に決まるように書くスタイルみたいです。

あと、 A && B で「Aが真ならBを実行」の意味になり、これも結構便利です。色んな言語のスタイルが混ざっている。

タグ: Julia言語

posted at 02:23:18

ceptree @ceptree

18年1月13日

@genkuroki @MathSorcerer なるほど!めっちゃ勉強になります!様々な浮動小数点型で表現できる最小値(ε)で、許容誤差を定義してるんですね。そしてなぜか計算機イプシロンの項にJuliaがありましたw

ja.wikipedia.org/wiki/%E8%A8%88...

タグ:

posted at 02:25:20

黒木玄 Gen Kuroki @genkuroki

18年1月13日

@ceptree @MathSorcerer #Julia言語 のv1.0では . 演算子のoverloadが可能なので、そうなればJulia言語でPython風に見えるコードを書けるようになります。PyCall.jlによるPythonとのインターフェースも見た目的にかなり改善されるかも。

v1.0が色々楽しみです。

タグ: Julia言語

posted at 02:27:00

ceptree @ceptree

18年1月13日

『ODE neural network』で検索したらJuliaのライブラリでてきてわろたjulialang.org/blog/2017/10/g...

タグ:

posted at 03:54:19

ceptree @ceptree

18年1月13日

この論文を元にしてるらしい↓まだちゃんと読んでないけど、ニューラルネットワークが関数近似できるなら微分方程式の解も表現できるでしょって発想かな。

Artiial Neural Networks for Solving Ordinary and Partial Dierential Equations
arxiv.org/pdf/physics/97...

タグ:

posted at 03:57:01

ごまふあざらし(GomahuAzaras @MathSorcerer

18年1月13日

@genkuroki 可読性を担保しつつ行数が半分になりますね.LGTMです😀 pic.twitter.com/egNdb4AG1r

タグ:

posted at 08:24:34

ごまふあざらし(GomahuAzaras @MathSorcerer

18年1月13日

Juliaで $ x_1$ の入力がわからなかった飼い主にゴマちゃんが説明を書いてくれたようです. pic.twitter.com/gjyYDNIYX8

タグ:

posted at 09:02:55

ごまふあざらし(GomahuAzaras @MathSorcerer

18年1月13日

困ってるのが $ x_1 $ を入力した後コードの補完の候補で $ x_1 $ が出てくれない.

タグ:

posted at 09:10:20

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#数楽 線形代数までAIと呼ばれる時代になっているようだが、ニューラルネットワークは「パラメーターの調節で函数を近似する方法」の一種。ある意味でTaylor展開とかFourier解析とかWeierstrassの多項式近似定理達の親戚。

続く

タグ: 数楽

posted at 09:43:39

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#数楽 「パラメーターの個数nを増やせば(適切に制限された)任意の函数を近似できる方法」は無数にある。ニューラルネットワークは無数にあるそういう方法の一つに過ぎない。

数学を勉強する価値のひとつは「無数にある◯◯の方法の一つに過ぎない」という抽象化が可能になること。続く

タグ: 数楽

posted at 09:46:57

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#数楽 「無数にある」ということに真に気付けば、「その中から自分の意思で選択して使うことになる」と考えるようになる。

自分で選べる選択肢があることに気付いた人だけが創造性を発揮できるようになる。「これしかない」と思い込んだらアウト。

タグ: 数楽

posted at 09:51:40

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#数楽 パラメーターの数を増やして調節すれば、(適切に制限された範囲内の(以下略))任意の函数を近似できる方法があったとしましょう。

その方法を、現実世界から得られた有限サイズのサンプルに適用して、パラメーターを調節した結果は、予測にも使えます。しかし予測精度の見積もりが難しい。

タグ: 数楽

posted at 09:59:50

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#数楽 無数にある方法の各々の

(1) 任意函数の近似性能
(2) 予測性能

を評価できればとてもうれしいわけです。無数にある技術をどのように選べば良いかの指針が得られるわけですから。

ニューラルネットワークのように入力に合わせて近似に使う函数の基底を自動調節できる方法は(1)の性能が高い。

タグ: 数楽

posted at 10:12:57

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#数楽 専門外のど素人なので詳しい詳細の話になるとボロが出るのでこのくらいにしておきますが、ニューラルネットワークの函数近似性能が高いことと近似性能が高いだけだとダメで予測性能(汎化能力)が重要であることについては

watanabe-www.math.dis.titech.ac.jp/users/swatanab...

を見て下さい。

タグ: 数楽

posted at 10:20:05

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#数楽 そこで紹介されているバロンの定理(3層ニューラルネットは函数近似法として基底が固定されている近似法よりはるかに優れているという内容の定理、「次元の呪い」の解消定理!)の論文は

pages.cs.wisc.edu/~brecht/cs838d...

からダウンロードできます。誰か解説して下さい😊

タグ: 数楽

posted at 10:26:22

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#数楽

函数を効率よく(少ないパラメーターで)近似できることはうれしい。

函数近似性能だけではなく、汎化(予測)性能が大事だという教養は結構大事。

関連の連続ツイート↓
twitter.com/genkuroki/stat...

タグ: 数楽

posted at 10:30:32

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#数楽 函数近似性能を高めるためのキーになる普遍的なアイデアは、近似先の函数に合わせて基底の選び方を自動的に変える仕組みを作ることのようです。

例えば、Fourier展開で Σ a_n e^{inθ} のnの動く範囲を-NからNの形に制限するとそうならない。各Nごとに基底が固定されてしまう。

タグ: 数楽

posted at 10:34:27

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#数楽 誰かバロンの定理をきちんと数学的に一般化した形式で解説すれば幸せになれる人が増えると思う。

タグ: 数楽

posted at 10:35:42

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#数楽 汎化能力(予測性能)については

watanabe-www.math.dis.titech.ac.jp/users/swatanab...
特異点解消とニューラルネットワークのベイズ推定における汎化誤差 青柳 美輝 渡辺 澄夫

をググって見つけた。ただし、ニューラルネットワークは通常ベイズ推定はしていない。

タグ: 数楽

posted at 10:39:59

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#数楽 よく耳にする◯◯は確かに数学的に興味深い良い性質を持っているのかもしれないが、◯◯の親戚は無数にある、のように「無数にある」という発想をできる人の方が創造性を発揮しやすいように思えます。

「◯◯しかない」という発想は数学を正しく学べば最初から不可能な考え方になります。

タグ: 数楽

posted at 10:45:46

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#数楽 常に

「無数にあるうちの一つ」

という発想をしようとするようになる。

そして人間的弱さのせいで「◯◯しかない」と考えてしまったときに失敗であったことを明瞭に認識できるようになる。

タグ: 数楽

posted at 10:49:04

ごまふあざらし(GomahuAzaras @MathSorcerer

18年1月13日

これに気づくかそうでないかでネットワークの理解が違いますよね。 twitter.com/genkuroki/stat...

タグ:

posted at 10:49:49

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#数楽 ニューラルネットワークも「無数にあるものの中の一つ」であることについては、リンク先のリンク先の論文を参照。Gaussian process regressionとの関係を誰か解説すれば幸せになれる人が増えると思う。

twitter.com/genkuroki/stat...

タグ: 数楽

posted at 10:53:26

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#数楽 「ニューラルネットワーク」のような名前が付いているせいで極めて特殊なものとしての理解しか得られないかの様な気分になってしまいますが、「近似先に合わせて足しあげる函数の集まりを変えて効率よく函数近似する方法の一つ」と言ってくれると「やる気」が出る。

タグ: 数楽

posted at 10:59:52

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#数楽 ニューラルネットワーク以外の場合にも(例えば多項式近似やFourier級数近似などでも)、足しあげる函数のセットを適切に変える仕組みを作れば効率よく(少ないパラメーター数で)函数近似できることを示す数値実験例を見てみたい。

タグ: 数楽

posted at 11:03:53

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 私は Suyamaさんの本を見てかつ Suyama さんが Julia 言語で色々実装しまくっているのを見て(既存のパッケージの解説じゃないところがよい)、Julia言語を他人にすすめてよいという自信を深めました。

twitter.com/sammy_suyama/s...

タグ: Julia言語

posted at 11:13:39

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 私は

Pkg.update()



Pkg.add("Hoge")

の後に

Pkg.status()

をよく実行しています。入れたパッケージのリストが出る。

twitter.com/kubomsyk/statu...

タグ: Julia言語

posted at 11:19:47

nkt_rarry @nkt_rarry

18年1月13日

ここ半年くらいでPythonがようやく使えるようになってきたと思ったら周りはJuliaを使いだしている件…

タグ:

posted at 11:23:57

nkt_rarry @nkt_rarry

18年1月13日

Juliaはもう少しWeb上のリファレンスとQ&Aが充実してくれたらなー

タグ:

posted at 11:26:29

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#統計 松浦さんのブログ記事の中には、かなりの知識と大変な手間がかかるベイズ統計関係の数値実験の報告があって貴重。相当に貴重なのでチェックを忘れないようにした方がいいかも。

解説記事もわかりやすい。

statmodeling.hatenablog.com

タグ: 統計

posted at 11:34:38

ク ボ @fetalecg

18年1月13日

@genkuroki なるほどstatusってコマンドがあるんですね。ありがとうございます。

タグ:

posted at 11:34:50

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#統計 ベイズ統計の情報量規準については以下の3つの記事がよいです。

(1) statmodeling.hatenablog.com/entry/calc-wai...

面倒なのがWBICの方で逆温度β=1/log(n)の事後分布を計算する方法を工夫する必要があります。私も #Julia言語 のMambaパッケージでやってみたことがあります。

タグ: Julia言語 統計

posted at 11:43:51

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#統計

(2) statmodeling.hatenablog.com/entry/waic-wit...

純粋数学的には階層モデルと非階層モデルに区別はないのですが、数値計算ではそれらの区別は重要。階層モデルでは内部パラメーターでの積分が必要になるので、数値積分という重い計算が必要になるかもしれない。実際、そういう話になっています。

タグ: 統計

posted at 11:48:54

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#統計 MCMCで近似的にベイズ推定を実行するとき、WAIC, LOOCV, WBICなどの情報量規準が自動算出されて欲しいのですが、「階層モデルの場合には数値積分が必要なので、計算量的に複雑な階層モデルの場合には難しい」というのが、私の理解。難しくないことを教えてくれる人がいたら尊敬する。

タグ: 統計

posted at 11:53:47

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#統計 「階層モデルではサンプルサイズに比例してパラメーター数も増えるのでWAIC, LOOCV, WBICの基礎である漸近論は成立しない」という考え方をしている人を見つけたら、

ひどい誤解!
漸近論の設定を理解していないだけ!

と教えてあげるとよいかも。定義の理解は大事。

タグ: 統計

posted at 11:57:34

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#統計 漸近論がうまく行っていることについては次のブログ記事を参照。

(3) statmodeling.hatenablog.com/entry/comparis...

これ、私もやりそうなことなので(#Julia言語で)よくわかるのですが、知識が必要なだけではなく、めちゃくちゃ手間のかかる数値実験です。貴重。

タグ: 統計

posted at 12:01:53

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#統計 以上で紹介した松浦さんのブログ記事は、日本語圏に限らず、英語で検索しても他に見つからない貴重な内容を含んでいます。こういうのを発見するとうれしい。

タグ: 統計

posted at 12:04:18

ceptree @ceptree

18年1月13日

ニューラルネットワークは、線形変換と平行移動と非線形関数を無数に組み合わせたものって理解。パーセプトロンより計算グラフのほうがしっくりくる。 twitter.com/genkuroki/stat...

タグ:

posted at 13:28:27

xiangze @xiangze750

18年1月13日

Juliaで複素積分こんな感じでしょうか、図がないので寂しい
nbviewer.jupyter.org/gist/xiangze/b...

タグ:

posted at 13:35:54

ceptree @ceptree

18年1月13日

話違うけど、冪級数とか、三角関数使った級数を、計算グラフ的に表して、係数を学習させたらテイラー展開とか、フーリエ級数展開の係数と一致するんじゃねと思ってやったけど、できなかった。なんか係数に制限かけたらいけるんかな。

タグ:

posted at 13:38:39

中村広ニ Kouji Nakamura @clock_one

18年1月13日

@genkuroki 猫は液体ですね(^^)

タグ:

posted at 14:07:16

須山敦志 Suyama Atsushi @sammy_suyama

18年1月13日

記事書きました.深層学習をガウス過程で作る方法です. #機械学習 #人工知能
深層学習はガウス過程 - 作って遊ぶ機械学習。
machine-learning.hatenablog.com/entry/2018/01/...

タグ: 人工知能 機械学習

posted at 14:30:05

黒木玄 Gen Kuroki @genkuroki

18年1月13日

話題の #Julia言語 なんですが、Windows に Anaconda3 でJupyter notebookを使えるようにして、Julia言語もインストールする方法は次で解説されています。

nbviewer.jupyter.org/gist/genkuroki...

これ私がやった通りのことが書いてあります。Windowsの環境変数を自力で変える程度の能力があれば何とかなると思う。

タグ: Julia言語

posted at 14:30:56

黒木玄 Gen Kuroki @genkuroki

18年1月13日

次のリンク先では #Julia言語 のDifferentialEquations.jlという巨大パッケージの一部分を使って単振り子(ハミルトニアン H = p^2/2 - cos(q) +1)を数値的に解いて、楕円函数解と比較しています。複数のシンプレクティック法を試している。

nbviewer.jupyter.org/gist/genkuroki...

タグ: Julia言語

posted at 14:33:47

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 次のリンク先では、ロジスティック分布を正規分布による2通りの近似(Kullback-Leibler情報量の意味での近似とsupノルムによる一様近似)を比較しています。KL情報量で確率分布の違いを測ることの意味がよくわかるかも。

nbviewer.jupyter.org/gist/genkuroki...

タグ: Julia言語

posted at 14:37:42

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 でのPyPlotパッケージの使い方。画像ファイルを保存したり、画像ファイルを表示したりする方法の解説つき。Julia言語を使い始めてすぐにグラフをプロットして保存して、表示したい人向け。

nbviewer.jupyter.org/gist/genkuroki...

タグ: Julia言語

posted at 14:38:51

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語

Re s<1での ζ(s) の様子をディリクレ級数に滑らかなカットオフを入れて計算しています。滑らかなカットオフを入れると発散項を明示的に取り出せ、発散項を除いてから極限を取るとRe s < 1でも収束するようになります。発散項はζ(s)のs=1での極から来ている。

nbviewer.jupyter.org/gist/genkuroki...

タグ: Julia言語

posted at 14:41:41

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 以下のリンク先の前半はガンマ函数の複素平面上でのプロットです。虚部の絶対値が大きくなるとガンマ函数の絶対値は指数函数的に0に近付きます。Γ(σ+it) (σとtは実数)のσを固定してtを動かしてのプロットというあんまり見ないこともしています。減衰振動する。

twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 14:45:08

Akinori Ito @akinori_ito

18年1月13日

Jupyter...JuliaとPythonとRだから次はTeXか

タグ:

posted at 14:47:54

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 Γ(100+it) の実部と虚部のプロット。実軸もしくはその近くのガンマ函数のプロットは結構見ますが、虚軸方向にどう振る舞っているかについてはグラフのプロットを見たことが無かったので自分で作りました。

複素函数も電卓並の気軽さで扱えます。 pic.twitter.com/w09lUinp9u

タグ: Julia言語

posted at 14:48:06

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 交代ディリクレ級数

(1-2^{1-s})ζ(s) = 1/1^s - 1/2^s + 1/3^w - 1/4^2 + …

にオイラー変換(オイラー加速法)を適用すると複素平面全体で収束するようになります。理由は極が消えているから。この事実を使った計算が次のリンク先にあります。

nbviewer.jupyter.org/gist/genkuroki...

タグ: Julia言語

posted at 14:52:56

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 続き。ついでにJulia言語で実装されているリーマンゼータを使ってクリティカルストリップでの絶対値(の対数)をプロットしてみました。

「リーマンゼータ柄のマスキングテープ」として販売されたなら購入したい!(笑)

添付画像を見ればわかるように零点がきちんとσ=Re s=1/2に乗っている。 pic.twitter.com/8fcK6AHZ5q

タグ: Julia言語

posted at 14:55:34

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語

無料で使える数式処理ソフトの有名どころに Maxima があります。
Maxima をJulia言語から使えるようにしてみました。
log(sin(x))の不定積分をdilogを使って求めてくれました。

nbviewer.jupyter.org/gist/genkuroki...
Maxima.jl のインストールの仕方 (Windows編)

タグ: Julia言語

posted at 14:58:41

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語

using PyPlot
using PyCall
@ pyimport matplotlib.animation as anim

としてGIF動画を作る方法については

nbviewer.jupyter.org/gist/genkuroki...
nbviewer.jupyter.org/gist/genkuroki...

を見て下さい。添付画像はGibbsサンプリング。 pic.twitter.com/EXmGCDKaH4

タグ: Julia言語

posted at 15:03:03

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 カイ二乗分布のアニメーション pic.twitter.com/AVadojrUhW

タグ: Julia言語

posted at 15:03:58

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 次のJupyter notebookは大きい。

nbviewer.jupyter.org/gist/genkuroki...
2次元Ising模型:メトロポリス法

並列処理など特別なことをしなくても、Julia言語で1000億点(100×100全体を1千万回)更新することを10分半程度でできます。添付画像は絶対温度が臨界点より少し低い(0.987倍)の場合。 pic.twitter.com/3Q8WzITDMt

タグ: Julia言語

posted at 15:07:31

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 でのデフォルトの擬似乱数函数を使うと、64ビット整数値の乱数よりも32ビット整数値の乱数を生成する方が速いです。この速さの違いは実際にモンテカルロシミュレーションを実行するときに効いてきます。

nbviewer.jupyter.org/gist/genkuroki...

タグ: Julia言語

posted at 15:10:47

なべT@せつなさみだれうち @zatukun

18年1月13日

@kalavinka119 ご助言ありがとうございます。とても納得度の高い説明かとは思い、必要があれば参考にさせていただきたいと思います。今回のこの生徒の場合、掛け算(だけでなく数自体も)を”回数”などの抽象度の高いものではなく、全て”個数”として受け止めているようなのです(続く)

タグ:

posted at 15:10:50

なべT@せつなさみだれうち @zatukun

18年1月13日

@kalavinka119 昨日のTweetは、その発想を切り替えさせるためのお話の一部分に相当するもので、今後1つずつきちんとした概念を説明していくものです。なので現段階ではすぐには厳しいかと感じますが、今後の生徒の理解次第でいろいろなアプローチを検討していきたいと思っています。(続く)

タグ:

posted at 15:12:35

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 次は2次元イジング模型のメトロポリス法によるモンテカルロシミュレーションのプログラムをシンプルに書いたものです(最適化前のシンプルなコード)。勝手に複製、改変、他言語への移植、配布などをして下さい。パブリックドメインになってしまうことを希望。

nbviewer.jupyter.org/gist/genkuroki...

タグ: Julia言語

posted at 15:13:50

なべT@せつなさみだれうち @zatukun

18年1月13日

@kalavinka119 ご丁寧にありがとうございました。この生徒が勉強の遅れを取り戻し、それによってこの子自身の明るさを取り戻せるよう、今後も指導を続けていきます。温かく見守ってあげてくださいm(_ _)m

タグ:

posted at 15:14:00

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 2次元イジング模型のメトロポリス法によるモンテカルロシミュレーションのプログラムは10行程度あれば書けます。10行程度で書けてかつ物理的に意味があってかつ数学的にも極めて面白いことができる例になっています。もっと流行するとよいと思います。

タグ: Julia言語

posted at 15:15:44

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 以下のリンク先のJupyter notebookは去年の8月のものです。

nbviewer.jupyter.org/gist/genkuroki...

「Julia帝国軍」と「gcc連合軍」の戦いの記録です。Julia言語よりもCの方が速いのは当然であると思った人はじっくり見て確認した方がよいと思います。Cの側では相当に面倒なことをする必要がある。

タグ: Julia言語

posted at 15:18:12

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 リンク先はSymPy.jlパッケージの使用例。これも数式処理です。SymPy.jlはPythonのsympyをJulia言語で使うためのパッケージ。Pythonをすでに使っている人にとってJuliaは使い易いはず。

nbviewer.jupyter.org/gist/genkuroki...

添付画像は連分数をきれいに表示させている様子。 pic.twitter.com/wxiCPO2n3R

タグ: Julia言語

posted at 15:21:27

ジョン・レモン @qptxyz

18年1月13日

Julia言語って計算が数学的にできて良いね

タグ:

posted at 15:24:21

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語

nbviewer.jupyter.org/gist/genkuroki...
Julia言語による二分法の実装例

変数名として x₀ (x\_0 [TAB]で入力可能)などを使っています。

Julia言語関係のリポジトリを見に行くと、みんな普通にソースコードの中でユニコードを使っています。

Julia言語では 0 ≤ x ≤ 1 のように書くこともできる。 pic.twitter.com/aYKqn6Tmc5

タグ: Julia言語

posted at 15:29:01

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 一つ前のツイートの添付画像にあるJulia言語のコードは単なる「アルゴリズム説明用」のコードにせずに、Julia言語特有の書き方をわざとしています。わざとそうしている部分を無くしてもJulia言語は高速に計算してくれるので、計算の速さとは無関係であることには注意して下さい。

タグ: Julia言語

posted at 15:31:27

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 仮に f(x)=x^2と函数を定義したとしましょう。そのとき、変数xに数値を代入してf(x)を実行すると、Julia言語は引数xの型に合わせてx^2を計算するようにコンパイルをリアルタイムで実行し、そのコンパイル結果を使ってx^2を計算します。コンパイル結果はキャッシュされます。続く

タグ: Julia言語

posted at 15:36:51

歩行者は右側通行 @JikanBae

18年1月13日

きれいなピンクノイズの生成法を思いついたまでは良かったが、なかなかうまく行かなかった。ようやく形になった。 pic.twitter.com/eAiYxBrAkf

タグ:

posted at 15:37:23

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 続き。xに複素数を代入してf(x)を実行すると、Julia言語は複素数を計算するようにコンパイルを実行して、複素数のx^2の計算をしてくれる。複素函数としてのコンパイル結果はキャッシュされる。こういう感じになっています。続く

タグ: Julia言語

posted at 15:42:36

瀧本 @takimotomtg

18年1月13日

Juliaの初手は本持ってJuliaBoxで遊ぶの丸そう

タグ:

posted at 15:45:03

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 先の二分法の函数では、「::T」「where T<:AbstrancArray」を割くs所し、「eps(T)」を「eps()」に「T(NaN)」を「NaN」に置き換えてもそのままで高速に計算してくれます。ただし、Julia言語でのデフォルトの浮動小数点数であるFloat64を使用した場合にのみ適切なコードになってしまいます。

タグ: Julia言語

posted at 15:45:12

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 逆に言えば、Julia言語でデフォルトのFloat64を前提にした函数を気軽に書く場合には「::T~where T<:~」とか「eps(T)」のような「おまじない」は一切必要ありません。計算の速度にも関係ありません。

Float64以外の浮動小数点型にも対応するためにJulia言語特有の書き方をしています。

タグ: Julia言語

posted at 15:47:44

歩行者は右側通行 @JikanBae

18年1月13日

これも #Julia言語 でやってる。タイプ量が少なめで、考えたことがすぐ形にできるいい言語。 twitter.com/JikanBae/statu...

タグ: Julia言語

posted at 15:48:16

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 「x₀::T, x₁::T~where T<:AbstractFloat」は二分法の初期条件として与える区間の両端x₀とx₁が同じ浮動小数点型Tでなければいけないという意味です。eps(T)はT型のマシンεです。Float64型NaNでT(NaN)はT型のNaNです。

docs.julialang.org/en/latest/manu...
docs.julialang.org/en/latest/manu...

タグ: Julia言語

posted at 15:54:29

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 を適切に使うためには、「Julia言語は、引数の型に合わせて型推定を行い、函数をコンパイルして、実行する」ということを理解することが効果的です。函数の引数の型を型推定の出発点にするというアイデアで作られた言語なわけです。プログラミング言語において型概念は本質的。

タグ: Julia言語

posted at 15:57:56

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 は「様々な制限をユーザーにできるだけ課さない」という方針で設計されているように見えます。例えば、先の型推定が十分にできない場合であってもコンパイルして実行してしまうようになってる。構文的にもセミコロンや改行やインデントをユーザーに強制することを完全に避けています。

タグ: Julia言語

posted at 16:00:34

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 現時点でJuliaからPythonを利用すると、Pythonにおけるa.bをJuliaではa[:b]のように書かなければいけないのですが、v1.0からはdot演算子をoverloadしてa.bと書けるようになりそうです。「ユーザーのやり方に制限をできるだけ課さない」というJulia言語らしい仕様変更だと思いました。

タグ: Julia言語

posted at 16:05:02

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 制限がないと言えば、Julia言語ではユニコードを変数名や函数名に自由に使えます。

nbviewer.jupyter.org/gist/genkuroki...

資産をランダムに再分配すると資産分布が指数分布に近付くという有名な統計力学の結果の数値実験です。

日本語だらけの添付画像のコードがそのまま動くwww pic.twitter.com/AvEBoOrS5X

タグ: Julia言語

posted at 16:09:02

ゆ @yuche13

18年1月13日

(うっキモい🤔) twitter.com/genkuroki/stat...

タグ:

posted at 16:11:08

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 次のノートブックはかなり長いです。

nbviewer.jupyter.org/gist/genkuroki...
Julia言語で計算が遅くなった場合の解決法

様々な処方箋がまとめられています。

タグ: Julia言語

posted at 16:15:32

Kei-ichi Okazaki @okapik

18年1月13日

Jupyter notebookはpythonだけじゃなくて、RやJuliaも使えるのか。

タグ:

posted at 16:21:16

elect(UNIQUE) @ElectMemo

18年1月13日

JuliaによるNelder-Meadアルゴリズムの実装 - りんごがでている bicycle1885.hatenablog.com/entry/2015/03/...

やべえ...強い...

タグ:

posted at 16:28:25

カモメ @kamome_momemome

18年1月13日

Julia的に正しく書けているのかわからないけど、とりあえずグラフ描画できた。
イメージできない式をこうやって簡単に見られるのいい。。。
プログラム書くのも数学も不慣れすぎて正しいのかわからないけど(笑)グラフはたぶん合ってるはず。。。
#Julia言語 pic.twitter.com/1J3Pop62jM

タグ: Julia言語

posted at 16:48:27

松浦 健太郎 @hankagosa

18年1月13日

この歳でここまで来たら、ブロガーとしてもっと頑張るか。

タグ:

posted at 16:58:56

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

18年1月13日

@MathSorcerer #Julia言語 バージョンを作ったでキュ.

「おまじない」と「制御構文」など以外については、

Python a.b → Julia a[:b] (with PyCall) の置換

でPythonからJuliaに翻訳できます。

じきにJulia側でも a.b と普通に書けるようになって、Pythonとの相性が増します。

nbviewer.jupyter.org/gist/genkuroki...

タグ: Julia言語

posted at 17:44:03

ごまふあざらし(GomahuAzaras @MathSorcerer

18年1月13日

@genkuroki キュイ!(訳:ありがとうございます)a.b の記法がサポートされるのが待ち遠しいです.displayfile("image/gif", "output.gif")でGistでもリアルタイムプロットされるのが素晴らしいです.

タグ:

posted at 17:48:16

ごまふあざらし(GomahuAzaras @MathSorcerer

18年1月13日

これをしらないとa[:b] は配列aのスライスなのか!と蛇を使う人はこんがらりますね. twitter.com/genkuroki/stat...

タグ:

posted at 17:52:24

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 のMambaパッケージで逆温度βの事後分布のサンプルを作る方法については

nbviewer.jupyter.org/gist/genkuroki...

に具体例があります。やるべきことは簡単でDistributionパッケージの方法で逆温度βでの(擬似)確率分布を定義するだけです。Mamba側の使い方は変わらない.

twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 17:52:42

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 単純な1次元正規分布モデルを逆温度βで扱う方法については

nbviewer.jupyter.org/gist/genkuroki...

を見て下さい。逆温度βのベイズ推定でも共役事前分布はそのまま有効なのですべてexactな公式を計算できます。計算結果の公式は上のリンク先にすべて書いてあります。

タグ: Julia言語

posted at 17:54:33

松浦 健太郎 @hankagosa

18年1月13日

僕の記事に触発されたりコードをほぼコピーして使ったりにもかかわらず、学会や書籍において記事への参照や引用を書かないのを見かけるとグンニョリくる。結構見かける。URLは変化するかもだから、とか言い訳いらない。個人的には読んでほしくないし、学校からブログにアクセスできんようにしたい。

タグ:

posted at 17:57:38

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語

nbviewer.jupyter.org/gist/genkuroki...

が渡辺澄夫さんに捕捉されていてビビったのですが、そこでは逆温度1の事後分布のサンプルを使って逆温度β=1/log(n)の計算を行っている点が非常にまずいです。誤差が大きくなる。松浦さんのようにきちんと逆温度βでの事後分布のサンプルを作る必要があります。

タグ: Julia言語

posted at 17:57:54

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語

渡辺澄夫さんのウェブサイト:
watanabe-www.math.dis.titech.ac.jp/users/swatanab...

そこにはMATLABで書かれた数値実験のプログラムが幾つか置いてあるのですが、それらをJulia言語に翻訳すれば、無料で使えるJulia言語で渡辺澄夫さんが見ていた世界を誰でも「高速で」覗けるようになります。誰かやるべき。

タグ: Julia言語

posted at 18:01:27

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語

watanabe-www.math.dis.titech.ac.jp/users/swatanab...

にある動画

watanabe-www.math.dis.titech.ac.jp/users/swatanab...

がちょっと面白い。

余談:私はカイ二乗分布の直観を使いたいので、KL情報量やWAICの定義を「2n倍」してしまうことが多い(AICなどの伝統的なスケールに合わせてある)。

タグ: Julia言語

posted at 18:14:07

黒木玄 Gen Kuroki @genkuroki

18年1月13日

@MathSorcerer displayfile函数がやっていることは

(1) ファイルをbase64でエンコードする。
(2) それを表示するためのHTMLを出力する。

この方法を使うと画像や動画をJupyter notebook内にbase64の形式で埋め込んで、画像や動画のファイルを別に配布する必要がなくなります。Pythonでも簡単にできるはず。

タグ:

posted at 18:19:47

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 Jupyter notebook ファイルに画像ファイルや動画ファイルを埋め込んで配布したいことはよくあります。そのために次のリンク先のdisplayfile函数は便利です。画像や動画のファイルをJupyter notebookファイルとは別に配布しなくてよいのはとても便利です。

nbviewer.jupyter.org/gist/genkuroki...

タグ: Julia言語

posted at 18:39:57

黒木玄 Gen Kuroki @genkuroki

18年1月13日

ときどき、markdownのセルにhtmlで外部のサイトの画像や動画へのリンクをはっているJupyter notebookファイルが配布されているのですが、外部のサイトが消滅するとそのノートブックをまともに読めなくなってしまうわけで、味が悪いと思う。1ファイルで完結させた方が味がよい。

タグ:

posted at 18:42:40

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語

watanabe-www.math.dis.titech.ac.jp/users/swatanab...

にある動画

watanabe-www.math.dis.titech.ac.jp/users/swatanab...

でも、WAIC, LOOCVとG(KL情報量=真の予測誤差)が逆相関になっている様子がはっきり見えます。Gが上がるとWAIC, LOOCVは下がり、Gが下がるとWAIC, LOOCVは上がる。これは「定理」があるの不可避。

タグ: Julia言語

posted at 18:47:02

Yuta Kashino @yutakashino

18年1月13日

@hankagosa 統数研の先生方はもちろん、相当の業績ある先生たちが松浦さんのブログでstanのモデリング方法を勉強しているようです。

タグ:

posted at 18:49:31

@cloez_uya

18年1月13日

juliaで久保公式で物理量導くプログラム作れそう

タグ:

posted at 19:53:30

ごまふあざらし(GomahuAzaras @MathSorcerer

18年1月13日

クロソイド曲線をFortranで計算して可視化をPythonでしたもの
#Fortran #python

gist.github.com/terasakisatosh... pic.twitter.com/0srOfzJilT

タグ: Fortran python

posted at 20:26:47

ゆきまさかずよし @Kyukimasa

18年1月13日

化学者も困惑した謎のGIF
www.livescience.com/61417-spinning...
Reddit投稿。2011年の論文で発表されたもので、ジクロロメタン液滴を水の上に落とすと表面に膜できて液滴が保持されつつ蒸発が続いてマランゴニ対流で回るらしい。GIF見ただけだと何起きてるのか(論文書いた人も含めて)分からなかったとか pic.twitter.com/W3V6URlYVk

タグ:

posted at 20:48:21

積分定数 @sekibunnteisuu

18年1月13日

@perohainudesu ここに紹介されいている事例の多くは教科書会社や大学付属小のものです。こういうおかしな事を算数教育の中枢の人達が推奨しています。 #超算数
togetter.com/li/901635

タグ: 超算数

posted at 21:56:02

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語

nbviewer.jupyter.org/gist/genkuroki...
なんちゃってhyperfunction (佐藤超函数)

Julia言語でなんちゃって佐藤超函数ごっこをやってみました。

添付画像の integral は数値積分を行っています。 pic.twitter.com/nBQ1gWQbPr

タグ: Julia言語

posted at 22:21:41

非公開

タグ:

posted at xx:xx:xx

ceptree @ceptree

18年1月13日

試したいけどCommon Lispの実行環境がない! twitter.com/asciian/status...

タグ:

posted at 22:34:12

niszet @niszet0

18年1月13日

Juliaもそろそろ触っておくか…

タグ:

posted at 22:34:44

あ〜る菊池誠(反緊縮)公式 @kikumaco

18年1月13日

来年度の神戸大集中はJuliaでやるか

タグ:

posted at 22:35:02

ceptree @ceptree

18年1月13日

インストール中.
brew install clisp

タグ:

posted at 22:36:13

ceptree @ceptree

18年1月13日

はいった、はや!

タグ:

posted at 22:37:13

非公開

タグ:

posted at xx:xx:xx

ceptree @ceptree

18年1月13日

@asciian ありがとうございます。今clispで実行しています。そちらでもやってみます。ちなみに違いはなんですか?

タグ:

posted at 22:43:05

黒木玄 Gen Kuroki @genkuroki

18年1月13日

ついさっき、なんちゃって佐藤超函数のJypyter notebookを公開したのですが、#Julia言語 で函数の「型」を指定する方法があれば便利だと思いました。何か方法があるのだろうか?

例えば Complex{T} 型の引数を Complex{T} 型の値に対応させる函数である

というような宣言ができて欲しい。

タグ: Julia言語

posted at 22:43:21

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 やりたいことは

struct Hyperfunction{T<:AbstractFloat}
F::Function{Complex{T} -> Complex{T}}
G::Function{Complex{T} -> Complex{T}}
end

のようなこと。複素函数の対が欲しいのだ。こういうことをやる方法があるのだろうか?

タグ: Julia言語

posted at 22:46:17

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 による「なんちゃって佐藤超函数実装」は

struct Hyperfunction
F
G
end

(f::HyperFunction)(x) = f.F(x + eps()*im) - f.G(x - eps()*im)

というシンプルなfunction-like objectです。
docs.julialang.org/en/stable/manu...

この型に足し算引き算なども定義しておいた。

タグ: Julia言語

posted at 22:50:52

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 パラメーター付きの函数は必須の道具なので、Julia言語の解説では必ず function-like object の解説を標準で入れておいた方が幸せになれる人が増えるような気がする。ただし、型を付けておかないと速くならないので、型についての説明が必要。

nbviewer.jupyter.org/gist/genkuroki...
にも例がある。

タグ: Julia言語

posted at 22:53:00

黒木玄 Gen Kuroki @genkuroki

18年1月13日

#Julia言語 で、私のなんちゃってhyperfunction実装で使われているfunction-like objectは型付け無しになってしまった点が悔しいところ。

タグ: Julia言語

posted at 22:54:27

ceptree @ceptree

18年1月13日

@asciian いけてますかね?ちなみにJuliaは関数のとこに@ timeをつけるとコンパイルする時間も入ったと思います。 pic.twitter.com/tXLhmPAxxF

タグ:

posted at 22:58:12

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

ʇɥƃıluooɯ ǝıʇɐs @tsatie

18年1月13日

@genkuroki あらま。まぁ何が凄いかは兎も角Luxorはそれなりに使えそう。何よりシンプル。ただマニュアルが整備されてるのかないのか、ダラダラ読まなあかんし辛い。

タグ:

posted at 23:21:20

ʇɥƃıluooɯ ǝıʇɐs @tsatie

18年1月13日

@genkuroki ちゃんと円と直線とか交点?も取れるから一応「作図」はこなせそうな雰囲気。

タグ:

posted at 23:22:16

ceptree @ceptree

18年1月13日

@asciian @ benchmarkでの結果です!ちなみにLISPとJuliaでイテレーションの所だけとると、どうなるんですかね? pic.twitter.com/CBgrEyQV8w

タグ:

posted at 23:25:02

非公開

タグ:

posted at xx:xx:xx

ceptree @ceptree

18年1月13日

@asciian ありがとうございます。LISPを実行したの人生で初めてだったのでいい経験になりました。

タグ:

posted at 23:44:44

非公開

タグ:

posted at xx:xx:xx

ceptree @ceptree

18年1月13日

@asciian 実際どちらでベンチマークを測るべきは議論が分かれる所ですよね。

タグ:

posted at 23:48:22

非公開

タグ:

posted at xx:xx:xx

@genkurokiホーム
スポンサーリンク
▲ページの先頭に戻る
ツイート  タグ  ユーザー

User

» More...

Tag

» More...

Recent

Archive

» More...

タグの編集

掛算 統計 超算数 Julia言語 数楽 JuliaLang 十分 と教 モルグリコ 掛け算

※タグはスペースで区切ってください

送信中

送信に失敗しました

タグを編集しました