Pembelajaran mesin sering berurusan dengan optimalisasi fungsi yang memiliki banyak minimas lokal. Jaringan neural feedforward dengan unit tersembunyi adalah contoh yang baik. Apakah fungsi-fungsi ini diskrit atau kontinu, tidak ada metode yang mencapai minimum global dan berhenti. Sangat mudah untuk membuktikan bahwa tidak ada algoritma umum untuk menemukan minimum global dari fungsi kontinu bahkan jika itu adalah satu dimensi dan halus (memiliki turunan yang tak terhingga banyaknya). Dalam praktiknya, semua algoritma untuk mempelajari jaringan saraf terjebak dalam minimum lokal. Sangat mudah untuk memeriksa ini: membuat jaringan saraf acak, membuat set besar tanggapannya terhadap input acak, kemudian mencoba mempelajari jaringan saraf lain dengan arsitektur yang sama untuk menyalin tanggapan. Sementara solusi sempurna ada, baik backpropagation tidak ada algoritma pembelajaran lain yang dapat menemukannya,
Beberapa metode pembelajaran, seperti anil simulasi atau algoritma genetika, mengeksplorasi banyak minimas lokal. Untuk fungsi kontinu ada metode seperti gradient descent, yang menemukan minimum lokal terdekat. Mereka jauh lebih cepat, itu sebabnya mereka banyak digunakan dalam praktek. Tetapi mengingat waktu yang cukup, kelompok metode sebelumnya mengungguli yang kemudian dalam hal kesalahan set pelatihan. Tetapi dengan batasan waktu yang masuk akal, untuk masalah dunia nyata, kelompok yang terakhir biasanya lebih baik.
Untuk beberapa model, seperti regresi logistik, ada satu minimum lokal, fungsinya cembung, minimalisasi konvergen ke minimum, tetapi model itu sendiri sederhana.
Itu kebenaran pahit.
Perhatikan juga bahwa bukti konvergensi dan bukti konvergensi dengan solusi terbaik adalah dua hal yang berbeda. Algoritma K-means adalah contohnya.
Akhirnya, untuk beberapa model kita tidak tahu cara belajar sama sekali. Misalnya, jika output merupakan fungsi input yang dapat dihitung secara sewenang-wenang, kita tidak tahu algoritma yang baik yang, dalam waktu yang wajar, menemukan mesin Turing atau setara yang mengimplementasikan fungsi ini. Misalnya, jika f (1) = 2, f (2) = 3, f (3) = 5, f (4) = 7, ..., f (10) = 29 (sepuluh bilangan prima pertama), kami tidak tidak tahu algoritma pembelajaran apa pun yang dapat memprediksi, dalam waktu yang wajar, bahwa f (11) = 31, kecuali ia sudah tahu konsep bilangan prima.