Använda funktionsvalsmetoder i textklassificering PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Använda metodvalsmetoder i textklassificering

I textklassificering är funktionsval processen att välja en specifik delmängd av villkoren för träningsuppsättningen och endast använda dem i klassificeringsalgoritmen. Funktionsvalsprocessen äger rum innan klassificeraren tränas.

Uppdatering: Datumbox Machine Learning Framework är nu öppen källkod och gratis att ladda ner. Kolla in paketet com.datumbox.framework.machinelearning.featureselection för att se implementeringen av Chi-square och Mutual Information Feature Selection-metoder i Java.

De främsta fördelarna med att använda funktionsvalsalgoritmer är faktumet att det minskar dimensionen på vår data, det gör träningen snabbare och det kan förbättra noggrannheten genom att ta bort bullriga funktioner. Som en följd av detta kan funktionsval hjälpa oss att undvika övermontering.

Den grundläggande urvalsalgoritmen för att välja de k bästa funktionerna presenteras nedan (Manning et al, 2008):

Använda funktionsvalsmetoder i textklassificering PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

I nästa avsnitt presenterar vi två olika funktionsvalsalgoritmer: den ömsesidiga informationen och Chi-torget.

Ömsesidig information

En av de vanligaste metoderna för val av egenskaper är den ömsesidiga informationen om term t i klass c (Manning et al, 2008). Detta mäter hur mycket information närvaron eller frånvaron av en viss term bidrar till att fatta rätt klassificeringsbeslut om c. Den ömsesidiga informationen kan beräknas med hjälp av följande formel:

Använda funktionsvalsmetoder i textklassificering PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.[1]

I våra beräkningar, eftersom vi använder maximal sannolikhetsuppskattningar av sannolikheterna, kan vi använda följande ekvation:

Använda funktionsvalsmetoder i textklassificering PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.[2]

Där N är det totala antalet dokument, Ntcär antalet dokument som har värdena et (förekomst av term t i dokumentet; den tar värdet 1 eller 0) och ec(förekomst av dokument i klass c; det tar värdet 1 eller 0) som anges av två nedsänkta, Använda funktionsvalsmetoder i textklassificering PlatoBlockchain Data Intelligence. Vertikal sökning. Ai. och Använda funktionsvalsmetoder i textklassificering PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.. Slutligen måste vi notera att alla ovan nämnda variabler har icke-negativa värden.

Chi-torget

En annan vanlig funktionsvalsmetod är Chi-torget. X2 test används i statistik bland annat för att testa oberoende av två händelser. Mer specifikt i funktionsval använder vi det för att testa om förekomsten av en specifik term och förekomsten av en specifik klass är oberoende. Därför uppskattar vi följande kvantitet för varje term och vi rangordnar dem efter deras poäng:

Använda funktionsvalsmetoder i textklassificering PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.[3]

Höga poäng på x2 indikerar att nollhypotesen (H0) av oberoende bör avvisas och därmed att förekomsten av termen och klassen är beroende. Om de är beroende väljer vi funktionen för textklassificeringen.

Ovanstående formel kan skrivas om enligt följande:

Använda funktionsvalsmetoder i textklassificering PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.[4]

Om vi ​​använder Chi Square-metoden bör vi bara välja ett fördefinierat antal funktioner som har axe2 testpoäng större än 10.83 vilket indikerar statistisk signifikans på 0.001-nivån.

Sist men inte minst bör vi notera att från statistisk synpunkt är valet av Chi Square-funktioner felaktigt, på grund av den ena frihetsgraden och Yates korrigering bör användas istället (vilket kommer att göra det svårare att nå statistisk signifikans). Därför bör vi förvänta oss att en liten del av de utvalda funktionerna är oberoende av klassen). Därför bör vi förvänta oss att en liten del av de utvalda funktionerna är oberoende av klassen. Ändå som Manning et al (2008) visade att dessa bullriga funktioner inte på allvar påverkar den totala noggrannheten hos vår klassificerare.

Ta bort bullriga/sällsynta funktioner

En annan teknik som kan hjälpa oss att undvika överanpassning, minska minnesförbrukningen och förbättra hastigheten är att ta bort alla sällsynta termer från vokabulären. Till exempel kan man eliminera alla termer som bara förekom en gång i alla kategorier. Att ta bort dessa termer kan minska minnesanvändningen med en betydande faktor och förbättra analysens hastighet. Slutligen bör vi inte att denna teknik kan användas i kombination med ovanstående funktionsvalsalgoritmer.

Gillade du artikeln? Ta en stund att dela det på Twitter. 🙂

Tidsstämpel:

Mer från Datumbox