#Julia言語

github.com/johnmyleswhite…

は古過ぎるパッケージであることがProject.tomlがないことからわかります。

そして、add ContinuedFractionsでインストールされるパッケージはさらに古く、ContinuedFraction自体を持っていません。

古めのパッケージが放置されていることがあるので要注意。
#Julia言語 適当なフォルダに

github.com/johnmyleswhite…

をクローンしておいて、そこにaddで追加されたContinuedFractionsのProject.tomlをコピーして、devで使えるようにすれば、ContinuedFractionを最初から含むそのパッケージを使えるようになります。

たまにこういうことがある。
#Julia言語 スクショ

~/.julia/dev/ContinuedFractions にリポジトリのクローンを置いておいて、そこにProject.tomlを追加し、

pkg> dev ContinuedFractions

してある。こうしておけば、ContinuedFractions.jlパッケージを使える↓
#Julia言語 に手を出した人達の多くは数学も好きで、「数学がらみのちょっとしたパッケージを作ってその後は放置」というパターンが結構あるように思えます。

そういうパッケージにはProject.tomlがないことがある。

内容が数学なのでProject.tomlを手動で追加すれば現在も普通に使える場合が多い。

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with 黒木玄 Gen Kuroki

黒木玄 Gen Kuroki Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @genkuroki

19 Feb
#JuliaLang

v1.5.3 vs. v1.6.0-rc1

random counting

11 sec (v1.5.3)

3 sec (v1.6.0-rc1)

😊😊😊😊😊

gist.github.com/genkuroki/33f6…
#JuliaLang

3 sec (v1.6.0-rc1, single thread)

0.9 sec (v1.6.0-rc1, ThreadPools.tmap)

ThreadPools.tmap example.ipynb
gist.github.com/genkuroki/2e8f…
#Julia言語

forループの函数版:返り値のある函数fをX成分ごとに作用させた結果を得るためにはmap(f,X)を使い、返り値を使わずにXの各成分ごとにfを実行するにはforeach(f,X)を使う。

それぞれのスレッド並列版がThreadPools.{tmap, tforeach}。
github.com/tro3/ThreadPoo…
Read 18 tweets
19 Feb
#超算数

【超算数をインストールされた人、なぜか再生産を行う傾向にある】

そうなる理由↓

日本で算数教育で飯を食って行きたい場合には、ちょー算数マスターになると、就職先が増えたり、出世できる可能性が増えたりする。

ちょー算数には100年以上の伝統に支えられた社会的基盤があります。
かけ算順序問題が新聞で話題にされても、ダメージも受けない理由は、社会的に硬い基盤を持っているから。

子供の保護者側は自分ちの子が被害を受けずに通過すれば発言を続ける意欲は減ります。

ちょー算数マスターになると算数教育界で出世してより良い地位に転職できるかもしれない。

この対比。
例えば、算数の教科書の著作者リストに載っている人達がちょー算数についてどのような考え方を持っているか、どこでその考えを身につけたのか、どのような経歴で算数の教科書の著作者まで出世できたのか、などについては調べる価値があります。

これ面倒な作業で結構大変。
Read 8 tweets
18 Feb
#数楽 #統計 以下のようなゲームを2人で行う。

①k=0,1,2,…,10に対応する11個の数p_k達の表を作って互いに交換する。

各p_kは「10回中k回成功」というデータが得られたときの真の成功確率qの推定値とみなされるので、0以上1以下の実数であるとする。

例えば、最尤推定ならp_k=k/10となる。続く
#数楽

②相手の推定法の数表を受け取った2人は、その推定法が失敗しそうな真の成功確率qを選んでコンピュータに入力する。

qの選択では次の③のステップに配慮することが重要である。例えば、受け取った数表が

0.05, 0.1, 0.2, …, 0.9, 0.95

の場合には、q=0.43とするのがほぼベストになる。続く
#数楽

③コンピュータは、成功確率qの10回のベルヌーイ試行での成功回数kに関するKL(q, p_k)を1000回分足し上げ、得られた数値×1万円を推定法p_kに対する罰金の金額とする。ここで

KL(q, p) = q log(q/p) + (1-q)log((1-q)/(1-p))

はKL情報量である。KL(q, p)≥0で等号とp=qは同値。

続く
Read 27 tweets
17 Feb
尤度函数を最大化することに必然性はないです。実際、比較基準を明確にしたとき、最尤法は最良の方法にならないことが多いです。

モデルを固定して、正則性などの条件を仮定して、サンプルサイズ→∞とすれば(非現実的!)、最尤法によってモデル内で可能な最良の結果が得られることは証明できます。
尤度の定義は「モデル内でデータと同じ数値が生成される確率または確率密度」であり、「モデルのデータへの適合度」の指標にはなりますが、「もっともらしさ」ではないし、「最大化するべき量」でもありません。

最尤法以外にも沢山の方法があり、条件を変えるごとにどれが良い方法であるかは変わる。
ダメな考え方:尤度は英語でlikelihoodであり、もっともらしさを表す。最尤推定はもっともらしさを最大化する推定法である。得られたデータと同じ数値が生成される確率を最大化することは非常にもっともらしい推定法だろう。

↑非論理的な考え方の典型例

最尤法は沢山ある方法の中の1つにすぎない。
Read 4 tweets
17 Feb
#統計 統計学関連の文献で、「不偏」(unbiased)という条件を付けて「〇〇法が最良」というようなことを述べる行為が普通に行われていますが、不偏性は数学的にものすごく強い制限で、その制限の中で「最良」と言われても、「どうせ、井の中の蛙だろ?」という印象がどうしても出て来てしまう。
#統計 不偏性(unbiasedness)の条件は座標依存なので、座標をちょっと変えただけで維持されなくなってしまう。

例えば、統計学入門で習う不偏分散は真の分散の不偏推定量になっているのですが、不偏分散の平方根は真の標準偏差の不偏推定量にはなっていません。
#統計 不偏性はおそろしく強い数学的条件であり、実用的には問題がない小さな不偏性の崩れを許容した方が良い場合の方が多いと思う。

不偏性を仮定すると数学的に強い結果を出し易いのですが、「実用的には不偏性の条件の維持にこだわることは不合理である」と正直に言うべきだと思う。
Read 5 tweets
17 Feb
#Julia言語 私が自分の勉強用に作ったパッケージ

github.com/genkuroki/Meta…
MetaUtils.jl
↓使い方
nbviewer.jupyter.org/github/genkuro…

添付画像1:print_tree(AbstractMatrix)←これの出力結果を見れば、Juliaが多彩な行列の型を持っていることが分かる。他の事柄についても同様。ジャングル的な複雑さ。 ImageImage
#Julia言語

print_tree(Number), print_tree(AbstractVector) の結果

行列だけではなく、数やベクトルの型も沢山ある。

パッケージを読み込むとこれらの内容がさらに増える。

型の継承がツリー型階層構造に限ることが原因で生じる設計上の困難は Holy traits を使えば解消される。 ImageImage
#Julia言語 数の型ぐらいは全部覚えられても、ベクトルや行列の型はとても覚え切れない。そういう複雑な型の世界の構築はベクトルや行列の効率的な計算に必要。

しかし、一般ユーザー側はベクトルや行列の型を無理に覚えることなく、効率的な計算が可能である。そういうユーザーフレンドリーな設計。 ImageImageImage
Read 6 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!