Применяем два шага
Теперь, когда вы создали функции expectation и maximization, можно применить алгоритм EM к набору данных.
Цель этого упражнения — найти два гауссовых кластера в данных gaussian_sample. Предположим, что оба стандартных отклонения sd равны 10.
Это упражнение является частью курса
Смесевые модели в R
Инструкции к упражнению
- Начните с предположения, что среднее значение одного кластера равно
0, а другого —100. Используйте функцииexpectationиmaximization, чтобы создать списокnew_values. - Сохраните эти значения в вектор
means_init. Предположите, что доли кластеров равны, и запишите их в векторprops_init. - Выполните 10 итераций.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
means_init <- c(0, 100)
___ <- c(0.5, 0.5)
# Iterative process
for(i in 1:___){
___ <- maximization(___(gaussian_sample, means_init, props_init, c(10, 10)))
means_init <- new_values[[1]]
props_init <- ___[[2]]
cat(c(i, means_init, props_init), "\n")
}