L'apprendimento automatico spesso si occupa dell'ottimizzazione di una funzione che ha molte minimas locali. Le reti neurali Feedforward con unità nascoste sono un buon esempio. Che queste funzioni siano discrete o continue, non esiste un metodo che raggiunga un minimo globale e si arresti. È facile dimostrare che non esiste un algoritmo generale per trovare un minimo globale di una funzione continua anche se è monodimensionale e regolare (ha infiniti derivati). In pratica, tutti gli algoritmi per l'apprendimento delle reti neurali sono rimasti al minimo. È facile verificarlo: crea una rete neurale casuale, crea una grande serie di risposte a input casuali, quindi prova a imparare un'altra rete neurale con la stessa architettura per copiare le risposte. Sebbene esista la soluzione perfetta, né la backpropagation né nessun altro algoritmo di apprendimento saranno in grado di scoprirla,
Alcuni metodi di apprendimento, come la ricottura simulata o algoritmi genetici, esplorano molte minimas locali. Per le funzioni continue ci sono metodi come la discesa gradiente, che trova il minimo locale più vicino. Sono molto più veloci, ecco perché sono ampiamente utilizzati nella pratica. Ma dato il tempo sufficiente, il primo gruppo di metodi supera quello successivo in termini di errore dell'insegnamento. Ma con limiti di tempo ragionevoli, per problemi del mondo reale, quest'ultimo gruppo è generalmente migliore.
Per alcuni modelli, come la regressione logistica, esiste un minimo locale, la funzione è convessa, la minimizzazione converge al minimo, ma i modelli stessi sono semplicistici.
Questa è l'amara verità.
Si noti inoltre che la prova di convergenza e la prova di convergenza alla soluzione migliore sono due cose diverse. L'algoritmo K-significa ne è un esempio.
Infine, per alcuni modelli non sappiamo affatto come imparare. Ad esempio, se l'output è una funzione calcolabile arbitraria degli input, non conosciamo buoni algoritmi che, in tempi ragionevoli, trovano un Turing o una macchina equivalente che implementa questa funzione. Ad esempio, se f (1) = 2, f (2) = 3, f (3) = 5, f (4) = 7, ..., f (10) = 29 (dieci primi primi), noi don non conosce alcun algoritmo di apprendimento in grado di prevedere, in tempi ragionevoli, che f (11) = 31, a meno che non conosca già il concetto di numeri primi.