Bruke funksjonsvalgmetoder i tekstklassifisering PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Bruke funksjonsvalgmetoder i tekstklassifisering

I tekstklassifisering er funksjonsvalget prosessen med å velge en bestemt delmengde av vilkårene for treningssettet og bare bruke dem i klassifiseringsalgoritmen. Prosessvalgsprosessen finner sted før opplæringen av klassifisereren.

Oppdatering: Datumbox Machine Learning Framework er nå åpen kildekode og gratis å nedlasting. Ta en titt på pakken com.datumbox.framework.machinelearning.featureselection for å se implementeringen av Chi-square og Mutual Information Feature Selection metoder i Java.

De viktigste fordelene ved å bruke funksjonsvalgalgoritmer er fakta at det reduserer dimensjonen til dataene våre, det gjør opplæringen raskere og det kan forbedre nøyaktigheten ved å fjerne støyende funksjoner. Som en konsekvens kan funksjonsvalg hjelpe oss med å unngå overmontering.

Den grunnleggende valgalgoritmen for å velge de beste funksjonene er presentert nedenfor (Manning et al., 2008):

Bruke funksjonsvalgmetoder i tekstklassifisering PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

I de neste avsnittene presenterer vi to forskjellige funksjonsvalgalgoritmer: Gjensidig informasjon og Chi Square.

Gjensidig informasjon

En av de vanligste funksjonsvalgmetodene er gjensidig informasjon for begrep t i klasse c (Manning et al., 2008). Dette måler hvor mye informasjon tilstedeværelsen eller fraværet av et bestemt begrep bidrar til å ta den riktige klassifiseringsbeslutningen på c. Den gjensidige informasjonen kan beregnes ved hjelp av følgende formel:

Bruke funksjonsvalgmetoder i tekstklassifisering PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.[1]

Siden vi bruker maksimale sannsynlighetsestimater av sannsynlighetene i beregningene våre, kan vi bruke følgende ligning:

Bruke funksjonsvalgmetoder i tekstklassifisering PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.[2]

Der N er totalt antall dokumenter, Ntcer antall dokumenter som har verdiene et (forekomst av begrep t i dokumentet; det tar verdien 1 eller 0) og ec(forekomst av dokument i klasse c; det tar verdien 1 eller 0) som angitt av to abonnementer, Bruke funksjonsvalgmetoder i tekstklassifisering PlatoBlockchain Data Intelligence. Vertikalt søk. Ai. og Bruke funksjonsvalgmetoder i tekstklassifisering PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.. Til slutt må vi merke oss at alle de nevnte variablene tar ikke-negative verdier.

Chi -plassen

En annen vanlig metode for valg av funksjoner er Chi -plassen. X2 test brukes blant annet i statistikk for å teste uavhengigheten av to hendelser. Mer spesifikt i funksjonsvalg bruker vi den til å teste om forekomsten av et bestemt begrep og forekomsten av en bestemt klasse er uavhengig. Dermed estimerer vi følgende antall for hver periode, og vi rangerer dem etter poengsummen:

Bruke funksjonsvalgmetoder i tekstklassifisering PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.[3]

Høye poeng på x2 indikerer at nullhypotesen (H0) av uavhengighet bør avvises og dermed at forekomsten av begrepet og klassen er avhengig. Hvis de er avhengige, velger vi funksjonen for tekstklassifisering.

Ovenstående formel kan skrives om som følger:

Bruke funksjonsvalgmetoder i tekstklassifisering PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.[4]

Hvis vi bruker Chi Square-metoden, bør vi bare velge et forhåndsdefinert antall funksjoner som har ax2 testpoeng større enn 10.83 som indikerer statistisk signifikans på 0.001 nivå.

Sist men ikke minst skal vi merke oss at fra statistisk punkt er Chi Square-funksjonsvalget unøyaktig, på grunn av den ene graden av frihet og Yates rettelse bør brukes i stedet (som vil gjøre det vanskeligere å nå statistisk signifikans). Dermed kan vi forvente at en liten del av dem er uavhengig av klassen av de utvalgte funksjonene. Dermed kan vi forvente at en liten del av dem er uavhengig av klassen av de totale utvalgte funksjonene. Likevel som Manning et al (2008) viste, påvirker ikke disse støyende funksjonene den generelle nøyaktigheten til klassifisereren vår.

Fjerner støyende / sjeldne funksjoner

En annen teknikk som kan hjelpe oss med å unngå overmontering, redusere minneforbruk og forbedre hastighet, er å fjerne alle de sjeldne begrepene fra ordforrådet. For eksempel kan man eliminere alle begrepene som skjedde bare én gang i alle kategorier. Hvis du fjerner disse vilkårene, kan minnebruk reduseres med en betydelig faktor og forbedret hastigheten på analysen. Til slutt bør vi ikke at denne teknikken kan brukes i forbindelse med ovennevnte algoritmer for funksjonsvalg.

Likte du artikkelen? Ta et øyeblikk å dele det på Twitter. 🙂

Tidstempel:

Mer fra Datoboks