/sy
klassifikation er en anden type af Supervised Learning, hvor algoritmen forsøger at placere input i forskellige kategorier eller grupper baseret på deres egenskaber. For eksempel kan en algoritme trænes på et datasæt af billeder, hvor hvert billede har en label, der angiver, hvilken type objekt der er på billedet. Algoritmen vil forsøge at lære at identificere objekter på nye billeder baseret på de tidligere eksempler, den har set. Et eksempel som vi også skal lave en opgave på, kunne være at vi skulle lave en ML model som differencer dyr. Her kunne det være at vi havde en samling billeder af 3 forskellige dyr, hunde, katte og heste. Vi gav vores model en masse billeder med en tilhørende værdi, altså hvilken type det var. Herefter for den nye billeder og skal derefter klassificere dem ind til de gamle kategorier. Det kunne se ud på billedet til højre, her ville katte og hunde ofte se lidt ens ud, imens heste ville være meget forskellige fra de 2 andre.
Her ser vi et typisk diagram for klassifikation, der er 3 tydelige grupper, men ved rød og grøn sker der lidt specielt. Vi kan se at de smelter en smule sammen. Det betyder at der ikke altid er en hård grænse mellem vores klassifikationer
Eksempler på klassifikation,
Spam-mail filter med grader af ML modellerne - Her er et eksempel som vi har gennemgået før!
Vi tager et klassisk eksempel på de ting som kan ske når vi prøver at klassificere noget, her klassificere vi om der kommer en ulv eller ej, vi tager vores input og ser på resultatet.
| Sandt Positivt (SP): • Virkelighed: Der var en ulv • Hyrden sagde: "Ulven kommer" • Resultat: Hyrden er en helt. | Falsk Positivt (FP): • Virkelighed: Der var en ikke ulv • Hyrden sagde: "Ulven kommer" • Resultat: Indbyggerne er sure på hyrden fordi at han løj. | | --- | --- | | Falsk Negativt (FN): • Virkelighed: Der var en ulv • Hyrden sagde: "Ulven kommer ikke" • Resultat: Ulven spiste alle fårene. | Sandt Negative (SN): • Virkelighed: Der var en ikke ulv • Hyrden sagde: "Ulven kommer ikke" • Resultat: Alle har det fint. |
Et lidt mere seriøst emne kunne være vores spamfilter til mail, hvor den ville se sådan her ud!
| Sandt Positivt (SP): • Virkelighed: Det er en spam mail • Spamfiltre siger: Det er spam! • Resultat: Mailen bliver aldrig set, hvilket er godt | Falsk Positivt (FP): • Virkelighed: Det er ikke en spam mail • Spamfiltre siger: Det er spam! • Resultat: Mailen bliver aldrig set, fordi den er i spam mappen, hvilket ikke er godt fordi brugeren skulle bruge den! | | --- | --- | | Falsk Negativt (FN): • Virkelighed: Det er en spam mail • Spamfiltre siger: Det er ikke spam! • Resultat: Mailen bliver set og mærket som en god mail, hvilket kan lede til fejl eller tab. | Sandt Negative (SN): • Virkelighed: Det er ikke en spam mail • Spamfiltre siger: Det er ikke spam! • Resultat: Mailen bliver set, hvilket er godt fordi brugeren skulle bruge den! |
En sand positiv er et resultat, hvor modellen korrekt forudsiger den positive klasse. Tilsvarende er en sand negativ et resultat, hvor modellen korrekt forudsiger den negative klasse.
En falsk positiv er et resultat, hvor modellen forkert forudsiger den positive klasse. Og en falsk negativ er et resultat, hvor modellen forkert forudsiger den negative klasse.
Vi kan tjekke vores hit-rate, med en helt simpelt formel, når vi snakker klassifikation.
$$ \text{Accuracy} = \frac{\text{Number of correct predictions}}{\text{Total number of predictions}} $$
Når vi arbejder med Supervised Learning i Machine Learning, kan vi vælge at bruge enten Regression eller Classification.
Classification bruger vi, når vi vil placere input i forskellige kategorier eller grupper baseret på deres egenskaber. For eksempel kan vi bruge det til at identificere forskellige typer af billeder, som hunde, katte og heste, eller til at sortere e-mails i "spam" eller "ikke-spam".
Regression bruger vi, når vi vil forudsige en numerisk værdi for et givent input baseret på tidligere observationer. For eksempel kan vi bruge det til at forudsige boligpriser baseret på størrelse og placering eller til at forudsige temperaturen i morgen baseret på tidligere vejrdata.
Så vi vælger Regression over Classification, når vi vil forudsige en numerisk værdi i stedet for at placere input i forskellige kategorier.
<aside> 🚨 Lige nu er pensum på klassifikation lidt småt i forhold til regression. Dog er der massere som de deler! Hvis man mangler lidt pensum kan man se her - https://developers.google.com/machine-learning/crash-course/classification/video-lecture
</aside>