並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 7 件 / 7件

新着順 人気順

logsumexpの検索結果1 - 7 件 / 7件

  • logsumexp(log sum exponential)とは - EchizenBlog-Zwei

    uchiumiさんが最近"log sum exponential"という単語を連呼していた。 「ろぐ さむ えくすぽおねんしゃる?なにそれおいしいの?」 状態だったのだが、最近LDA(Latent Dirichlet Allocation)を実装した際に、この"log sum exponential"問題に遭遇したのでメモしておく。 例えばある変数集合{Ai}があったときに Pi = Ai / ΣAiとして最大1になるようにして確率化したいことがある。ここでPiやAiが非常に大きい、または小さい値を取る場合PiやAiをそのまま保持せずにlog(Pi)やlog(Ai)として持っておきたいことがある。 以下、lnPi = log(Pi)、lnAi = log(Ai)として扱う。 lnPi = lnAi - log(ΣAi) = lnAi - log(Σexp(lnAi)))とすればPiとaiを

      logsumexp(log sum exponential)とは - EchizenBlog-Zwei
    • logsumexp は人類の黒歴史 - アスペ日記

      あえて言い切る。 ここでは主に計算量について言っているので、スクリプト言語でデモ的なものを作るような場合は除く。この記事では C++ を使って書く。 logsumexp でどのように計算の量が増えるかはunnonouno: logsumexpとスケーリング法に詳しい。 ちょっと引用。 linear-chain CRFのパラメタ推定に必要なのは対数尤度関数の微分です.これの計算に必要なのが,前向き・後ろ向きのスコアαとβです.時刻t(系列上での位置)とラベルiに対する前向きスコアαは,以下の式で計算されます.fは特徴ベクトル,wは重みベクトルです. この後の話の流れは、 掛け算いっぱいで大変! オーバー/アンダーフローしちゃうよ! じゃあ log の世界で扱えばいいんじゃね? 足し算もあるよ! どうするの? 「logsumexp〜」 すごい! これでオーバーフローしないし安心だね! でも重い

        logsumexp は人類の黒歴史 - アスペ日記
      • logsumexpとスケーリング法

        少し前にtwitter上でCRFSuiteはスケーリング法を使っているから速い,的なことを書いたのでその解説です. linear-chain CRFのパラメタ推定に必要なのは対数尤度関数の微分です.これの計算に必要なのが,前向き・後ろ向きのスコアαとβです.時刻t(系列上での位置)とラベルiに対する前向きスコアαは,以下の式で計算されます.fは特徴ベクトル,wは重みベクトルです. ところがこのままだと問題が起こります.αの値はexp個の足し算で構成されるため,最終的にかなり大きくて,簡単に倍精度の限界を超えてしまうのです.困った.そこで,logの世界に落とします.αの代わりにlog(α)を計算します.すると,expの世界の掛け算はlogの世界の足し算になります.問題は,足し算です.expの世界の足し算を,logの世界で行う2項関数がlogsumexpです. で定義されます.expをかけてる

        • logsumexp

          [latexpage] * 大きさが極端に小さい/大きい「重み」の値の和を求める際に、アンダーフロー/オーバーフローを防ぐための方法です。ベイズで周辺確率を求めるときなど計算機統計の分野でしばしば用いられます。 * 応用の幅は広いと思いますが、今回はパーティクルフィルタという手法を例にとり、説明します。 * ここでパーティクルフィルタについての詳しい解説はしませんが、簡単に言うと、パーティクルフィルタは、重みのついたパーティクルと呼ばれる粒子を多数用意して、そのパーティクルの分布を使って任意の確率分布を近似する手法です。モンテカルロ法から出発しているので、モンテカルロフィルタとか逐次モンテカルロ法などと呼ばれることもあります。 パーティクルフィルタの例:マウスクリックした点(緑色の丸)を追跡 (画像上側 赤色:パーティクル、オレンジ:期待値。画像下側 緑:パーティクルによる近似分布) パー

          • logsumexpの補足 - EchizenBlog-Zwei

            昨日書いたlogsumexpの記事についてわかりにくいといった意見があったので補足しておく。 昨日と切り口を変えて書いてみたので人によってはこちらの方が分かりやすいかも。 記事の要点はexp(a)やexp(b)が計算できないほど大きい、または小さい値になってしまうときにexp(a)やexp(b)を直接計算せずに、かわりにexp(a-b)を使って log(exp(a) + exp(b)) を計算するための手法を紹介した、というもの。(a-b)はaやbに比べて絶対値が小さいので扱いやすい。 具体的にはb > aとして log( exp(a) + exp(b) ) = log( exp(b)(exp(a-b) + exp(b-b)) ) = log(exp(b)) + log(exp(a-b) + exp(b-b)) = b + log(exp(a-b) + 1.0)と展開することでexp(a)

              logsumexpの補足 - EchizenBlog-Zwei
            • 混合ガウス分布とlogsumexp - Qiita

              #概要 混合ガウス分布は複数のガウス分布の重み付き加算によるモデルで,多峰性の分布を表すことが出来るものです.また,このモデルのパラメータの最適化にはEMアルゴリズムを用いることが出来ます.このEMアルゴリズムのE-stepで潜在変数の期待値を計算しますが,その際にナイーブに計算を行うとoverflow, underflowの問題が起こることがあります.そのとき,logsumexpという有名な数値計算方法を用いることでこの問題を回避することができます. #混合ガウス分布の概要とlogsumexp 混合ガウス分布のEMアルゴリズムによるパラメータ最適化に関して,logsumexpに関係する部分だけ簡単に示します.より詳しくは『パターン認識と機械学習』などを参照してください.(一応,SlideShareに輪講したときの資料を上げておきます PRML 9.0-9.2)

                混合ガウス分布とlogsumexp - Qiita
              • Tricks of the Trade: LogSumExp | Feedly

                There are a lot of neat little tricks in Machine Learning to make things work better. They can do many different things: make a network train faster, improve performance, etc. Today I’ll discuss LogSumExp, which is a pattern that comes up quite a bit in Machine Learning. First let’s define the expression: When would we see such a thing? Well, one common place is calculating the cross entropy loss

                  Tricks of the Trade: LogSumExp | Feedly
                1