Video: How SVM (Support Vector Machine) algorithm works 2024
De ondersteuningsvectormachine (SVM) is een algoritme voor voorspellende analyse van gegevensclassificatie dat nieuwe toewijzingen toewijst gegevenselementen naar een van de gelabelde categorieën. SVM is in de meeste gevallen een binaire classifier; het gaat ervan uit dat de gegevens in kwestie twee mogelijke doelwaarden bevatten.
Een andere versie van het SVM-algoritme, multiklasse SVM, vergroot SVM om te worden gebruikt als classificator in een gegevensset die meer dan één klasse (groepering of categorie) bevat. SVM is met succes gebruikt in veel toepassingen, zoals beeldherkenning, medische diagnose en tekstanalyse.
Stel dat u een model voor voorspellende analyses ontwerpt dat de naam van een object in een afbeelding automatisch zal herkennen en voorspellen. Dit is in wezen het probleem van beeldherkenning - of, meer specifiek, gezichtsherkenning: u wilt dat de classifier de naam van een persoon in een foto herkent.
Voordat u dit niveau van complexiteit aanpakt, overweeg dan een eenvoudigere versie van hetzelfde probleem: stel dat u afbeeldingen van afzonderlijke stukken fruit hebt en dat u wilt dat uw classifier voorspelt wat voor soort fruit op de foto verschijnt. Stel dat je maar twee soorten fruit hebt: appels en peren, één per foto.
Gegeven een nieuwe foto, zou je willen voorspellen of de vrucht een appel of een peer is - zonder naar de foto te kijken. U wilt dat de SVM elke foto als appel of peer classificeert. Zoals met alle andere algoritmen, is de eerste stap om de classificator te trainen.
Stel dat je 200 afbeeldingen van verschillende appels hebt en 200 afbeeldingen van peren. De stap bestaat uit het voeden van die foto's naar de classifier, zodat het leert hoe een appel eruit ziet en hoe een peer eruit ziet. Voordat u aan deze eerste stap begint, moet u elke afbeelding omzetten in een gegevensmatrix met behulp van (laten we zeggen) het R-statistische pakket.
Een eenvoudige manier om een afbeelding als getallen in een matrix weer te geven, is door te zoeken naar geometrische vormen in het beeld (zoals cirkels, lijnen, vierkanten of rechthoeken) en ook de posities van elk exemplaar van elke geometrische vorm. Die getallen kunnen ook coördinaten van die objecten in de afbeelding vertegenwoordigen, zoals geplot in een coördinatensysteem.
Zoals u misschien wel denkt, is het representeren van een afbeelding als een matrix van getallen niet echt een eenvoudige taak. Een heel ander onderzoeksgebied is gewijd aan beeldrepresentatie.
Hieronder wordt getoond hoe een ondersteuningsvectormachine de klasse van een vrucht kan voorspellen (wiskundig labelen als appel of peer ), op basis van wat het algoritme in het verleden heeft geleerd.
Stel dat u alle afbeeldingen hebt geconverteerd naar gegevensmatrices. Vervolgens neemt de ondersteuningsvectormachine twee hoofdinvoeren:
-
Eerdere (trainings) gegevens: deze reeks matrices komt overeen met eerder geziene afbeeldingen van appels en peren.
-
De nieuwe (onzichtbare) gegevens bestaan uit een afbeelding die is geconverteerd naar een matrix. Het doel is om automatisch te voorspellen wat er op de foto staat - een appel of een peer.
De ondersteuningsvector maakt gebruik van een wiskundige functie, vaak een kernelfunctie genoemd, een wiskundige functie die overeenkomt met de nieuwe gegevens met de beste afbeelding uit de trainingsgegevens om het label van de onbekende afbeelding te voorspellen (appel of peer).
In vergelijking met andere classifiers produceren ondersteuningsvectormachines robuuste, nauwkeurige voorspellingen, worden ze het minst beïnvloed door gegevens met ruis en zijn ze minder vatbaar voor overfittering. Houd er echter rekening mee dat ondersteuningsvectoren het meest geschikt zijn voor binaire classificatie - als u slechts twee categorieën hebt (zoals appel of peer).