タグ

gmmに関するyukimori_726のブックマーク (21)

  • Chapter9 2

    ※ここで解説しているお天気推移モデルはオリジナルなものですので、数値・計算等にミスがある可能性が否めませんので、もし間違いを見かけた方は優しく教えていただけると助かります。 お天気推移モデルで理解するマルコフ連鎖モンテカルロ法。2状態離散モデルの解説を中心に、メトロポリス法の解説まで行った。 次は連続モデルや熱浴法・メトロポリスヘイスティング法の解説資料も作成したい⇒完成。以下のLINKを参照下さい。http://www.slideshare.net/teramonagi/ss-5344006 誤字を修正(2010/11/01) This document summarizes a research paper on scaling laws for neural language models. Some key findings of the paper include: - Lang

    Chapter9 2
  • 初めての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
  • C++を使ったEMアルゴリズムの実装(+Pythonによるプロット) - kivantium活動日記

    複数のガウス分布を重ねあわせてできる混合ガウス分布はある程度複雑な分布を近似するときに使われ、Fisher Vectorや声質変換、手書き漢字変換などの応用がある重要な分布です。今回はEMアルゴリズムを用いて混合ガウス分布による近似を求めるプログラムを実装してみました。 EMアルゴリズムは混合ガウス分布以外にも使えるアルゴリズムですが、ここでは混合ガウス分布に話を限定しています。 EMアルゴリズム 式はPRML第9章に従います。いつものようにベクトルの太字は省略しています。 混合ガウス分布は という形で表される分布です。 はk番目のガウス分布の割合を表し、とを満たします。 D次元ガウス分布は という式で表されます。 式変形を楽にするために、潜在変数zを導入します。 K次元ベクトルを、どれか一つの要素だけが1で他の全ての要素が0であるようなベクトルとします。 zの確率分布は、とを満たすを用い

    C++を使ったEMアルゴリズムの実装(+Pythonによるプロット) - kivantium活動日記
  • 混合ガウスモデルとEMアルゴリズム - 画像処理とか機械学習とか

    前回の記事で、単純なガウスモデルと最尤推定について紹介しました。 今回は、ガウスモデルよりも少し複雑なモデルを紹介したいと思います。 混合ガウスモデル(Gaussian Mixture Model) 以下のグラフのように、ガウス分布が合わさった分布の事を混合ガウスモデルと言います。以下の例では単純に二つのガウス分布が混合した分布になります。 上記グラフ出力の為のMatlabソースコード clear all %平均 mu=[4; -3]; %分散 sigma=cat(3,4,7); %混合比 p = ones(1,2)/2; %1次元混合ガウスモデル GMM = gmdistribution(mu,sigma,p); x=-10:0.1:10; x = transpose(x); y = pdf(GMM,x); plot(x,y, '-b');上のグラフで表した1次元の混合ガウスモデルを数式

    混合ガウスモデルとEMアルゴリズム - 画像処理とか機械学習とか
  • SSSSLIDE

    SSSSLIDE
  • pythonで混合正規分布実装 - Qiita

    はじめに pythonで混合正規分布を実装しました. 教科書として『はじめてのパターン認識』を使いました. 記事の構成 はじめに 混合正規分布 混合正規分布モデル 隠れ変数と事後確率 対数尤度とQ関数 EMアルゴリズムによるパラメータ推定 pythonでの実装 結果 おわりに 混合正規分布 データ分布に確率モデルを当てはめると,各データがどのクラスタに属するかを確率的に決めることができます. 多くの確率モデルは単峰性の確率分布しか表現できないため,全体の確率分布を複数の確率モデルの重み付け線形和でモデル化する必要があります. クラスタ数を $K$,$k$ 番目のクラスタの確率モデルを $p_k(\boldsymbol x)$ とし,全体の確率分布を以下のように表します.

    pythonで混合正規分布実装 - Qiita
  • 数学を深く知らなくてもわかる GMM と AGM によるクラスタリングことはじめ · けんごのお屋敷

    クラスタリングとはデータ点の集合を意味のあるグループに分割するものである。クラスタリング手法の 1 つとして Gaussian Mixture Model (GMM) というものがある。あの有名な(ここにあの有名な機械学習を入れる)にも載っているので、ソレ系の分野をやってる人は知ってる人も多いかもしれない。そしてその GMM の派生版として Approximate Gaussian Mixtures (AGM) という手法を提案している以下の論文がある。 Approximate Gaussian Mixtures for Large Scale Voacbularies 今回ふとしたきっかけで AGM を見つけて、そして実装してみたので、AGM の解説や GMM との違いをまとめてみよう。 Gaussian Mixture Model GMM は日語ではガウス混合モデルと呼ばれたりす

    数学を深く知らなくてもわかる GMM と AGM によるクラスタリングことはじめ · けんごのお屋敷
  • Furukawa Laboratory

    混合ガウスモデル(GMM)とは GMMは混合モデルの一種で,ガウス分布の線形重ね合わせで表されるモデルです.十分な数のガウス分布を用い,線形結合する重みの係数と各分布の平均と共分散を調節すれば,ほぼどのような連続関数でも,任意の精度で近似することができます. GMMはその簡素さと柔軟性から,データマイニング,パターン認識,機械学習,統計的解析に広く応用されています. Demo:入力分布の学習 【セット】ボタンで入力されたパラメータに応じてデータ(ガウス乱数)を生成します.データをセットした状態で【学習開始】ボタンを押すとGMMで推定を行います. 【リセット】ボタンで入力分布と学習結果を初期化します.

  • パターン認識 04 混合正規分布

    PRML上巻勉強会 at 東京大学の資料です。 この資料はChristopher M. Bishop 著「Pattern Recognition and Machine Learning」の日語版「パターン認識と機械学習 上 - ベイズ理論による統計的予測」について補足説明を入れた上でなるべくわかりやすくしたものです。 資料では第3章の前半、特に3.1節を中心に解説しています。 詳しくはこちらのサイト(外部)を御覧ください。 http://ibisforest.org/index.php?PRML

    パターン認識 04 混合正規分布
  • Microsoft PowerPoint - 07EM.ppt

    1 情報意味論(7) EM 櫻井彰人 慶應義塾大学理工学部 より複雑なモデル � 確率モデルであって、一個の著名(?)な分布で表せないもの、… で 表せそうもないもの、…ではなさそうなものが、世の中にはたくさんあ る。 � 様々な分布を考える � 指数・ポアソン・t・対数正規・… � 分布を組み合わせる � 線形和 – 非観測変数の出現 � しかし、工夫がある → EMアルゴリズム � 分布を考えない – しょせん、多項分布 � 変数が多いと大変。 � しかし、工夫がある → Bayesian network 例: 混合正規分布 � 正規分布(ガウス混合)の線形和 線形和(重みの和は1) p(x) = ∑ πj pj(x) 考え方: 各データは、まず、 j のどれか をランダムに選び(確率分布は {πj} )、 次に pj に従い生成される -10 -5 0 5 10 0.0 0.05 0

  • どんぐりの背比べ(混合ガウスモデルによるクラスタリング) - Λlisue's blog

    図のようにヒストグラムおよび混合ガウスモデルを描画するコードをペタリしておきます。 暇があったら解説を書きます。

    どんぐりの背比べ(混合ガウスモデルによるクラスタリング) - Λlisue's blog
  • PRML第9章 混合ガウス分布 Python実装 - Qiita

    でフィッティングすると、 このようになってしまい、このケースでは単峰のガウス分布は適切なモデルではありません。データ点が3つの群に分かれていることに着目すると、今回の場合は3つのガウス分布を用いた混合ガウス分布 が適切なモデルであると考えられます。ただし、$\sum_k\pi_k=1$とします。それぞれ${\bf\mu}_1$が上、${\bf\mu}_2$が右下、${\bf\mu}_3$が左下のデータ点の塊の平均のようにします。よって塊ごとにガウス分布でフィッティングすればいいのですが、どのデータ点がどの塊に属するのかは私たち人間には一目瞭然ですが、機械にはそんなことは分かりません。 N個のデータ点の座標$\{{\bf x}_n\}_{n=1}^N$を観測変数として、どのデータ点がK個の塊のうちどれに属するかを1-of-k符号化で表す潜在変数$\{{\bf z}_n\}_{n=1}^N$と

    PRML第9章 混合ガウス分布 Python実装 - Qiita
  • Unity memo

    クラスタリングと分類 クラスタリングとは、似ているサンプルをまとめてグルーピングをすることです。 グルーピングするグループは前もって与えられていません。 それに対して、分類では、グループは前もって与えられていて、サンプルを与えられたグループへ分類します。 ここでは、2次元平面にランダムに生成されたサンプルを、距離が近いものをまとめてグルーピングする方法を考えます。 混合正規分布によるクラスタリングは、グループは前もって与えられていないが、いくつのグループに分けるがグループの数は決まっている分類方法です。 左上にメニューが表示される。 [create data]ボタンを押すとランダムにサンプルが作成される。 [create center]ボタンを押すとランダムにグループの中心が作成される。 [start]ボタンを押すとclusteringが始まる。 混合正規分布によるクラスタリング この分類

    Unity memo
  • 混合ガウスモデル(Gaussian Mixture Model, GMM)の実用的かつ実践的な方法 : 大学教授のブログ (データ分析相談所)

  • ベイズ混合モデルにおける近似推論③ ~崩壊型ギブスサンプリング~ - 作って遊ぶ機械学習。

    さて、今回は混合モデルに対する効率的な学習アルゴリズムとして、崩壊型ギブスサンプリング(Collapsed Gibbs Sampling)*1を紹介します。ベースとなるアイデア自体はギブスサンプリングそのものなのですが、標準的な方法と比べて種々の計算テクニックが必要になってくるのと、実際に推論精度が向上することが多いのでここで紹介したいと思います。 また、今回の実験で使用したソースコードはGithubにおいてあります。 GitHub - sammy-suyama/MLBlog: source codes used in MLBlog [必要な知識] 下記をさらっとだけ確認しておくといいです。 ポアソン混合モデルにおけるギブスサンプリング ベイズ推論 カテゴリカル分布 1、崩壊型ギブスサンプリングのアイデア 基的なアイデアとしては、対象の確率モデル(同時分布)から一部の確率変数をあらかじめ

    ベイズ混合モデルにおける近似推論③ ~崩壊型ギブスサンプリング~ - 作って遊ぶ機械学習。
  • pythonで非階層クラスタリング - frontier45の日記

    scipy.cluster.vqを使ったK-Meansとscikits.learn.gmmを使ったGMM(gaussian mixture model)によるクラスタリングです。GMMの理論についてはこのPDFが詳しいです。(もとは変分ベイズの記事です。) これらのライブラリをそのまま使っても結果はまだソートされていないのでクラスタの番号を要素の多い順にソートし、各クラスタ内のメンバーも中心までの距離や確率で近い順にソートするラッパーを作成しました。 GMMの場合はAICやBICを使ってクラスタの数の評価もできます*1。 こんな感じのサンプルデータを用意しました。作り方はここを参照。 K-Meansだとこんな感じで GMMだとこんなクラスタリングができます。 ちなみに現在公開中のPyNumPDBにもこれが実装されていてMDのトラジェクトリから生成た複数のPDBファイルを読み込んでこんな感じ

    pythonで非階層クラスタリング - frontier45の日記
  • 混合ガウスモデルと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 - 人工知能に関する断創録
  • EMアルゴリズムを使って多峰型分布をモデル化してみる - Qiita

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

    EMアルゴリズムを使って多峰型分布をモデル化してみる - Qiita
  • 動く混合ガウス分布(実装編)- 動く PRML シリーズ(1) - Next MIDI Project

    こちらもどうぞ - 動く混合ガウス分布(導出編) 実装には python, SciPy と matplotlib を使います。 テストデータには Old Faithful 間欠泉データを使います。 データの読み込み Old Faithful 間欠泉データを PRML のホームページからダウンロードし、作業ディレクトリに置きます。保存したデータは、SciPy の loadtxt 関数で読み込みます。 from scipy import loadtxt def faithful(): return loadtxt('faithful.txt') 適当に正規化します。 from scipy import sqrt def faithful_norm(): dat = faithful() dat[:, 0] -= dat[:, 0].mean() dat[:, 1] -= dat[:, 1].m

    動く混合ガウス分布(実装編)- 動く PRML シリーズ(1) - Next MIDI Project
  • 動く混合ガウス分布(導出編)- 動く PRML シリーズ(1) - Next MIDI Project

    はじめに 混合ガウス分布 (Gaussian Mixture Model, GMM) は、多次元の特徴量を持つデータ点の集合を機械学習により分類するための重要な手法です。特に、GMM は応用範囲が広く、様々な手法の基礎となっているため、自ら更新式を導出するなどして特性をよく理解することが重要です。 記事ではこれに加え、GMM の長所と短所を視覚的に確認する方法を提案し、実装します。GMM の更新式は「どう動くか」の説明にはなりますが、「長所と短所は何か」を直接教えてはくれません。たとえば、 どんな初期値から、どんな収束値が得られるのか。(初期値に対する特性) 変な初期値を与えるとどうなるのか。(局所解頑健性) どれぐらいの速さで収束するのか。(収束性能) といった疑問にこたえるためには、EM アルゴリズムの各イテレーションでの中間状態をグラフにプロットし、アニメーションとして見る必要があ

    動く混合ガウス分布(導出編)- 動く PRML シリーズ(1) - Next MIDI Project