Intro
Maskininlärning blir ett allt viktigare område. Det används i stort sett överallt, av småskaliga företag, teoretiska fysiker och inom hälso- och sjukvården. Möjligheterna är oändliga!
Men hur fungerar maskininlärning egentligen? Tja, maskininlärning är, precis som många andra coola tekniker, driven av matematik! Och i synnerhet behöver du detta koncept med gradient . I grund och botten är det en metod som gör att maskinen har mindre och mindre fel. Så utan matematik hade maskininlärning varit omöjlig!
Koncept
Gradienten är i princip en vektor med alla partiella derivatorna.
Men det som är coolt med gradienten är inte att den är mer informationsrik än en vanlig partiell derivata.
Gradienten pekar alltid i riktningen för den brantaste stigningen och den är vinkelrät mot konturlinje . Dessa egenskaper gör gradienten ganska fantastisk.
Summering
Gradienten för en skalär funktion av flera variabler är vektorn:
De två viktigaste egenskaperna hos gradienten är:
pekar mot den riktning där ökar mest.
är vinkelrät mot nivåkurvor för .
Till exempel är gradienten till funktionen :
Vid punkten f$ mest om du går i riktning mot:
Nablaräkning
Denna symbol kallas nabla , och den används för att beteckna en av de viktigaste konstruktionerna inom matematisk analys, nablaräkning .
Vi har tidigare varit utsatta för den enkla differentialoperator , som verkar på en enda variabelfunktion för att producera sin derivata :
Sedan utökade vi konceptet med derivatan till funktioner av flera variabler, genom partiella derivator .
Som det visar sig är dessa båda fallen av tillämpning av nablaräkningen.
nablaräkning är en vektor av partiell derivata , och dess antal komponenter bestäms av hur många variabler funktionen den arbetar på har
Låt oss gräva lite djupare för att se hur allt detta hänger ihop.
nablaräkning
nablaräkning i det -dimensionella koordinatsystemet , med variabler , definieras som:
Precis som en vanlig vektor gånger en skalär multiplicerar varje komponent separat, agerar varje komponent i denna vektor av partiell derivata på en skalär funktion en efter en.
Använda nablaräkningen på en funktion i :
resulterar i endast en komponent och blir ingenting annat än den enkla differentialoperator:
På liknande sätt, applicering av nablaräkningen på en funktion i :
ger oss de partiella derivatorna, med avseende på respektive , som de två komponenterna i en vektor:
Vidare kan vi arbeta på en funktion i dimensioner med del, för att erhålla en vektor av partiella derivator:
Dessa exempel på att agera på skalära funktioner med nablaräkningen ger speciella typer av vektorer som kallas gradienter .
nablaräkning kan även appliceras på vektorvärderade funktioner, men på två olika sätt, för att producera antingen divergens eller rotation . Här är det ibland fördelaktigt att representera nablaräkningen i polära koordinater snarare än i kartesiska som ovan.
Gradienter, divergens och rotation kommer att studeras i detalj i framtida föreläsningsanteckningar, så håll utkik.
Gradient
Det är en snöstorm och du är ute och klättrar på Matterhorn.
När du klättrar på Matterhorn, det berömda "Tobleroneberget", kommer det plötsligt en snöstorm. Du kan inte se någonting. Om du går i riktning mot den så kallade gradient kommer du att öka i höjd snabbast.
Om du paketerar alla partiella derivator i en enda vektor får du gradienten. Gradienten skrivs , och så:
Gradienten ligger i xy-planet och pekar i riktningen för den brantaste stigningen. Den är vinkelrät mot konturlinje , som visas på bilden till höger.
Om du vill kan du skapa ett vektorfält med gradientarna i varje punkt. I ett sådant en gradient motsvarar magnituden gradienten längd. Ganska sunt, eller hur?
Exempel
Hitta gradienten för följande funktion:
i punkten
Då får du något i stil med:
Riktningsderivata
Förändringstakt i vilken riktning som helst
De Partiella derivatorna av en funktion är derivatorna av i riktningarna och . Vi har ofta betecknat dessa riktningar med enhetsvektorerna och .
Nu kan vi faktiskt ta derivatan i vilken riktning som helst . Vi kallar förändringshastigheten i riktningen för en riktningsderivata .
För att kunna beräkna denna derivata måste vi ha . Vi behöver också för att kunna differentieras vid intressepunkten.
Riktningsderivatan berättar hur snabbt funktionen ändras i den givna riktningen
Vi har redan sett ett exempel på riktningsderivator: partiella derivator. De utgör gradienten som kan ha vilken riktning som helst. Den kommer dock alltid att vara parallell med riktningen för den snabbaste tillväxten av funktionen.
Om vi har en gradient, kastar vi ut -komponenten genom att sätta den till ger oss riktningsderivatan i riktningen. Detta motsvarar att projicera den på -axeln, eftersom är vinkelrät mot .
På samma sätt hittas riktningsderivatan i vilken annan riktning som helst genom att projicera gradienten på enhetsvektorn som pekar i den riktningen. Konkret beräknar vi det med den skalära produkten:
Riktningsderivatan i riktningen för vid betecknas .
Den minsta riktningsderivata
Gradienten är den riktningsderivatan med det största absolutvärdet. Den andra ytterligheten är riktningsderivatan i nivåkurvor riktning vid punkten. Om är en vektor parallell med de nivåkurvorna vid , då
Varför? Jo , nivåkurvor är de kurvor längs vilka funktionen förblir konstant. Detta motsvarar att säga att dess derivata är noll i den riktningen.
Förändringshastighet i skalärfältet
Vi kan betrakta funktionen som ett skalärfält, med värdet på fältet vid varje punkt. Sedan,
ger storleken på förändringshastigheten i det skalärfältet, i riktning mot .
Exempel: gå nerför ett berg
Föreställ dig att du går nerför ett berg mot din bil. Din hastighet är i -planet. Formen på berget följer funktionen , där:
Din position är och parkeringsplatsens position är och du går en rak väg mellan dem. Beräkna förändringshastigheten i höjden du upplever per sekund när du börjar din promenad.
Nyckeln till att lösa detta problem är att notera att vi söker efter förändringshastigheten per sekund . Detta innebär att hastigheten som vi reser spelar roll för slutresultatet.
Den andra saken att notera är att riktningsderivatan ger oss ett mått på hur höjden på berget varierar när vi rör oss i -planet. Således hittar vi vår förändring i höjd per sekund genom att multiplicera vår riktningsderivata med vår hastighet:
Vi börjar med att beräkna enhetens riktningsvektor för vår väg:
Därefter beräknar vi gradienten för det skalärfältet:
Sedan beräknar vi riktningsderivatan vid punkten (1, 1):
Slutligen beräknar vi förändringshastigheten i höjd per sekund. Det visar sig vara: