O aprendizado de máquina geralmente lida com a otimização de uma função que possui muitos mínimos locais. Redes neurais feedforward com unidades ocultas são um bom exemplo. Sejam essas funções discretas ou contínuas, não há método que atinja um mínimo global e pare. É fácil provar que não há algoritmo geral para encontrar um mínimo global de uma função contínua, mesmo que seja unidimensional e suave (com infinitas derivadas). Na prática, todos os algoritmos para o aprendizado de redes neurais ficaram no mínimo local. É fácil verificar isso: crie uma rede neural aleatória, faça um grande conjunto de respostas a entradas aleatórias e tente aprender outra rede neural com a mesma arquitetura para copiar as respostas. Embora a solução perfeita exista, nem a retropropagação, nem qualquer outro algoritmo de aprendizado poderá descobri-la,
Alguns métodos de aprendizado, como recozimento simulado ou algoritmos genéticos, exploram muitos mínimos locais. Para funções contínuas, existem métodos como a descida em gradiente, que encontram o mínimo local mais próximo. Eles são muito mais rápidos, por isso são amplamente utilizados na prática. Mas, com tempo suficiente, o primeiro grupo de métodos supera o posterior em termos de erro no conjunto de treinamento. Mas, com restrições de tempo razoáveis, para problemas do mundo real, o último grupo geralmente é melhor.
Para alguns modelos, como regressão logística, há um mínimo local, a função é convexa, a minimização converge para o mínimo, mas os modelos são simplistas.
Essa é a verdade amarga.
Observe também que a prova de convergência e a prova de convergência para a melhor solução são duas coisas diferentes. O algoritmo K-means é um exemplo disso.
Finalmente, para alguns modelos, não sabemos como aprender. Por exemplo, se a saída é uma função computável arbitrária das entradas, não conhecemos bons algoritmos que, em tempo razoável, encontram uma máquina de Turing ou equivalente implementando essa função. Por exemplo, se f (1) = 2, f (2) = 3, f (3) = 5, f (4) = 7, ..., f (10) = 29 (dez primeiros primos), não fazemos conhece algum algoritmo de aprendizagem capaz de prever, em tempo razoável, que f (11) = 31, a menos que já conheça o conceito de números primos.