使用 flexmix 的伯努利混合模型

R 中的混合模型

Victor Medina

Researcher at The University of Edinburgh

问题

R 中的混合模型

数据集

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

R 中的混合模型

拟合伯努利混合模型

bernoulli_mix_model <- flexmix(digits_sample~1,
              k=2,
              model=FLXMCmvbinary(),
              control = list(tolerance = 1e-15, iter.max = 1000))
  • digits_sample 是一个矩阵
  • FLXMCmvbinary() 指定伯努利分布
R 中的混合模型

各组比例

prior(bernoulli_mix_model)
0.503125 0.496875
R 中的混合模型

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 中的混合模型

可视化组件 1

show_digit(param_comp1)

R 中的混合模型

可视化组件 2

show_digit(param_comp2)

R 中的混合模型

Passons à la pratique !

R 中的混合模型

Preparing Video For Download...