Visual walkthrough — Entropy and KL divergence
1.3.18 · D2· AI-ML › Probability & Statistics › Entropy and KL divergence
Ye page parent topic ka central result — KL divergence formula — sirf ek coin aur ek sawaal se rebuild karta hai. Har step ko hum draw karenge. End tak aap dekh paoge kyun
exactly "wo extra bits hain jo aap waste karte ho jab aap duniya ke baare mein galat story believe karte ho."
Yahan ye assume nahi kiya gaya ki aap jaante ho ki logarithm kis liye hota hai, "bits" ka matlab kya hai, ya hum sum kyun karte hain. Har piece ko hum pehle ek picture pe build karte hain.
Step 1 — Ek "message" kya hota hai aur hum bits kyun count karte hain?
KYA hum set up karte hain: ek random outcome (ek coin, ek die, ek weather label) aur ek rule jo har possible outcome ko 0s aur 1s ki string mein convert karta hai. Wo rule ek code hai.
KYU hum care karte hain: kam bits = saste messages = better compression = (baad mein) better loss functions. Is page pe har quantity secretly ek bit count hai.
PICTURE: neeche, char possible outcomes ko chhote binary tags milte hain. Giniye kitne haan/na splits lagte hain har leaf tak pahunchne mein — woh count us outcome ki bit-length hai.
Step 2 — Outcome ke liye best length kyun hoti hai
Yahan logarithm enter karta hai. Hume justify karna hoga kyun log, aur koi doosra function nahi.
KYA hum claim karte hain: agar outcome , probability se hota hai, toh sabse chhota possible average code use ek length deta hai
LOG KYU? Har yes/no split abhi-bhi-possible outcomes ki count roughly aadhi kar deta hai. Ek outcome ko equally likely choices mein se pin down karne ke liye aapko ko tak halve karna hoga — matlab halvings. Agar ek outcome ki probability hai, toh woh equally likely choices mein se ek choice jaisa behave karta hai, isliye use splits chahiye. Log literally "kitni baar main halve kar sakta hun jab tak sure nahi ho jaata?" hai. Koi doosra function halvings count nahi karta.
Formula ko term by term padhiye:
- — outcome kitna common hai. Bada → common → kam bits.
- — "kitne mein se ek" ye outcome lagta hai.
- — "kitne mein se ek" ko "kitne yes/no halvings" mein convert karta hai.
- minus sign — kyunki se negative hota hai; hum ise flip karte hain taaki lengths positive aayein.
PICTURE: curve . Certain events () height pe hain — koi bits nahi, koi surprise nahi. Rare events upar jaate hain.
Step 3 — Surprises ka average lena entropy deta hai
KYA hum karte hain: outcomes sabka cost same nahi hota, isliye hum average bit-length lete hain, har outcome ko weight karte hue uski actual frequency se.
se weight kyun karo? Kyunki ek rare outcome expensive hota hai lekin rarely bheja jaata hai, isliye long-run average mein use kam count karna chahiye. "Expected value" = probability-weighted sum. Exactly yahi pattern ka matlab hai.
PICTURE: surprisal height ke bars, har ek apni width se shrunk; shaded total area hai — average message length agar aap ke liye best code use karo.
Step 4 — Galti: ke liye coding karna jab reality hai
Ab woh twist jo KL divergence create karta hai.
KYA hota hai: aap believe karte ho ki outcomes ek distribution follow karti hain (aapka model, aapka guess). Toh aap ke liye optimal code banate ho: outcome ko length milti hai. Lekin reality actually follow karti hai. Aapke messages abhi bhi us frequency pe bheje jaate hain jo dictate karta hai.
KYU ye matter karta hai: aapki bit-lengths se aati hain, lekin kitni-baar wali weighting se aati hai. Average length ab yeh hai
Yeh mismatched average cross-entropy hai.
PICTURE: same outcomes ke liye do codes side by side. Left (blue) ke liye banaya gaya hai — yeh us outcome ko short banata hai jise common samajhta hai. Lekin reality (pink bars, follow karte hue) ek alag outcome sabse zyada bhejti hai, toh galat code pe real frequent outcome ek lamba branch pe pada. Yellow mein wasted length.
Step 5 — Subtract karo: waste hi KL divergence hai
KYA hum compute karte hain: extra bits jo aap galat code use karne ke liye pay karte ho = (jo aapne actually pay kiya) − (jo aap best case mein pay kar sakte the).
SUBTRACT KYU? Kyunki "waste" sirf best possible ke relative sense mein samajh aata hai. Dono terms same real frequencies ke under average bit-lengths hain; unka difference aapke galat belief ka pure penalty hai.
Ab dono expand karo aur dekho terms combine hote hue:
Common aur common sum ko saath kheechio:
Bracket mein ek rule use hua: — logs subtract karna = andar divide karna. Yahi poori algebra hai.
PICTURE: lamba cross-entropy bar minus chhota entropy bar; bacha hua slab (yellow) hai — extra bits, term by term.
Term-by-term, right wahan jahan har symbol hai:
- (bahar) — real frequency: jo outcomes kabhi actually hote hi nahi unke penalties ignore hote hain.
- — "reality aapke model ke thought se kitni zyada (ya kam) common hai."
- — us ratio ko bits mein convert karta hai; ratio (aap sahi the) → → koi penalty nahi.
Step 6 — Yeh kabhi negative kyun nahi hota (Jensen ki ek picture)
KYA hum prove karte hain: , aur yeh hai sirf tabhi jab har jagah ho. Aap galat hokar kabhi bits save nahi kar sakte.
KYUN believe karein? Ratio flip karo aur log curve ke baare mein ek fact use karo: concave hota hai (neeche jhukta hai, frown jaisa). Ek concave curve ke liye, curve ki heights ka average, average input ke upar curve ke neeche hota hai — yahi Jensen's inequality hai.
denominator ke ko cancel kar deta hai, bacha rehta hai kyunki ek probability distribution hai. Toh poori cheez hai.
PICTURE: concave curve; uske neeche ek straight chord; "heights ka average" aur "average ki height" ke beech ka gap exactly KL penalty hai — yeh zero tab hi band hota hai jab saare ratios ke equal hon.
Recall Zero sirf tab kyun jab p = q ho
Jensen mein equality kab hold hoti hai ::: Jab input har ke liye same constant ho; kyunki dono sum to 1 hain, woh constant 1 hai, yaani .
Step 7 — Degenerate cases (reader ko kabhi stuck mat rehne do)
Formulas zeros pe break hote hain. Yahan har edge hai, drawn.
PICTURE: ratio-to-penalty curve jisme teen regimes mark hain: zero penalty ka pit, (model reality ke against zyada confident hai) rising, aur wall pe.
Step 8 — Picture pe numbers (worked, dono directions mein)
Ek-picture summary
Upar jo kuch bhi hai woh ek subtraction hai: aapki average message length (galat story use karke) minus sabse chhoti possible length (true story ). Jo bachta hai woh hai.
Recall Feynman retelling (zor se bolo)
Ek dost aapko coin results haan/na answers ke roop mein bhejta rehta hai. Agar aap true odds jaante, aap ek codebook design karte jo common outcomes ko chhote tags deta — aapka bill average bits hota, sabse sasta possible. Lekin aapne sirf odds guess kiye, isliye aapne codebook ke liye banaya. Reality abhi bhi outcomes rate pe bhejti hai, toh aapka bill ab hai, jo bada hota hai jab bhi aapka guess galat tha. Overcharge — galat story believe karne ke wasted bits — hai. Yeh kabhi negative nahi hota (aap true codebook ko beat nahi kar sakte — Jensen iska guarantee deta hai), exactly zero sirf tab hota hai jab aapka guess perfect tha, infinity tak explode hota hai agar aapne kisi aisi cheez pe zero bet lagaya jo actually hoti hai, aur symmetric nahi hai kyunki overcharge is baat pe depend karta hai ki kaun actually flip kar raha hai. Is overcharge ko minimize karna hi woh hai jo ek classifier, ek ELBO, ya ek VAE train karna quietly kar raha hota hai.
Aage kahan jaata hai: Mutual Information (ek joint aur uski independent copy ke beech KL), Maximum Entropy Principle (Step 3 apni limit tak push kiya), Information Gain (ek split se entropy drop), aur F-divergences (KL ek poori family ka ek member hai).