機械学習基礎理論独習

誤りがあればご指摘いただけると幸いです。数式が整うまで少し時間かかります。リンクフリーです。

勉強ログです。リンクフリーです
目次へ戻る

一様乱数

線形合同法

一様疑似乱数生成の古典的な手法に線形合同法があります。
事前に決める整数a,b,y_0,nをもとに、

\begin{eqnarray}
&&y_m=(ay_{m-1}+b) \bmod n\ (m=1,2,\ldots)\tag{1}\\
&&x_m=\frac{y_m}{n}\tag{2}
\end{eqnarray}

として、x_m:m=1.2,\ldotsを出力します。

1970年代までよく使われていた疑似乱数法RANDUはa=65539,b=0,n=2^{31}-1とした線形合同法でした。
RANDU法からの出力を3次元立方体に配置すると、いくつかの2次元の平面上に分布しており、
一様分布とは乖離していることが分かります。(下の新聞の上図参照)

現在プログラミング言語でよく採用されているのは、
メルセンヌツイスター法(線形合同法ではない)であり、長い周期2^{19937-1}をもちます。
メルセンヌツイスター法からの出力を3次元立方体に配置すると、均等に分布していることが分かります。(下の新聞の下図を参照)

f:id:olj611:20210410021623p:plain

偉人の名言

f:id:olj611:20210410015752p:plain:w300
幾何学に王道なし
ユークリッド

参考文献

パターン認識機械学習 下巻
データサイエンス入門 モンテカルロ統計計算

動画

目次へ戻る