Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

Expectation-Maximization (EM Algorithm) คืออะไร?

EM Algorithm (Expectation-Maximization) เป็น Iterative Refinement Algorithm ที่มีชื่อเสียง ใช้สำหรับ Discover Parameter Estimates สามารถมองได้ว่าเป็น Extension ของ K-means Paradigm ซึ่ง Assign Object ไป Cluster ที่ Most Similar ตาม Cluster Mean

EM Assign แต่ละ Object ไป Cluster ตาม Weight ที่ Define Probability of Membership กล่าวคือ ไม่มี Strict Boundaries ระหว่าง Clusters ดังนั้น New Means คำนวณจาก Weighted Measures

EM เริ่มจาก Initial Estimate หรือ "Guess" ของ Parameters ของ Mixture Model (Collectively Defined as Parameter Vector) Iteratively Rescore Objects ต่อ Mixture Density ที่ทำโดย Parameter Vector Rescored Objects ใช้ Re-estimate Parameter Estimates แต่ละ Object มี Probability ที่จะ Possess Specific Set of Attribute Values กำหนดว่าเป็น Member ของ Given Cluster Algorithm ระบุดังนี้:

  • ทำ Initial Guess ของ Parameter Vector - รวม Randomly Selecting k Objects Define Cluster Means/Centers (เหมือน K-means Partitioning) และ Guess สำหรับ Additional Parameters

  • Repetitively Refine Parameters (หรือ Clusters) ตาม 2 Steps:

  • (a) Expectation Step (E-step) - Assign แต่ละ Object xi ไป Cluster Ck ด้วย Probability:

    P(xi ∈ Ck) = p(Ck|xi) = p(Ck)p(xi|Ck) / p(xi)

    โดย p(xi|Ck) = N(mk, Ek(xi)) Follow Normal (Gaussian) Distribution รอบ Mean mk ด้วย Expectation Ek กล่าวคือ Step นี้ Compute Probability of Cluster Membership ของ Object xi สำหรับแต่ละ Cluster Probabilities เหล่านี้คือ "Expected" Cluster Memberships สำหรับ Object xi

  • (b) Maximization Step (M-step) - ใช้ Probability Estimates จากข้างบน Re-estimate (Refine) Model Parameters ตัวอย่าง:

    mk = (1/n) Σ [xi P(xi ∈ Ck) / Σ P(xi ∈ Cj)]

Phase นี้คือ "Maximization" ของ Likelihood ของ Allocations Given Data

EM Algorithm Simple และ Understandable ไป Implement Converges Quickly แต่ไม่สามารถ Reach Global Optima ได้ Convergence Guaranteed สำหรับ Specific Forms ของ Optimization Functions Computational Complexity เป็น Linear ใน d (Number of Input Characteristics), n (Number of Items), และ t (Number of Iterations) Bayesian Clustering Techniques Target Computation of Class-conditional Probability Density มักใช้ใน Statistics Community

ใน Industry AutoClass เป็น Famous Bayesian Clustering Technique ที่ใช้ Modification ของ EM Algorithm Best Clustering Maximize Ability to Predict Attributes ของ Object Given Correct Cluster ของ Object AutoClass สามารถ Estimate Number of Clusters ได้ ใช้ใน Various Domains และสามารถ Find New Class of Stars จาก Infrared Astronomy Data