Cursus
Elke keer dat een bedrijf prijzen vaststelt om de beste winstmarge te vinden, of een model zijn gewichten aanpast om de voorspellingsfout te verkleinen, speelt onder de motorkap hetzelfde calculusprobleem: vind de hoogste of laagste waarde van een functie. Daar gaan minima en maxima over. De pieken en dalen die aangeven waar een functie zijn extreme waarden bereikt.
In dit artikel beginnen we met wat extrema precies betekenen, onderscheiden we lokaal van globaal gedrag, lopen we door het vinden ervan met afgeleiden en koppelen we het terug aan waarom dit ertoe doet in optimalisatie en data science. Wil je deze ideeën verder uitbouwen met praktijkoefeningen, dan behandelt onze cursus Introduction to Optimization in Python de computationele kant.
Wat zijn minima en maxima?
Een minimum is de laagste waarde die een functie bereikt; een maximum is de hoogste. Samen heten ze extrema (enkelvoud: extremum). Op een grafiek zijn het precies wat je verwacht: de bodems van dalen en de toppen van pieken.
Eén ding is vanaf het begin goed om helder te houden: het extremum is de functie-waarde (de y-coördinaat), terwijl het punt waar die optreedt de x-waarde is. "Het maximum ligt bij x = 3" is iets anders dan "de maximumwaarde is f(3) = 10." Dit onderscheid verwart mensen vaker dan je denkt, en duikt op in zowel tentamens als sollicitatievragen.
Niet elke functie heeft zowel een minimum als een maximum. Een rechte lijn heeft geen van beide. Een naar boven openende parabool heeft een minimum maar geen maximum. Functies gedefinieerd op open intervallen kunnen extreme waarden benaderen zonder ze ooit te bereiken. Extrema zijn niet gegarandeerd; ze hangen af van de vorm van de functie en het domein waarmee je werkt.
Lokale vs. globale minima en maxima
Voordat je extrema gaat zoeken, is het de moeite waard om een onderscheid scherp te hebben dat overal in terugkomt: het verschil tussen extrema die lokaal relevant zijn en die globaal relevant zijn. Dit is een van de praktisch belangrijkste ideeën in optimalisatie, en ook waar mensen het vaakst de draad kwijtraken.
Het verschil komt neer op de reikwijdte. Een lokaal extremum kijkt naar een kleine buurt rond een punt; een globaal extremum bekijkt het hele domein.
Lokaal minimum en maximum
Een lokaal minimum is een punt waar de functie-waarde lager is dan alle nabije waarden. Je staat op de bodem van een dal, ook als er ergens anders op de grafiek een dieper dal is. Een lokaal maximum is een top die hoger is dan zijn directe omgeving, ook als er verderop een hogere top bestaat.
Stel je een wandelpad met glooiende heuvels voor. Elke heuveltop is een lokaal maximum, en elke laagte tussen heuvels is een lokaal minimum. Je hoeft het hele pad niet te zien om ze te herkennen; je vergelijkt alleen met wat direct om je heen ligt.
Globaal minimum en maximum
Een globaal minimum (ook wel het absolute minimum genoemd) is de enkele laagste waarde die de functie aanneemt over het hele domein. Het globale maximum (of absolute maximum) is de enkele hoogste. Een globaal extremum is altijd ook een lokaal extremum, maar andersom niet.
Op datzelfde wandelpad is het globale maximum het hoogste punt van de hele route, niet alleen de hoogste heuvel in de buurt. Een functie kan veel lokale extrema hebben, maar hooguit één globale minimumwaarde en één globale maximumwaarde (al kan die waarde op meerdere punten voorkomen).
Dit onderscheid tussen lokaal en globaal is niet alleen theoretisch. Het komt direct terug in machine learning, waar gradient descent kan blijven steken in lokale minima bij het zoeken naar een globale. Later meer daarover.
Hoe vind je minima en maxima
Extrema vinden verloopt volgens een vast proces. Je vraagt in wezen: waar stopt de functie met stijgen en begint ze te dalen, of andersom? Afgeleiden geven je het gereedschap om dat precies te beantwoorden.
Dit is de algemene aanpak:
- Bereken de eerste afgeleide f'(x).
- Vind de kritieke punten, waar f'(x) = 0 of f'(x) niet bestaat.
- Classificeer elk kritiek punt als lokaal minimum, lokaal maximum of geen van beide.
- Als je op een gesloten interval werkt, controleer dan ook de eindpunten.
- Vergelijk alle kandidaatwaarden om de absolute extrema te bepalen.
We gebruiken één functie als rode draad om het concreet te houden: f(x) = 2x³ − 9x² + 12x − 4, gedefinieerd op het interval [0, 4].
Kritieke punten en extrema
Een kritiek punt van f(x) is elke x-waarde in het domein waar f'(x) = 0 is of f'(x) ongedefinieerd is. Dit zijn de kandidaten voor extrema, de plekken waar de functie van richting kan veranderen.
Waarom verschijnen extrema bij kritieke punten? Bij een gladde top of dal is de raaklijn horizontaal, dus de afgeleide is nul. Maar niet elk kritiek punt is een extremum, en dat is belangrijk. Het klassieke tegenvoorbeeld is f(x) = x³ bij x = 0: de afgeleide is nul, maar de functie verandert niet van richting. Ze vlakt even af en stijgt dan verder. Punten waar de afgeleide niet bestaat verdienen ook aandacht. Een scherpe hoek zoals in f(x) = |x| bij x = 0 heeft geen afgeleide, en toch zit daar precies het minimum.
Voor ons voorbeeld geldt: f'(x) = 6x² − 18x + 12 = 6(x² − 3x + 2) = 6(x − 1)(x − 2). Dit op nul zetten geeft kritieke punten bij x = 1 en x = 2. Nu moeten we bepalen wat er op elk punt gebeurt.
Hoe gebruik je de eerste-afgeleide test
De eerste-afgeleide test classificeert kritieke punten door te controleren of f'(x) van teken verandert. Als de functie van stijgen naar dalen gaat, zit je op een top. Als ze van dalen naar stijgen gaat, zit je in een dal.
Positief naar negatief
Wanneer f'(x) van positief naar negatief schakelt als je door een kritiek punt gaat, is dat punt een lokaal maximum. De functie klom ernaartoe en ging daarna weer omlaag.
Negatief naar positief
Wanneer f'(x) van negatief naar positief gaat, was de functie aan het dalen en begon ze daarna te stijgen. Dat kritiek punt is een lokaal minimum.
Geen tekenverandering
Als f'(x) aan beide kanten positief blijft (of aan beide kanten negatief blijft), is het kritiek punt geen minimum of maximum. De functie pauzeerde maar keerde niet om, zoals f(x) = x³ bij x = 0.
Voor onze functie testen we de intervallen rond x = 1 en x = 2. Kies testpunten: 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, en f'(3) = 6(2)(1) = 12 > 0. Bij x = 1 gaat de afgeleide van positief naar negatief: lokaal maximum. Bij x = 2 gaat ze van negatief naar positief: lokaal minimum. De functie-waarden zijn f(1) = 1 en f(2) = 0.
De eerste-afgeleide test werkt altijd, maar vereist testpunten in elk interval kiezen, en dat wordt snel saai. Er is een snellere methode als aan bepaalde voorwaarden is voldaan.
Hoe gebruik je de tweede-afgeleide test
De tweede-afgeleide test werkt wanneer f''(x) ≠ 0 bij het kritiek punt. In plaats van tekenveranderingen over intervallen te controleren, evalueer je de tweede afgeleide direct op het kritiek punt.
Het idee hangt samen met concaafheid. Als f''(c) > 0 is, is de functie bij c concaaf omhoog, gebogen als een kom, dus ligt het kritiek punt onderaan: lokaal minimum. Als f''(c) < 0 is, is de functie concaaf omlaag, gebogen als een heuvel, dus ligt het kritiek punt bovenaan: lokaal maximum. Als f''(c) = 0, zegt de test niets. Dan moet je terugvallen op de eerste-afgeleide test.
Voor onze functie geldt: f''(x) = 12x − 18. Bij x = 1: f''(1) = 12 − 18 = −6 < 0, wat een lokaal maximum bevestigt. Bij x = 2: f''(2) = 24 − 18 = 6 > 0, wat een lokaal minimum bevestigt. Dezelfde antwoorden als eerder, maar sneller. De tweede-afgeleide test werkt niet altijd (ze faalt bij buigpunten en sommige ontaarde kritieke punten), maar als het kan, bespaart ze tijd.
Hoe vind je absolute minima en maxima op een interval
Als je werkt op een gesloten interval [a, b] met een continue functie, garandeert de stelling van Weierstrass dat er zowel een absoluut maximum als een absoluut minimum bestaat. Je zoekt niet tevergeefs.
Deze methode heet de gesloten-intervalmethode:
- Vind alle kritieke punten van f(x) binnen het interval (a, b).
- Evalueer f(x) op elk kritiek punt.
- Evalueer f(x) op beide eindpunten, a en b.
- De grootste waarde is het absolute maximum; de kleinste is het absolute minimum.
Voor f(x) = 2x³ − 9x² + 12x − 4 op [0, 4] weten we al dat de kritieke punten x = 1 en x = 2 zijn. Evalueren op alle relevante plekken:
f(0) = -4
f(1) = 2 - 9 + 12 - 4 = 1
f(2) = 16 - 36 + 24 - 4 = 0
f(4) = 128 - 144 + 48 - 4 = 28
Het absolute minimum is f(0) = −4, en het absolute maximum is f(4) = 28. Let op: het absolute maximum ligt op een eindpunt, niet op een kritiek punt. Daarom kun je de eindpuntcontrole niet overslaan, en dit is ook de meest voorkomende fout die mensen maken. Daar komen we op terug in de foutensectie.
Alles tot nu toe geldt voor functies van één variabele. De meeste problemen in de praktijk hebben meerdere variabelen, dus het is de moeite waard om te zien hoe dit doorwerkt.
Minima en maxima van multivariabele functies
Voor een functie f(x, y) vind je kritieke punten door beide partiële afgeleiden op nul te zetten: ∂f/∂x = 0 en ∂f/∂y = 0. Een kritiek punt is nu een paar (x, y) in plaats van een enkele waarde. Classificeren wordt lastiger omdat er een nieuwe mogelijkheid is: zadelpunten, waar de functie in de ene richting omhoog en in een andere omlaag kromt. Denk aan het midden van een Pringles-chip.
Om multivariabele kritieke punten te classificeren, gebruik je de Hessiaan, een vierkante matrix van tweede-orde partiële afgeleiden. De determinant en de tekens van de elementen vertellen je of je bij een lokaal minimum, lokaal maximum of zadelpunt zit. Onze tutorial Hessian Matrix gaat dieper in op de mechanica en laat zien hoe dit samenhangt met kromming in hogere dimensies.
Minima en maxima in optimalisatie en machine learning
Als je ook maar iets met machine learning hebt gedaan, ben je al met minima bezig geweest. Een model trainen betekent een verliesfunctie minimaliseren, en een verliesfunctie is gewoon weer een functie met minima en maxima.
Gradient descent is hier het werkpaard. Het berekent de afgeleide (of gradiënt, in meerdere dimensies) van de verliesfunctie bij de huidige parameterwaarden, en zet vervolgens een stap in de richting die het verlies verlaagt. Omlaag lopen op het verliesoppervlak, op zoek naar een minimum. Onze tutorial Gradient Descent in Machine Learning behandelt het volledige algoritme.
Hier wordt het onderscheid tussen lokaal en globaal een echt engineeringprobleem. Voor niet-convexe verliesfuncties (wat de meeste neurale netwerken hebben) kan gradient descent blijven steken in lokale minima in plaats van het globale minimum te vinden. Technieken zoals learning rate-schema's, momentum en stochastische gradient descent helpen het algoritme uit ondiepe lokale minima te ontsnappen, al blijft het garanderen van een globaal minimum in niet-convexe problemen een open uitdaging. Onze tutorial Cost Functions legt uit hoe deze doelfuncties zijn opgebouwd en waarom hun vorm ertoe doet.
Veelgemaakte fouten bij het vinden van minima en maxima
Aannemen dat elk kritiek punt een extremum is
Niet elk kritiek punt levert een minimum of maximum op. Buigpunten zoals x = 0 in f(x) = x³ hebben f'(x) = 0 maar geen richtingsverandering. Controleer altijd met een afgeleidetest.
Lokale en globale extrema verwarren
Een lokaal minimum is slechts het laagste punt in een buurt. Het globale minimum kan helemaal ergens anders liggen, of op een eindpunt. Stop niet nadat je één lokaal extremum hebt gevonden.
Eindpunten vergeten
Op een gesloten interval kunnen de absolute extrema aan de grenzen voorkomen. Het absolute maximum in ons voorbeeld lag bij x = 4, niet bij een van de kritieke punten. Eindpunten overslaan is een van de meest voorkomende fouten in optimalisatieproblemen, en ik durf te wedden dat het voor meer verloren tentamenpunten zorgt dan welk conceptueel misverstand dan ook.
Aannemen dat een tweede afgeleide nul geen extremum betekent
Als f''(c) = 0, is de tweede-afgeleide test niet doorslaggevend. Dat betekent niet dat het punt geen extremum is. Neem f(x) = x⁴ bij x = 0: f''(0) = 0, maar x = 0 is duidelijk een minimum. Gebruik de eerste-afgeleide test wanneer de tweede-afgeleide test faalt.
Het extremumpunt verwarren met de waarde
De extremumwaarde is f(c), niet c zelf. "Het minimum is x = 2" als je bedoelt "de minimumwaarde is f(2) = 0" haalt invoer en uitvoer door elkaar. Verslagen en tentamenantwoorden hebben de functie-waarde nodig, niet alleen de locatie.
Conclusie
Er is een versie van dit onderwerp die stopt bij "vind waar de afgeleide nul is." Veel inleidende cursussen doen precies dat, en daardoor zijn studenten niet voorbereid op het deel dat in de praktijk juist telt: weten of je een lokaal minimum of een globaal minimum hebt gevonden, en begrijpen dat die twee heel verschillende dingen zijn afhankelijk van wat je probeert te doen.
De calculus hier is compact. Kritieke punten, afgeleidetests, eindpuntcontroles. Wat langer duurt om te internaliseren is de geometrie eronder: waarom concaafheid de vorm van een minimum bepaalt, waarom eindpunten kritieke punten kunnen overtreffen, waarom gradient descent in een neuraal netwerk echt zoekt naar een minimum op een oppervlak met mogelijk duizenden lokale minima.
Voor de implementatie behandelt onze cursus Introduction to Optimization in Python deze problemen computationeel met SciPy en SymPy. Daar wordt de verbinding tussen de calculus en de code concreet.
Vinod Chugani begon zijn carrière in Tokio als JPMorgans jongste Head van de Hedge Fund Sales Desk en vestigde later een individueel verkooprecord bij Lehman Brothers, bouwde daarna een elektronicadistributiebedrijf in 30 landen uit tot voorbij SG$100 miljoen omzet en maakte vervolgens de overstap naar data. Als afgestudeerde Economie aan Duke en alumnus van de NYC Data Science Academy was hij een van de drie beursontvangers uit meer dan 100 aanmeldingen voor Hugo Bowne-Andersons Building AI Applications-cursus op Maven. Tegenwoordig schrijft hij voor DataCamp, KDnuggets, Machine Learning Mastery en Statology over onderwerpen van statistiek tot agentische AI, en coacht hij dataprofessionals bij de NYC Data Science Academy met meer dan 1.000 één-op-één-sessies op zijn naam.
FAQs
Wat is het verschil tussen minima en maxima?
Een minimum is de laagste waarde die een functie op een gegeven punt bereikt, terwijl een maximum de hoogste waarde is. Samen heten ze extrema. Een functie kan meerdere lokale minima en maxima hebben, maar het globale (absolute) minimum is de enkele laagste waarde over het hele domein, en het globale maximum is de enkele hoogste.
Hoe vind je de minima en maxima van een functie?
Neem de eerste afgeleide, zet die gelijk aan nul en los op naar x om kritieke punten te vinden. Gebruik vervolgens de eerste-afgeleide test (controleer tekenveranderingen) of de tweede-afgeleide test (evalueer f''(x) op elk kritiek punt) om elk punt te classificeren als minimum, maximum of geen van beide. Op een gesloten interval evalueer je de functie ook op de eindpunten.
Wat is het verschil tussen lokale en globale extrema?
Een lokaal extremum is de hoogste of laagste waarde in een kleine buurt rond een punt. Een globaal (absoluut) extremum is de hoogste of laagste waarde over het hele domein van de functie. Elk globaal extremum is ook een lokaal extremum, maar de meeste lokale extrema zijn niet globaal.
Kan een functie meer dan één globaal minimum hebben?
Een functie kan maar één globale minimumwaarde hebben, maar die waarde kan op meerdere punten voorkomen. Zo heeft f(x) = cos(x) een globale minimumwaarde van −1, die optreedt bij x = π, x = 3π, x = −π, enzovoort. De minimumwaarde is uniek; de locaties waar die voorkomt niet per se.
Wat is een kritiek punt, en is het altijd een extremum?
Een kritiek punt is waar f'(x) = 0 of f'(x) ongedefinieerd is. Het is een kandidaat voor een extremum, maar geen garantie. Zo heeft f(x) = x³ een kritiek punt bij x = 0 (omdat f'(0) = 0), maar dat is een buigpunt, geen extremum—de functie verandert daar niet van richting.
Wanneer faalt de tweede-afgeleide test?
De tweede-afgeleide test is niet doorslaggevend wanneer f''(c) = 0 bij een kritiek punt c. In dat geval moet je de eerste-afgeleide test gebruiken of hogere orde afgeleiden analyseren. Een klassiek voorbeeld is f(x) = x⁴, waar zowel f'(0) = 0 als f''(0) = 0, en toch is x = 0 een minimum.
Waarom zijn eindpunten belangrijk bij het vinden van absolute extrema?
Op een gesloten interval [a, b] garandeert de stelling van Weierstrass dat een continue functie zowel een absoluut maximum als minimum heeft. Die kunnen optreden bij kritieke punten of bij de eindpunten. Als je eindpunten negeert, kun je het werkelijke absolute extremum missen, wat een van de meest voorkomende fouten in dit soort problemen is.
Hoe worden minima en maxima gebruikt in machine learning?
Een machinelearningmodel trainen is een optimalisatieprobleem: je minimaliseert een verliesfunctie (of, omgekeerd, maximaliseer je een prestatiemaatstaf). Gradient descent en varianten daarvan vinden minima van de verliesfunctie door iteratief de negatieve gradiënt te volgen. De uitdaging van lokale versus globale minima is direct relevant—niet-convexe verliesfuncties kunnen optimalisatie-algoritmen vastzetten in suboptimale lokale minima.
