Pitanje:
Odabir značajke za "konačni" model prilikom izvođenja unakrsne provjere valjanosti u strojnom učenju
danielsbrewer
2010-09-02 15:25:42 UTC
view on stackexchange narkive permalink

Postajem pomalo zbunjen oko odabira značajki i strojnog učenja i pitao sam se biste li mi mogli pomoći. Imam skup podataka s mikrorezkama koji je klasificiran u dvije skupine i sadrži 1000 značajki. Cilj mi je dobiti mali broj gena (moje značajke) (10-20) u potpisu koji ću teoretski moći primijeniti i druge skupove podataka kako bih optimalno klasificirao te uzorke. Kako nemam toliko uzoraka (<100), ne koristim set za testiranje i trening, već koristim Leave-one-out unakrsnu provjeru valjanosti kako bih odredio robusnost. Čitao sam da treba izvršiti odabir značajke za svaki split uzoraka, tj.

  1. Odaberite jedan uzorak kao testni skup
  2. Na preostalim uzorcima izvršite odabir obilježja
  3. Primijenite algoritam strojnog učenja na preostale uzorke pomoću odabranih značajki
  4. Provjerite je li testni skup pravilno klasificiran
  5. Idite na 1.

Ako to učinite, svaki put ćete možda dobiti različite gene, pa kako dobiti svoj "konačni" optimalni klasifikator gena? tj. ono što je korak 6.

Ono što podrazumijevam pod optimalnim je prikupljanje gena koje bi sve daljnje studije trebale koristiti. Na primjer, recimo da imam podatke o karcinomu / normalnim podacima i želim pronaći top 10 gena koji će klasificirati vrstu tumora prema SVM-u. Volio bih znati skup gena plus SVM parametre koji bi se mogli koristiti u daljnjim eksperimentima kako bi vidjeli može li se koristiti kao adijagnostički test.

Trebao bih reći za potpuno otkrivanje da sam ovo već objavio na popisu bioprovodnika
Molimo vas da rezimirate bilo kakve rezultate bioprovodnika ovdje?
šest odgovori:
#1
+43
Dikran Marsupial
2010-09-02 22:53:16 UTC
view on stackexchange narkive permalink

U principu:

Svoje predviđanja napravite pomoću jednog modela obučenog na cijelom skupu podataka (tako da postoji samo jedan skup značajki). Unakrsna provjera valjanosti koristi se samo za procjenu predviđanja izvedbe pojedinog modela obučenog na cijelom skupu podataka. VITALNO je u korištenju unakrsne provjere valjanosti da u svakom preklopu ponovite cijeli postupak korišten za uklapanje u primarni model, jer u protivnom možete završiti sa značajnim optimističnim predrasudama u izvedbi.

Da biste vidjeli zašto se to događa , razmotrite problem binarne klasifikacije s 1000 binarnih značajki, ali samo 100 slučajeva, gdje su svi slučajevi i značajke potpuno slučajni, tako da nema statističke veze između značajki i slučajeva. Ako treniramo primarni model na cijelom skupu podataka, uvijek možemo postići nula pogrešaka na skupu treninga jer ima više značajki nego slučajeva. Čak možemo pronaći podskup "informativnih" značajki (koje slučajno postoje u korelaciji). Ako zatim izvršimo unakrsnu provjeru valjanosti koristeći samo te značajke, dobit ćemo procjenu izvedbe koja je bolja od slučajnog pogađanja. Razlog je taj što u svakom dijelu postupka unakrsne provjere valjanosti postoje neke informacije o zadržanim slučajevima koji su korišteni za testiranje jer su značajke odabrane jer su bile dobre za predviđanje, a sve one, uključujući i one koje su se održavale. Naravno, stvarna stopa pogreške bit će 0,5.

Ako usvojimo odgovarajući postupak i izvršimo odabir značajki u svakom preklopu, više nema podataka o zadržanim slučajevima u izboru značajki korištenih u taj nabor. Ako upotrijebite odgovarajući postupak, u ovom ćete slučaju dobiti stopu pogreške od oko 0,5 (iako će se malo razlikovati za različite realizacije skupa podataka).

Dobri radovi za čitanje su:

Christophe Ambroise, Geoffrey J. McLachlan, "Predrasuda odabira u ekstrakciji gena na temelju podataka o ekspresiji gena u mikrotvrdama", PNAS http://www.pnas.org/content/99/10/ 6562.sažetak

što je vrlo relevantno za OP i

Gavin C. Cawley, Nicola LC Talbot, "O prekomjernom uklapanju u odabir modela i naknadne pristranosti odabira u procjeni izvedbe", JMLR 11. (srpanj): 2079−2107, 2010. http://jmlr.csail.mit.edu/papers/v11/cawley10a.html

što pokazuje da se ista stvar može lako pojaviti u odabiru modela (npr. podešavanje hiper-parametara SVM-a, koje također treba ponoviti u svakoj iteraciji CV postupka).

U praksi:

Preporučio bih upotrebu Bagginga i koristeći pogrešku izvan vreće za procjenu izvedbe. Dobit ćete model odbora koji koristi mnoge značajke, ali to je zapravo dobra stvar. Ako koristite samo jedan model, bit će vjerojatno da ćete pretjerano uklopiti kriterij odabira značajke i na kraju dobiti model koji daje lošije predviđanja od modela koji koristi veći broj značajki.

Knjiga Alana Millersa o odabiru podskupina u regresiji (Chapman i Hall monografije o statistici i primijenjenoj vjerojatnosti, svezak 95) daje dobar savjet (stranica 221) da ako su prediktivne performanse najvažnije, nemojte raditi nikakve značajke odabir, samo upotrijebite greben regresije. I to je u knjizi o odabiru podskupina !!! ; o)

#2
+41
chl
2010-09-02 15:46:12 UTC
view on stackexchange narkive permalink

Ovo je vrlo dobro pitanje s kojim sam se suočio prilikom rada s podacima o SNP-ima ... I nisam našao očit odgovor u literaturi.

Bez obzira koristite li LOO ili K-fold CV, na kraju ćete dobiti različite značajke, jer iteracija unakrsne provjere mora biti najotmjenija petlja, kao što ste rekli. Možete smisliti neku vrstu glasovanja koja bi ocijenila n-vektore značajki koje ste dobili iz svog LOO-CV-a (ne mogu se sjetiti rada, ali vrijedi provjeriti rad Haralda Bindera ili Antoine Cornuéjols). U nedostatku novog testnog uzorka, ono što se obično radi je ponovna primjena algoritma ML na cijeli uzorak nakon što pronađete njegove optimalne unakrsne provjerene parametre. Ali nastavljajući na ovaj način, ne možete osigurati da ne dođe do prekomjerne prilagodbe (budući da je uzorak već korišten za optimizaciju modela).

Ili, pak, možete koristiti ugrađene metode koje vam omogućuju rangiranje značajki putem mjere promjenjive važnosti, npr kao u Slučajnim šumama (RF). Kako je unakrsna provjera valjanosti uključena u RF, ne morate brinuti o slučaju $ n \ ll p $ ili prokletstvu dimenzionalnosti. Evo lijepih članaka o njihovim primjenama u istraživanjima ekspresije gena:

  1. Cutler, A., Cutler, D.R. i Stevens, J.R. (2009). Metode utemeljene na stablima, u Analiza podataka visoke dimenzije u istraživanju raka , Li, X. i Xu, R. (ur.), Str. 83-101, Springer.
  2. Saeys, Y., Inza, I. i Larrañaga, P. (2007). Pregled tehnika odabira značajki u bioinformatici. Bioinformatika , 23 (19) : 2507-2517.
  3. Díaz-Uriarte, R., Alvarez de Andrés, S. (2006). Odabir gena i klasifikacija podataka mikro mikseta pomoću slučajne šume. BMC Bioinformatics , 7 :3.
  4. Diaz-Uriarte, R. (2007). GeneSrF i varSelRF: mrežni alat i R paket za odabir i klasifikaciju gena pomoću slučajne šume. BMC Bioinformatika , 8 : 328

Budući da govorite o SVM-u, možete potražiti kažnjeni SVM .

Hvala na tome. Nisam posebno prodavan na SVM-u, samo to koristim kao primjer. Dakle, ako ste koristili slučajna stabla, ne morate napraviti unakrsnu provjeru valjanosti? Je li to točno.
da, RF uključuju slučajno uzorkovanje varijabli (obično $ \ sqrt {p} $) prilikom uzgoja stabla i svako se stablo temelji na boostrapiranom uzorku pojedinaca; varijabilna važnost izračunava se na takozvanim uzorcima izvan vreće (onima koji se ne koriste za izgradnju stabla odluke) uporabom tehnike permutacije. Algoritam se ponavlja za m stabala (zadani m = 500), a rezultati se prosječuju kako bi se nadoknadila nesigurnost na razini stabla (pojačanje).
Važno je da se zove Slučajna šuma, a ne Slučajno drveće; možda imate problema s Googleom.
+1, dobar odgovor i neobičan za mene - veliko hvala na referentnim radovima, posebno na recenziji.
S dovoljno podataka, ne bi li bilo najbolje održati ispitni set, izvesti loocv na treningu kako bi optimizirali parametre modela, uklopili cijeli sklop vlakova (i nazvali to "konačnim" klasifikatorom), a zatim procijenili konačni modelna testnom setu?
Mislim da je ovo "ugniježđena" vrsta unakrsne provjere, ali svejedno je to u redu.To je barem put s Andrew Ngs tečaja strojnog učenja.
#3
+17
Joris Meys
2010-09-02 16:29:48 UTC
view on stackexchange narkive permalink

Za dodavanje u chl: Kada koristite strojeve s vektorima potpore, visoko preporučena metoda kažnjavanja je elastična mreža. Ova metoda smanjit će koeficijente prema nuli i u teoriji zadržava najstabilnije koeficijente u modelu. U početku se koristio u regresijskom okviru, ali se lako proširuje za upotrebu s vektorskim strojevima.

Izvorna publikacija: Zou i Hastie (2005.): Regularizacija i odabir varijabli preko elastične mreže. J.R.Statist.Soc. B, 67-2, str.301-320

Elastična mreža za SVM: Zhu & Zou (2007): Izbor varijabli za stroj vektora potpore: Trendovi u neuronskim proračunima, poglavlje 2 (Urednici: Chen i Wang)

poboljšanja na elastičnoj mreži Jun-Tao i Ying-Min (2010): Poboljšana elastična mreža za klasifikaciju raka i odabir gena: Acta Automatica Sinica, 36-7, str.976-981

#4
+10
Aniko
2010-09-02 20:56:38 UTC
view on stackexchange narkive permalink

Kao korak 6 (ili 0) pokrećete algoritam za otkrivanje značajki na cijelom skupu podataka.

Logika je sljedeća: o unakrsnoj provjeri valja razmišljati kao o metodi za pronalaženje svojstva postupka koji koristite za odabir značajki. Odgovara na pitanje: "ako imam neke podatke i izvršim ovaj postupak, kolika je stopa pogrešaka za klasifikaciju novog uzorka?". Nakon što saznate odgovor, možete koristiti postupak (odabir značajke + razvoj pravila klasifikacije) na cijelom skupu podataka. Ljudi vole izostavljanje, jer prediktivna svojstva obično ovise o veličini uzorka, a $ n-1 $ je obično dovoljno blizu da $ n $ ne bude važno.

Mislim da još uvijek postoji problem s generalizacijom kada se koristi isti uzorak (1) za procjenu izvedbe klasifikacije / predviđanja klasifikatora tijekom podešavanja njegovih parametara (na kraju, odabirom značajke) i (2) zauzvrat koriste njegova predviđanja na cijelom skupu podataka. U stvari, vi kršite kontrolu nad prekomjernom opremom koja je razrađena pomoću unakrsne provjere valjanosti. Hastie i sur. pružite lijepu ilustraciju CV zamki, posebno. wrt. odabir značajke, u njihovoj knjizi ESL, § 7.10.2 u 2. izdanju.
@chl: koji je rekao nešto o podešavanju parametara? Ako se izvode dodatne stvari, treba ih ponoviti i tijekom unakrsne provjere valjanosti. Jasno mijenjanje algoritma dok ne dobijete dobre unakrsne provjerene stope pogrešaka je "varanje". BTW, slažem se da unakrsna provjera valjanosti, posebno izostavljanje, nije tako sjajna.
nije to varanje, jer vam CV pokazuje približnu izvedbu algoritma na novim podacima. Jedino morate biti sigurni da se niste nagodili na nečemu na temelju cijelog skupa (ovo je curenje informacija o strukturi cijelog kompleta, tako da može odmah pristravati sve dijelove vlaka).
@mbq - Ankino je točan, podešavanje vašeg modela kako bi se umanjila CV statistika je "varanje", a CV statistika konačnog modela imat će znatnu optimističnu pristranost. Razlog tome je što CV statistika ima zanemarivu varijancu (jer se procjenjuje na konačnom skupu podataka), pa ako izravno optimizirate CV statistiku, možete je prekomponirati i na kraju možete dobiti model koja se generalizira slabije od one s kojom ste započeli. Da biste to demonstrirali, u kontekstu strojnog učenja pogledajte http: //jmlr.csail.mit.edu/papers/v11/cawley10a.htmlRješenje: Koristite ugniježđeni XVAL
#5
+1
FMZ
2012-02-02 08:49:28 UTC
view on stackexchange narkive permalink

Ovako odabirem značajke. Pretpostavimo da na temelju određenog znanja postoje dva modela koja treba usporediti. Model A koristi značajke od 1 do br. 10. Model B koristi br.11 do br. 20. Primijenit ću LOO CV na model A kako bih postigao njegove izvan uzorke performanse. Učinite isto s modelom B, a zatim ih usporedite.

#6
-1
shabbychef
2010-09-03 04:05:56 UTC
view on stackexchange narkive permalink

Nisam siguran u vezi s klasifikacijskim problemima, ali u slučaju odabira značajke za regresijske probleme, Jun Shao pokazao je da je CV s izostankom asimptotski nedosljedan, tj. vjerojatnost odabira odgovarajući podskup obilježja ne konvergira u 1 s povećanjem broja uzoraka. Sa praktične točke gledišta, Shao preporučuje Monte-Carloovu unakrsnu provjeru valjanosti ili postupak izostavljanja.

O moj, još jednom; jeste li pročitali naslov ovog članka?
Ok, da se razumijemo - ne kažem da je LOOCV dobra ideja za velik broj objekata; očito nije, ali Shao ovdje nije primjenjiv. U stvari, u većini slučajeva pravila za LM ne vrijede za ML.
Također je upitno jesu li asimptotski rezultati korisni u praksi kada se gledaju skupovi podataka s velikim brojem značajki i razmjerno malo uzoraka. U tom slučaju odstupanje postupka vjerojatno će imati veću praktičnu važnost od pristranosti ili dosljednosti. Glavna vrijednost LOOCV-a je u tome što se za mnoge modele može implementirati uz zanemariv računski trošak, pa iako ima veću varijancu od recimo bootstrapping-a, to je možda jedini izvedivi pristup unutar proračunskog proračuna koji je na raspolaganju. Zbog toga ga koristim, ali koristim nešto drugo za ocjenu učinka!


Ova pitanja su automatski prevedena s engleskog jezika.Izvorni sadržaj dostupan je na stackexchange-u, što zahvaljujemo na cc by-sa 2.0 licenci pod kojom se distribuira.
Loading...