Основы машинного обучения — KL Divergence

машинное обучение искусственный интеллект
Основы машинного обучения — KL Divergence

Мало знаний, большой вызов! Эта статья участвует в "Необходимые знания для программистов«Творческая деятельность.

Сегодня мы рассмотрим метод сравнения двух вероятностных распределений, называемый дивергенцией Кульбака-Лейблера (часто сокращенно дивергенцией КЛ). Сначала приведем формулу

DKL(PQ)=iP(i)logP(i)Q(i)DKL(PQ)=P(x)logP(x)Q(x)dxD_{KL}(P||Q) = \sum_i P(i) \log \frac{P(i)}{Q(i)}\\ D_{KL}(P||Q) = \int P(x) \log \frac{P(x)}{Q(x)} dx\\

Вышеприведенная формула, чтобы увидетьQ(i)Q(i)с цельюP(i)P(i)разница в вероятности. Он асимметричен и неотрицательен для KL-дивергенции.

В задаче о подбрасывании монеты мы предполагаем, что наблюдаемое нами число из N подбрасываний орла равноNHN_H, а количество поднятий спинки равноNTN_T. Предположим, что есть два распределения вероятностей P (настоящая монета) и Q, где распределение вероятностей P выражается какp1,p2p_1,p_2Эти две вероятности представляют вероятность того, что они выпадут один на один в распределении вероятностей P какp1p_1Вероятность оказаться задом наперед равнаp2p_2. И прогнозируемое распределение вероятностей равно Q(coin1), в котором вероятность выпадения лицевой стороной вверх в распределении равнаq1q_1Вероятность оказаться задом наперед равнаq2q_2

P(Observationsrealcoin)=p1NHp2NTP(Observationscoin1)=q1NHq2NTP(Observations|real\,coin) = p_1^{N_H}p_2^{N_T}\\ P(Observations|coin1 ) = q_1^{N_H}q_2^{N_T}\\

Используя предпосылку о распределении вероятностей P и распределении вероятностей Q соответственно, видим, что в N раз количество раз, когда решка выпадет вверх, равноNHN_H, а количество поднятий спинки равноNTN_TНаблюдения, также известные как вероятности.

log(p1NHp2NTq1NHq2NT)1N\log(\frac{p_1^{N_H}p_2^{N_T}}{q_1^{N_H}q_2^{N_T}})^{\frac{1}{N}}

Приведенное выше соотношение нормируется, т. е. принимается1N\frac{1}{N}Возьмите журнал после

NHNlogp1+NTNlogp2NHNlogq1NTNlogq2q1logp1+q1logp2q1logp1q2logp2q1q1logp1q1+q2logp2q2=iqipiqi\frac{N_H}{N} \log p_1 + \frac{N_T}{N} \log p_2 - \frac{N_H}{N} \log q_1 -\frac{N_T}{N} \log q_2\\ q_1 \log p_1 + q_1 \log p_2 - q_1 \log p_1 - q_2 \log p_2\\ q_1\\ q_1 \log \frac{p_1}{q_1} + q_2 \log \frac{p_2}{q_2}\\ =\sum_i q_i \frac{p_i}{q_i}

Вот и весь процесс вывода.