タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

algorithmとAlgorithmとemに関するyukimori_726のブックマーク (10)

  • 初めてのEMアルゴリズム with R - yasuhisa's blog

    混合正規分布について 混合正規分布のEMアルゴリズムによるパラメータ推定 EMアルゴリズムの単調増加性について この前はEMアルゴリズムがどんな感じのメカニズムで、どんな性質を持っているか簡単に書いた。 初めてのEMアルゴリズム - yasuhisa's blog というわけで、ちょちょいとRで書いてみることにした。お題はありがちな混合正規分布。 混合正規分布について確率変数がにがで、それぞれ0.3、0.7で生成されているというような分布が真の分布だとしよう。図で書くとこんな感じの密度関数である。 図を書くためのRのスクリプト。 mixture_gaussian <- function(x) { pi_0 <- 0.3 ifelse(runif(1) < pi_0, rnorm(1, -5, 1), rnorm(1, 5, 4)) } N <- 1000 x <- sapply(1:N,

    初めてのEMアルゴリズム with R - yasuhisa's blog
  • EMアルゴリズム - 画像処理とか機械学習とか

    今回は、前回の混合ガウスモデルに引き続き、混合ガウスモデルのパラメータ推定の手法に使えるEMアルゴリズムについて紹介したいと思います。 混合ガウスモデルを例に挙げますので、混合ガウスモデルが分からない方は前回の記事を参照してください。 hiro2o2.hatenablog.jp なぜ最尤推定で解けないか? 混合ガウスモデルは以下の式で表せました。 何か近似したい確率密度分布(真の分布)がある際に、混合ガウスモデルを使って近似する場合、最も真の分布に近づくような、パラメータが分かれば良いです。 このパラメータの学習に、通常のガウスモデルと同じように最尤推定を用い、対数尤度の最大化のアプローチで解けるでしょうか? このように、正規分布の和のlogの部分で、微分して0とおく計算が難しくなります。 また、重みを足し合わせて1であるという条件と、共分散行列が正定値であるという条件のもと、を最大にする

  • 混合ガウスモデルとEM - 人工知能に関する断創録

    今回は、9.2の混合ガウス分布のところです。混合ガウス分布はK個のガウス分布の線形重ね合わせで表されます。 ここで、π_kを混合係数と言い、k番目のガウス分布を選択する確率を表します。π_kは確率の条件を満たし、すべてのkについて足し合わせると1になります。ここら辺は、2.3.9の混合ガウス分布でも出てきました。この章では、混合ガウス分布を潜在変数zを導入して再定式化しています。zはK次元ベクトルで、K個の要素のうちどれか1つだけ1を取り、他は0、つまり1-of-K表現です。zはデータxがどのガウス分布から生成されたかを表し、下のような分布になります。 そして、式(9.12)のようにこのzを陽に用いた形でp(x)を求めてもやっぱり混合ガウス分布の式 (9.7) になります(演習9.3)。 つまり、混合ガウス分布を「潜在変数zを含む別の式」で表現できたってことですね。何でこんなことするのか不

    混合ガウスモデルとEM - 人工知能に関する断創録
  • GMMとEMアルゴリズム | 一日一アルゴリズム « FiFiFactory

  • EMアルゴリズムを使って多峰型分布をモデル化してみる - Qiita

    #概要 標から得られた分布が多峰型であったとき, 単純なガウス分布でモデル化するのは適切ではありません. 多峰型の分布は複数のガウス分布を組み合わせた混合ガウス分布を使ってモデル化することができます. この記事ではEMアルゴリズムを使って, 混合ガウス分布のパラメータを決定する例を紹介します. #まずは単峰型分布から ##最尤推定 標を$x_n (n=1,…,N)$とします. ガウス分布の最尤推定によって, 平均と分散を以下の形で求めることができます. # -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt import matplotlib.mlab as mlab import math #ヒストグラムをプロットする関数 def draw_hist(xs, bins): plt.hist(

    EMアルゴリズムを使って多峰型分布をモデル化してみる - Qiita
  • EMアルゴリズム

    パターン認識と機械学習(PRML)の第9章「混合モデルとEM」について説明したスライドです。文字多め。 潜在変数を持つモデルの最適化を行うことができるEMアルゴリズムについて、最初は具体的でイメージしやすいk-meansクラスタリングから説明し、最後は数式を詳細に見ていきその意味を考察します 9.1 K-meansクラスタリング 9.2 混合ガウス分布 9.3 EMアルゴリズムのもう1つの解釈 9.4 一般のEMアルゴリズム

    EMアルゴリズム
  • Just One More: Modeling Binge Watching Behavior (KDD2016) 読んだ - 糞糞糞ネット弁慶

    Just One More: Modeling Binge Watching Behavior このタイトルを見るまで "binge-watching" という単語を知らなかった.ある番組などにハマってまとめて見てしまうことらしい. 論文では VOD (Video On Demand) サービス (特にこのサイトは定額見放題ではなく話数ごとに購入が必要なものである) について,ユーザのまとめ見のような行動をモデル化する. 定義 「セッション」とは,一以上の動画を見ており,その操作の間隔が 1 時間未満であるものとする. ここからは,1 つのセッションに何の動画が視聴されているか,について調べていく. 読み飛ばしているのだと思うけど,セッションの定義はこれだけでは不十分であって,正確には「同一デバイスにおいて同一の番組シリーズを視聴しており,操作の間隔が1時間未満のものの集合」ではないだ

    Just One More: Modeling Binge Watching Behavior (KDD2016) 読んだ - 糞糞糞ネット弁慶
  • オンラインEMアルゴリズムで混合ガウス分布推論 - 木曜不足

    ずいぶん前にできていたのだが、変分ベイズのフォローのために、ブログに書くのを後回しにしてたオンラインEMについて。 確率的勾配法など、通常はオンラインの方がバッチより収束が遅い。 が、EMアルゴリズムについては、オンラインの方が収束が速いらしい。PRML にも「この逐次型のアルゴリズムはバッチ型に比べて速く収束する」と書かれており、また論文にもそういうデータが載っている。 EM アルゴリズムを実装してみると、確かに収束が遅い。 収束し始めてから遅いのなら許せるけど、2サイクル目くらいからすでに遅い。せめて最初くらいもうちょっと速くなんないの! と文句言いたくなる。 EM アルゴリズムの1サイクルは結構重いので、さらにその気分を助長する。 というわけで、オンラインEMアルゴリズムについてとても興味が湧いたので、実装してみた。 参考にしたのは Neal and Hinton の increme

    オンラインEMアルゴリズムで混合ガウス分布推論 - 木曜不足
  • PythonでEMアルゴリズムを可視化してみた(混合正規分布) - くじらにっき++

    可視化してみました。 解説 以下の動画が一番分かりやすいです。 www.youtube.com Q関数を最大化する, , の求め方は,実際に解いてみると,当にラグランジュの未定乗数法を使うだけという感じでした。ただし という制約を組み込むのを忘れずに… について求めるところはちょっと迷ったので,導出を載せておきます。 ソースコード Pythonで書きました。movieディレクトリにpngを連番で出力します。アニメーションGIFを作るには以下のサイトを参照してください。 アニメーションGIFの作り方 ImageMagick編 hに関してのforループが残っていてnumpy力の低さが感じられますが,自信がある人は消してみてください。 # coding: UTF-8 import os import shutil import scipy import scipy.stats import m

    PythonでEMアルゴリズムを可視化してみた(混合正規分布) - くじらにっき++
  • 混合ガウス分布問題のEMアルゴリズム計算 - Qiita

    # !/usr/bin/env python # -*- coding: utf-8 -*- from __future__ import division from __future__ import print_function import numpy as np import matplotlib.pyplot as plt import matplotlib.mlab as mlab from matplotlib.patches import Ellipse # 混合ガウス分布 par = (pi, mean, var): (混合係数、平均、分散) def gaussians(x, par): return [gaussian(x-mu, var) * pi for pi,mu,var in zip(*par)] # ガウス分布 def gaussian(x, var): nv

    混合ガウス分布問題のEMアルゴリズム計算 - Qiita
  • 1