ฟังก์ชัน Expectation
จนถึงตอนนี้ได้เรียนรู้แล้วว่าอัลกอริทึม Expectation-Maximization ใช้ประมาณค่าพารามิเตอร์ของการแจกแจงแบบเกาส์เซียนสองตัวที่มีค่า sd เท่ากับ 1 ทั้งคู่ เป้าหมายของแบบฝึกหัดนี้คือการสร้างฟังก์ชัน expectation ซึ่งทำให้ขั้นตอนการประมาณค่าความน่าจะเป็นมีความยืดหยุ่นมากขึ้น โดยรับค่า means, proportions และ sds เป็นอินพุต
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Mixture Models ใน R
คำแนะนำการฝึกหัด
สร้างฟังก์ชัน expectation โดยเติมโค้ดตัวอย่างให้สมบูรณ์ สังเกตว่าตอนนี้เราพิจารณาค่าเบี่ยงเบนมาตรฐานของแต่ละคลัสเตอร์เป็นพารามิเตอร์ตัวที่สี่ด้วย
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
expectation <- ___(___, means, proportions, ___){
# Estimate the probabilities
exp_data <- data %>%
mutate(prob_from_cluster1 = ___[1] * dnorm(x, mean = means[1], sd = ___[1]),
prob_from_cluster2 = ___[2] * dnorm(x, mean = means[2], sd = ___[2]),
prob_cluster1 = prob_from_cluster1/(prob_from_cluster1 + prob_from_cluster2),
prob_cluster2 = prob_from_cluster2/(prob_from_cluster1 + prob_from_cluster2)) %>%
select(x, ___, ___)
# Return data with probabilities
return(exp_data)
}