flexmix によるベルヌーイ混合モデル

R で学ぶ Mixture Models

Victor Medina

Researcher at The University of Edinburgh

問題設定

R で学ぶ Mixture Models

データセット

digits_sample <- as.matrix(digits)
dim(digits_sample)
320 256
show_digit(digits_sample[320,])

R で学ぶ Mixture Models

ベルヌーイ混合モデルを当てはめる

bernoulli_mix_model <- flexmix(digits_sample~1,
              k=2,
              model=FLXMCmvbinary(),
              control = list(tolerance = 1e-15, iter.max = 1000))
  • digits_sample は行列です
  • FLXMCmvbinary() はベルヌーイ分布を指定します
R で学ぶ Mixture Models

比率(事前確率)

prior(bernoulli_mix_model)
0.503125 0.496875
R で学ぶ Mixture Models

parameters() 関数

param_comp1 <- parameters(bernoulli_mix_model, component = 1)
param_comp2 <- parameters(bernoulli_mix_model, component = 2)
dim(param_comp1)
256   1
head(param_comp1, 4)
             Comp.1
center.V1 0.3291926
center.V2 0.5093168
center.V3 0.6645963
center.V4 0.7639751
R で学ぶ Mixture Models

コンポーネント1を可視化

show_digit(param_comp1)

R で学ぶ Mixture Models

コンポーネント2を可視化

show_digit(param_comp2)

R で学ぶ Mixture Models

練習しましょう!

R で学ぶ Mixture Models

Preparing Video For Download...