タグ

アルゴリズムに関するyuyakkoのブックマーク (3)

  • 変分ベイズを使って変化点検知をしてみる - 作って遊ぶ機械学習。

    おつかれさまです.今回は簡単なメッセージ受信数のデータを使って,変分ベイズによる変化点検知をやってみたいと思います.なお,今回使うデータやモデルは下記のPyMCの入門書を参考にしています*1. Pythonで体験するベイズ推論-PyMCによるMCMC入門-キャメロン-デビッドソン-ピロン このでは推論にMCMCを使っていますが,今回はモデルはそのまま流用し,同じことを実現する変分ベイズによる近似推論を導いてみます. 一般的には変分ベイズの方が計算が高速なので,MCMCの性能に満足できない場合などは変分ベイズは良い代替手法になり得ます.また,今回紹介する例は,過去に紹介した混合モデルを使った例よりも比較的シンプルですので,変分ベイズの入門題材にはちょうど良いんじゃないかと思っています. MCMCによる変化点検知 ・メッセージ受信データ PyMCでは次のような「ある期間で受信したメール数」

    変分ベイズを使って変化点検知をしてみる - 作って遊ぶ機械学習。
  • 大石哲之のビットコインの仕組み入門(1) ビットコインの発掘とは実際には何をしているのか? | 日本デジタルマネー協会 / ビットコイン / Bitcoin

    大石哲之のビットコインの仕組み入門(1) ビットコインの発掘とは実際には何をしているのか? 2013 Bitcoin, エッセイ, 入門, 技術解説 tyk (Photo by Fabian Figueredo) ここしばらく、ビットコインにずっぽりハマっています。すっかりビットコイン研究家になりましたw 各取引所にアカウントをつくったり、試しに採掘してみたり。ここ一ヶ月くらいは、集中してビットコインについて書いていきたいと思います。 ビットコインの仕組みについて、あれこれ調べてみました。技術的なことも合わせて、少なからず色んな知識を得たので、それをシェアしていこうと思います。 まず、全くわからないのが、「ビットコインの採掘(マイニング)」というものでしょう。これはいったい何をしているのか? 私も全く理解できてませんでした。何かコインのアルゴリズムとして機能する特殊な関数の値を探しているの

    大石哲之のビットコインの仕組み入門(1) ビットコインの発掘とは実際には何をしているのか? | 日本デジタルマネー協会 / ビットコイン / Bitcoin
  • 平方数かどうかを高速に判定する方法 - hnwの日記

    平方数とは、ある整数の平方(=二乗)であるような整数のことを言います。つまり、0,1,4,9,16,...が平方数ということになります。 ところで、与えられた整数が平方数かどうかを判定するにはどうすれば良いでしょうか。与えられた整数の平方根の小数点以下を切り捨て、それを二乗して元の数になるかどうか、というのがすぐ思いつく実装です。 <?php function is_square($n) { $sqrt = floor(sqrt($n)); return ($sqrt*$sqrt == $n); } しかし、平方根の計算は比較的重い処理です。もっと高速化する方法は無いのでしょうか。 多倍長整数演算ライブラリGNU MPには平方数かどうかを判定するmpz_perfect_square_p関数が存在します(PHPでもgmp_perfect_square関数として利用できます)。稿ではこの実装

    平方数かどうかを高速に判定する方法 - hnwの日記
  • 1