Olen oppinut päätöspuista, ja minusta tuntuu, että olen tähän asti ymmärtänyt heidät ja niiden takana olevan matematiikan melko hyvin lukuun ottamatta yhtä asiaa: vahvistussuhde.

Kuten ymmärrän, vahvistussuhde toteutetaan rangaistaan ominaisuuksista, jotka saattavat saada paljon mahdollisia arvoja.

Jos ominaisuus saa paljon mahdollisia arvoja, on uskottavaa, että jos jaamme kyseisen ominaisuuden, voi olla arvoja, jotka viittaavat vain yhteen luokkaan, mutta yksinkertaisesti siksi, että tietoja on vain 1 tai 2 pisteet tällä arvolla tälle ominaisuudelle joka tapauksessa.

Toisin sanoen ainoa syy, että saisimme matalan entropian jakautuessamme tälle ominaisuudelle, on se, että ominaisuus voi saada paljon arvoja, ja siksi monet näistä arvoista osoittavat nimenomaan yhteen tunnisteeseen . Joten päätöksentekopuun algoritmimme päätyisi jakamaan jotain ”ID #” -tyyppiin, ja laskisi virheellisesti, että meillä oli vain valtava tiedonsaanti.

Tämä näyttää kuitenkin olevan ongelma vain, koska ”ID #” on ominaisuus, jota meidän ei pitäisi jakaa aluksi. Tarkoitan, jos meillä olisi jokin toinen ominaisuus, joka otti myös paljon mahdollisia arvoja, mutta kukin näistä arvoista ei todellakaan tarkoita tietyn pisteen nimeä kyseiselle datapisteelle, niin voisiko vahvistusasteen soveltaminen tarkoittaa sitä, että me todella sekoitamme päätöksentekopuumme rankaisemalla sitä, mikä oli todella hyvää jakoa tonnilla tiedon saamista?

Eikö ole parempi vain tunnistaa, millä ominaisuudella ei ole mitään tekemistä tunnisteidemme kanssa ENNEN kuin syötämme harjoitusdataa algoritmiin?

IDK, en vain ” ymmärrä miksi vahvistussuhde olisi todella hyödyllinen …

Vastaus

Minulla oli sama epäilys, kun tein mestariani Ensinnäkin, et sisällytä jotain niin satunnaista kuin ”ID”. Tällöin tapahtuu tietojen esikäsittely. Otetaan tietojoukko, jolla on käyttäjät ja heidän elokuvalajityyppimääränsä muuttujien, kuten sukupuoli, ikäryhmä, ikärajoitus, bla, bla, perusteella. Tietojen saamisen avulla jaat ”Sukupuoli” ”(olettaen, että sillä on suurin tiedonsaanti), ja nyt muuttujat” Ikäryhmä ”ja” Luokitus ”voivat olla yhtä tärkeitä ja vahvistussuhteen avulla se rangaisee muuttujan, jolla on selkeämmät arvot, mikä auttaa meitä päättämään jakaudu seuraavalle tasolle.

Kommentit

  • OKaaaay, mahtava! Joten käytämme vahvistussuhdetta vain, kun olemme kahden eri mahdollisuuden jakamisen välillä Pystyykö se valitsemaan se, jolla on todennäköisempää, että testitiedoilla on aiemmin nähty arvo, koska se tunnelma, jonka sain ID-esimerkistä, syynä sen huonoon jakoon, sillä sillä oli niin suuri mahdollisuus ottaa eri arvoihin (tässä tapauksessa kenelläkään muulla henkilöllä ei ole samaa tunnusta).
  • Se tekee ALOTista järkevämmän . Jokainen selitys, jonka olen lukenut ', käyttää tunnuksia, ja se saa minut ajattelemaan, miksi kenelläkään on sitä tietojoukossa? !!!! Kiitos Danny! Pidän viestistäsi ', mutta minulla ' ei ole vielä tarpeeksi mainetta.

vastaus

Tietojen saaminen on yksi heuristiikasta, joka auttaa valitsemaan määritteitä valittavaksi.

Kuten tiedät, päätöspuista rakennetaan alkuun – alas rekursiivinen jakaminen ja valloittaminen -tapa. Esimerkit jaetaan rekursiivisesti valittujen ominaisuuksien perusteella.

ID3-algoritmeissa valitsemme attribuutit, joilla on suurin tiedonsaanti.

Olkoon $ p_i $ todennäköisyys, että $ D $ : n mielivaltainen kaksoisryhmä kuuluu luokkaan $ C_i $ . Joten $ p_i = | C_ {i, d} | / | D | $ Odotetut tiedot (entropia) tarvitaan luokittelemaan kaksoisryhmä $ D $ $$ Info (D) = – \ sum_ {i = 1} ^ {m} {p_i * \ log (p_i)} $$

Tarvittavat tiedot (kun A on käytetty D: n jakamiseen V: n osiin) luokitellaksesi D: $$ Info_A (D) = – \ sum_ {j = 1} ^ {v} {D_j / D * Info_j (D)} $$

Tiedot haettu haarautumalla attribuuttiin A

$$ Gain (A) = Info (D) – Info_A (D) $$

C4.5-algoritmissa meidän on jaettava tietoero $ SplitInfo (A) $

$$ voitto (A) = (Info (D) – Info_A (D)) / SplitInfo (A) $$

kirjoita kuvan kuvaus tähän

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *