אלגוריתם מיקסום התוחלת

אלגוריתם מיקסום התוחלת (באנגלית: Expectation–maximization; ובראשי תיבות: EM) הוא שיטה איטרטיבית לאמידה של פרמטרים, במודלים סטטיסטיים שבהם משולבים משתנים מקריים סמויים שאין עבורם תצפיות. מודל איטרציה זה עובר בין שני שלבים: התוחלת (שלב ה-E), אשר יוצר פונקציה של הפרמטרים לאמידה - תוחלת של לוג הנראות (של כל הנתונים, כולל הסמויים) כאשר מניחים כי למשתנים הסמויים יש התפלגות שנסמכת על האומדן הנוכחי עבור הפרמטרים. שלב המיקסום (שלב ה-M), אשר מוצא עבור הפרמטרים את האומדנים אשר מביאים למקסימום את הפונקציה שחושבה בשלב התוחלת. לאחר שלב המיקסום חוזרים חוזרים לשלב התוחלת עם האומדנים שנמצאו בשלב המיקסום וכן הלאה. אלגוריתם EM קיבל את שמו לראשונה בשנת 1977 במאמר מאת ארתור דמפסטר, נאן ליירד, ודונלד רובין. במאמר זה ציינו החוקרים כי בעבר השיטה כבר הועלתה על הכתב בידי מחברים אחרים. דמפסטר-ליירד-רובין הגדירו את שיטת מיקסום התוחלת ככלי חשוב לפתרון מגוון רחב של בעיות. עם זאת, ניתוח ההתכנסות של דמפסטר-ליירד-רובין היה שגוי. ניתוח מתוקן פורסם על ידי ס.פ ג'ף וו ב-1983. אלגוריתם EM משמש תחליף לאומד נראות מקסימלית במודלים סטטיסטיים שבהם קיים קושי הנובע מקיומם של משתנים מקריים סמויים או נתונים חסרים. במודלים אלו קשה מבחינה טכנית למצוא מקסימום לפונקציית הנראות. אלגוריתם EM מתחיל עם אומדן התחלתי לפרמטרים (אפשר לקבלו באמצעות שיטות אמידה פחות מדויקות). מתוך האומדן הראשוני מקבלים את ההתפלגות עבור הנתונים החסרים ואת Q {\displaystyle Q} תוחלת ההתפלגות של לוג הנראות עבור נתונים מלאים. זו עדיין פונקציה של הפרמטרים, כי האומדן משמש אותנו רק כדי לקבל את ההתפלגות לנתונים החסרים. עתה ניתן להשתמש ב- Q {\displaystyle Q} במקום בפונקציית לוג הנראות, l {\displaystyle l} , שבה משתמשים בשיטה של אומד נראות מקסימלי. האומדן החדש לפרמטרים יהיה זה המביא למקסימום Q {\displaystyle Q} . בניגוד למקרה של אומד נראות מקסימלי, האומדן שקיבלנו עדיין לא אופטימלי ועלינו להציבו שוב כדי לקבל התפלגות משופרת לנתונים החסרים. כך ממשיכים עם האיטרציות עד אשר מגיעים למצב שבו איטרציות נוספות אינן משנות את האומדנים באופן שהוא משמעותי. בהינתן מודל סטטיסטי המורכב ממדידות x {\displaystyle x} , משתנים סמויים שאינם נראים או נתונים חסרים Z {\displaystyle Z} (משתנה מקרי), פרמטרים θ אותם מעוניינים לאמוד ופונקציית הצפיפות f ( x , z ; θ ) {\displaystyle f(\mathbf {x} ,\mathbf {z} ;{\boldsymbol {\theta }})} בהינתן הנתונים המלאים. פונקציית הצפיפות השולית של הנתונים הקיימים היא f ( x ; θ ) = ∫ f ( x , z ; θ ) d z {\displaystyle f(\mathbf {x} ;{\boldsymbol {\theta }})=\int f(\mathbf {x} ,\mathbf {z} ;{\boldsymbol {\theta }})d\mathbf {z} } ולכן לוג הנראות בהינתן הנתונים הנראים היא l ( θ ) = l o g ( f ( x ; θ ) ) {\displaystyle l(\theta )=log(f(\mathbf {x} ;\theta ))} . כאשר אומדים בשיטת הנראות המקסימלית, בדרך כלל, מוצאים θ ∈ Ω {\displaystyle \theta \in \Omega } שיביא למקסימום את l ( θ ) {\displaystyle l(\theta )} . אולם בדרך כלל במקרים של נתונים חסרים בדרך כלל מדובר בבעיה טכנית קשה יחסית. בתנאים מסוימים, אלגוריתם EM מאפשר לעשות זאת על ידי יישום איטרטיבי של שני הצעדים הבאים: שלב התוחלת (שלב ה- E {\displaystyle E} ): חישוב תוחלת הלוג של פונקציית הנראות לנתונים המלאים, ביחס להתפלגות של Z {\displaystyle Z} של הנתונים החסרים, בהינתן סדרת התצפיות x {\displaystyle \mathbf {x} } והאומדן הנוכחי של הפרמטרים θ ( t ) {\displaystyle {\boldsymbol {\theta }}^{(t)}} : Q ( θ ; θ ( t ) ) = ∫ log ⁡ ( f ( x ∣ z ; θ ) ) f ( z ; θ ( t ) )   d z = E Z | θ ( t ) [ log ⁡ f ( x ∣ Z ; θ ) ] {\displaystyle Q\left({\boldsymbol {\theta }};{\boldsymbol {\theta }}^{(t)}\right)=\int \log(f(\mathbf {x} \mid \mathbf {z} ;{\boldsymbol {\theta }}))f\left(\mathbf {z} ;{\boldsymbol {\theta }}^{(t)}\right)\ d\mathbf {z} =E_{Z|\theta ^{(t)}}[\log f(\mathbf {x} \mid \mathbf {Z} ;{\boldsymbol {\theta }})]} שלב המיקסום (שלב ה- M {\displaystyle M} ): מציאת ה- θ {\displaystyle {\boldsymbol {\theta }}} אשר מביא למקסימום את הפונקציה שחושבה בצעד הראשון: θ ( t + 1 ) = a r g m a x θ ∈ Ω   Q ( θ ; θ ( t ) ) {\displaystyle {\boldsymbol {\theta }}^{(t+1)}={\underset {{\boldsymbol {\theta }}\in \Omega }{\operatorname {arg\,max} }}\ Q\left({\boldsymbol {\theta }};{\boldsymbol {\theta }}^{(t)}\right)\,} . מתחילים עם אומדן ראשוני, θ ( 0 ) {\displaystyle \mathbf {\theta ^{(0)}} } (שיכול להתקבל באמצעות שיטה אחרת, פחות מדויקת), ואז חוזרים שוב ושוב על שלב התוחלת ושלב המיקסום ומקבלים סדרה θ ( 0 ) , θ ( 1 ) , . . . {\displaystyle \mathbf {\theta ^{(0)}} ,\mathbf {\theta ^{(1)}} ,...} של אומדנים שבתנאים מסוימים הולכים ומשתפרים. ג'ף וו הוכיח את משפט ההתכנסות הבא: בהינתן שההנחות הבאות מתקיימות: Ω {\displaystyle \Omega } הוא תת-קבוצה של המרחב האוקלידי ה- r {\displaystyle r} ממדי Ω ⊆ R r {\displaystyle \Omega \subseteq \mathbb {R} ^{r}} , הקבוצה Ω θ ( 0 ) = { θ : l ( θ ) ≥ l ( θ ( 0 ) ) } {\displaystyle \Omega _{\theta ^{(0)}}=\left\{\theta :l(\theta )\geq l\left(\theta ^{(0)}\right)\right\}} קומפקטית לכל l ( θ ( 0 ) ) > − ∞ {\displaystyle l\left(\theta ^{(0)}\right)>-\infty } , l {\displaystyle l} רציפה על Ω {\displaystyle \Omega } וגזירה בפנים של Ω {\displaystyle \Omega } , הפונקציה Q ( θ ′ ; θ ) {\displaystyle Q({\boldsymbol {\theta }}';{\boldsymbol {\theta }})} רציפה גם ב- θ {\displaystyle {\boldsymbol {\theta }}} וגם ב- θ ′ {\displaystyle {\boldsymbol {\theta }}'} ; אז כל נקודות הגבול של סדרה θ ( 0 ) , θ ( 1 ) , . . . {\displaystyle \mathbf {\theta ^{(0)}} ,\mathbf {\theta ^{(1)}} ,...} הן נקודות קריטיות של l {\displaystyle l} (נקודה בה הנגזרת מתאפסת או לא מוגדרת) והסדרה l ( θ ( 0 ) ) , l ( θ ( 1 ) ) , . . . {\displaystyle l\left(\theta ^{(0)}\right),l\left(\theta ^{(1)}\right),...} מתכנסת באופן מונוטוני ל- l ( θ ∗ ) {\displaystyle l\left(\theta ^{*}\right)} עבור נקודה θ ∗ {\displaystyle \theta ^{*}} , שהיא אחת מהנקודות הקריטיות של l {\displaystyle l} . אם נניח בנוסף לכך את ההנחות הבאות: לפונקציה l {\displaystyle l} יש נקודה קריטית יחידה θ ∗ {\displaystyle \theta ^{*}} שבה מתקבל מקסימום גלובלי, וקטור הנגזרות החלקיות של Q ( θ ′ ; θ ) {\displaystyle Q({\boldsymbol {\theta }}';{\boldsymbol {\theta }})} רציף גם ב- θ {\displaystyle {\boldsymbol {\theta }}} וגם ב- θ ′ {\displaystyle {\boldsymbol {\theta }}'} ; אז הסדרה θ ( 0 ) , θ ( 1 ) , . . . {\displaystyle \theta ^{(0)},\theta ^{(1)},...} מתכנסת ל- θ ∗ {\displaystyle \theta ^{*}} . נתון מדגם x = ( x 1 , x 2 , … , x n ) {\displaystyle \mathbf {x} =(\mathbf {x} _{1},\mathbf {x} _{2},\ldots ,\mathbf {x} _{n})} של n {\displaystyle n} ווקטורי תצפיות בלתי תלויים מתערובת של שתי התפלגויות רב-נורמליות ממימד d {\displaystyle d} , ונניח שקיימים משתנים מקריים סמויים Z = ( Z 1 , Z 2 , … , Z n ) {\displaystyle \mathbf {Z} =(Z_{1},Z_{2},\ldots ,Z_{n})} אשר קובעים מאיזה מרכיב של התערובת מגיעה כל תצפית. X i ∣ Z i = 0 ∼ N d ( μ 0 , Σ 0 ) {\displaystyle X_{i}\mid Z_{i}=0\sim {\mathcal {N}}_{d}({\boldsymbol {\mu }}_{0},\Sigma _{0})} ו- X i ∣ Z i = 1 ∼ N d ( μ 1 , Σ 1 ) {\displaystyle X_{i}\mid Z_{i}=1\sim {\mathcal {N}}_{d}({\boldsymbol {\mu }}_{1},\Sigma _{1})} , כאשר P ⁡ ( Z i = 1 ) = τ {\displaystyle \operatorname {P} (Z_{i}=1)=\tau \,} ו- P ⁡ ( Z i = 0 ) = 1 − τ {\displaystyle \operatorname {P} (Z_{i}=0)=1-\tau } . המטרה היא לאמוד את המשקלים של הצירוף הקמור בין שתי ההתפלגויות המרכיבות ואת התוחלות והשונויות של כל אחד מהם: θ = ( τ , μ 0 , μ 1 , Σ 0 , Σ 1 ) {\displaystyle \theta ={\big (}\tau ,{\boldsymbol {\mu }}_{0},{\boldsymbol {\mu }}_{1},\Sigma _{0},\Sigma _{1}{\big )}} , פונקציית הנראות עבור הנתונים המלאים הכוללים וקטור תצפיות z {\displaystyle \mathbf {z} } : f ( x , z ∣ θ ) = ∏ i = 1 n   [ ( ( 1 − τ ) f ( x i ; μ 0 , Σ 0 ) ) 1 − z i ( τ f ( x i ; μ 1 , Σ 1 ) ) z i ] {\displaystyle f(\mathbf {x} ,\mathbf {z} \mid \theta )=\prod _{i=1}^{n}\ [\left((1-\tau )f(\mathbf {x} _{i};{\boldsymbol {\mu }}_{0},\Sigma _{0})\right)^{1-z_{i}}\left(\tau f(\mathbf {x} _{i};{\boldsymbol {\mu }}_{1},\Sigma _{1})\right)^{z_{i}}]} , כאשר f ( x i ; μ j , Σ j ) {\displaystyle f(\mathbf {x} _{i};{\boldsymbol {\mu }}_{j},\Sigma _{j})} הן פונקציות צפיפות של של התפלגויות רב-נורמליות. הלוג של פונקציית הנראות הוא: log ⁡ f ( x , z ; θ ) = ∑ i = 1 n   [ ( 1 − z i ) ( log ⁡ ( 1 − τ ) + log ⁡ f ( x i ; μ 0 , Σ 0 ) ) + z i ( log ⁡ τ + log ⁡ f ( x i ; μ 1 , Σ 1 ) ) ] {\displaystyle \log f(\mathbf {x} ,\mathbf {z} ;\theta )=\sum _{i=1}^{n}\ [(1-z_{i})\left(\log(1-\tau )+\log f(\mathbf {x} _{i};{\boldsymbol {\mu }}_{0},\Sigma _{0})\right)+z_{i}\left(\log \tau +\log f(\mathbf {x} _{i};{\boldsymbol {\mu }}_{1},\Sigma _{1})\right)]} . מאחר ש- z {\displaystyle \mathbf {z} } מבטא נתונים חסרים נציב במקומו משתנים מקריים: log ⁡ f ( x , Z ; θ ) = ∑ i = 1 n   [ ( 1 − Z i ) ( log ⁡ ( 1 − τ ) + log ⁡ f ( x i ; μ 0 , Σ 0 ) ) + Z i ( log ⁡ τ + log ⁡ f ( x i ; μ 1 , Σ 1 ) ) ] {\displaystyle \log f(\mathbf {x} ,\mathbf {Z} ;\theta )=\sum _{i=1}^{n}\ [(1-Z_{i})\left(\log(1-\tau )+\log f(\mathbf {x} _{i};{\boldsymbol {\mu }}_{0},\Sigma _{0})\right)+Z_{i}\left(\log \tau +\log f(\mathbf {x} _{i};{\boldsymbol {\mu }}_{1},\Sigma _{1})\right)]} . בהינתן האומדן θ ( t ) {\displaystyle \theta ^{(t)}} , ההתפלגות המותנה של Z i {\displaystyle Z_{i}} נקבעת על ידי חוק בייס: τ i , 1 ( t ) := P ⁡ ( Z i = 1 ∣ x i ; θ ( t ) ) = τ ( t )   f ( x i ; μ 1 ( t ) , Σ 1 ( t ) ) ( 1 − τ ( t ) )   f ( x i ; μ 0 ( t ) , Σ 0 ( t ) ) + τ ( t )   f ( x i ; μ 1 ( t ) , Σ 1 ( t ) ) {\displaystyle \tau _{i,1}^{(t)}:=\operatorname {P} (Z_{i}=1\mid \mathbf {x} _{i};\theta ^{(t)})={\frac {\tau ^{(t)}\ f(\mathbf {x} _{i};{\boldsymbol {\mu }}_{1}^{(t)},\Sigma _{1}^{(t)})}{(1-\tau ^{(t)})\ f(\mathbf {x} _{i};{\boldsymbol {\mu }}_{0}^{(t)},\Sigma _{0}^{(t)})+\tau ^{(t)}\ f(\mathbf {x} _{i};{\boldsymbol {\mu }}_{1}^{(t)},\Sigma _{1}^{(t)})}}} . לכן, E Z | θ ( t ) ⁡ [ Z i = 1 ∣ X i = x i ; θ ( t ) ] = τ i , 1 ( t ) {\displaystyle \operatorname {E} _{Z|\theta ^{(t)}}[Z_{i}=1\mid X_{i}=\mathbf {x} _{i};\theta ^{(t)}]=\tau _{i,1}^{(t)}} . נסמן גם τ i , 0 ( t ) = 1 − τ i , 1 ( t ) {\displaystyle \tau _{i,0}^{(t)}=1-\tau _{i,1}^{(t)}} . לכן, Q ( θ ∣ θ ( t ) ) = E Z | θ ( t ) ⁡ [ log ⁡ f ( x , Z ; θ ) ] = ∑ i = 1 n   [ τ i , 0 ( t ) ( log ⁡ ( 1 − τ ) + log ⁡ f ( x i ; μ 0 , Σ 0 ) ) + τ i , 1 ( t ) ( log ⁡ τ + log ⁡ f ( x i ; μ 1 , Σ 1 ) ) ] {\displaystyle Q(\theta \mid \theta ^{(t)})=\operatorname {E} _{Z|\theta ^{(t)}}[\log f(\mathbf {x} ,\mathbf {Z} ;\theta )]=\sum _{i=1}^{n}\ [\tau _{i,0}^{(t)}\left(\log(1-\tau )+\log f(\mathbf {x} _{i};{\boldsymbol {\mu }}_{0},\Sigma _{0})\right)+\tau _{i,1}^{(t)}\left(\log \tau +\log f(\mathbf {x} _{i};{\boldsymbol {\mu }}_{1},\Sigma _{1})\right)]} בשלב זה מקבלים אומדנים חדשים לפרמטרים, כאלה אשר מביאים את Q {\displaystyle Q} למקסימום. נעשה זאת, במקרה המסוים הזה, על ידי גזירה(חלקית) לפי הפרמטרים והשוואה ל-0, . τ ( t + 1 ) = a r g m a x τ   Q ( θ ∣ θ ( t ) ) = a r g m a x τ   { [ ∑ i = 1 n τ i , 0 ( t ) ] log ⁡ ( 1 − τ ) + [ ∑ i = 1 n τ i , 1 ( t ) ] log ⁡ τ } {\displaystyle .{\boldsymbol {\tau }}^{(t+1)}={\underset {\boldsymbol {\tau }}{\operatorname {arg\,max} }}\ Q(\theta \mid \theta ^{(t)})={\underset {\boldsymbol {\tau }}{\operatorname {arg\,max} }}\ \left\{\left[\sum _{i=1}^{n}\tau _{i,0}^{(t)}\right]\log(1-\tau )+\left[\sum _{i=1}^{n}\tau _{i,1}^{(t)}\right]\log \tau \right\}} מקבלים, τ ( t + 1 ) = 1 n ∑ i = 1 n τ i , 1 ( t ) {\displaystyle \tau ^{(t+1)}={\frac {1}{n}}\sum _{i=1}^{n}\tau _{i,1}^{(t)}} . עבור j = 0 , 1 {\displaystyle j=0,1} , מציאת האומדנים החדשים של μ j {\displaystyle {\boldsymbol {\mu }}_{j}} ו- Σ j {\displaystyle {\boldsymbol {\Sigma }}_{j}} , . ( μ j ( t + 1 ) , Σ j ( t + 1 ) ) = a r g m a x μ j , Σ j   Q ( θ ∣ θ ( t ) ) = a r g m a x μ j , Σ j   ∑ i = 1 n τ i , j ( t ) { − 1 2 log ⁡ | Σ j | − 1 2 ( x i − μ j ) ⊤ Σ j − 1 ( x i − μ j ) } {\displaystyle .({\boldsymbol {\mu }}_{j}^{(t+1)},{\boldsymbol {\Sigma }}_{j}^{(t+1)})={\underset {{\boldsymbol {\mu }}_{j},\Sigma _{j}}{\operatorname {arg\,max} }}\ Q(\theta \mid \theta ^{(t)})={\underset {{\boldsymbol {\mu }}_{j},\Sigma _{j}}{\operatorname {arg\,max} }}\ \sum _{i=1}^{n}\tau _{i,j}^{(t)}\left\{-{\tfrac {1}{2}}\log |\Sigma _{j}|-{\tfrac {1}{2}}(\mathbf {x} _{i}-{\boldsymbol {\mu }}_{j})^{\top }\Sigma _{j}^{-1}(\mathbf {x} _{i}-{\boldsymbol {\mu }}_{j})\right\}} מקבלים, μ j ( t + 1 ) = ( ∑ i = 1 n τ i , j ( t ) ) − 1 ∑ i = 1 n τ i , j ( t ) x i {\displaystyle {\boldsymbol {\mu }}_{j}^{(t+1)}=\left(\sum _{i=1}^{n}\tau _{i,j}^{(t)}\right)^{-1}\sum _{i=1}^{n}\tau _{i,j}^{(t)}\mathbf {x} _{i}}     וגם     Σ j ( t + 1 ) = ( ∑ i = 1 n τ i , j ( t ) ) − 1 ∑ i = 1 n τ i , j ( t ) ( x i − μ j ( t + 1 ) ) ( x i − μ j ( t + 1 ) ) ⊤ {\displaystyle {\boldsymbol {\Sigma }}_{j}^{(t+1)}=\left(\sum _{i=1}^{n}\tau _{i,j}^{(t)}\right)^{-1}\sum _{i=1}^{n}\tau _{i,j}^{(t)}(\mathbf {x} _{i}-{\boldsymbol {\mu }}_{j}^{(t+1)})(\mathbf {x} _{i}-{\boldsymbol {\mu }}_{j}^{(t+1)})^{\top }} . ניתן להכליל את האלגוריתם המודגם לעיל עבור תערובות של יותר משתי התפלגויות רב-נורמליות. A. P. Dempster, N. M. Laird, D. B. Rubin, Maximum Likelihood from Incomplete Data Via the EM Algorithm, Journal of the Royal Statistical Society: Series B (Methodological) 39, 1977-09, עמ' 1–22 doi: 10.1111/j.2517-6161.1977.tb01600.x C. F. Jeff Wu, On the Convergence Properties of the EM Algorithm, The Annals of Statistics 11, 1983-03, עמ' 95–103 doi: 10.1214/aos/1176346060 Hastie, Trevor; Tibshirani, Robert; Friedman, Jerome (2001). "8.5 The EM algorithm". The Elements of Statistical Learning. New York: Springer. pp. 236–243. ISBN 978-0-387-95284-0.