Kysymys:
Ominaisuuden valinta "lopulliselle" mallille, kun suoritetaan ristivalidointi koneoppimisessa
danielsbrewer
2010-09-02 15:25:42 UTC
view on stackexchange narkive permalink

Olen hieman hämmentynyt ominaisuuksien valinnasta ja koneoppimisesta, ja mietin, voisitko auttaa minua. Minulla on mikroray-tietojoukko, joka on luokiteltu kahteen ryhmään ja jolla on tuhannet ominaisuudet. Tavoitteenani on saada pieni määrä geenejä (ominaisuuteni) (10-20) allekirjoituksella, jonka teoriassa pystyn käyttämään muita aineistoja luokitellaksesi nämä näytteet optimaalisesti. Koska minulla ei ole niin paljon näytteitä (<100), en käytä testi- ja koulutusjoukkoa, vaan käytän Leave-one-out ristivalidointia vankkuuden määrittämiseen. Olen lukenut, että jokaisen näytteenjaon tulisi suorittaa ominaisuuksien valinta, ts.

  1. Valitse yksi näyte testijoukoksi
  2. Muissa näytteissä tee ominaisuuksien valinta ​​li >
  3. Käytä koneoppimisalgoritmia jäljellä oleviin näytteisiin valittujen ominaisuuksien avulla.
  4. Testaa, onko testijoukko luokiteltu oikein
  5. Siirry kohtaan 1.

Jos teet tämän, saatat saada erilaisia ​​geenejä joka kerta, joten miten määrität "lopullisen" optimaalisen geeniluokittelusi? ts. mikä on vaihe 6.

Optimaalisena tarkoitan geenikokoelmaa, jota kaikkien muiden opiskelijoiden tulisi käyttää. Oletetaan esimerkiksi, että minulla on syöpä / normaali aineisto ja haluan löytää 10 parasta geeniä, jotka luokittelevat kasvaintyypin SVM: n mukaan. Haluaisin tietää joukon geenejä ja SVM-parametreja, joita voidaan käyttää jatkotutkimuksissa nähdäksesi, voidaanko sitä käyttää adiagnostisena testinä.

Täydellisen paljastamisen vuoksi minun pitäisi sanoa, että olen jo lähettänyt tämän biojohde-luetteloon
Yhteenveto kaikista biojohtimien tuloksista täällä?
Kuusi vastused:
#1
+43
Dikran Marsupial
2010-09-02 22:53:16 UTC
view on stackexchange narkive permalink

Periaatteessa:

Tee ennakointisi käyttämällä yhtä mallia, joka on koulutettu koko tietojoukolle (joten ominaisuuksia on vain yksi). Ristiintarkistusta käytetään vain arvioimaan koko tietojoukolle koulutetun yksittäisen mallin ennustava suorituskyky. Ristivahvistuksen käyttämisessä on elintärkeää, että toistat jokaisessa kerrosta koko primaarimalliin sopivan menettelyn, muuten saatat saavuttaa huomattavan optimistisen puolueellisuuden suorituskyvyssä. Tarkastellaan binääriluokitteluongelmaa, jossa on 1000 binääristä ominaisuutta, mutta vain 100 tapausta, joissa tapaukset ja piirteet ovat kaikki täysin satunnaisia, joten ominaisuuksien ja tapausten välillä ei ole tilastollista yhteyttä. Jos koulutamme ensisijaisen mallin täydellä tietojoukolla, voimme aina saavuttaa nollavirheen koulutusjoukossa, koska ominaisuuksia on enemmän kuin tapauksia. Voimme jopa löytää "informatiivisten" ominaisuuksien osajoukon (jotka korreloivat sattumalta). Jos teemme sitten ristivalidoinnin käyttämällä vain näitä ominaisuuksia, saamme paremman arvion suorituskyvystä kuin satunnainen arvaaminen. Syynä on se, että ristivalidointimenettelyn jokaisessa kerroksessa on jonkin verran tietoa testauksessa käytetyistä pidetyistä tapauksista, koska ominaisuudet valittiin, koska ne olivat hyviä ennustamiseen, kaikki, mukaan lukien toteutetut. Todellinen virhesuhde on tietysti 0,5.

Jos omaksumme oikean menettelytavan ja suoritamme ominaisuuksien valinnan jokaisessa taitoksessa, ei enää ole tietoa pidätetyistä tapauksista valitun ominaisuuden valinnassa. että taitto. Jos käytät oikeaa menettelytapaa, saat tässä tapauksessa virhetasoksi noin 0,5 (vaikka se vaihtelee hieman tietojoukon eri toteutusten suhteen).

Hyviä luettavia papereita ovat:

Christophe Ambroise, Geoffrey J.McLachlan, "Selektiohäiriö geenin uuttamisessa mikrorake-geeniekspressiotietojen perusteella", PNAS http://www.pnas.org/content/99/10/ 6562. tiivistelmä

mikä on erittäin tärkeää toimenpideohjelmalle ja

Gavin C. Cawley, Nicola LC Talbot, "On over-fit in model Selection and Subsequent Selection Bias in Performance Evaluation", JMLR 11 (heinäkuu): 2079−2107, 2010 http://jmlr.csail.mit.edu/papers/v11/cawley10a.html

mikä osoittaa, että sama asia voi helposti tapahtua mallin valinnassa (esim. SVM: n hyperparametrien virittäminen, jotka on myös toistettava jokaisessa CV-menettelyn iteroinnissa).

Käytännössä:

Suosittelen Baggingin käyttöä, ja käyttämällä laukussa olevaa virhettä suorituskyvyn arvioimiseksi. Saat komiteamallin, jossa käytetään monia ominaisuuksia, mutta se on itse asiassa hyvä asia. Jos käytät vain yhtä mallia, todennäköisesti ylität ominaisuuksien valintaperusteen ja päädyt malliin, joka antaa huonommat ennusteet kuin malli, joka käyttää suurempaa määrää ominaisuuksia.

Alan Millersin kirja osajoukon valinnasta regressiossa (Chapmanin ja Hallin monografiat tilastoista ja sovelletusta todennäköisyydestä, osa 95) antaa hyvän neuvon (sivu 221), että jos ennakoiva suorituskyky on tärkeintä, älä tee mitään ominaisuutta Käytä vain harjanteen regressiota. Ja se on kirjassa alaryhmän valinnasta !!! ; o)

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

Tämä on erittäin hyvä kysymys, jonka kohdasin itseäni työskennellessäni SNP-tietojen kanssa ... Enkä löytänyt mitään ilmeistä vastausta kirjallisuudesta.

Käytitpä LOO- tai K-fold CV -malleja, sinulla on erilaisia ​​ominaisuuksia, koska ristivalidoinnin iteraation on oltava uloin silmukka, kuten sanoit. Voit ajatella jonkinlaista äänestysjärjestelmää, joka arvioisi LOO-CV: ltä saamiesi ominaisuuksien n-vektorit (ei muista paperia, mutta kannattaa tarkistaa Harald Binderin tai Antoine Cornuéjols). Uuden testinäytteen puuttuessa tehdään yleensä ML-algoritmi uudelleen koko näytteeseen, kun olet löytänyt sen optimaaliset ristivalidoidut parametrit. Mutta tällä tavalla et voi varmistaa, ettei ylikuntoa ole (koska näytettä käytettiin jo mallin optimointiin).

Tai vaihtoehtoisesti voit käyttää upotettuja menetelmiä, jotka tarjoavat sinulle ominaisuuksia sijoittuvan mittauksen kautta vaihtelevan tärkeitä, esim kuten satunnaismetsissä (RF). Koska ristivalidointi sisältyy RF-koodeihin, sinun ei tarvitse huolehtia $ n \ ll p $ -tapauksesta tai ulottuvuuden kirouksesta. Tässä on hienoja artikkeleita heidän sovelluksistaan ​​geeniekspressiotutkimuksissa:

  1. Cutler, A., Cutler, D.R. ja Stevens, J.R. (2009). Puupohjaiset menetelmät, julkaisussa High-Dimensional Data Analysis in Cancer Research , Li, X. ja Xu, R. (toim.), S. 83-101, Springer.
  2. Saeys, Y., Inza, I. ja Larrañaga, P. (2007). Katsaus bioinformatiikan ominaisuuksien valintatekniikoihin. Bioinformatiikka , 23 (19) : 2507-2517.
  3. Díaz-Uriarte, R., Alvarez de Andrés, S. (2006). Geenivalinta ja mikrorake-tietojen luokittelu satunnaismetsiä käyttäen BMC Bioinformatics , 7 :3.
  4. Diaz-Uriarte, R. (2007). GeneSrF ja varSelRF: verkkopohjainen työkalu ja R-paketti geenien valintaan ja luokitteluun satunnaismetsiä käyttäen. BMC Bioinformatiikka , 8 : 328

Koska puhut SVM: stä, voit etsiä rangaista SVM : ää.

Kiitos siitä. En ole erityisen myynyt SVM: ssä, vain käyttämällä sitä esimerkkinä. Joten jos käytit satunnaisia ​​puita, sinun ei tarvitse tehdä ristivalidointia? Onko se oikein.
kyllä, RF: t sisältävät satunnaisen otoksen muuttujista (tyypillisesti $ \ sqrt {p} $) kasvattaessa puuta, ja jokainen puu perustuu yksilöiden tehostettuun otokseen; vaihteleva merkitys lasketaan ns. pussista pois otetuille näytteille (joita ei käytetä päätöksentekopuun rakentamiseen) käyttäen permutaatiotekniikkaa. Algoritmi toistetaan m puulle (oletusarvo m = 500) ja tulokset keskiarvot kompensoidaan epävarmuus puutasolla (tehostaminen).
On tärkeää, että sitä kutsutaan satunnaiseksi metsäksi, ei satunnaiseksi puuksi; sinulla voi olla ongelmia Googlen kanssa.
+1, hyvä vastaus ja loistava minulle - kiitos paperiviitteistä, etenkin katsauksesta.
Eikä olisi parasta järjestää testisarja, suorittaa harjoitusjoukolla loocv malliparametrien optimoimiseksi, koko junajoukon sovittamiseksi (ja kutsua "lopulliseksi" luokittelijaksi) ja arvioida lopullinen mallitestisarjassa?
Mielestäni tämä on "sisäkkäinen" tyyppinen ristivalidointi, mutta silti tämä on OK.Ainakin tämä on tapa Andrew Ngsin koneoppimiskurssilta.
#3
+17
Joris Meys
2010-09-02 16:29:48 UTC
view on stackexchange narkive permalink

Lisätään chl: hen: Kun käytetään tukivektorikoneita, joustava verkko on erittäin suositeltava rangaistusmenetelmä. Tämä menetelmä kutistuu kertoimet kohti nollaa, ja teoriassa säilyttää mallissa vakaimmat kertoimet. Aluksi sitä käytettiin regressiokehyksessä, mutta sitä voidaan helposti laajentaa käytettäväksi tukivektorikoneiden kanssa.

Alkuperäinen julkaisu: Zou ja Hastie (2005): Regularisaatio ja muuttujien valinta joustavan verkon kautta. J.R.Statist, Soc. B, 67-2, s.301-320

Elastinen verkko SVM: lle: Zhu & Zou (2007): Muuttuva valinta tukivektorikoneelle: Trendit hermolaskennassa, Luku 2 (Toimittajat: Chen ja Wang)

parannuksia joustavaan verkkoon Jun-Tao ja Ying-Min (2010): parannettu joustava verkko syöpäluokitukseen ja geenivalintaan: Acta Automatica Sinica, 36-7, s. 976-981

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

Vaiheessa 6 (tai 0) suoritat ominaisuuden tunnistusalgoritmin koko tietojoukossa.

Logiikka on seuraava: sinun on ajateltava ristivalidointia menetelmänä selvittääksesi ominaisuuksien valitsemiseen käyttämäsi menettelyn ominaisuudet. Se vastaa kysymykseen: "Jos minulla on tietoa ja suoritan tämän menettelyn, mikä on virhetaso uuden näytteen luokittelussa?". Kun tiedät vastauksen, voit käyttää menettelyä (ominaisuuksien valinta + luokittelusääntöjen kehittäminen) koko tietojoukossa. Ihmiset haluavat jättää yhden pois, koska ennakoivat ominaisuudet riippuvat yleensä otoksen koosta, ja $ n-1 $ on yleensä riittävän lähellä $ n $: ta, jotta sillä ei olisi merkitystä.

Mielestäni on edelleen yleistysongelma, kun samaa näytettä (1) käytetään luokittelijan luokituksen / ennusteen suorituskyvyn arvioimiseen samalla kun parametreja viritetään (lopulta ominaisuuksien valinnalla) ja (2) puolestaan ​​käyttävät ennusteitaan koko tietojoukossa. Itse asiassa rikot yliasennukseen kohdistuvaa valvontaa, joka kehitettiin ristivalidoinnilla. Hastie et ai. antaa hieno esimerkki CV: n sudenkuopista, etenkin. wrt. ominaisuuden valinta heidän ESL-kirjassaan, 2. painoksen § 7.10.2.
@chl: kuka sanoi mitään parametrien virittämisestä? Jos suoritetaan muita asioita, ne tulisi toistaa myös ristivalidoinnin aikana. Algoritmin muokkaaminen selvästi, kunnes saat hyvät ristivalidoidut virhetasot, on "huijaamista". BTW, olen samaa mieltä siitä, että ristivalidointi, varsinkin jätä yksi pois, ei ole kovin hienoa.
se ei ole huijausta, koska CV näyttää likimääräisen algoritmin suorituskyvyn uusille tiedoille. Sinun tarvitsee vain olla varma, ettet ole tyytynyt mihinkään koko sarjaan perustuvaan asiaan (tämä on tietovuoto koko sarjan rakenteesta, joten se voi välittömästi kallistaa kaikki junan osat).
@mbq - Ankino on oikea, mallisi virittäminen CV-tilastojen minimoimiseksi on "huijaamista" ja lopullisen mallin CV-tilastoilla on huomattava optimistinen ennakkoluulo. Syynä tähän on se, että CV-tilastossa on vähäinen varianssi (koska se arvioidaan rajallisella tietojoukolla), ja joten jos optimoit CV-tilastot suoraan, voit sovittaa sen liikaa ja voit päätyä malliin joka yleistää huonommin kuin aloitit. Tämän havainnollistamiseksi koneoppimisen yhteydessä katso seehttp: //jmlr.csail.mit.edu/papers/v11/cawley10a.html Ratkaisu: Käytä sisäkkäistä XVAL-ohjelmaa
#5
+1
FMZ
2012-02-02 08:49:28 UTC
view on stackexchange narkive permalink

Näin valitsen ominaisuudet. Oletetaan, että tietyn tiedon perusteella on 2 vertailukelpoista mallia. Malli A käyttää ominaisuuksia nro 1 - ei. 10. Malli B käyttää numeroa 11 - ei. 20. Sovellan LOO CV -mallia A saadakseni sen näytteestä poikkeavan suorituskyvyn. Tee sama mallille B ja vertaa niitä sitten.

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

En ole varma luokitteluongelmista, mutta regressio-ongelmien ominaisuuksien valinnan osalta Jun Shao osoitti , että Leave-One-Out CV on asymptoottisesti epäjohdonmukainen, eli todennäköisyys valita Oikea ominaisuuksien osajoukko ei yhtene yhteen, kun näytteiden määrä kasvaa. Käytännöllisestä näkökulmasta Shao suosittelee Monte-Carlo-ristiintarkistusta tai jätä monia pois -menettelyä.

Voi, vielä kerran; oletko lukenut tämän artikkelin otsikon?
Okei, selvyyden vuoksi - en sano, että LOOCV on hyvä idea suurelle määrälle esineitä; ei selvästikään ole, mutta Shaoa ei voida soveltaa tässä. Itse asiassa useimmissa tapauksissa LM: ää koskevat säännöt eivät päde ML: ään.
On myös kyseenalaista, ovatko asymptoottiset tulokset käytännöllisiä, kun tarkastellaan aineistoja, joissa on paljon ominaisuuksia ja suhteellisen vähän malleja. Tällöin menettelyn vaihtelulla on todennäköisesti suurempi käytännön merkitys kuin puolueellisuudesta tai johdonmukaisuudesta. LOOCV: n pääarvo on, että monissa malleissa se voidaan toteuttaa vähäisillä laskennallisilla kustannuksilla, joten vaikka sillä on suurempi varianssi kuin esimerkiksi käynnistyshihnalla, se voi olla ainoa mahdollinen lähestymistapa käytettävissä olevan laskennallisen budjetin sisällä. Siksi käytän sitä, mutta käytän jotain muuta suorituskyvyn arviointiin!


Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 2.0-lisenssistä, jolla sitä jaetaan.
Loading...