เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

นำสองขั้นตอนมาใช้

เมื่อสร้างฟังก์ชัน expectation และ maximization แล้ว ตอนนี้สามารถนำอัลกอริทึม EM ไปใช้กับ data frame ได้

เป้าหมายของแบบฝึกหัดนี้คือการค้นหากลุ่มแบบ Gaussian สองกลุ่มในข้อมูล gaussian_sample โดยกำหนดให้ sd ของทั้งสองกลุ่มเท่ากับ 10

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Mixture Models ใน 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")
}
แก้ไขและรันโค้ด