В основі класифікації лежить гіпотеза максимальної ймовірності, тобто вважається, що об'єкт $x=(x_1,x_2,\ldots,x_n)$ належить класу $c^*$ з множини класів $C$ якщо на $c^*$ досягається найбільша апостеріорна (після випробовування) ймовірність
$$c^*=\arg \max_{c \in C} P(c_i\mid x).$$
За формулою Баєса
$$
P(c \mid x)=\frac{P(c) P(x|c)}{P(x)}
$$
Оскільки $P(x)$ константа, то
$$
\arg \max_{C} P(c\mid x)=\arg \max_{C} \frac{P(c_i) P(x|c)}{P(x)}=\arg \max_{C} P(c) P(x|c)
$$
Далі робиться ''наївне'' припущення що для кожного класу ознаки об'єкту $x$ незалежні між собою,
тобто
$$
P(x_i | c, x_1, \dots, x_{i-1}, x_{i+1}, \dots, x_n) = P(x_i | с).
$$
Звідси
$$
P(x|c)= P(x_1,x_2,\ldots,x_n|c)=P(x_1|c) P(x_2|c) \cdots P(x_n|c)=\prod_{i=1}^n P(x_i|c).
$$
Тоді
$$c^*=\arg \max_{c \in C} P(c) \prod_{i=1}^n P(x_i|c).$$
На практиці, щоб уникнути роботи з малими числами, застосовують логарифмування
\begin{gather*} c^*=\arg \max_{c \in C} \log\left( P(c) \prod_{i=1}^n P(x_i|c)\right)=\arg \max_{c \in C} \log P(c) +\sum_{i=1}^n \log P(x_i|c).
\end{gather*}
Це можна робити оскільки логарифм є монотонно зростаючою функцією і логарифмування не не змінить точку максимуму.
Для завершення класифікації нам потрібно знати ймовірності класів $P(c)$ та ймовірності ознак $P(x_i|c).$ Оскільки у нас дискретні величини, то заміно ймовірності частотами. Тоді ймовірність $P(c)$ рівна частоті появи об'єктів з класу $c$ у вибірці,
$$
P(c)=P(Y=c)=\frac{1}{|X|}\sum_{i=0}^{|X|}[y_i=c].
$$
Так само підрахунком шукаються $P(x_i|c)$
$$
P(x|c)=\frac{\displaystyle \sum_{i=0}^{|X|}[y_i=c \wedge X_i=x]} {P(c)}.
$$
За іншим ( генеративним) підходом для знаходження невідомих ймовірностей $P(x_i|c)$ робиться припущення, що ознаки розподілені за деяким конкретним законом розподілу. Наприклад, в одномірному випадку коли розглядається лише одна ознака, якщо вибрати гаусівський закон розподілу , то $$ P(x|c)=\frac{1}{\sqrt{2\pi \sigma_c}}e^{-\frac{(x-\mu_c)^2}{2\sigma_{k}^2}}, $$ де параметри $\sigma_c, \mu_c$ оцінюються з вибірки.
Немає коментарів:
Дописати коментар