\section{Cieľ}
Hlavným cieľom je zistiť, aké tematické oblasti sa prirodzene vyskytujú v kolekcii textov bez toho, aby boli vopred určené triedy alebo kategórie. Ide teda o úlohu učenia bez učiteľa.  
Na základe štatistického rozdelenia výrazov a podobností medzi dokumentmi zoskupíme články do niekoľkých zhlukov, pričom každý z nich by mal zodpovedať určitej téme.

\section{Matematická reprezentácia textu}
Na to, aby bolo možné texty matematicky spracovať, je potrebné ich previesť do vektorovej podoby.  
Využitá bola reprezentácia TF-IDF (\textit{Term Frequency–Inverse Document Frequency}), ktorá priraďuje vyššiu váhu slovám, ktoré sú pre daný dokument typické, ale nie príliš časté.

Frekvencia slov (TF) sa počíta pomocou logaritmickej mierky:
\begin{equation}
    \text{TF}(w,d) = \log(1 + f(w,d)) \label{eq:tf}
\end{equation}
kde $f(w,d)$ označuje počet výskytov slova $w$ v dokumente $d$.  
Inverzná frekvencia dokumentov (IDF) vyjadruje, ako informačne je slovo prínosné vzhľadom na svoj výskyt v súbore dokumentov $D$:
\begin{equation}
    \text{IDF}(w,D) = \log\left(\frac{N}{f(w,D) + 1}\right) \label{eq:idf}
\end{equation}
kde $N$ predstavuje celkový počet dokumentov.  
Finálna hodnota TF-IDF je daná súčinom týchto dvoch členov.

\section{Optimalizácia a redukcia šumu}
Vektory TF-IDF obsahujú aj značný šum a redundantné informácie, čo môže negatívne ovplyvniť kvalitu zhlukovania.  
Preto bola použitá metóda hlavných komponentov (PCA), aby sa znížili rozmery dát a zároveň zachovali čo najviac variabilitu.

PCA premieta pôvodné dáta do priestoru hlavných komponentov, ktoré sú lineárne nezávislé a postupne zachytávajú najväčší rozptyl v dátach.  
Projekciou na prvých niekoľko komponentov sa odstránia menej informatívne rozmery a tým sa model zjednoduší.

\section{Zhlukovanie}
Na samotné zhlukovanie bol použitý algoritmus K-means.  
Ide o iteratívny algoritmus, ktorý rozdeľuje priestor príznakov do $k$ skupín a minimalizuje nasledujúcu funkciu nezhody:
\begin{equation}
    L(\Theta) = \frac{1}{n} \sum_{i=1}^n \min_{m=1,\dots,k} \|x_i - \theta_m\|_2^2
\end{equation}
kde $\theta_m$ označuje vektor súradníc $m$-tého centra.  
Aby algoritmus neskončil v lokálnom minime, bola zvolená viacnásobná inicializácia a výsledok s najnižšou vnútrozhlukovou sumou štvorcov WSS.

\section{Stanovenie granularity tém}
Počet výsledných zhlukov $k$ nebol určený dopredu, ale bol odhadovaný pomocou metódy lakťa.  
Sleduje sa pritom pokles hodnoty WSS v závislosti od počtu $k$:
\begin{equation}
    \text{WSS} = \sum_{i=1}^n l_\Theta^k(x_i)
\end{equation}
Pri zvyšovaní $k$ hodnota WSS spravidla klesá.  
Optimálna hodnota $k$ sa zvolí v mieste, kde sa krivka začne postupne vyrovnávať, teda v „lakti“. Tento bod predstavuje kompromis medzi presnosťou a zložitosťou modelu.

\begin{figure}[h]
    \centering
    \includegraphics[width=0.8\textwidth]{wss_plot.eps}
    \caption{Závislosť sumy štvorcov (WSS) od počtu zhlukov $k$. Lakeť indikuje optimálnu granularitu tém.}
    \label{fig:elbow}
\end{figure}

\section{Interpretácia objavených tém}
Po vykonaní zhlukovania boli centrá jednotlivých zhlukov interpretované ako reprezentanti tém.  
Použitá bola inverzná transformácia:
\begin{equation}
    x_{ij} \approx \sum_{k=1}^m \phi_{jk} z_{ik}
\end{equation}
Na základe hodnôt v centre sa vybrali tie výrazy, ktoré mali najvyššie váhy (koeficienty $\phi_{jk}$).  
Tieto slová vystihujú obsah príslušného zhluku a umožňujú kvalitatívne posúdiť, aké témy boli v kolekcii textov objavené.

\section{Záver}
Redukcia rozmerov pomocou PCA zlepšila stabilitu a čitateľnosť výsledkov.  
Zhlukovanie metódou K-means v kombinácii s výpočtom WSS poskytlo praktický nástroj na určenie počtu tém.  

Pre finálny model s $k=8$ boli identifikované nasledujúce tematické oblasti (zoradené podľa dôležitosti slov v centre):
\begin{itemize}
    \item Gastronómia: food, city, restaurants, new, york, restaurant, wine.
    \item Biznis a správy: company, business, said, week, years, year.
    \item Šéfkuchári a menu: restaurant, mr, chef, opens, news, bar, menu.
    \item Literatúra a život: life, world, new, book, home, family, father.
    \item Spoločnosť a ľudia: black, white, people, says, men, women, century.
    \item Film a TV: movie, tv, times, film, series, story, based.
    \item Dizajn a architektúra: house, designer, design, early, years, century.
    \item Umenie a práca: work, artist, art, day, young, life.
\end{itemize}