Algoritme
Algoritme bisa diklasifikasikan berdasarkan jumlah waktu yang dibutuhkan untuk selesai dibandingkan dengan ukuran inputnya. Ada berbagai varietas: beberapa algoritme selesai dalam waktu linear relatif terhadap ukuran input, beberapa selesai dalam jumlah waktu yang eksponensial atau lebih buruh, dan beberapa berhenti. Sebagai tambahan, beberapa masalah bisa memiliki berbagai algoritme dengan kompleksitas yang berbeda, sementara permasalahan yang lain bisa saja tidak memiliki algoritme atau tidak diketahui algoritmanya yang efisien. Ada juga pemetaan dari beberapa algoritme terhadap permasalahan lain. Karena itu, lebih cocok untuk mengklasifikasikan permasalahan itu sendiri bukannya algoritme menjadi kelas-kelas yang sama berdasarkan kompleksitas dari kemungkinan algoritme terbaik baginya.
Boosting
Boosting adalah pembelajaran "metode ensemble" meta algoritma untuk terutama mengurangi bias, dan juga varians. Berbeda halnya dengan bagging dan random forest yang mendapatkan hasil prediksi dari proses "bootstrap", Boosting mengacu pada kumpulan algoritma yang dapat mengkonversi "weak learners" untuk "strong learners". Prinsip utama dari boosting adalah menyesuaikan urutan "weak learners" hanya sedikit lebih baik daripada "tebakan acak", sementara "strong learners" dekat dengan kinerja sempurna seperti pohon keputusan kecil. Setiap kali pembuatan pohon, data yang digunakan tetap seperti semula tetapi memiliki sebaran bobot yang berbeda dalam tiap iterasi. Penggunaan bobot juga dilakukan pada saat proses penggabungan prediksi akhir dari banyak pohon yang dihasilkan melalui klasifikasi atau penjumlahan regresi. Boosting juga dikanal dengan sebutan AdaBoost.