24. Entropi

    MatematikBilgi Teorisi

    Bir olayın olasılığını biliyorsak gerçekleştiğinde ne kadar şaşıracağımızı da ölçebiliriz. Entropi, bu şaşkınlığı bütün olası sonuçlar için ortalayıp henüz sonucu görmeden ne kadar belirsizlik taşıdığımızı söyler. Aynı hesap, verinin sıkıştırılmasında ve bir karar ağacının soracağı soruyu seçmesinde karşımıza çıkar. Olasılık ve logaritmadan başlayarak bilgi miktarına ulaşacak; entropiyi farklı dağılımlarda hesaplayıp sınırlarını ve yapay zekâdaki kullanımını göreceğiz.

    Bir Sonucu Öğrenmek Ne Kadar Bilgi Verir?

    Bir arkadaşımızın kapalı bir kutuya kırmızı veya mavi bir bilye koyduğunu düşünelim. Her renk eşit olasılıklıysa kutuyu açmadan hangisinin çıkacağını bilemeyiz. Kırmızı çıktığını öğrendiğimizde iki adaydan birini elemiş oluruz.

    Kutunun yüzde 99 olasılıkla kırmızı, yüzde 1 olasılıkla mavi bilye verdiğini varsayalım. Kırmızı çıkarsa pek şaşırmayız. Mavi çıktığında ise güçlü beklentimiz boşa çıkar; seyrek bir olayın gerçekleştiğini öğreniriz.

    Mavi bilye çıktığında yaşadığımız şaşkınlık, kutuyu açmadan önceki belirsizlikle aynı şey değildir. Birincisi gerçekleşen sonuca ait bilgi miktarıdır; ikincisini ise bütün olası sonuçlara bakarak hesaplarız. Buna entropi diyeceğiz.

    Temel Olasılık Kavramları yazısında sonuçlara olasılık vermiş, Olasılık Dağılımları yazısında bunları bir arada göstermiştik. Şimdi olasılıkların sonuçlar arasında nasıl paylaşıldığını tek sayıyla anlatmaya çalışalım.

    İki Eşit Seçenekten Bir Bit'e

    Eşit olasılıklı iki bilyeden birini belirlemek için “Kırmızı mı?” diye sormamız yeterlidir. Evet veya hayır yanıtı iki olasılığı ayırır. Böyle bir ikili ayrımı bilgi teorisinde bir bit olarak ölçeriz.

    Dört eşit olasılıklı bilye için önce “İlk iki renkten biri mi?”, ardından kalan ikiliden “Hangisi?” diye sorabiliriz. İki yanıt yeterlidir. Sekiz bilyede üç yanıt gerekir; her ikili soru aday sayısını yarıya indirir:

    $$ 2^1=2,\qquad 2^2=4,\qquad 2^3=8 $$

    Öyleyse \(n\) eşit olasılıklı seçenek için gereken ikili ayrım sayısının doğal ölçüsü \(\log_2 n\)'dir. Önceki Üstel ve Logaritmik Fonksiyonlar yazısındaki gibi \(\log_2 n\), “2'yi kaçıncı kuvvete yükseltirsek \(n\) olur?” sorusunu yanıtlar. \(n\) ikinin kuvveti değilse sonuç tam sayı olmak zorunda değildir; bu sayı tek bir soruda kullanacağımız gerçek bit sayısı değil, bilgi miktarını karşılaştıran ölçüdür.

    Eşit olasılıklı \(n\) sonucun her birinin olasılığı \(p=1/n\)'dir. Dolayısıyla aynı miktarı bir sonucun olasılığı üzerinden de yazabiliriz:

    $$ \log_2 n=\log_2\frac{1}{p}=-\log_2 p $$

    Eşit olmayan olasılıklarda da daha seyrek bir sonucu öğrenmek daha çok bilgi verir: Sonucun olasılığı küçüldükçe \(1/p\) büyür. Olasılık \(1\) olduğunda ise sonuç baştan bellidir; \(-\log_2 1=0\). Öğrendiğimiz yeni bir şey yoktur.

    Logaritma Neden Bu İşe Uygun?

    İki bağımsız ve adil para atışını düşünelim. Tek atışta belirli bir sonucun olasılığı \(1/2\), bilgi miktarı 1 bittir. İki atışta örneğin yazı, ardından tura gelme olasılığı \((1/2)(1/2)=1/4\) olur. Bu diziyi öğrenmek 2 bit bilgi verir.

    Bağımsız sonuçların birlikte olasılıkları çarpılırken, aldığımız bilgi miktarlarının toplanmasını isteriz. Logaritmanın çarpımı toplama dönüştürmesi tam bunu sağlar:

    $$ \begin{aligned} -\log_2(pq) &=-\log_2 p-\log_2 q,\\ -\log_2\left(\frac14\right) &=1+1=2. \end{aligned} $$

    İki olasılığı bağımsızlık sayesinde çarptık. Sonuçlar birbirini etkiliyorsa ortak olasılığı koşullu olasılıkla kurmamız gerekir; her olayın tek başına olasılığını çarpamayız. Uygun çarpımı bulduktan sonra logaritmanın toplama kuralı yine geçerlidir.

    Olasılığı \(p>0\) olan bir sonucun bilgi miktarını veya şaşırtıcılığını şöyle tanımlayalım:

    $$ I(x)=-\log_2 P(X=x) $$

    Burada \(X\), kutudan çıkan renk gibi rastgele sonuçtur; \(x\) ise gerçekten gözlenen belirli sonuçtur. \(P(X=x)\), bu sonuca önceden verdiğimiz olasılıktır. \(I(x)\) ifadesini “\(x\) sonucunun bilgi miktarı” diye okuyabiliriz. Logaritmanın tabanı 2 olduğu için sonuç bit birimindedir.

    Seyrek Sonuç Daha Şaşırtıcıdır

    Kutumuzda kırmızı olasılığı \(0{,}9\), mavi olasılığı \(0{,}1\) olsun. Kutuyu açtıktan sonra hangi bilginin geldiği sonuca bağlıdır:

    $$ \begin{aligned} I(\text{kırmızı})&=-\log_2(0{,}9)\approx0{,}152\ \text{bit},\\ I(\text{mavi})&=-\log_2(0{,}1)\approx3{,}322\ \text{bit}. \end{aligned} $$

    İki olası sonuç varken mavi bilye nasıl 3 bitten fazla bilgi verebilir? 3,322 bit, her denemede gönderilen fiziksel bir mesajın uzunluğu değildir; seyrek sonucun şaşırtıcılığını ölçer. Bu bilgi miktarlarını denemeler boyunca ortaladığımızda iki sonuçlu dağılımın entropisinin 1 biti aşmadığını göreceğiz.

    Buradaki “bilgi” olayın önemini, anlamını veya doğruluğunu anlatmaz. “Bugün sıradan bir sensör hatası oldu” cümlesi modelimize göre düşük olasılıklıysa yüksek bilgi miktarı taşır; yine de bir insan için değerli bir haber olmayabilir. Hesap, sonucu verdiğimiz olasılığa göre ne kadar beklenmedik bulduğumuzu söyler.

    Tek Sonuçtan Dağılıma: Entropi

    Kutuyu açmadan önce hangi rengin geleceğini bilmiyoruz. Bu belirsizliği ölçmek için olası sonuçların bilgi miktarlarını olasılıklarına göre ortalamamız gerekir. Beklenen Değer ve Varyans yazısında da her olası değeri gerçekleşme olasılığıyla çarpıp toplamıştık.

    Burada ortalamasını alacağımız değer, sonucun kendisi değil o sonucun \(I(x)\) bilgi miktarıdır. Rastgele sonuca \(X\), birinci, ikinci ve sonraki sonuçların olasılıklarına sırayla \(p_1,p_2,\ldots,p_n\) diyelim. Alttaki küçük sayı, sonucun listedeki yeridir. Bu olasılıklar negatif değildir ve toplamları 1'dir. \(X\)'in Shannon entropisi:

    $$ \begin{aligned} H(X) &=\operatorname{E}[I(X)]\\ &=\sum_{i=1}^{n}p_i\log_2\frac{1}{p_i}\\ &=-\sum_{i=1}^{n}p_i\log_2 p_i \end{aligned} $$

    \(H(X)\), “\(X\)'in entropisi” diye okunur. Toplam işareti olası sonuçların hepsini kapsar. \(-\log_2 p_i\) sonuç gerçekleştiğinde edindiğimiz bilgiyi, önündeki \(p_i\) ise onunla ne sıklıkta karşılaşacağımızı gösterir. Çok şaşırtıcı bir olay seyrek gerçekleşiyorsa ortalamadaki payı da buna göre küçülür.

    Formül sonlu veya sayılabilir kesikli sonuçlar içindir. Bu makaledeki bütün hesaplarda mümkün sonuçlar açıkça listelenebiliyor. Sürekli değerlerde kullanılan diferansiyel entropi ayrı koşullar ve farklı bir yorum gerektirir; bir yoğunluğu bu toplama doğrudan yerleştirmeyiz.

    Aynı Kutu, Üç Farklı Belirsizlik

    Kutuda hâlâ iki renk var. Olasılıkları değiştirdiğimizde belirsizliğin ne olduğuna bakalım.

    İki renk eşit olasılıklıysa

    Kırmızı ve mavi olasılıklarının ikisi de \(0{,}5\) olsun. Her sonucun bilgi miktarı 1 bittir. Ortalama da 1 bit çıkar:

    $$ \begin{aligned} H(X) &=-0{,}5\log_2(0{,}5)-0{,}5\log_2(0{,}5)\\ &=0{,}5+0{,}5=1\ \text{bit}. \end{aligned} $$
    Bir renk çok daha olasıysa

    Kırmızı \(0{,}9\), mavi \(0{,}1\) olasılıklı olsun. Önce her sonucun sürprizini hesaplamıştık. Şimdi bunları kendi olasılıklarıyla ağırlıklandıralım:

    $$ \begin{aligned} H(X) &=0{,}9(0{,}152)+0{,}1(3{,}322)\\ &\approx0{,}137+0{,}332\\ &\approx0{,}469\ \text{bit}. \end{aligned} $$

    Mavi şaşırtıcıdır, fakat uzun dönemde denemelerin yaklaşık onda birinde beklenir. Çoğunlukla kırmızı göreceğimiz için ortalama belirsizlik 1 bitin altında kalır. Bu oran, her on denemelik dizide mutlaka bir mavi bilye çıkacağı anlamına gelmez.

    Sonuç önceden kesinse

    Kırmızı olasılığı 1, mavi olasılığı 0 olsun. Kırmızı çıkacağını zaten biliyoruz; belirsizlik sıfırdır. Formüldeki \(0\log_2 0\) sıradan bir çarpma olarak tanımlı değildir. Ancak \(p\) sıfıra sağdan yaklaşırken \(p\log_2(1/p)\) sıfıra yaklaşır. Bu nedenle entropi hesabında olasılığı sıfır olan sonucun katkısını 0 kabul ederiz:

    $$ H(X)=1\cdot\log_2 1+0=0. $$

    Modelin sıfır olasılık verdiği bir sonucu gözlemlediğimizde olasılık modelini ve veri varsayımlarını yeniden incelemeliyiz. “Sonsuz sürpriz” sözünden olayın fiziksel olarak sonsuz bilgi taşıdığı sonucu çıkmaz.

    İkili dağılımın özeti: Olasılıklar \(p\) ve \(1-p\) olduğunda entropi \(h(p)=-p\log_2p-(1-p)\log_2(1-p)\) biçiminde yazılır. \(p=0\) veya \(p=1\) için değer 0; \(p=0{,}5\) için en büyük değer olan 1 bittir.

    Olasılıklar Eşitse Üst Sınır Nedir?

    İkili örnekte en büyük entropi eşit olasılıklarda çıktı. Aynı fikir \(n\) olası sonuç için de geçerlidir: Sonuçlar eşit olasılıklı olduğunda dağılım, hangi seçeneğin geleceği hakkında en az ipucunu verir. Her sonucun olasılığı \(1/n\) ise:

    $$ \begin{aligned} H(X) &=-\sum_{i=1}^{n}\frac1n\log_2\frac1n\\ &=-n\frac1n(-\log_2 n)\\ &=\log_2 n. \end{aligned} $$

    İlk satırda \(n\) özdeş katkı var; ikinci satırda bunları birleştirdik. Sonlu, en fazla \(n\) sonuçlu bir dağılım için entropi \(0\) ile \(\log_2 n\) bit arasındadır. Alt uç, tek bir sonucun kesin olduğu duruma; üst uç, bütün \(n\) sonucun eşit olasılıklı olduğu duruma karşılık gelir. Eğer listede sıfır olasılıklı sonuçlar varsa üst sınıra ulaşmak için onların da pozitif ve eşit olasılık alması gerekir.

    İkili durumda tepe noktasını türevle de kontrol edebiliriz. \(0<p<1\) aralığında:

    $$ h'(p)=\log_2\frac{1-p}{p}. $$

    \(p<0{,}5\) iken oran 1'den büyük ve türev pozitiftir; \(p>0{,}5\) iken oran 1'den küçük ve türev negatiftir. Dolayısıyla entropi \(p=0{,}5\)'e kadar yükselir, sonra düşer. Bu türev hesabı, iki eşit seçeneğin neden en belirsiz durum olduğunu matematiksel olarak da gösterir.

    Sonuç sayısı arttığında da eşit olmayan iki olasılığı, toplamlarını değiştirmeden birbirine yaklaştırabiliriz. Bu ikisinin entropiye katkısı artar, ötekilerin katkısı aynı kalır. Bütün paylar eşitlendiğinde \(\log_2 n\) üst sınırına ulaşırız.

    Logaritmanın Tabanı Birimi Değiştirir

    Şimdiye kadar 2 tabanlı logaritma kullandığımız için sonuçları bit cinsinden okuduk. Doğal logaritma \(\ln\) kullanırsak aynı dağılımın bilgi miktarını nat cinsinden buluruz. Birimler arasındaki ilişki taban değiştirme kuralından gelir:

    $$ \log_2 x=\frac{\ln x}{\ln 2} $$

    olduğu için bit cinsindeki bir entropiyi nat cinsine çevirmek üzere \(\ln 2\) ile çarparız. Yüzde 90–10 kutumuzda \(H(X)\approx0{,}469\) bit bulmuştuk; aynı belirsizlik yaklaşık \(0{,}469\cdot\ln 2\approx0{,}325\) nattır. Bu iki sayı farklı miktarları anlatmaz. Özellikle model eğitiminde negatif doğal logaritmayla tanımlanan kayıplarla bit cinsinden entropiyi yan yana koyarken birimleri karıştırmamalıyız.

    Dört Sonuçlu Bir Dağılımı Satır Satır Hesaplayalım

    Bir sistemin dört farklı simgeden birini ürettiğini düşünelim. Simgelerin olasılıkları şöyle olsun:

    SimgeOlasılıkGörülürse bilgi miktarıOrtalamaya katkı
    A\(1/2\)1 bit\(1/2\) bit
    B\(1/4\)2 bit\(1/2\) bit
    C\(1/8\)3 bit\(3/8\) bit
    D\(1/8\)3 bit\(3/8\) bit

    Olasılıklar toplamı \(1/2+1/4+1/8+1/8=1\) olduğu için geçerli bir dağılımımız var. Bilgi miktarlarını olasılıklarıyla ağırlıklandırıp toplayalım:

    $$ \begin{aligned} H(X) &=\frac12(1)+\frac14(2)+\frac18(3)+\frac18(3)\\ &=\frac12+\frac12+\frac38+\frac38\\ &=\frac74=1{,}75\ \text{bit}. \end{aligned} $$

    Dört simge eşit sıklıkta gelseydi entropi \(\log_2 4=2\) bit olurdu. A daha sık geldiğinden ortalama belirsizlik 1,75 bittir. Demek ki yalnızca sonuç sayısını bilmek yetmez; olasılıklara da bakmalıyız.

    Entropi ile Sıkıştırma Arasındaki Bağ

    Dört simgenin her birine iki bit ayırabiliriz: A için 00, B için 01, C için 10, D için 11. Ama A sık, C ile D seyrek geliyorsa hepsine aynı uzunluğu vermek ortalama kod uzunluğunu gereksiz yere artırır.

    Sık gelen A'ya daha kısa bir kod verelim:

    SimgeOlasılıkKodKod uzunluğu
    A\(1/2\)01
    B\(1/4\)102
    C\(1/8\)1103
    D\(1/8\)1113

    Kodların hiçbiri başka bir kodun başlangıcı değildir. Örneğin 0 ile başlayan tek kod A'dır; 10 görülürse B olduğu bellidir. Bu özellik, art arda gelen simgeleri araya ayraç koymadan çözmemizi sağlar. Kod uzunluğunun beklenen değerini hesaplayalım:

    $$ \begin{aligned} \operatorname{E}[L] &=\frac12(1)+\frac14(2)+\frac18(3)+\frac18(3)\\ &=1{,}75\ \text{bit/simge}. \end{aligned} $$

    Ortalama kod uzunluğu bu örnekte entropiye tam eşit çıktı. Olasılıklar ikinin kuvvetleriyle uyumlu olduğundan her kodun uzunluğu, ilgili sonucun \(-\log_2 p\) değerini karşılıyor. Başka dağılımlarda tek simgelik kodlarla aynı eşitliği kuramayabiliriz: Kod uzunluğu tam sayı bitlerden oluşurken entropi kesirli olabilir. Aynı dağılımdan bağımsız üretilen simgeleri kayıpsız ve tek anlamlı çözülebilir biçimde kodladığımızda entropi, uzun dönem ortalama bit/simge için alt sınırdır. Uzun dizileri birlikte kodlayarak bu sınıra yaklaşabiliriz.

    Gerçek dosyalarda başlık, sözlük, hata denetimi ve dosya biçimi de yer kaplayabilir. Simgeler birbirine bağımlıysa tek simgenin olasılıkları bütün sıkıştırma imkânını göstermez. Metinde bir sonraki harfin olasılığı önceki harflere göre değişir. Bu yüzden bağlam bilindikten sonra kalan belirsizliği de hesaba katmamız gerekir.

    Varyans ile Entropi Aynı Şeyi mi Ölçer?

    Yaygın İstatistiksel Testler: T-Testi ve ANOVA yazısına kadar belirsizliği sık sık sayısal değerlerin yayılımıyla ilişkilendirdik. Ancak varyans ile entropi farklı sorulara bakar. Varyans, sayısal sonuçların ortalamadan kareli uzaklığını ölçer. Entropi, sonuçlara verilen olasılıkların ne kadar dağıldığını ölçer.

    Bir dağılımda 0 veya 2, diğerinde 0 veya 100 eşit olasılıkla gelsin. Her iki dağılımın entropisi 1 bittir. Oysa ilkinin ortalaması 1, varyansı 1; ikincinin ortalaması 50, varyansı 2500'dür. Sayılar arasındaki uzaklık büyüse de hangi sonucun geleceğine ilişkin belirsizlik aynı kalır.

    Sonuçlar “kırmızı” ve “mavi” gibi kategoriler olduğunda renklerin aritmetik ortalaması veya varyansı kendiliğinden anlam taşımaz. Olasılıklarını biliyorsak yine de entropiyi hesaplayabiliriz; burada ölçtüğümüz şey hangi rengin geleceğine ilişkin belirsizliktir.

    Bağlam Geldiğinde Belirsizlik Ne Olur?

    İki adil para atalım. Birinci atışa \(X\), ikinciye \(Y\) diyelim. Atışlar bağımsızsa birincinin sonucunu görmek ikincisi hakkında ipucu vermez: Yazı ve Tura hâlâ yarı yarıya olasıdır. Bu yüzden birinci atış bilindikten sonra ikinci atışın ortalama belirsizliği yine 1 bittir. İki atışın toplam belirsizliği 2 bit olur; dört sıralı sonuç eşit olasılıklıdır.

    Şimdi ikinci atışı yapmayıp ilk sonucu bir kez daha kaydedelim. İlk sonuç yine 1 bit belirsizlik taşır. Onu gördüğümüzde ikinci kaydın da Yazı mı Tura mı olduğunu biliriz; ikinci kayıt için kalan belirsizlik 0 bittir. Kâğıtta iki sonuç bulunması, iki bağımsız bit öğrendiğimiz anlamına gelmez.

    Bu kalan belirsizliğe koşullu entropi denir. \(H(Y\mid X)\) ifadesini “\(X\) biliniyorken \(Y\)'nin ortalama entropisi” diye okuyabiliriz. Her olası \(X=x\) sonucundan sonra \(Y\)'nin kendi dağılımı vardır. Önce bu dağılımın entropisini hesaplar, sonra \(X=x\) olasılığıyla ağırlıklandırıp bütün \(x\) sonuçları üzerinden toplarız:

    $$ H(Y\mid X)=\sum_x P(X=x)\,H(Y\mid X=x) $$

    İki sonucu sıralı bir çift olarak ele alırsak toplam entropiyi \(H(X,Y)\) ile gösterebiliriz. Önce \(X\)'i öğrenir, sonra \(X\) biliniyorken \(Y\)'de kalan belirsizliği gideririz. Entropinin zincir kuralı bu iki miktarı toplar:

    $$ H(X,Y)=H(X)+H(Y\mid X) $$

    biçimindedir. Bağımsız paralarda \(1+1=2\) bit, ikinci sonucun birinciden kopyalandığı durumda \(1+0=1\) bit buluruz. Logaritmanın çarpımı toplama dönüştürmesi burada da işin merkezindedir: Koşullu olasılık kuralıyla ortak bir sonucun olasılığı \(P(X=x)P(Y=y\mid X=x)\) olarak yazılır; bunun negatif logaritması iki parçanın bilgi miktarlarını toplar. Bütün sonuçlar üzerinde ortalama aldığımızda yukarıdaki eşitliğe ulaşırız.

    Metindeki sıradaki sözcük parçasının olasılıkları da önceki parçalara bağlıdır. Bu nedenle sıkıştırmada ve dil modellerinde bir parçanın genel sıklığı tek başına yetmez; önceki bağlam, sıradaki seçeneklerin olasılıklarını değiştirir.

    Bir Soru Belirsizliği Azaltırsa: Bilgi Kazancı

    Bir karar ağacı, veriyi sorular sorarak gruplara ayırır. Gelen iletileri “istenmeyen” ve “normal” diye sınıflandırdığımızı düşünelim. Eğitim kümesindeki sekiz iletinin dördü istenmeyen, dördü normal. Bu durumda sınıf etiketinin başlangıç entropisi 1 bittir.

    Bir ileti özelliği hakkında soracağımız soru kayıtları “Evet” ve “Hayır” diye ikiye ayıracak. İki aday soru, eğitim verisini şöyle bölüyor:

    SoruEvet grubundaHayır grubunda
    A4 istenmeyen, 0 normal0 istenmeyen, 4 normal
    B3 istenmeyen, 1 normal1 istenmeyen, 3 normal

    A sorusunda iki grup da tek sınıftan oluşuyor. Bu sekiz kayıttan birinin hangi gruba düştüğünü bilirsek etiketini de biliriz; grupların entropisi 0'dır.

    B sorusundan sonra her iki grupta da sınıflar karışıktır. Evet grubunda istenmeyen olasılığı \(3/4\), normal olasılığı \(1/4\) olur. Hayır grubunda oranlar tersine döner; entropi aynı kalır:

    $$ \begin{aligned} H(3/4,1/4) &=-\frac34\log_2\frac34-\frac14\log_2\frac14\\ &\approx0{,}811\ \text{bit}. \end{aligned} $$

    Her grupta dört ileti var, dolayısıyla ikisi de ortalamada \(4/8\) ağırlık taşıyor. B sorusundan sonra kalan belirsizliği, yani koşullu entropiyi böyle hesaplarız:

    $$ \frac48(0{,}811)+\frac48(0{,}811)=0{,}811\ \text{bit} $$

    olur. Başlangıç belirsizliğinden soru sonrasında kalanı çıkarırsak bilgi kazancını buluruz:

    $$ \begin{aligned} \text{A sorusunun kazancı}&=1-0=1\ \text{bit},\\ \text{B sorusunun kazancı}&=1-0{,}811=0{,}189\ \text{bit}. \end{aligned} $$

    Bu eğitim kümesinde karar ağacı A sorusunu seçer; etiketleri tam olarak ayırıyor. Sekiz kayıttaki bu başarı yeni iletilere taşınmayabilir. Seçilen özellik etiketleri tesadüfen ayırmış ya da etiketi sonradan ele veren bir bilgi taşıyor olabilir. Bu yüzden özellik seçiminin ve büyüyen ağacın başarısını ayrı tutulan veride sınamalıyız.

    Hangi belirsizlik? Karar ağacında hesapladığımız şey iletinin tüm içeriğinin belirsizliği değil, seçtiğimiz sınıf etiketinin bu özelliği öğrendikten sonra kalan belirsizliğidir. Soruyu ve ölçülen rastgele değişkeni değiştirdiğimizde entropinin anlamı da değişir.

    Yapay Zekâ Tahminlerinde Entropiyi Doğru Okumak

    Bir sınıflandırma modeli üç sınıf için sırasıyla \(0{,}8\), \(0{,}1\) ve \(0{,}1\) değerlerini üretsin. Sayılar toplamda 1 ettiği için modelin çıktı dağılımının entropisini hesaplayabiliriz:

    $$ -0{,}8\log_2(0{,}8)-2\bigl(0{,}1\log_2(0{,}1)\bigr) \approx0{,}922\ \text{bit} $$

    Üç sınıfa eşit olasılık verilseydi entropi \(\log_2 3\approx1{,}585\) bit olurdu. Burada ilk sınıf daha ağır bastığı için çıktı dağılımının entropisi daha düşüktür.

    Model bazen olasılık yerine ham puanlar üretir. Entropi hesaplamak için önce sınıflara ait negatif olmayan, toplamı 1 eden değerler gerekir. Bu koşul sağlansa bile değerler kendiliğinden kalibre edilmiş olasılıklar olmaz. En yüksek değeri alan sınıfı seçmek, o sınıfı doğru tahmin etmek demek değildir. Düşük çıktı entropisi modelin bir sınıfa ağırlık verdiğini gösterir; doğruluğunu, güvenilirliğini veya yeni verideki başarısını göstermez.

    Dil modelinin sıradaki sözcük parçasına verdiği olasılıklardan da entropi hesaplayabiliriz. Bu değer, belirli bir bağlamda modelin sıradaki parça için ne kadar belirsizlik taşıdığını anlatır; metnin anlamını veya doğruluğunu ölçmez. Bağlamı, token sözlüğünü ya da modeli değiştirirsek entropi de değişebilir. Karşılaştırma yaparken sonuç kümesini ve kullanılan olasılıkları açıkça belirtmeliyiz.

    Olabilirlik, Log-Olabilirlik ve Parametre Tahmini: MLE ile MAP yazısında doğru sınıfa verilen olasılığın negatif logaritmasından bir kayıp elde etmiştik. Burada tek bir dağılımın kendi sonuçları üzerindeki ortalama sürprizi hesapladık. Gerçek sonuçların dağılımı ile modelin tahmin dağılımı farklıysa ne olacağını sonraki yazıda çapraz entropiyle inceleyeceğiz.

    Entropinin Sınırları ve Sık Hatalar

    • Tek sonucun sürprizini dağılımın entropisi sanmak: \(I(x)\) gerçekleşen belirli sonuca, \(H(X)\) ise bütün olası sonuçlar üzerindeki ortalamaya aittir.
    • Sonuç sayısını tek başına yeterli görmek: Dört sonuçlu dağılımın entropisi olasılıklar eşitse 2 bit, örneğimizdeyse 1,75 bittir.
    • Varyansla karıştırmak: Varyans sayısal uzaklıklara, entropi olasılıkların dağılımına bakar. Kategorilerde sayısal uzaklık hiç olmayabilir.
    • Sıfır olasılığı doğrudan logaritmaya sokmak: \(\log_2 0\) tanımlı değildir. Entropi toplamında sıfır olasılıklı sonucun katkısı limit yoluyla 0 kabul edilir.
    • Logaritma tabanını saklamak: 2 tabanı bit, \(e\) tabanı nat üretir. Aynı dağılım için sayısal değer değişir; hangi birimin kullanıldığı belirtilmelidir.
    • Yüksek entropiyi otomatik olarak kötü görmek: Bir zarın adil olması isteniyorsa yüksek entropi beklenen davranıştır. Bir sınıflandırıcının kararsız çıktısı ise başka bir sorundur; bağlam olmadan değer yargısı çıkaramayız.
    • Düşük entropiyi doğruluk sanmak: Sürekli yanlış sınıfı seçen bir model son derece yoğun, düşük entropili bir çıktı verebilir.
    • Tahmin edilen olasılıkları kesin gerçek sanmak: Az veya yanlı örneklemden hesaplanan frekanslar değişebilir. Eğitim verisinde düşük belirsizlik görmek gerçek dünyadaki dağılımı tek başına belirlemez.
    • Sürekli değişkene kesikli formülü aynen uygulamak: Aralıksız ölçümlerde olasılık yoğunluğu ve diferansiyel entropi farklı bir çerçeve oluşturur.

    Bir Entropi Hesabını Nasıl Kontrol Ederiz?

    1. Sonucu tanımlayın: Renk mi, sınıf etiketi mi, sıradaki token mı? Rastgele değişkenin anlamını söyleyin.
    2. Olasılıkları doğrulayın: Her biri 0 ile 1 arasında ve toplamları 1 olmalı. Bu sayılar veriden tahmin edildiyse hangi veriden geldiğini belirtin.
    3. Tabanı seçin: Bit istiyorsanız \(\log_2\), nat istiyorsanız \(\ln\) kullanın. Farklı tabanlı sonuçları doğrudan karşılaştırmayın.
    4. Her sonucun katkısını bulun: Önce \(-\log_2 p_i\) ile sürprizi, sonra \(p_i\) ile ağırlığını hesaplayın.
    5. Sınırları kontrol edin: Sonlu \(n\) sonuçta değer 0 ile \(\log_2 n\) arasında kalmalı. Eşit olasılık üst sınıra, kesin sonuç alt sınıra götürür.
    6. Yorumu bağlama bağlayın: Entropinin hangi belirsizliği ölçtüğünü ve hangi soruya cevap vermediğini açıkça söyleyin.

    Sonuç: Olasılıkların Dağılımını Bilgiyle Okumak

    Bir sonuç ne kadar seyrekse onu öğrenmenin bilgi miktarı o kadar yüksek çıktı; kesin sonuçta ise bu miktar sıfırdı. Sonuçların bilgi miktarlarını kendi olasılıklarıyla ağırlıklandırınca entropiye ulaştık. Böylece kutuyu açtıktan sonra duyduğumuz şaşkınlık ile kutu kapalıyken taşıdığımız ortalama belirsizliği ayrı ayrı ölçebiliyoruz.

    Eşit olasılıklı iki renkte entropi 1 bit, yüzde 90–10 dağılımında yaklaşık 0,469 bitti. Dört simgeli örnekte bulduğumuz 1,75 bit, kurduğumuz değişken uzunluklu kodun ortalama uzunluğuna eşitti. Aynı hesabı karar ağacında sınıf etiketinin bir sorudan sonra ne kadar belirsiz kaldığını görmek için kullandık. Varyansla karşılaştırma da sayılar arasındaki uzaklığın bu hesaba girmediğini gösterdi.

    Şimdiye kadar sürprizi bir dağılımın kendi olasılıklarıyla ortaladık. Yapay zekâ eğitiminde ise verinin gösterdiği sonuçlarla modelin verdiği olasılıkları da karşılaştırmamız gerekir. Sıradaki Çapraz Entropi (Cross-Entropy) ve KL Iraksaması (KL Divergence) yazısında bu karşılaştırmanın ne ölçtüğüne bakacağız.

    Yazar: Levent KARAGÖL

    Makaleyi Paylaş:

    İlgili Makaleler