雑感等

音楽,数学,語学,その他に関するメモを記す.

pythonで並列(joblib)使った際のパーミッションエラー

https://github.com/joblib/joblib/issues/806

albertcthomas commented on 3 Dec 2018 @robintwhite for now, if this is possible in your case, you can disable memmaping by setting max_nbytes=None in Parallel

Parallel(n_jobs=-1, max_nbytes=None)(...)としたら問題が起きなくなった

PRMLの確率的主成分分析の式とPCA/ZCA白色化

https://www.microsoft.com/en-us/research/people/cmbishop/prml-book/ https://cbrnr.github.io/2018/12/17/whitening-pca-zca/

PRMLのp.574の確率的主成分分析(PPCA)に関する式(12.45)  \displaystyle \mathbf{W}_\mathrm{ML}=\mathbf{U}_\mathrm{M} ( \mathbf{L}_\mathrm{M} - \sigma ^2 \mathbf{I} )^{1/2} \mathbf{R} において, \sigma ^2=0とした(確率的ではない普通のPCAとした)上で,

  1.   \displaystyle  \mathbf{R}=\mathbf{I}とすればPCA白色化の式を得る.
  2.   \displaystyle  \mathbf{R}= \mathbf{U}_\mathrm{M} ^{-1}とすればZCA白色化の式を得る.

PRMLのp.574の確率的主成分分析(PPCA)に関する式(12.45)  \displaystyle \mathbf{W}_\mathrm{ML}=\mathbf{U}_\mathrm{M} ( \mathbf{L}_\mathrm{M} - \sigma ^2 \mathbf{I} )^{1/2} \mathbf{R}

ただし,

  •  \displaystyle \mathbf{W}_\mathrm{ML}は,変換行列(データ \mathbf{X}にかけて, \displaystyle \mathbf{Z}=\mathbf{W}_\mathrm{ML} \mathbf{X} みたいに使う)
  •  \displaystyle \mathbf{U}_\mathrm{M}は,データ \mathbf{X}の共分散行列 \mathbf{S}固有ベクトルを並べた行列(原文とは異なり,ここでは次元削減を考えない)
  •  \displaystyle \mathbf{L}_\mathrm{M} は, \mathbf{S}固有値を対角成分とした行列(固有値の並びは \displaystyle \mathbf{U}_\mathrm{M}に対応する)
  •   \displaystyle \sigma ^2は,PPCAで次元削減する際の次元に関連した分散
  •  \displaystyle \mathbf{I}は,単位行列
  •  \displaystyle  \mathbf{R} は,任意の直交行列

さて,PPCAのモデル(潜在変数\mathbf{z}と観測されたデータ\mathbf{x}の関係)は\mathbf{x}=\mathbf{W} \mathbf{z} +\mathbf{\mu} +\mathbf{\epsilon}で表される. ノイズ項\mathbf{\epsilon}は無視すると,\mathbf{x}-\mathbf{\mu} =\mathbf{W} \mathbf{z}となる.\mathbf{x}から\mathbf{z}を求めるには,\mathbf{z}=\mathbf{W} ^{-1} ( \mathbf{x} - \mathbf{\mu} )とすれば良い.

これに,先ほどの\mathbf{W}_\mathrm{ML}\mathbf{W}に代入して, \mathbf{z}= \left( \mathbf{U}_\mathrm{M} ( \mathbf{L}_\mathrm{M} - \sigma ^2 \mathbf{I} )^{1/2} \mathbf{R}  \right) ^{-1}  ( \mathbf{x} - \mathbf{\mu} ) . さらに,次の性質を使って変形する.

したがって,\mathbf{z}=  \mathbf{R}  ^{-1}  ( \mathbf{L}_\mathrm{M} ^{-1}  - \sigma ^2 \mathbf{I} )^{1/2}   \mathbf{U}_\mathrm{M} ^{-1}  ( \mathbf{x} - \mathbf{\mu} )

ここで,\sigma ^2=0として「確率的」でない主成分分析にすると, \mathbf{z}=  \mathbf{R}  ^{-1} \mathbf{L}_\mathrm{M} ^{-1/2} \mathbf{U}_\mathrm{M} ^{-1}  ( \mathbf{x} - \mathbf{\mu} )

この上で,  \displaystyle  \mathbf{R}は任意の直交行列であるから,  \displaystyle  \mathbf{R}に代入する値として次の二つの場合を考える:  \displaystyle  \mathbf{R}=\mathbf{I}  \displaystyle  \mathbf{R}= \mathbf{U}_\mathrm{M} ^{-1}= \mathbf{U}_\mathrm{M} ^{T}

まず,  \displaystyle  \mathbf{R}=\mathbf{I}とすれば, \mathbf{z}= \mathbf{L}_\mathrm{M} ^{-1/2} \mathbf{U}_\mathrm{M} ^{-1}  ( \mathbf{x} - \mathbf{\mu} ) となる. この式で  \mathbf{x}  から  \mathbf{z}  を求める操作はPCA白色化と呼ばれる. また,この式は,p.568の式(12.24)  \displaystyle  \mathbf{y}_n=\mathbf{L} ^{-1/2} \mathbf{U} ^{T} ( \mathbf{x}_n - \bar{\mathbf{x}} )として示される式と一致する.

一方,  \displaystyle  \mathbf{R}= \mathbf{U}_\mathrm{M} ^{-1}= \mathbf{U}_\mathrm{M} ^{T}とすれば, \mathbf{z}= \mathbf{U}_\mathrm{M} \mathbf{L}_\mathrm{M} ^{-1/2} \mathbf{U}_\mathrm{M} ^{-1}  ( \mathbf{x} - \mathbf{\mu} ) となる. この式で  \mathbf{x}  から  \mathbf{z}  を求める操作はZCA白色化と呼ばれる.

集合による数の表現

自然数

  • 0 = {}
  • k+1 = { k , { k } }
名前 展開 実体
0 {}
1 { 0, {0} } { {} , { {} } }
2 { 1, {1} } { { {} , {{}} } , { { {} , {{}} } } }
3 { 2, {2} } { { { {} , {{}} } , { { {} , {{}} } } } , { { { {} , {{}} } , { { {} , {{}} } } } } }

整数

  • n-m = < n ,m > = { n, { n, m } }
名前 展開 実体
0 0-0=< 0 , 0 > { {} , { {} , {} } }
0 1-1=< 1 , 1 > { { {}, {{}} } , { { {}, {{}} } , { {}, {{}} } } }
0 2-2=< 2 , 2 > { { { {}, {{}} } ,{ { {}, {{}} } } } , { { { {}, {{}} } ,{ { {}, {{}} } } } , { { {}, {{}} } ,{ { {}, {{}} } } } } }
0 3-3=< 3 , 3 > { { { { {} , {{}} } , { { {} , {{}} } } } , { { { {} , {{}} } , { { {} , {{}} } } } } } , { { { { {} , {{}} } , { { {} , {{}} } } } , { { { {} , {{}} } , { { {} , {{}} } } } } } , { { { {} , {{}} } , { { {} , {{}} } } } , { { { {} , {{}} } , { { {} , {{}} } } } } } } }
1 1-0=< 1 , 0 > { { {}, {{}} } , { { {}, {{}} } , {} } }
1 2-1=< 2 , 1 > { { { {}, {{}} } ,{ { {}, {{}} } } } , { { { {}, {{}} } ,{ { {}, {{}} } } } , { {}, {{}} } }
2 2-0= < 2 , 0 > { { { {}, {{}} } ,{ { {}, {{}} } } } , { { { {}, {{}} } ,{ { {}, {{}} } } } , {} } }
3 3-0=< 3 , 0 > { { { { {} , {{}} } , { { {} , {{}} } } } , { { { {} , {{}} } , { { {} , {{}} } } } } } , { { { { {} , {{}} } , { { {} , {{}} } } } , { { { {} , {{}} } , { { {} , {{}} } } } } } , {} } }
-1 0-1= < 0 , 1 > { {} , { {} , { {}, {{}} } } }
-1 1-2=< 1 , 2 > { { {}, {{}} } , { { {}, {{}} } , { { {}, {{}} } ,{ { {}, {{}} } } } } }
-2 0-2=< 0 , 2 > { {} , { {} , { { {}, {{}} } ,{ { {}, {{}} } } } } }

Note: 上記では自然数で0={}としたが,自然数で1={}と定義しても,整数の実体と名前の対応には影響しない.

有理数

  • r/s = < r , s > = { r , { r , s } }
名前 展開 実体
0 0/1=< 0 , 1 > { { {} , { {} , {} } } , { { {} , { {} , {} } } , { { {}, {{}} } , { { {}, {{}} } , {} } } } }
0 0/2=< 0 , 2 > { { {} , { {} , {} } } , { { {} , { {} , {} } } , { { {}, {{}} } ,{ { {}, {{}} } } } } }
1 2/2=< 2 , 2 > { { { {}, {{}} } ,{ { {}, {{}} } } } , { { { {}, {{}} } ,{ { {}, {{}} } } } , { { {}, {{}} } ,{ { {}, {{}} } } } } }
-1/3 (-1)/3=< -1 , 3 > { { {} , { {} , { {}, {{}} } } } , { { {} , { {} , { {}, {{}} } } } , { { { { {} , {{}} } , { { {} , {{}} } } } , { { { {} , {{}} } , { { {} , {{}} } } } } } , { { { { {} , {{}} } , { { {} , {{}} } } } , { { { {} , {{}} } , { { {} , {{}} } } } } } , {} } } } }
-3/2 3/(-2)=< 3 , (-2) > { { { { { {} , {{}} } , { { {} , {{}} } } } , { { { {} , {{}} } , { { {} , {{}} } } } } } , { { { { {} , {{}} } , { { {} , {{}} } } } , { { { {} , {{}} } , { { {} , {{}} } } } } } , {} } } , { { { { { {} , {{}} } , { { {} , {{}} } } } , { { { {} , {{}} } , { { {} , {{}} } } } } } , { { { { {} , {{}} } , { { {} , {{}} } } } , { { { {} , {{}} } , { { {} , {{}} } } } } } , {} } } , { {} , { {} , { { {}, {{}} } ,{ { {}, {{}} } } } } } } }

実数

無限集合になるから実体として表記できない?

  • 切断による定義なら,ある値を「ある値未満のすべての有理数の集合」で表す.
  • コーシー列による定義なら,ある値を無限数列で表す.

数の「実体」を集合で書き下してみたが,結局かっこの羅列になった. これは,PC内のファイルをバイナリエディタで開いて,あらゆるファイルが1と0で表せることを改めて確認したようなものだ.

数だけあってもどうしようもなく,演算を導入してようやく意味がある.

参照

命題論理のメモ "Theorem a1d"の証明

a1d - Metamath Proof Explorer

a1d - Intuitionistic Logic Explorer

Hypothesis

Ref Expression
a1d.1 ⊢(𝜑→𝜓)

Assertion

Ref Expression
a1d ⊢(𝜑→(𝜒→𝜓))

Proof of Theorem a1d

Step Hyp Ref Expression
1 ax-1 ⊢(𝜓→(𝜒→𝜓))
2 ax-1 ⊢( (𝜓→(𝜒→𝜓)) → (𝜑→(𝜓→(𝜒→𝜓))) )
3 1, 2 ax-mp ⊢(𝜑→(𝜓→(𝜒→𝜓)))
4 ax-2 ⊢( (𝜑→(𝜓→(𝜒→𝜓))) → ((𝜑→𝜓)→(𝜑→(𝜒→𝜓))) )
5 3, 4 ax-mp ⊢( (𝜑→𝜓) → (𝜑→(𝜒→𝜓)) )
6 a1d.1 ⊢(𝜑→𝜓)
7 5, 6 ax-mp ⊢(𝜑→(𝜒→𝜓))

SVでSとVが離れている文

https://github.com/kuina/KuinInKuin
から引用.

Welcome to the Labyrinth of Kuin Compiler,
where many programmers who challenged to read the code never came back.

where節の中身だけ見ると,

  • S: many programmers (who challenged ... the code)
  • V: < never > came back.

テンションを含む和音の純正調の周波数比

https://youtu.be/UKknJceRmZw?t=83www.youtube.com

上記の動画で流れる音が以下の様に周波数比や周波数になっていることを確かめた訳ではない.

動画の楽譜のような和音の場合,和音を純正に取るなら以下の様な周波数比になるという例を示しただけ.

一つ目の和音
C13#11b9
基準周波数:C=110*2^(3/12)
低音から

音名 周波数比 周波数[Hz]
C 1 130.813
E 5/4 163.516
Bb 7/4 228.922
E (5/4)*2 327.032
A (5/3)*2 436.043
Db (5/4)*(17/10)*2 555.954

三角波で鳴らした時,Dbは第七倍音の純正短三度上(7/4)*(6/5)*2とするよりも,上のように純正長三度(5/4)の「17-limit 純正律の短九度上(17/10)」とした方が協和して聞こえた.
英語版ウィキペディアのディミニッシュコードのページ(https://en.wikipedia.org/wiki/Diminished_seventh_chord)にディミニッシュコードを純正に取った際の周波数比が載っていた.

二つ目の和音
FΔ13
基準周波数:F=110*2^(-4/12)
低音から

音名 周波数比 周波数[Hz]
F 1 87.3071
E (3/2)*(5/4) 163.701
A (5/4)*2 218.268
D (5/3)*2 291.024
G (9/8)*4 392.882
C (3/2)*4 523.842

Eから上は音名では四度堆積だが,上ではあくまでFに対して純正になるように値を決めた.

E以上の四度堆積を純正に取ると,F,E,A,Dまでは上記と同じで,GとCは下の表のようになる.

矩形波で聞くと,上記(Fに純正に取った方)は,位相が一致する瞬間だけ振幅が大きくなり,純正であることを強烈に主張してくる(極彩色のような刺激).
一方,下記(四度堆積を純正に取った方)は,位相が上記ほどそろわず振幅が一定しており,いかにもジャズとかモダンハーモニーっぽい感じ(モノトーン家具に統一された部屋の色味).

音名 周波数比 周波数[Hz]
F 1 87.3071
E (3/2)*(5/4) 163.701
A (5/4)*2 218.268
D (5/4)*2*(4/3)=(5/3)*2 291.024
G (5/4)*2*(4/3)^2 388.031
C (5/4)*2*(4/3)^3 517.38

Neural ODEの解説ページ

https://arxiv.org/abs/1806.07366

Neural ODE
https://jontysinai.github.io/jekyll/update/2019/01/18/understanding-neural-odes.html


adjoint sensitivity methodの解説?
https://rkevingibson.github.io/blog/neural-networks-as-ordinary-differential-equations/