Functieselectiemethoden gebruiken bij tekstclassificatie PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Functieselectiemethoden gebruiken in tekstclassificatie

Bij tekstclassificatie is de functieselectie het proces van het selecteren van een specifieke subset van de voorwaarden van de trainingsset en alleen deze gebruiken in het classificatiealgoritme. Het selectieproces van de functies vindt plaats vóór de training van de classificeerder.

Update: het Datumbox Machine Learning Framework is nu open-source en gratis voor Download. Bekijk het pakket com.datumbox.framework.machinelearning.featureselection om de implementatie van Chi-square en Mutual Information Feature Selection-methoden in Java te zien.

De belangrijkste voordelen voor het gebruik van algoritmen voor het selecteren van functies zijn de feiten dat het de dimensie van onze gegevens verkleint, het de training sneller maakt en de nauwkeurigheid kan verbeteren door het verwijderen van luidruchtige functies. Als gevolg hiervan kan selectie van functies ons helpen om overfitting te voorkomen.

Het basisselectie-algoritme voor het selecteren van de beste eigenschappen van k wordt hieronder weergegeven (Manning et al., 2008):

Functieselectiemethoden gebruiken bij tekstclassificatie PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

In de volgende secties presenteren we twee verschillende algoritmen voor het selecteren van functies: de wederzijdse informatie en het chi-vierkant.

Wederzijdse informatie

Een van de meest gebruikte selectiemethoden voor kenmerken is de wederzijdse informatie van term t in klasse c (Manning et al., 2008). Dit meet hoeveel informatie de aan- of afwezigheid van een bepaalde term bijdraagt ​​aan het maken van de juiste classificatiebeslissing op c. De onderlinge informatie kan worden berekend met behulp van de volgende formule:

Functieselectiemethoden gebruiken bij tekstclassificatie PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.[1]

In onze berekeningen kunnen we, aangezien we de maximale waarschijnlijkheidsschattingen van de kansen gebruiken, de volgende vergelijking gebruiken:

Functieselectiemethoden gebruiken bij tekstclassificatie PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.[2]

Waar N het totale aantal documenten is, Ntczijn de tellingen van documenten met de waarden et (voorkomen van term t in het document; het heeft de waarde 1 of 0) en ec(voorkomen van document in klasse c; het heeft de waarde 1 of 0) die wordt aangegeven door twee subscripts, Functieselectiemethoden gebruiken bij tekstclassificatie PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai. en Functieselectiemethoden gebruiken bij tekstclassificatie PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.. Ten slotte moeten we opmerken dat alle bovengenoemde variabelen niet-negatieve waarden aannemen.

Chi-plein

Een andere veelgebruikte methode voor het selecteren van functies is de Chi-plein. De x2 test wordt onder meer gebruikt in de statistiek om de onafhankelijkheid van twee gebeurtenissen te testen. Meer specifiek bij het selecteren van kenmerken gebruiken we het om te testen of het voorkomen van een specifieke term en het voorkomen van een specifieke klasse onafhankelijk zijn. Dus we schatten de volgende hoeveelheid voor elke term en we rangschikken ze op hun score:

Functieselectiemethoden gebruiken bij tekstclassificatie PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.[3]

Hoge scores op x2 geven aan dat de nulhypothese (H0) van onafhankelijkheid moet worden afgewezen en dus dat het voorkomen van de term en klasse afhankelijk zijn. Als ze afhankelijk zijn, selecteren we de functie voor de tekstclassificatie.

De bovenstaande formule kan als volgt worden herschreven:

Functieselectiemethoden gebruiken bij tekstclassificatie PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.[4]

Als we de Chi Square-methode gebruiken, moeten we alleen een vooraf gedefinieerd aantal functies met een bijl selecteren2 testscore groter dan 10.83, wat een statistische significantie op het 0.001-niveau aangeeft.

Last but not least moeten we opmerken dat vanuit statistisch oogpunt de Chi Square-functieselectie onnauwkeurig is, vanwege de ene mate van vrijheid en Yates-correctie moet in plaats daarvan worden gebruikt (waardoor het moeilijker wordt om statistische significantie te bereiken). We mogen dus verwachten dat van de in totaal geselecteerde functies een klein deel onafhankelijk is van de klasse). We mogen dus verwachten dat van de in totaal geselecteerde kenmerken een klein deel onafhankelijk is van de klasse. Niettemin als Manning et al. (2008) aangetoond, hebben deze lawaaierige functies geen grote invloed op de algehele nauwkeurigheid van onze classifier.

Lawaaierige / zeldzame functies verwijderen

Een andere techniek die ons kan helpen om overfitting te voorkomen, het geheugengebruik te verminderen en de snelheid te verbeteren, is om alle zeldzame termen uit de woordenschat te verwijderen. Men kan bijvoorbeeld alle termen verwijderen die slechts één keer in alle categorieën voorkomen. Het verwijderen van die termen kan het geheugengebruik met een aanzienlijke factor verminderen en de snelheid van de analyse verbeteren. Ten slotte moeten we niet zeggen dat deze techniek kan worden gebruikt in combinatie met de bovenstaande algoritmen voor functieselectie.

Vond je het artikel leuk? Neem even de tijd om het op Twitter te delen. 🙂

Tijdstempel:

Meer van Datumbox