Siirry sisältöön

Entropialaskuri - Laske Shannon-entropia Verkossa Ilmaiseksi

Ilmainen entropialaskuri välittömään Shannon-entropian laskemiseen. Mittaa datan satunnaisuutta, epävarmuutta ja informaatiosisältöä vaiheittaisilla tuloksilla. Täydellinen data-analytiikkaan.

Entropialaskuri

Syötä numeeriset arvot välilyönnillä tai pilkulla erotettuna valitun muodon mukaan.

Tietomuoto

Frekvenssijakauma

Syötä tiedot nähdäksesi visualisoinnin

Latauslaskuri...
📚

Dokumentaatio

Mikä on entropialaskuri?

Entropialaskuri laskee lukujoukon Shannonin entropian. Shannonin entropia mittaa, kuinka ennustamaton tietojoukko on. Tietojoukon entropia on nolla, jos kaikki sen arvot ovat samoja, koska mikään ei ole epävarmaa. Entropia on tietynkokoisessa tietojoukossa suurimmillaan, kun jokainen arvo esiintyy yhtä todennäköisesti.

Ajatus on peräisin informaatioteoriasta, jonka yhdysvaltalainen matemaatikko Claude Shannon aloitti vuonna 1948. Shannon halusi mitata, kuinka paljon tietoa viesti sisältää. Hän määritteli entropian symbolijonon sisältämän ”yllätyksen” keskimääräiseksi määräksi. Sama kaava esiintyy nykyään tietojenkäsittelytieteessä, salauksessa, biologiassa ja koneoppimisessa – kaikkialla, missä on tarpeen mitata mahdollisten tulosten satunnaisuutta.

Shannonin entropian kaava

Tietojoukossa, jonka eri arvot ovat x₁–xₙ ja joista jokaisen esiintymistodennäköisyys on p(xᵢ), Shannonin entropia H on:

H(X)=−∑i=1np(xi)log⁡2p(xi)H(X) = -\sum_{i=1}^{n} p(x_i) \log_2 p(x_i)

Sanallisesti ilmaistuna: jokaisen yksilöllisen arvon todennäköisyys kerrotaan sen todennäköisyyden kantaluvun 2 logaritmilla, kaikki nämä tulot lasketaan yhteen ja tuloksen etumerkki vaihdetaan. Tulos on aina nolla tai positiivinen.

Tämä laskuri käyttää aina kantaluvun 2 logaritmeja, joten tulos ilmoitetaan bittien avulla. Muihin tarkoituksiin käytetään myös muita kantalukuja: luonnollinen logaritmi antaa yksiköksi natin, ja kantaluku 10 antaa yksiköksi hartleyn. Bitti on tietojenkäsittelyn ja informaatioteorian vakiintunut yksikkö, minkä vuoksi tämä laskuri käyttää kantalukua 2.

Miksi tulos ei voi olla negatiivinen

Jokainen todennäköisyys p(xᵢ) on välillä 0–1, joten sen logaritmi on nolla tai negatiivinen. Kun todennäköisyys kerrotaan negatiivisella tai nollan suuruisella logaritmilla, tulos on negatiivinen tai nolla. Näiden tulosten summa ja etumerkin vaihtaminen tuottavat aina vähintään nollan suuruisen tuloksen.

Suurin mahdollinen entropia

Tietojoukolle, jolla on n yksilöllistä arvoa, entropia on suurimmillaan, kun jokainen arvo esiintyy yhtä monta kertaa. Tämä maksimi on log₂(n) bittiä. Tietojoukko, jossa on 4 yhtä yleistä yksilöllistä arvoa, voi saavuttaa enintään 2 bitin entropian, koska log₂(4) = 2. Näiden 4 arvojen epätasainen jakauma antaa pienemmän entropian.

Entropian laskeminen vaihe vaiheelta

  1. Luettele tietojoukon yksilölliset arvot ja laske, kuinka monta kertaa kukin niistä esiintyy.
  2. Jaa kukin lukumäärä arvojen kokonaismäärällä, jotta saat kunkin yksilöllisen arvon todennäköisyyden.
  3. Laske kunkin todennäköisyyden kantaluvun 2 logaritmi ja kerro se sitten samalla todennäköisyydellä.
  4. Laske kaikki nämä tulot yhteen ja kerro summa luvulla −1.

Tämä laskuri tekee samat neljä vaihetta automaattisesti. Kirjoita luvut syöttökenttään välilyönneillä tai pilkuilla eroteltuina, valitse vastaava muoto, niin entropia, todennäköisyystaulukko ja pylväskaavio tulevat heti näkyviin. Tuloksen alapuolella oleva taulukko näyttää jokaisesta yksilöllisestä luvusta arvon, lukumäärän, todennäköisyyden sekä tulon p(x) × log₂(p(x)), joten laskutoimitukset ovat nähtävissä pelkän lopputuloksen sijaan.

Syöttöä koskevat säännöt

  • Vain numeeriset arvot hyväksytään: kokonaisluvut, desimaaliluvut ja negatiiviset luvut toimivat kaikki.
  • Arvot erotetaan välilyönneillä (esimerkki: 1 2 3 4) tai pilkuilla (esimerkki: 1,2,3,4) valitun muodon mukaan.
  • Tietojoukossa voi olla enintään 100 000 arvoa. Tätä suuremman tietojoukon syöttäminen tuottaa virheilmoituksen, jossa pyydetään pienempää tietojoukkoa.
  • Tieteellinen merkintätapa hyväksytään, joten 1e3 tulkitaan arvoksi 1000.
  • Erotinten välissä olevat tekstit, symbolit ja tyhjät kohdat hylätään virheellä sen sijaan, että ne ohitettaisiin huomaamatta.
  • Myös tietokoneelle tallennettavaksi liian suuri luku, kuten 1e400, hylätään. Suurin laskurin käsittelemä arvo on noin 1,8 x 10^308.

Laskuesimerkki

Tarkastellaan tietojoukkoa 1 2 3 1 2 1, jossa on kuusi lukua.

Ensin lasketaan kunkin yksilöllisen arvon esiintymiskerrat:

ArvoLukumääräTodennäköisyys
133/6 = 0,5
222/6 ≈ 0,3333
311/6 ≈ 0,1667

Seuraavaksi kaavaa sovelletaan kuhunkin riviin ja tulokset lasketaan yhteen:

H=−(0.5log⁡20.5+0.3333log⁡20.3333+0.1667log⁡20.1667)H = -(0.5 \log_2 0.5 + 0.3333 \log_2 0.3333 + 0.1667 \log_2 0.1667) H=−(0.5×−1+0.3333×−1.585+0.1667×−2.585)H = -(0.5 \times -1 + 0.3333 \times -1.585 + 0.1667 \times -2.585) H≈1.4591 bittia¨H \approx 1.4591 \text{ bittiä}

Tietojoukossa on 3 yksilöllistä arvoa, joten suurin mahdollinen entropia on log₂(3) ≈ 1,585 bittiä. Todellinen tulos, 1,4591 bittiä, on tätä maksimia pienempi, koska arvo 1 esiintyy muita useammin. Tietojoukko on siksi hieman vähemmän satunnainen kuin täysin tasaisesti jakautunut joukko.

Tietojoukko ilman epävarmuutta

Tietojoukossa 5 5 5 5 5 on vain yksi yksilöllinen arvo, joten sen todennäköisyys on 1. Koska log₂(1) = 0, summan jokainen termi on nolla ja entropia on täsmälleen 0 bittiä. Tietojoukossa, jonka kaikki arvot ovat samoja, ei ole mitään epävarmaa.

Tuloksen tulkitseminen

  • Entropia lähellä arvoa 0 tarkoittaa, että aineisto on toisteista ja ennustettavaa. Yksi tai muutama arvo hallitsee.
  • Entropia lähellä arvoa log₂(n), jossa n on yksilöllisten arvojen lukumäärä, tarkoittaa, että aineisto jakautuu lähes tasaisesti kaikkien yksilöllisten arvojensa kesken.
  • Täsmälleen arvoa 0 oleva entropia tarkoittaa, että kaikki tietojoukon arvot ovat samoja.

Entropia ei yksin kerro, onko tietojoukko ”hyvä” vai ”huono”. Salasanageneraattori tarvitsee suuren entropian, koska silloin salasanaa on vaikea arvata. Anturin, jonka pitäisi mitata vakiolämpötilaa, entropian taas pitäisi olla pieni, sillä silloin mittaustulos on vakaa.

Shannonin entropian käyttökohteet

  • Koneoppiminen: päätöspuu­algoritmit käyttävät entropiaa päättäessään, mikä piirre jakaa tietojoukon parhaiten ennustettaviin ryhmiin.
  • Datan pakkaus: entropia määrittää teoreettisen rajan sille, kuinka pieneen kokoon tiedosto voidaan pakata ilman tietojen menettämistä.
  • Kryptografia: entropia mittaa, kuinka ennustamaton salasana tai salausavain on.
  • Genetiikka: entropia voi tuoda esiin DNA-jakson poikkeavat tai erittäin vaihtelevat alueet.
  • Tekstianalyysi: kun kirjaimia tai sanoja käsitellään ”arvoina”, entropia mittaa tekstikatkelman ennustettavuutta.

Usein kysyttyä

Mitä entropia on informaatioteoriassa? Se on luku, joka mittaa, kuinka epävarma tai ennustamaton tietojoukko on. Se lasketaan kunkin yksilöllisen arvon todennäköisyyksistä, ei itse arvoista.

Miten Shannonin entropia lasketaan käsin? Laske, kuinka usein kukin yksilöllinen arvo esiintyy, jaa jokainen lukumäärä kokonaismäärällä saadaksesi todennäköisyydet, kerro kukin todennäköisyys sen kantaluvun 2 logaritmilla, laske tulokset yhteen ja kerro summa luvulla −1.

Voiko entropia olla negatiivinen? Ei. Pienin mahdollinen arvo on 0 bittiä, ja se saavutetaan, kun kaikki tietojoukon arvot ovat samoja.

Mikä on tietojoukon suurin mahdollinen entropia? Maksimi on log₂(n) bittiä, missä n on yksilöllisten arvojen määrä. Se saavutetaan vain, kun kukin yksilöllinen arvo esiintyy yhtä usein.

Onko tietojoukon koolla rajoitusta? Kyllä. Tämä laskuri hyväksyy yhteen tietojoukkoon enintään 100 000 arvoa. Suuremmat syötteet tuottavat virheen.

Miten entropia eroaa varianssista? Varianssi mittaa, kuinka hajallaan numeeriset arvot ovat keskiarvonsa ympärillä. Entropia mittaa tulosten muodostaman kuvion ennustamattomuutta pelkkien todennäköisyyksien perusteella riippumatta lukujen todellisesta suuruudesta.

Viitteet

  1. Shannon, C. E. (1948). A Mathematical Theory of Communication. Bell System Technical Journal, 27(3), 379–423.
  2. Cover, T. M. & Thomas, J. A. (2006). Elements of Information Theory (2. painos). Wiley-Interscience.
  3. MacKay, D. J. C. (2003). Information Theory, Inference, and Learning Algorithms. Cambridge University Press.