Dalam statistika, algoritma ekspektasi-maksimisasi (bahasa Inggris: expectation-maximization algorithm) atau algoritma EM (bahasa Inggris: EM algorithm) adalah metode berulang yang dipakai untuk mencari pendekatan nilai kemungkinan maksimum (bahasa Inggris: maximum likelihood) dan Maximum a Posteriori (MAP) dari parameter dalam sebuah model statistik, dimana modelnya bergantung pada variabel laten yang tidak diketahui.
Algoritma ekspektasi-maksimasi termasuk algoritma pengklasteran karena berupa basis perhitungan probabilitas.[1] Algoritma ini secara intuitif memiliki dua tahap, yaitu tahap ekspektasi dan tahap maksimisasi. Tahap ekspektasi merupakan tahap yang menentukan perhitungan ekspektasi sehingga diperoleh nilai estimasi parameternya,[2] sedangkan tahap maksimalisasi merupakan tahap yang mengulangi perhitungan parameter sehingga memaksimalkan nilai probabilitas.[1]
Penerapan algoritma ekspektasi-maksimisasi sangatlah luas, salah satunya adalah pembelajaran mesin, dimana algoritma ini dipakai sebagai metode pengelompok data.[3][4][5] Selain itu, algoritma ekspektasi-maksimisasi juga memiliki penerapan lainnya, seperti pengenalan ucapan, dan analisis faktor.