Minulla oli verkkokurssi, jossa sain tietää, että epätasapainoiset luokat harjoitustiedoissa saattavat johtaa ongelmiin, koska luokitusalgoritmit noudattavat enemmistösääntöä, kuten se antaa hyviä tuloksia, jos epätasapaino on liikaa. Tehtävässä jouduttiin tasapainottamaan tiedot aliedottamalla enemmistöluokka.
Tässä blogissa joku kuitenkin väittää, että tasapainotetut tiedot ovat vielä huonompia:
https://matloff.wordpress.com/2015/09/29/unbalanced-data-is-a-problem-no-balanced-data-is-worse/
Joten mikä se on? Pitäisikö minun tasapainottaa tiedot vai ei? Riippuuko se käytetystä algoritmista, koska jotkut saattavat pystyä sopeutumaan luokkien epätasapainoisiin osuuksiin? Jos on, mitkä ovat luotettavia epätasapainoisissa tiedoissa?
Vastaa
Intuitiivinen päättely on selitetty blogiviestissä:
Jos tavoitteemme on Ennustus, se aiheuttaa selvän ennakkoluulon. Ja mikä vielä pahempaa, se on pysyvä ennakkoluulo siinä mielessä, että meillä ei ole johdonmukaisia arvioita otoksen koon kasvaessa.
Joten kiistatta (keinotekoisesti) tasapainotettujen tietojen ongelma on pahempi kuin epätasapainoinen tapaus .
Tasapainotetut tiedot ovat hyviä luokittelua varten, mutta ilmeisesti menetät tietoa ulkonäön taajuuksista, mikä vaikuttaa itse tarkkuustietoihin sekä tuotannon suorituskykyyn. .
Olkoon ”sanotaan, että tunnistat käsinkirjoitetut kirjaimet englanninkielisistä aakkosista (26 kirjainta). Jokaisen kirjaimen ulkonäön tasapainottaminen antaa jokaiselle kirjaimelle todennäköisyyden luokitella (oikein tai ei) karkeasti 1/26, joten luokittelija unohtaa kirjainten todellisen jakauman alkuperäisessä näytteessä. Ja se on ok kun luokittelija pystyy yleistämään ja tunnistamaan kaikki kirjaimet suurella tarkkuudella .
Mutta jos tarkkuus ja ennen kaikkea yleistys ei ole ”niin suuri” (en voi antaa sinulle määritelmää – voit ajatella sitä vain ”pahimmassa tapauksessa”) – väärin luokitellut pisteet ovat eniten -jakautuu tasavertaisesti kaikkien kirjainten kesken, esimerkiksi:
"A" was misclassified 10 times "B" was misclassified 10 times "C" was misclassified 11 times "D" was misclassified 10 times ...and so on
Toisin kuin tasapainottamatta (olettaen, että A: lla ja C: llä on paljon suurempi todennäköisyys esiintyminen tekstissä)
"A" was misclassified 3 times "B" was misclassified 14 times "C" was misclassified 3 times "D" was misclassified 14 times ...and so on
Joten usein tapaukset saavat vähemmän väärin luokituksia. Onko se hyvä vai ei, riippuu tehtävästäsi. Luonnollisen tekstintunnistuksen osalta voidaan väittää, että korkeamman taajuuden kirjaimet ovat elinkelpoisempia, koska ne säilyttäisivät alkuperäisen tekstin semantiikan ja tuovat tunnistustehtävän lähemmäksi ennustusta (jossa semantiikka edustaa taipumuksia ). Mutta jos yrität tunnistaa jotain esimerkiksi kuvakaappausta ECDSA-avaimesta (enemmän entropiaa -> vähemmän ennustetta), tietojen pitäminen epätasapainossa ei auta. Joten se riippuu jälleen kerran.
Tärkein ero on, että tarkkuusestimaatti itsessään puolueellinen (kuten näet tasapainotetusta aakkosesimerkistä), joten et tiedä, kuinka harvinaiset tai yleisimmät kohdat vaikuttavat mallin käyttäytymiseen.
PS Voit aina seurata epätasapainoisen luokituksen suorituskykyä Tarkkuus / palautus -mittarilla ensin ja päättää, haluatko lisätä tasapainon vai ei.
MUOKKAA : estimointiteoria tarkalleen otoksen keskiarvon ja populaation keskiarvon välisessä erotuksessa. Saatat esimerkiksi tietää (kiistatta) englanninkielisten kirjainten todellisen jakauman aakkosissa $ p (x_i | \ theta) $ , mutta näyte (harjoitusjoukko) ei ole riittävän suuri sen arvioimiseksi oikein ( $ p (x_i | \ hat \ theta) $ ). Joten $ \ hat \ theta_i – \ theta_i $ kompensoimiseksi on joskus suositeltavaa tasapainottaa luokkia joko itse populaation tai parametrien mukaan, jotka tunnetaan suurempi otos (siten parempi estimaattori). Käytännössä ei kuitenkaan voida taata, että ”suurempi otos” jakautuu identtisesti, koska on vaaraa saada puolueellisia tietoja jokaisesta vaiheesta (sanotaanpa englanninkieliset kirjaimet, jotka on kerätty teknisestä kirjallisuudesta vs. fiktio vs. koko kirjasto), joten tasapainottaminen voi silti olla haitallista .
Tämän vastauksen tulisi myös selventää tasapainottamisen sovellettavuuskriteerejä:
Luokan epätasapainon ongelma johtuu siitä, että vähemmistöluokkaan kuuluvia malleja ei ole riittävästi, ei itse positiivisten ja negatiivisten kuvioiden suhde.Yleensä jos sinulla on tarpeeksi tietoa, ”luokan epätasapainon ongelmaa” ei synny
Yhteenvetona voidaan todeta, että keinotekoinen tasapainotus on harvoin hyödyllistä, jos harjoitusjoukko on riittävän suuri. Tilastotietojen puuttuminen suuremmasta identtisestä jakaumasta näyte ei myöskään viittaa siihen, ettei keinotekoista tasapainottamista tarvita (etenkään ennustamista varten), muuten estimaattorin laatu on yhtä hyvä kuin ”todennäköisyys tavata dinosaurus”:
Mikä on todennäköisyys tavata dinosaurus kadulla?
1/2 joko tapaat dinosauruksen tai et löydä dinosaurusta
kommentit
- Mielestäni ongelman selityksen lisäksi tärkeä vastaus tähän vastaukseen on, että kokeile ensin epätasapainoa ja tarkista sen tulokset ja vain tarvittaessa tee tasapainotus ja tarkista sen tulos. +1
- Joten toisin sanoen, jos tasaisesti jaetut luokat harjoittelun osajoukkoon, malli menettää tarkkuutensa näkymättömissä tiedoissa, eikö? Mutta päinvastaisessa tapauksessa, kun yrität poimia satunnaisesti tietojoukon merkintöjä harjoittelu- / testausosajoukkojesi kannalta, toimiiko luokittelijasi paremmin?
- @ChristosK. Kuten monet totesivat, kun näet ongelman luokitteluna, on vaikea ennustaa. Joka tapauksessa, jos poistat ennakkoluulot (näyte ”satunnaisesti”) – tarvitset suuremman näytteen suorituskyvyn parantamiseksi. Se on vain ”tavallisesti” näyte, joka on riittävän suuri semantiikan säilyttämiseksi, joten liiallinen tasapainottaminen vain vahingoittaisi ja toimisi kuin tasoittava vasara, joka ”tasoittaa” kaiken ilman asianmukaista harkintaa. Kuten dinosaurusmetafora viittaa, ”tasapainoinen” ei tarkoita ”tasaista” – tasapainotat oikein vain, kun tiedät, että jotkut todennäköisyydet on esitetty väärin ”satunnaisessa” otoksessa.
- @ChristosK. Kiitos selvennyksistä. Se ei ole sama kuin tarkoitin, mutta lähestymistapa on hyvin samanlainen. Tavallinen suositus k-kertaiseksi sovellettavaksi on tehdä se, kun alkuperäinen näyte on ”melko pieni”. Ei ole varma, mutta taittamisen ei pitäisi missään tapauksessa sattua – vain se vie enemmän juoksuja, ja mitä vähemmän välität ennustamisesta, sitä vähemmän välität yleistämisestä / suorituksesta niin tautologiselta kuin miltä se kuulostaa :). Mutta kaiken kaikkiaan – k-kertainen tarkoittaa olennaisesti vähemmän puolueellisuutta.
- @ChristosK. Voi, ja varoituksena roskapostin / ei-roskapostin suhde voi olla itsessään ei-kiinteä satunnaismuuttuja. Kaikkien näiden ”väärennettyjen uutisten”, ”venäläisten peikkojen” ja muiden asioiden kanssa olisin varovainen tällaisten oletusten suhteen – myös suhde voi olla puolueellinen. Haluat ehkä arvioida PrecisionRecall -luokituksesi ensin, jos jostakin näytteestä ei ole otettu riittävästi alaa – kerään mieluummin lisää tietoja (?).
Vastaa
Yhdenmukainen @ kjetil-b-halvorsenin kommentin kanssa, koneoppimisen nopea käyttöönotto on hämmentänyt tutkijoita ennustuksesta vs. luokittelusta. Kuten kuvasin tarkemmin täällä , luokitus on sopiva vain harvoissa tapauksissa. Kun tulos on harvinainen (tai liian yleinen), todennäköisyydet ovat kaikki , koska tällöin voidaan puhu vain kohtuullisesti taipumuksista , ei yksittäisten tapahtumien ennustamisesta.
Tilastoissa opimme jonkin aikaa sitten, että kaikki menetelmät, jotka edellyttävät jotakin tietojen poissulkemista, ovat erittäin epäilyttäviä. Joten tulosten tasapainottamisen tavoite on väärä. Tendenssien (todennäköisyyksien) ennustaminen ei vaadi sitä. Ja kun olet arvioinut todennäköisyyden, voit tehdä optimaalisen päätöksen soveltamalla Etu- / kustannus- / menetystoiminto ennakoituun riskiin.
Vastaus
Riippuu siitä, mitä haluat saavuttaa luokituksesta?
Sano, että kyseessä on syöpä / ei syöpä, niin syövän havaitseminen on elintärkeää. Kuitenkin, koska muu kuin syöpä muodostaa suurimman osan tiedoistasi, luokittelija voi olennaisesti lähettää kaikki tapaukset muuhun kuin syöpäluokkaan ja saada erittäin tarkan. Mutta meillä ei ole varaa siihen, joten otamme olennaisesti alas muita kuin syöpätapauksia ja siirrämme olennaisesti päätöksen rajan pois syöpäalueelta muualle kuin syöpään.
Jopa käyttötapauksissa, joissa tarkkuus on ainoa ainoa Tavoitteena on, että tasapainottaminen voi olla välttämätöntä, jos testiajan tasapainon odotetaan poikkeavan juna-ajasta.
Oletetaan esimerkiksi, että haluat luokitella mangot ja appelsiinit, sinulla on harjoitustietojoukko, jossa on 900 mangoa ja 30 appelsiinia, mutta aiot sijoittaa sen torille, jossa on samanlaisia mangoja ja appelsiineja, ihannetapauksessa sinun tulisi ottaa näyte odotetusta näytesuhteesta tarkkuuden maksimoimiseksi.
Kommentit
- Sitä ymmärsin luennoistani. En kuitenkaan ’ ymmärrä, milloin tasapainottaminen voi olla huono, kuten tämä blogiviesti ehdottaa. Miksi olisi koskaan huono tasapaino, jos kullekin luokalle on riittävästi datapisteitä?
- Anteeksi, mutta mitä analogianne mukaan markkinoiden hedelmäjakautumiseen liittyy mallin ac kanssa uteliaisuus?Olet joko oppinut erottamaan mangot appelsiinista, tai et. Toisin sanoen sinun pitäisi pystyä käyttämään samaa mallia vain oranssilla tai vain mangoilla markkinoilla.
- Mutta syöpäesimerkin ongelma on katsoa sitä luokitteluksi , sitä tulisi pitää riskinarviointina . Sitten epätasapainoisten luokkien ilmeinen ongelma katoaa, katso stats.stackexchange.com/questions/127042/…
Vastaus
Kun tietosi ovat tasapainossa, voit tarkistaa metrisen tarkkuuden. Mutta kun tällaisessa tilanteessa tietosi ovat epätasapainossa, tarkkuus ei ole johdonmukainen eri iteraatioilla. Sinun on keskitettävä enemmän mittareita, kuten tarkkuus (PPR), palautus (herkkyys). Näiden kahden mittarin tulisi olla tasapainossa verrattaessa. Sinun tulisi myös tarkistaa F1-pisteet, joka on tarkkuuden ja palautuksen harmoninen keskiarvo. Tämä pätee kaikkiin koneoppimisalgoritmeihin