Corso
Ogni volta che un'azienda fissa i prezzi per trovare il margine di profitto migliore, o un modello aggiusta i propri pesi per ridurre l'errore di previsione, sotto il cofano gira lo stesso problema di analisi: trovare il valore più alto o più basso di una funzione. È questo che riguarda minimi e massimi. Le vette e le valli che ti dicono dove una funzione raggiunge i suoi valori estremi.
In questo articolo partiremo dal significato effettivo di estremi, distingueremo il comportamento locale da quello globale, vedremo come trovarli usando le derivate e collegheremo tutto al perché questo conta nell'ottimizzazione e nella data science. Se vuoi consolidare queste idee con esercitazioni pratiche, il nostro corso Introduction to Optimization in Python copre il lato computazionale.
Cosa sono minimi e massimi?
Un minimo è il valore più basso che una funzione raggiunge; un massimo è il più alto. Insieme si chiamano estremi (singolare: estremo). Su un grafico sono esattamente ciò che ti aspetti: il fondo delle valli e la cima delle vette.
Una cosa importante da chiarire subito: l'estremo è il valore della funzione (la coordinata y), mentre il punto in cui si verifica è il valore di x. "Il massimo è in x = 3" è diverso da "il valore massimo è f(3) = 10". Questa distinzione trae in inganno più spesso di quanto pensi e ricorre sia negli esami sia nei colloqui.
Non tutte le funzioni hanno sia un minimo sia un massimo. Una retta non ha né l'uno né l'altro. Una parabola con concavità verso l'alto ha un minimo ma nessun massimo. Funzioni definite su intervalli aperti possono avvicinarsi a valori estremi senza mai raggiungerli. Gli estremi non sono garantiti; dipendono dalla forma della funzione e dal dominio con cui lavori.
Minimi e massimi locali vs globali
Prima di trovare gli estremi, vale la pena chiarire una distinzione che attraversa tutto ciò che segue: la differenza tra estremi localmente significativi e quelli globalmente significativi. È una delle idee più importanti nella pratica dell'ottimizzazione ed è anche dove più spesso ci si confonde.
La differenza si riduce all'ampiezza del contesto. Un estremo locale guarda a un piccolo intorno di un punto; un estremo globale considera l'intero dominio.
Minimo e massimo locali
Un minimo locale è un punto in cui il valore della funzione è inferiore a tutti i valori vicini. Ti trovi sul fondo di una valle, anche se da qualche altra parte sul grafico esiste una valle più profonda. Un massimo locale è una cima più alta dell'intorno immediato, anche se più lontano c'è una vetta più elevata.
Immagina un sentiero escursionistico con colline ondulate. Ogni cima è un massimo locale e ogni avvallamento tra le colline è un minimo locale. Non hai bisogno di vedere l'intero percorso per identificarli; ti basta confrontare con ciò che ti circonda immediatamente.
Minimo e massimo globali
Il minimo globale (chiamato anche minimo assoluto) è il singolo valore più basso che la funzione assume sull'intero dominio. Il massimo globale (o massimo assoluto) è il singolo più alto. Un estremo globale è sempre anche un estremo locale, ma non vale il contrario.
Sul medesimo sentiero, il massimo globale è il punto più alto dell'intero percorso, non solo la collina più alta nei dintorni. Una funzione può avere molti estremi locali ma al massimo un valore di minimo globale e un valore di massimo globale (anche se quei valori possono presentarsi in più punti).
Questa distinzione tra locale e globale non è solo teorica. Si vede direttamente nel machine learning, dove la discesa del gradiente può bloccarsi in minimi locali mentre cerca un minimo globale. Ne parleremo più avanti.
Come trovare minimi e massimi
Trovare gli estremi segue un processo coerente. In sostanza chiedi: dove la funzione smette di crescere e inizia a decrescere, o viceversa? Le derivate ti danno lo strumento per rispondere con precisione.
Ecco l'approccio generale:
- Calcola la prima derivata f'(x).
- Trova i punti critici, dove f'(x) = 0 oppure f'(x) non esiste.
- Classifica ciascun punto critico come minimo locale, massimo locale o nessuno dei due.
- Se lavori su un intervallo chiuso, controlla anche gli estremi dell'intervallo.
- Confronta tutti i valori candidati per identificare gli estremi assoluti.
Useremo un'unica funzione come filo conduttore per restare concreti: f(x) = 2x³ − 9x² + 12x − 4, definita sull'intervallo [0, 4].
Punti critici ed estremi
Un punto critico di f(x) è qualsiasi valore di x nel dominio per cui f'(x) = 0 o f'(x) è indefinita. Questi sono i candidati agli estremi, i luoghi in cui la funzione potrebbe cambiare direzione.
Perché gli estremi compaiono nei punti critici? In una cima o in una valle liscia, la retta tangente è orizzontale, quindi la derivata è zero. Ma non ogni punto critico è un estremo, e questo è importante. Il controesempio classico è f(x) = x³ in x = 0: la derivata è zero, ma la funzione non cambia direzione. Si appiattisce brevemente e poi continua a crescere. Anche i punti in cui la derivata non esiste vanno considerati. Uno spigolo, come in f(x) = |x| in x = 0, non ha derivata, eppure è proprio lì che si trova il minimo.
Per il nostro esempio, f'(x) = 6x² − 18x + 12 = 6(x² − 3x + 2) = 6(x − 1)(x − 2). Ponendola uguale a zero otteniamo punti critici in x = 1 e x = 2. Ora dobbiamo capire cosa succede in ciascuno.
Come usare il test della prima derivata
Il test della prima derivata classifica i punti critici verificando se f'(x) cambia segno. Se la funzione passa da crescente a decrescente, sei su una cima. Se passa da decrescente a crescente, sei in una valle.
Da positivo a negativo
Quando f'(x) passa da positiva a negativa attraversando un punto critico, quel punto è un massimo locale. La funzione è salita fino a lì e poi è ridiscesa.
Da negativo a positivo
Quando f'(x) passa da negativa a positiva, la funzione stava scendendo e poi ha iniziato a salire. Quel punto critico è un minimo locale.
Nessun cambio di segno
Se f'(x) resta positiva da entrambi i lati (o resta negativa da entrambi i lati), il punto critico non è né un minimo né un massimo. La funzione si è fermata ma non ha invertito la direzione, come f(x) = x³ in x = 0.
Per la nostra funzione, testiamo gli intervalli intorno a x = 1 e x = 2. Scegliamo punti di prova: f'(0.5) = 6(0.5 − 1)(0.5 − 2) = 6(−0.5)(−1.5) = 4.5 > 0, f'(1.5) = 6(0.5)(−0.5) = −1.5 < 0 e f'(3) = 6(2)(1) = 12 > 0. In x = 1 la derivata passa da positiva a negativa: massimo locale. In x = 2 passa da negativa a positiva: minimo locale. I valori della funzione sono f(1) = 1 e f(2) = 0.
Il test della prima derivata funziona sempre, ma richiede di scegliere punti di prova in ciascun intervallo, il che diventa presto noioso. C'è un metodo più rapido quando certe condizioni sono soddisfatte.
Come usare il test della seconda derivata
Il test della seconda derivata funziona quando f''(x) ≠ 0 nel punto critico. Invece di verificare i cambi di segno negli intervalli, valuti direttamente la seconda derivata nel punto critico.
L'idea è legata alla concavità. Se f''(c) > 0, la funzione è concava verso l'alto in c, curvata come una scodella, quindi il punto critico sta in basso: minimo locale. Se f''(c) < 0, la funzione è concava verso il basso, curvata come una collina, quindi il punto critico è in cima: massimo locale. Se f''(c) = 0, il test non dice nulla. Dovrai tornare al test della prima derivata.
Per la nostra funzione, f''(x) = 12x − 18. In x = 1: f''(1) = 12 − 18 = −6 < 0, confermando un massimo locale. In x = 2: f''(2) = 24 − 18 = 6 > 0, confermando un minimo locale. Stesse risposte di prima, ma più rapidamente. Il test della seconda derivata non funziona sempre (fallisce ai punti di flesso e in alcuni punti critici degeneri), ma quando funziona fa risparmiare tempo.
Come trovare minimi e massimi assoluti su un intervallo
Quando lavori su un intervallo chiuso [a, b] con una funzione continua, il Teorema di Weierstrass garantisce l'esistenza sia di un massimo assoluto sia di un minimo assoluto. Non stai cercando invano.
Il metodo si chiama metodo dell'intervallo chiuso:
- Trova tutti i punti critici di f(x) all'interno dell'intervallo (a, b).
- Valuta f(x) in ciascun punto critico.
- Valuta f(x) in entrambi gli estremi, a e b.
- Il valore più grande è il massimo assoluto; il più piccolo è il minimo assoluto.
Per f(x) = 2x³ − 9x² + 12x − 4 su [0, 4], sappiamo già che i punti critici sono x = 1 e x = 2. Valutiamo ovunque sia rilevante:
f(0) = -4
f(1) = 2 - 9 + 12 - 4 = 1
f(2) = 16 - 36 + 24 - 4 = 0
f(4) = 128 - 144 + 48 - 4 = 28
Il minimo assoluto è f(0) = −4 e il massimo assoluto è f(4) = 28. Nota che il massimo assoluto si trova a un estremo dell'intervallo, non in un punto critico. Ecco perché non puoi saltare il controllo degli estremi, ed è anche l'errore più comune. Ne parleremo nella sezione sugli errori.
Tutto finora si applica a funzioni di una variabile. La maggior parte dei problemi reali coinvolge più variabili, quindi vale la pena vedere come si estende.
Minimi e massimi di funzioni multivariabili
Per una funzione f(x, y), trovi i punti critici ponendo entrambe le derivate parziali uguali a zero: ∂f/∂x = 0 e ∂f/∂y = 0. Un punto critico ora è una coppia (x, y) anziché un singolo valore. La classificazione è più complicata perché c'è una nuova possibilità: i punti di sella, dove la funzione curva verso l'alto in una direzione e verso il basso in un'altra. Pensa al centro di una chips Pringles.
Per classificare i punti critici multivariabili, si usa la matrice Hessiana, una matrice quadrata di derivate parziali seconde. Il determinante e i segni dei suoi elementi ti dicono se ti trovi in un minimo locale, massimo locale o punto di sella. Il nostro tutorial Hessian Matrix approfondisce la meccanica e mostra come questo si collega alla curvatura in dimensioni superiori.
Minimi e massimi in ottimizzazione e machine learning
Se hai lavorato anche solo un po' con il machine learning, hai già risolto problemi di minimo. Addestrare un modello significa minimizzare una funzione di perdita, e una funzione di perdita è solo un'altra funzione con minimi e massimi.
La discesa del gradiente è il cavallo di battaglia qui. Calcola la derivata (o il gradiente, in più dimensioni) della funzione di perdita ai valori correnti dei parametri, quindi fa un passo nella direzione che riduce la perdita. Camminare in discesa sulla superficie della perdita, cercando un minimo. Il nostro tutorial Gradient Descent in Machine Learning copre l'algoritmo completo.
È qui che la distinzione tra locale e globale diventa un vero problema ingegneristico. Per funzioni di perdita non convesse (come nella maggior parte delle reti neurali), la discesa del gradiente può bloccarsi in minimi locali invece di trovare il minimo globale. Tecniche come i programmi di apprendimento del tasso, il momentum e lo stochastic gradient descent aiutano l'algoritmo a sfuggire ai minimi locali poco profondi, anche se garantire un minimo globale in problemi non convessi resta una sfida aperta. Il nostro tutorial Cost Functions spiega come si costruiscono queste funzioni obiettivo e perché la loro forma conta.
Errori comuni nel trovare minimi e massimi
Dare per scontato che ogni punto critico sia un estremo
Non ogni punto critico produce un minimo o un massimo. I punti di flesso come x = 0 in f(x) = x³ hanno f'(x) = 0 ma nessun cambio di direzione. Verifica sempre con un test sulle derivate.
Confondere estremi locali e globali
Un minimo locale è solo il punto più basso in un intorno. Il minimo globale potrebbe trovarsi altrove, o a un estremo dell'intervallo. Non fermarti dopo aver trovato un solo estremo locale.
Dimenticare gli estremi dell'intervallo
Su un intervallo chiuso, gli estremi assoluti possono verificarsi ai bordi. Nel nostro esempio il massimo assoluto era in x = 4, non in alcun punto critico. Saltare gli estremi dell'intervallo è uno degli errori più comuni nei problemi di ottimizzazione, e scommetterei che causi più punti persi agli esami di qualsiasi fraintendimento concettuale.
Supporre che una seconda derivata nulla implichi assenza di estremo
Quando f''(c) = 0, il test della seconda derivata è inconcludente. Non significa che il punto non sia un estremo. Considera f(x) = x⁴ in x = 0: f''(0) = 0, ma x = 0 è chiaramente un minimo. Usa il test della prima derivata quando quello della seconda fallisce.
Confondere il punto di estremo con il suo valore
Il valore di estremo è f(c), non c in sé. Dire "il minimo è x = 2" quando intendi "il valore minimo è f(2) = 0" confonde input e output. Relazioni ed esami richiedono il valore della funzione, non solo la posizione.
Conclusione
Esiste una versione di questo argomento che si ferma a "trova dove la derivata è zero". Molti corsi introduttivi fanno proprio questo, lasciando gli studenti impreparati alla parte che conta davvero nella pratica: capire se hai trovato un minimo locale o uno globale e comprendere che sono cose molto diverse a seconda di ciò che stai cercando di fare.
Il calcolo qui è compatto. Punti critici, test sulle derivate, controllo degli estremi dell'intervallo. Ciò che richiede più tempo per essere interiorizzato è la geometria sottostante: perché la concavità determina la forma di un minimo, perché gli estremi dell'intervallo possono prevalere sui punti critici, perché la discesa del gradiente in una rete neurale sta davvero cercando un minimo su una superficie che potrebbe averne migliaia di locali.
Per l'implementazione, il nostro corso Introduction to Optimization in Python affronta questi problemi a livello computazionale usando SciPy e SymPy. È lì che il collegamento tra calcolo e codice diventa concreto.
Vinod Chugani ha iniziato la sua carriera a Tokyo come il più giovane Head dell'Hedge Fund Sales Desk di JPMorgan e in seguito ha stabilito un record personale di vendite a Lehman Brothers, poi ha costruito un'attività di distribuzione di elettronica in 30 paesi superando i 100 milioni di SG$ di fatturato prima di passare ai dati. Laureato in Economia alla Duke e diplomato alla NYC Data Science Academy, è stato uno dei tre beneficiari di borsa di studio su oltre 100 candidati per il corso Building AI Applications di Hugo Bowne-Anderson su Maven. Oggi scrive per DataCamp, KDnuggets, Machine Learning Mastery e Statology su argomenti che vanno dalla statistica all'AI agentica, e fa da mentor a professionisti dei dati alla NYC Data Science Academy con oltre 1.000 sessioni one-to-one all'attivo.
FAQ
Qual è la differenza tra minimi e massimi?
Un minimo è il valore più basso che una funzione raggiunge in un dato punto, mentre un massimo è il più alto. Insieme si chiamano estremi. Una funzione può avere molteplici minimi e massimi locali, ma il minimo globale (assoluto) è il singolo valore più basso sull'intero dominio, e il massimo globale è il singolo più alto.
Come si trovano i minimi e i massimi di una funzione?
Calcola la prima derivata, ponila uguale a zero e risolvi per x per trovare i punti critici. Poi usa il test della prima derivata (controlla i cambi di segno) o il test della seconda derivata (valuta f''(x) in ciascun punto critico) per classificarli come minimo, massimo o nessuno dei due. Su un intervallo chiuso, valuta anche la funzione agli estremi.
Qual è la differenza tra estremi locali e globali?
Un estremo locale è il valore più alto o più basso in un piccolo intorno di un punto. Un estremo globale (assoluto) è il valore più alto o più basso sull'intero dominio della funzione. Ogni estremo globale è anche un estremo locale, ma la maggior parte degli estremi locali non è globale.
Una funzione può avere più di un minimo globale?
Una funzione può avere un solo valore di minimo globale, ma quel valore può verificarsi in più punti. Ad esempio, f(x) = cos(x) ha un valore di minimo globale pari a −1, che si verifica in x = π, x = 3π, x = −π e così via. Il valore minimo è unico; le posizioni in cui si verifica possono non esserlo.
Cos'è un punto critico e è sempre un estremo?
Un punto critico è dove f'(x) = 0 oppure f'(x) è indefinita. È un candidato a estremo, ma non è garantito che lo sia. Ad esempio, f(x) = x³ ha un punto critico in x = 0 (poiché f'(0) = 0), ma è un punto di flesso, non un estremo: la funzione non cambia direzione lì.
Quando fallisce il test della seconda derivata?
Il test della seconda derivata è inconcludente quando f''(c) = 0 in un punto critico c. In tal caso, devi usare il test della prima derivata o analizzare derivate di ordine superiore. Un esempio classico è f(x) = x⁴, dove sia f'(0) = 0 sia f''(0) = 0, eppure x = 0 è un minimo.
Perché gli estremi dell'intervallo contano quando si cercano gli estremi assoluti?
Su un intervallo chiuso [a, b], il Teorema di Weierstrass garantisce che una funzione continua abbia sia un massimo assoluto sia un minimo assoluto. Questi possono verificarsi nei punti critici oppure agli estremi dell'intervallo. Ignorare gli estremi significa poter perdere l'effettivo estremo assoluto, che è uno degli errori più comuni in questi problemi.
Come si usano minimi e massimi nel machine learning?
L'addestramento di un modello di machine learning è un problema di ottimizzazione: si minimizza una funzione di perdita (o, in modo equivalente, si massimizza una metrica di performance). La discesa del gradiente e le sue varianti trovano i minimi della funzione di perdita seguendo iterativamente il gradiente negativo. La sfida tra minimi locali e globali è direttamente rilevante: funzioni di perdita non convesse possono intrappolare gli algoritmi di ottimizzazione in minimi locali subottimali.
