‫We hebben dus gezien hoe we de prestaties van ons model, of in ieder geval de
‫initiële prestaties, kunnen evalueren op zoiets als epoch-nauwkeurigheid en epoch-verlies, en hoe we verschillende experimenten kunnen volgen.
‫Maar dit is alleen van de trainings- en validatiesets van het model, en het is alleen echt wat het model in de
‫dataset heeft geleerd.
‫Wat zijn andere echt goede manieren om te evalueren?
‫Wat ons model heeft geleerd, is om het te gebruiken waarvoor we het bouwen, als we hondenvisie bouwen.
‫En we moeten altijd in gedachten houden wat het einddoel is met welk project we ook werken.
‫We bouwen een hondenvisie om te zien of we een machine learning-model kunnen bouwen dat een hond op een foto kan
‫identificeren.
‫Dus het gaat wat voorspellingen doen, een foto geven.
‫Dus laten we dat doen.
‫Als we terugkomen om onze workflow te bekijken, passen we het model aan de gegevens aan.
‫Nu is het tijd om een voorspelling te doen.
‫Dus we zijn binnen, we zijn nog steeds in stap drie.
‫We hebben een klein beetje gedaan.
‫We hebben stap vier aangeroerd.
‫En onthoud, dit zijn niet echt lineaire stappen.
‫Dus dit zijn gewoon, ik heb ze hier geplaatst omdat het gemakkelijk is om het zo te begrijpen.
‫Maar onthoud dat ze niet per se lineair zijn, dus je kunt ze in de verkeerde volgorde doen.
‫We komen terug, we maken een kleine kop, maken en evalueren voorspellingen met behulp van een getraind model.
‫Tijd om er een markdown shift van te maken en binnen te gaan.
‫OKE.
‫Dus voorspellingen doen met een getraind model lijkt erg op hoe we het deden in
‫Saikat-lening, dus we kunnen de voorspellingsfunctie aanroepen en deze gegevens doorgeven in hetzelfde formaat waarop het model is getraind.
‫Dat is het belangrijkste.
‫Laten we eerst de code bekijken en dan bespreken we wat er gebeurt.
‫Maak dus voorspellingen op de validatiegegevens.
‫Dus onthoud dat we een batch met validatiegegevens hebben gemaakt.
‫Nu, dit werd niet gebruikt om op te trainen.
‫Dat is het belangrijke punt.
‫Als we terugkomen op onze drie sets, hoe we een model evalueren, is omdat het
‫traint in de trainingsset, we willen het uitproberen, de eerste resultaten op de validatieset en vervolgens beide examens.
‫Het oefenexamen en het eindexamen zijn dus datasets die het model nog niet eerder heeft gezien.
‫Dus we komen terug, laten we gaan model of eigenlijk slaan we het op in voorspellingen, voorspellingen, gelijk model.
‫Voorspel geen Vall-gegevens, want laten we onszelf eraan herinneren wat geldige gegevens zijn.
‫Geldige gegevens.
‫Batchgegevensset.
‫Daar gaan we.
‫We hebben enkele afbeeldingen en enkele labels, dus we weten wat de echte labels van de validatie zijn.
‫Dus als we deze batch passeren, voorspellen de datasets van morgen niet vanwege de aard van de voorspellingsfunctie.
‫Het gaat alleen naar de afbeeldingen in virtuele gegevens kijken en vervolgens voorspellingen doen op basis van die afbeeldingen.
‫Dus wat we dan kunnen doen, is die voorspellingen vergelijken die in de vorm van labels zullen zijn.
‫Nou, niet precies.
‫We gaan zo zien hoe ze eruit zien.
‫We kunnen de voorspellingen van het model op de validatiebeelden vergelijken met de daadwerkelijke labels
‫van de validatiebeelden.
‫Nou, dat was veel praten.
‫Het is veel beter om dit in code te zien, dus uitgebreid wil zeggen, hé, als je voorspellingen doet, laat me
‫je voortgang zien.
‫Nou, dat was heel snel, want we hebben tweehonderd afbeeldingen, dus dat is het mooie van werken
‫aan een GPU.
‫Voorspellingen zijn ook erg snel.
‫En dat duurde dus maar ongeveer zeven milliseconden.
‫Dus nog geen hele seconde.
‫En als we niet uitgebreid hadden ingesteld op gelijk aan één, zouden we deze kleine voortgangsbalk niet weergeven.
‫Je kijkt hier misschien naar en gaat, wat is hier aan de hand?
‫Veel gewoon verschillende nummers.
‫Laten we dus eens kijken naar de Shapir-voorspellingsvorm.
‫Als je het je herinnert, waar staat dit, dus als we gaan, Len, waarom?
‫Val.
‫Tweehonderd, dus daar is de eerste Qype, dus tweehonderd afbeeldingen.
‫Waar denk je dat het tweede schip vandaan komt?
‫Honderdtwintig, waar hebben we dat eerder gezien,
‫Len?
‫Unieke rassen.
‫Honderdtwintig, dus dit betekent dat we een array hebben van tweehonderd bij honderdtwintig, dus we
‫hebben 200.
‫Laten we eens kijken naar het eerste element.
‫Dus we hebben 200 voorspellingen, nul.
‫200 reeksen.
‫Van honderdtwintig verschillende getallen die heel klein zijn en we vragen ons af wat hier aan de
‫hand is.
‫Hm.
‫Laten we de lengte hiervan uitzoeken.
‫Honderdtwintig, prachtig.
‫Dus wat dit eigenlijk is.
‫Is een bijbehorende kans.
‫Voor de waarschijnlijkheid, dus eigenlijk wat ons model denkt dat een bepaalde afbeelding is, dus er is hier een
‫waarschijnlijkheidswaarde voor elk afzonderlijk label.
‫Dus de waarde hier, de hoogste waarde in deze voorspellingsreeks.
‫Dus de nulde voorspellingen kloppen.
‫Dit is voor één afbeelding, de eerste afbeelding in de validatiegegevens.
‫Dus de hoogste waarde hier komt overeen met de index van het label waarvan het model denkt dat het het
‫meest waarschijnlijk is.
‫En nogmaals, dit is veel gepraat, het zal een beetje logischer worden als we het samen met
‫code beginnen te maken, maar heb even geduld met me.
‫Als we deze allemaal bij elkaar optellen, zullen ze heel dicht bij één of misschien één uitkomen.
‫Precies.
‫En ik zeg heel dichtbij omdat de manier waarop computernummers opslaan niet precies is.
‫Dus als je doorgaat met decimale punten.
‫Rechts.
‫Het zal heel dicht bij één komen, maar het is misschien niet precies één, en je zou kunnen zeggen, Daniel,
‫wat vertel je me?
‫Op deze manier zijn de computernummers niet exact.
‫Nou, ik begrijp het niet eens helemaal, maar je moet weten dat wanneer een computer een getal opslaat dat veel decimalen
‫heeft vanwege de manier waarop het het meest efficiënt is om het op een computerchip op te
‫slaan, het niet perfect zal zijn exact.
‫Dus daarom zeg ik dat als je een enkele voorspellingsreeks samenvat, het heel dicht bij één zal zijn.
‫En nu ga ik dit weer verbinden met waar we terug zijn in ons model.
‫Daarom hebben we softmax-activering gebruikt.
‫Je zou kunnen zeggen zo ver weg.
‫Dit is een video, Zygi, je hebt ons al verteld over Softmax.
‫Het was niet echt logisch en het is nu echt niet logisch.
‫Maar als we teruggaan naar Softmax, gaan we gewoon, ja, hoe zit het met we gaan?
‫Wat is Softmax als we terugkomen op onze vriendelijke Wikipedia-pagina?
‫Het gaat ons vertellen.
‫Dat, maar na het toepassen van softmax, zal elke component zich in het interval tussen nul en één bevinden en zullen
‫de componenten optellen tot één.
‫Dus dat is wat we hier krijgen.
‫We krijgen onze componenten omdat we een softmax-activering hebben gebruikt in de laatste laag
‫van ons netwerk, het heeft een array uitgevoerd, een voorspellingsarray met een lengte van 120 en al deze waarden in
‫voorspelling nul en elke andere voorspelling.
‫Hij heeft een voorspelling.
‫Men zal ook heel dicht bij een zijn.
‫Dus voorspellingen tellen op tot één.
‫Of heel dicht bij één.
‫O, voorspellingen.
‫Daar gaan we.
‫Kijk, dit is iets meer dan één, het komt heel dicht in de buurt van een van de meer decimalen die er zijn, hoe minder exact
‫het getal is met een computer.
‫En laten we dit allemaal op een rijtje zetten.
‫Omdat er op dit moment gewoon veel gepraat is, wil ik je een concreet voorbeeld laten zien.
‫Laten we de voorspelling nul nemen.
‫Dus we gaan deze cellen verwijderen.
‫En nog een klein weetje, onthoud onze magonet, V2-architectuur, het enige wat al die softmax-laag
‫doet, is deze duizend tweehonderdtachtig output, deze reeks getallen en het veranderen in
‫een reeks getallen zoals deze of zoals de honderdtwintig met behulp van een softmax-activering.
‫Want onthoud, want voor classificatieproblemen met meerdere klassen, willen we softmax-activering.
‫Maar als we alleen een enkele classificatie zouden doen, zouden we sigmoid gebruiken.
‫Dus om hier terug te komen, laten we het eens bekijken.
‫Dus de eerste voorspelling, ik ga hier een paar kleine indexeringstrucs typen, en ik wil dat je gewoon
‫een beetje toekijkt hoe je erover praat.
‫Maar ik wil dat je begint na te denken over hoe deze dingen allemaal met elkaar verbonden zijn.
‫Dus laten we het doen.
‫Want wat ons doel nu is, is ons model, zoals hier enkele voorspellingen gedaan, maar ons doel is om deze voorspellingen verder te
‫begrijpen als onze computer dit goed begrijpt, omdat ze allemaal numeriek zijn.
‫Dus onthoud in het begin hoe we veel tijd hebben besteed aan het omzetten van onze gegevens in cijfers, een beetje wanneer je
‫bij de uitvoer van een machine learning-model komt.
‫Rechts.
‫Hier zijn we dus op gefocust.
‫We hebben veel tijd besteed aan het voorbereiden van onze input.
‫Nu gaan we veel tijd besteden aan het voorbereiden van onze output, en dat is wat we nu doen.
‫Dus laten we voorspellingen nul afdrukken en dan gaan we de maximale waarde waarschijnlijkheid zoeken.
‫Dus onthoud de functie in lening, je zou voorspellen prober niet kunnen noemen, wat
‫een voorspellingskans oplevert, dit is wat voorspellen standaard intensief laag doet.
‫We gaan hier, voorspelling enpi, Mac's voorspellingen nul.
‫Dus we vinden.
‫Laten we onszelf eraan herinneren, voorspelling nul, hoe het eruit ziet dat we hier de maximale waarde vinden.
‫Dat is alles wat die lijn doet.
‫En wat gaan we dan verder doen?
‫Dus we willen.
‫Wat willen we nog meer?
‫We willen de som vinden.
‫Dus ENPI is eigenlijk dat we dit kunnen instellen, zodat we er meerdere kunnen doen.
‫Index is dus gelijk aan nul.
‫Zodat we het kunnen zien met meerdere voorbeelden, dus de Sam Sam wordt ENPI een voorspellingsindex, lekker
‫eenvoudig.
‫Dan gaan we, wauw, dat was een vreselijke typfout, Daniel.
‫Kom op, we gaan naar de massa-index.
‫Zoek dus de index in deze array, die de maximale waarde heeft.
‫Dus wat gelijk is aan de maximale waarde.
‫NPR ondersteunt de voorspellingsindex en natuurlijk is wat we nu doen een beetje vervelend.
‫We gaan hier later op inspelen.
‫Dus je zou je kunnen voorstellen dat als we cellen op deze manier
‫zouden blijven schrijven, dit is waar we al onze code zo veel mogelijk laten functioneren, zodat we
‫niet alleen voortdurend dit soort afdrukinstructies hoeven te schrijven om onze gegevens of ontdek onze voorspellingsvoorspellingsindex.
‫Prachtig, voorspelde Leibel.
‫Nu, voordat we deze cel uitvoeren, gaan we tegen onze hoofdregel in om bij twijfel de code
‫uit te voeren, zodat je even nadenkt over wat deze doet.
‫Laat me je eraan herinneren wat unieke rassen zijn.
‫Dit zijn dus al onze hondenrassen.
‫Dus als we voorspellingen hebben en we vinden de massa-index ervan en dan vinden we waar die index voorkomt en unieke rassen,
‫wat denk je dat dat zal opleveren?
‫Hint, we hebben het hier uitgetypt.
‫Oké, laten we deze slechte jongen verwijderen en dan zullen we overschakelen naar.
‫Prachtig.
‫Dus hier is index nul, dit is die array, precies hetzelfde hier, de uitvoer van ons model als we
‫voorspellen noemen.
‫Dus de maximale waarde, de kans op voorspelling, het maximum dat dit kan zijn, is één, want
‫onthoud, het totaal van een softmax-functie ligt tussen nul en één.
‫Dus de hoogste die een enkele waarde kan zijn, is één.
‫Dus dit wil zeggen dat we hier de hoogste smaad voorspellen met een voorspellingskans van eenentwintig komma zes
‫procent.
‫Nu is de som van al deze waarden weer heel dicht bij één.
‫Uitlijnen met de softmax-regel tussen nul en één en zal optellen tot één, maar vanwege de manier waarop
‫computers getallen berekenen, niet precies één en de maximale index.
‫Dus waar deze waarde voorkomt is zeventien.
‫Dus als we er drie kunnen optellen, vinden we ergens 17.
‫Misschien daar.
‫Dat is het.
‫Nu de voorspelde Labellers border terriër, dus voor index nul.
‫Of voor validatie, afbeelding nul.
‫Het voorspelde label is borderterriër.
‫Laten we dit nu veranderen.
‫Wat als we deden wat als we indexeren?
‫Wat is ons favoriete nummer?
‫42.
‫Dus we hebben maximale waarde, kans op voorspelling, dus dit is een stuk hoger.
‫Dit is 75 procent, dus ik ben vrij zeker van deze.
‫Dus je zou kunnen zeggen dat hoe hoger deze waarde bij één ligt, hoe dichter bij één, hoe zekerder een model
‫is over een bepaalde voorspelling.
‫De som is zeer dicht bij één, de maximale index is honderddertien en de voorspelde Labellers
‫walkaround.
‫Dus als we hierheen gaan, unieke cijfers.
‫Als we indexnummer 113 zouden vinden.
‫We zouden walkaround vinden daar gaan we, lopen rond.
‫113.
‫Loop rond, dus dit is hoe we onze voorspellingskansen in numerieke vorm omzetten, iets dat onze computer
‫begrijpt naar iets dat we een voorspeld label begrijpen.
‫Dus nu hebben we een manier om onze voorspellingen om te zetten in iets dat we kunnen begrijpen.
‫Wat we nu gaan doen, is dat we een soort functie maken waarmee we de voorspelde labels voor
‫elk monster in de validatieset kunnen vinden.
‫Dus ongeveer tweehonderd afbeeldingen, en dan gaan we deze gegevens uitpakken, de validatiegegevens instellen
‫en de voorspellingen op een visuele manier vergelijken met de waarheidslabels.
‫Nu, nogmaals, veel gepraat, maar in de volgende video zullen we die functionaliteit gaan uitbouwen en zullen
‫we zien hoe het er in werkelijkheid uitziet.
‫En ik ben zo opgewonden, toch?
‫Omdat een van de leukste onderdelen is om de voorspellingen van je model te vergelijken met wat er werkelijk aan de hand is.
‫Hondenvisie komt tot leven.