\documentclass[12pt,a4paper]{report}
\usepackage{slovak}
\usepackage{amssymb}
\newtheorem{defi}{Defin¡cia}[subsection]
\newtheorem{veta}{Veta}[subsection]
\renewcommand{\thesection}{\arabic{section}}
\title{Neur\'onove siete}
\author{Ivan Koçko}
\date{}
\begin{document}
\maketitle
\addcontentsline{toc}{section}{Obsah}
\tableofcontents
\newpage
\section{\'Uvod.}
\emph{Neur\'onov‚ siete}: \\
\begin{itemize}
\item[-] s£ inçpirovan‚ biologickìmi NS \\
\item[-] vyu§¡vaj£ distribuovan‚, paraleln‚ spracovanie inform cie pri
   vykonan¡ vìpoŸtov \\
\item[-] znalosti s£ ukladan‚ predovçetkìm prostredn¡ctvom sily v„zieb medzi
 jednotlivìmi neur\'onmi \\
\item[-] uŸenie je z kladn  a podstatn  vlastnosœ NS \\
\end{itemize}

$\!\!\!\!\!\!\!\!\!\!\!$
\emph{Neur\'on je zlo§enì z:} \\
\begin{itemize}
\item[-] \emph{dendrity} - miesta vstupu \\
\item[-] \emph{telo} - sŸ¡ta sign ly od okolitìch neur\'onov \\
\item[-] \emph{axon} - pren ça sign l \\
\item[-] \emph{synapsia} - vìstupn‚ zariadenie neur\'onu, ktor‚ zosilåuje alebo
zoslabuje sign l \\
\end{itemize}
\newpage
\section{Prahov‚ jednotky}
\subsection{Line rne prahov‚ jednotky}
Linear Treshold Gates (LTG) \\
Z kladnou funciou \emph{line rnych prahovìch jednotiek} je rozliçovaœ body(vektory) patriace do dvoch tried \\

\emph{prenosov  funkcia LTG}: $$y= \left\{ \begin{array}{ll}
                           1 & \textrm{, ak }\vec w^T\vec x = \sum_{i=1}^{n}w_ix_i \geq
                           T \\
                           0 & \textrm{, inak}
                           \end{array} \right.$$
kde $$\vec x=(x_1,\ldots,x_n)^T , \vec w=(w_1,\ldots,w_n)^T $$
    $$\vec x \in \{0,1\}^n \textrm{ alebo } \vec x \in \mathbb{R}^n $$
    $$\vec w \in \mathbb{R}^n $$
teda $$ \vec x \in \{0,1\}^n \Rightarrow y: \{0,1\} \longrightarrow
\{0,1\} $$
     $$ \vec x \in \mathbb{R}^n \Rightarrow y: \mathbb{R}^n
        \longrightarrow \{0,1\} $$

\begin{defi}
Boolovsk  funkcia, ktor  m“§e byœ zrealizovan  jedinou LTG sa nazìva
\emph{prahov  funkcia (treshold function)}.
\end{defi}
\begin{defi}
\emph{Prahov  funkcia} je line rne separovate–n , t.j funcia so vstupmi
patriacimi do dvoch r“znych tried takìch, §e vstupy odpovedaj£ce jednej
triede m“§u byœ geometricky oddelen‚ od vstupov druhej triedy pomocou
nadroviny.
\end{defi}

Tabu–ka poŸtu boolovskìch funkci¡:
$$
\begin{array}{ccc}
\textrm{n} & \textrm{poŸet prahovìch funkc¡¡} & \textrm{poŸet vçetkìch
bool.func¡¡}   \\
1 & 4 & 4   \\
2 & 14 & 16   \\
3 & 104 & 256   \\
4 & 1882 & 65 536   \\
5 & 94572 & \sim 4,3.10^9   \\
6 & 15 028 134 & \sim 1,8.10^19   \\
7 & 8 378 070 864 & \sim 3,4.10^38   \\
8 & 17 561 539 552 946 & \sim 1,1.10^77
\end{array} $$
$$ \lim_{x \to \infty}
   \frac{B_n}{2^{2^n}}=0 $$
\newpage
\subsection{Kvadratick‚ prahov‚ jednotky}
Quadratic Treshold Gates (QTG) \\

$$\textrm{pre } \vec x \in \mathbb{R}^n \quad y= \left\{ \begin{array}{ll}
   1 & \textrm{ak }\sum_{i=1}^{n}w_ix_i+\sum_{i=1}^{n}\sum_{j=1}^{n}w_{ij}x_ix_j \geq T \\
   0 & \textrm{inak}
   \end{array} \right. $$
$$\textrm{pre } \vec x \in \{0,1\}^n \quad y= \left\{ \begin{array}{ll}
   1 & \textrm{ak }\sum_{i=1}^{n}w_ix_i+\sum_{i=1}^{n}\sum_{j=i+1}^{n}w_{ij}x_ix_j \geq T
    \\
   0 & \textrm{inak}
   \end{array} \right. $$
\subsection{Polynomi lne prahov‚ jednotky}
Polynomial Treshold Gates (PTG) \\

$$y=\left\{ \begin{array}{ll}
    1 & \textrm{ak
    }\sum_{i_1=1}^{n}w_{i_1}x_{i_1} + \sum_{i_1=1}^{n} \sum_{i_2=i_1}^{n}w_{i_1}{i_2}x_{i_1}x_{i_2}
    + \ldots + \\
    & \quad + \sum_{i_1=1}^{n} \sum_{i_2=i_1}^{n} \ldots
    \sum_{i_n=i_{n-1}}^{n}w_{i_1\ldots i_n}x_{i_1} \ldots x_{i_n} \geq T \\
    0 & \textrm{inak}
    \end{array} \right. $$

Nasleduj£ca veta hovor¡ o vìpoŸtovej sila PTG \\
\begin{veta}[Nilsson, 1965; Krishnan, 1966]
•ubobo–n  boolovsk  funkcia \emph{n} premennìch m“§e byœ zrealizovan 
pou§it¡m PTG r du \emph{r}, $r \leq n$.
\end{veta}
\section{Perceptr\'on}
\emph{Perceptr\'on} je model neur\'onu, ktorì pr¡jma vstupn‚ sign ly cez
synaptick‚ v hy tvoriace v hovì vektor. Vstupnì vektor $\vec x$ sa
nazìva \emph{vzor} alebo \emph{obrazec}(angl.\emph{pattern}). Zlo§ky
vstupn‚ho vektora m“§u nadob£daœ re lne alebo bin rne hodnoty. Pr¡kladom
m“§e byœ obr zok (p¡smeno, odtlaŸok prsta atÔ.) zak\'odovanì ako pole
(vektor) hodn“t. Zlo§ky v hov‚ho vektora s£ re lne Ÿ¡sla. \\

z kladnì rozdiel $$ y=sgn(\vec w^T\vec x) $$
kde $$ \vec x,\vec w \in \mathbb{R}^{n+1} $$
\newpage
\emph{Perception Learning Rule by examples - pod–a pr¡kladov}
\begin{center} \emph{Rosenblatt, 1962} \end{center}
$$\left\{ \begin{array}{ll}
  \vec w^1 & \\
  \vec w^{k+1} = \vec w^k + \rho(d^k - y^k)\vec x^k & ,k=1,2,\ldots
  \end{array} \right. $$
kde $$ y^k - \textrm{ vypoŸ¡tanì vìsledok} $$
    $$ d^k - \textrm{ oŸak vanì vìsledok} $$
    $$ 0<\rho<1  - \textrm{ uŸiaci pomer} $$
\emph{vìpoŸet}:
$$ y^{k+1} = sgn((\vec w^k)^T\vec x^{k+1}) $$
kde $$ \{(\vec x^1, d^1),(\vec x^2, d^2),\ldots,(\vec x^n, d^n)\}
       \textrm{ je tr‚ningov  vzorka alebo pr¡klady} $$

\begin{veta}
Rosenblattovo uŸiace pravidlo konverguje k rieçeniu, ak rieçenie
existuje.
\end{veta}
\subsection{UŸiace pravidl }
UŸenie je adapt¡vna proced£ra, ktor  sa sklad  z dvoch z kladnìch Ÿast¡
a to z \emph{uŸiaceho pravidla} a v druhom rade zo samotn‚ho
\emph{algoritmu}. \\

\begin{tabular}{llcl}
a, & \emph{S uŸite–om}  & - &(Supervised learning) \\
b, & \emph{Bez uŸite–a} & - &vedomosœ pod–a najlepçieho zo \\
   &                    &   &skupiny(Unsupervised learning) \\
c, & \emph{Reinforcement learning} & - &stochatick‚ h–adacie algoritmy \\
   &                               & - &povieme, §e je to zl‚, ale
   nepovieme,Ÿo \\
   &                               &   &to m  byœ
\end{tabular}
\newline
Vçeobecn‚ pravidlo uŸenia pre umel‚ neur\'onov‚ siete znie: V hovì
vektor $\vec w$ sa zv„Ÿçuje priamo £merne so s£Ÿinom vstupn‚ho vektora
$\vec x$ a uŸiaceho sign lu $s$. UŸiaci sign l $s$ je funkciou $\vec w$,
$\vec x$ a niekedy aj sp„tnej v„zby od uŸite–a $d$. Teda:
$$ s = s(\vec w,\vec x, d) \textrm{ alebo } s = s(\vec w,\vec x) $$
V prvom pr¡pade ide o \emph{uŸenie s uŸite–om}(angl.supervised
learning). V druhom pr¡pade ide o \emph{uŸenie bez
uŸite–a}(angl.unsupervised learning). Pri uŸen¡ v umelìch
neur\'onovìch sieœach sa v diskr‚tnych Ÿasovìch krokoch men¡ $j$-ta v ha
takto:
$$ w_j(t+1) = w_j(t) + \Delta w_j(t) = w_j(t) + \alpha s(t)x_j(t) $$
Konçtanta $0<\alpha<1$ sa nazìva \emph{rìchlosœ
uŸenia}(angl.learning rate). \\

\begin{defi}
UŸiacim sign lom pre bin rny perceptr\'on je aritmetickì rozdiel medzi
po§adovanou a skutoŸnou odpoveÔou perceptr\'onu, t.j. $s=d-o= \delta$.
Pravidlo uŸenia bin rneho perceptr\'onu sa preto nazìva \emph{pravidlo
$\delta$ (delta)}. Pre $j$-tu v hu plat¡:
$$ \Delta \vec w_j=\alpha(d-o)x_j $$
\end{defi}

Pre bin rny bipol rny perceptr\'on je po§adovanìm vìstupom pre jednu
triedu $d=+1$, a pre druh£ triedu $d=-1$. Pravidlo $\delta$ plat¡ aj pre
unipol rny bin rny perceptr\'on, pre ktorì $d \in \{0,1\}$ aj $o \in
\{0,1\}$. KeÔ sa pozrieme na predoçl‚ pravidlo, vid¡me, §e keÔ chceme,
aby danì vzor patril do triedy $d=1$ , ale moment lne d va perceptr\'on
vìstup $o=-1$, potom $\delta =2$ a $j$-ta v ha sa zv„Ÿç¡, ak ja $j$-ty
vstup $x_j>0$. Ak $x_j<0$, $j$-ta v ha sa zmenç¡. Tak‚to zmeny v h ved£
k tomu, aby sa po $k$ krokoch danì vzor klasifikoval do triedy $d=1$.
Pod–a predoçl‚ho pravidla sa upravuje aj prah perceptr\'onu
$w_{n+1}=\theta$. \\

\begin{defi}
$A_{train} = \{(\vec x^1,d^1)(\vec x^2,d^2),\ldots,(\vec x^P,d^P)\}$
zlo§en  z $P$ dvoj¡c vstupnìch vektorov a k nim prisl\'uchaj\'ucich
po§adovanìch vìstupov je \emph{tr‚novacia mno§ina}(angl.training
set). \\
\end{defi}

Potom je algoritmus tr‚novania perceptr\'onu takìto: \\

\begin{itemize}
\item[KROK1:] Zvol¡me $\alpha \in (0,1>$. PoŸiatoŸn‚ v hy(vr tane prahu)
inicializujeme ako n hodn‚ Ÿ¡sla $\in (-1,1)$. PoŸ¡tadl  nastav¡me
takto: $k=1, p=1$, kde $k$ je poradov‚ Ÿ¡slo prechodu cez $A_{train}$ a
$p$ je index vzoru. Chyba $E=0$.
\item[KROK2:] Na vstup d me vzor $\vec x^p$ vypoŸ¡tame vìstup
$o=sgn(\sum_{j=1}^{n+1}w_jx_j^p)$.
\item[KROK3:] Uprav¡me v hy tak, §e $w_j \longleftarrow w_j + \alpha
(d^p - o^p)x_j^p$ pre $j= 1,\ldots,n+1$.
\item[KROK4:] VypoŸ¡tame chybu $E \longleftarrow
E+\frac{1}{2}(d^p-o^p)^2$.
\item[KROK5:] Ak $p<P$, tak polo§ $p=p+1$ a choÔ na KROK2. Inak choÔ na
KROK6
\item[KROK6:] Ak $E=0$, ukonŸi uŸenie. Inak polo§ $E=0,p=1,k=k+1$ a choÔ
na KROK2. ZaŸ¡na sa novì tr‚novac¡ cyklus(epocha), t.j. novì prechod cez
$A_{train}$.
\end{itemize}

\subsection{Viacvrstvov‚ dopredn‚ siete a ich uŸenie}
V„Ÿçina re lnych probl‚mov m  neline rny charakter. To znamen , §e sa
nedaj£ vyrieçiœ sŸ¡tan¡m line rnych hran¡c. Probl‚m s obmedzenou
vìpoŸtovou schopnosœou perceptr\'onov sa vyrieçil a§ v roku 1986, keÔ
\emph{Rumelhart}, \emph{Hinton} a \emph{Williams} zaviedli pravidlo
tr‚novania nazvan‚ho \emph{met\'oda sp„tn‚ho ç¡renia chìb}(angl.error
backpropagation) pre dopredn‚ neur\'onov‚ siete so skrytìmi neur\'onmi. \\

Tzv. \emph{viacvrstvov‚ dopredn‚} umel‚ neur\'onov‚
siete(andl.multilayer feedforward ANN), ktor‚ tr‚nuj£ tìmto pravidlom s£
schopn‚ rieçiœ aj neline rne probl‚my. Dopredn‚ neur\'onov‚ siete sa
vyznaŸuj£ tìm, §e v nich existuj£ iba dopredn‚ spojenia medzi
neur\'onmi. Ka§dì neur\'on jednej vrstvy vysiela sign ly na ka§dì
neur\'on nasleduj£cej vrstvy. Spojenia do predch dzaj£cej vrstvy ani v
r mci jednej vrstvy neexistuj£. \\

Najsk“r si zovçeobecn¡me pravidlo $\delta$ pre jednovrstvov£ neur\'onov£
sieœ zlo§en£ zo spojitìch perceptr\'onov. Vìstup spojit‚ho perceptr\'onu
je danì vzœahom:
$$ o=f(net)=f(\vec w.\vec
x)=f(\sum_{j=1}^{n+1}w_jx_j)=f(\sum_{j=1}^{n}w_jx_j - \theta) $$
kde premenn  $net$ oznaŸuje v hovan£ sumu vstupov, t.j.
skal rny(zlo§kovì) s£Ÿin v hov‚ho a vstupn‚ho vektora. Funkcia $f$ sa
vol  \emph{aktivaŸn  funkcia} perceptr\'onu. \\
AktivaŸn  funkcia spojit‚ho perceptr\'onu $f(net)$ m“§e byœ –ubovo–n 
diferencovate–n  funkcia. NejŸastejçie sa vol¡ vìstup v tvare sigmoidy.
Aj vstupno-vìstupn  charakteristika biologick‚ho neur\'onu m 
sigmoid lny tvar.     \\

\begin{defi}[Sigmoida]
\begin{eqnarray*}
\textrm{Unipol rna sigmoida:} & f(net)= &\frac{1}{1+exp(-\lambda net)}  \\
 & & \\
\textrm{Bipol rna sigmoida:} & f(net)= &\frac{2}{1+exp(-\lambda net)}-1
\end{eqnarray*}
Konçtanta $\lambda>0$ sa nazìva strmosœ sigmoidy. ZvyŸajne sa pou§¡va
$\lambda=1$. V limite pre $\lambda \to \infty$ bipol rna sigmoida prejde
na funkciu signum a unipol rna sigmoida na krokov£ funkciu.
\end{defi}
Chceme, aby sa po nauŸen¡ skutoŸnì vìstup siete rovnal po§adovan‚mu
vìstupu, resp. aby sa mu pribl¡§il Ÿo najviac, a to pre vçetky vzory
$p=1,\ldots,P$ z $A_{train}$. Definujme £Ÿelov£ funkciu:

\begin{defi}[Chybov  funkcia]
Chybov  funkcia (angl.error function) m  tvar:
$$ E_p=\frac{1}{2}\sum_{k=1}^{K}(d_{pk}-o_{pk})^2 $$
kde $p$ je index vzoru. $E_p$ je sumou çtvorcov chìb na vçetkìch
vìstupnìch neur\'onoch.
\end{defi}
UŸenie siete spoŸ¡va v modifikovan¡ v h tak, aby sa minimalizovala
$E_p$. Na h–adanie minima $E_p$ sa aplikuje inkrementov  met\'oda
negat¡vneho gradientu\footnote{Gradient skal rnej funkcie, napr. troch
premennìch $g(x,y,z)$ ud va smer najprudçieho n rastu jej hodnoty}
nazìvana aj \emph{met\'oda najprudçieho sp du(najstrmçieho
zostupu)}(angl.steepest descent). \\

Zmena v hy $w_{kj}$ je nepriamo £mern  parci lnej deriv cii $E_p$ pod–a
$w_{kj}^2$:
$$ \Delta w_{kj}=-\alpha\frac{\partial E_p}{\partial
w_{kj}}=-\alpha\frac{\partial E_p}{\partial (net_k)}\frac{\partial
(net_k)}{\partial w_{kj}}=\alpha \delta_{ok}y_j $$
kde $\alpha$ je rìchlosœ uŸenia. Z porn  parci lna deriv cia $-\partial
E_p / \partial (net_k)= \delta_ok$, Ÿo je zovçeobecnenì uŸiaci sign l
produkovanì $k$-tym vìstupnìm neur\'onom. Parci lna deriv cia $\partial
(net_k) / \partial w_{kj}= y_j$. Òalej si odvod¡me, Ÿomu sa rovn 
$\delta_{ok}$:
$$ \delta_{ok}=-\frac{\partial E_p}{\partial (net_k)}=-\frac{\partial
E_p}{\partial o_k}\frac{\partial o_k}{\partial (net_k)}=(d_{pk}-o_{pk})f_k^{'} $$
$f_k$ je deriv cia aktivaŸnej funkcie neur\'onu (sigmoidy) pod–a
$net_k$. Pre unipol8rnu sigmoidu je $f_k^{'}=o_k(1-o_k)$. Pre bipol rnu
sigmoidu je $f_k^{'}=(1/2)(1-o_k^2)$. Pravidlo na zmenu $j$-tej v hy
$k$-teho vìstupn‚ho neur\'onu je potom
$$ \Delta w_{kj}=\alpha (d_{pk}-o_{pk})xf_k^{'}y_j $$
kde $(d_{pk}-o_{pk})f_k^{'}=\delta_{ok}$, Ÿo je zovçeobecnenì chybovì
sign l, ktorì sa sp„tne ç¡ri na vçetky v hy prich dzaj£ce na $k$-ty
vìstupnì neur\'on. Ak by sme polo§ili $f_k^{'}=1$, dostaneme uŸiace
pravidlo pre perceptr\'on. \\

\newpage
Teraz prid me do naçej siete Ôalçiu vrstvu neur\'onov, ktor  sa bude
nazìvaœ \emph{skryt  vrstva} alebo \emph{vrstva skrytìch neur\'onov}. \\

Vstup siete je toto§nì so vstupnìm vektorom pre skryt£ vrstvu $\vec
x=(x_1,\ldots,x_I)$. Vìstupn‚ neur\'ony sprac£vaj£ vìstup skrytej vrstvy
$\vec y=(y_1,\ldots,y_J)$, kde $y_j=f(net_j)$ a
$$ net_j=\sum_{i=1}^{I}v_{ji}x_i $$
$I$-ty vstup je v§dy $=-1$ ako aj vìstup $J$-teho skryt‚ho neur\'onu.
Modifikovate–n‚ prahy skrytìch neur\'onov s£ $v_{jI}= \theta_j$, pre
$j=1,\ldots,J$. \\

Teraz si odvod¡me vzœahy pre modifik ciu v h medzi vstupom a skrytou
vrstvou. Aj tieto v hy sa musia meniœ tak, aby sa minimalizovala chyba
$E_p$ vyjadren  rovnicou pomocou gradientovej met\'ody najprudçieho
sp du. \\

Formula pre modifik ciu vstupnìch v h je tak to:
$$ \Delta v_{ji}=-\alpha\frac{\partial E_p}{\partial
v_{ji}}=-\alpha\frac{\partial E_p}{\partial (net_j)}\frac{\partial
(net_j)}{\partial v_{ji}}=\alpha\delta_{yj}x_i $$
Z porn  parci lna deriv cia $-\partial E_p/\partial (net_j)= \delta_yj$, Ÿo
je zovçeobecnenì uŸiaci sign l produkovanì $j$-tym skrytìm neur\'onom.
$\delta_{yj}$ je zovçeobecnen  chyba ç¡ren  na vstupn‚ v hy. Parci lna
deriv cia $\partial (net_j)/\partial v_{ji}= x_i$. Òalej si odvod¡me, Ÿomu
sa rovn  $\delta_{yj}$:
$$ \delta_{yj}=-\frac{\partial E_p}{\partial (net_j)}=-\frac{\partial
E_p}{\partial y_j}\frac{\partial y_j}{\partial (net_j)}=-\frac{\partial
E_p}{\partial y_j}f_j^{'} $$
$f_j^{'}$ je deriv cia vìstupnej funkcie skryt‚ho neur\'onu(sigmoidy)
pod–a $net_j$.
$$ \frac{\partial E_p}{\partial
y_j}=-\sum_{k=1}^{K}(d_{pk}-o_{pk})\frac{\partial \{f(net_k)}\}{\partial
y_j}=-\sum_{k=1}^{K}(d_{pk}-o_{pk})\frac{\partial f(net_k)}{\partial
(net_k)}\frac{\partial (net_k)}{\partial y_j} $$
KeÔ§e $f_k^{'}$ je deriv cia sigmoidy vìstupn‚ho neur\'onu pod–a $net_k$
a $\partial (net_k)/\partial y_j=w_{kj}$, potom
$$ \frac{\partial E_p}{\partial
y_j}=-\sum_{k=1}^{K}(d_{pk}-o_{pk})f_k^{'}w_{kj}=-\sum_{k=1}^{K}\delta_{ok}w_{kj}
$$
Dosaden¡m dost vame vzœah pre $\delta_{yj}$:
$$ \delta_{yj}=(\sum_{k=1}^{K}\delta_{ok}w_{kj})f_j^{'} $$
A nakoniec vzœah pre uŸenie v h medzi vstupom a skrytìmi neur\'onmi:
$$ \Delta v_{ji}=\alpha(\sum_{k=1}^{K}\delta_{ok}w_{kj})f_j^{'}x_i $$
Predstavme si, §e m me $n$ skrytìch vrstiev. Vo vçeobecnosti pre $n$-t£
skryt£ vrstvu plat¡:
$$ \Delta v_{ji}^n=\alpha\delta_{yj}^nx_i^{n-1} $$
kde
$$
\delta_{yj}^n=(\sum_{k=1}^{K}\delta_{ok}^{n+1}w_{kj}^{n+1})(f_j^n)^{'}
$$
$(f_j^n)^{'}$ je deriv cia aktivaŸnej funkcie skryt‚ho neur\'onu $n$-tej
vrstvy pod–a $net_j^n$.
\begin{defi}[Momentum]
¬asto pou§¡van  met\'oda na zrìchlenie konvergencie do minima chybovej
funkcie je momentum:
$$ \Delta w_{kj}(t)=\Delta w_{kj}(t)+\mu\Delta w_{kj}(t-1) \wedge
\Delta v_{ji}(t)=\Delta v_{ji}(t)+ \mu\Delta v_{ji}(t-1) $$
kde konçtanta $\mu \in (0,1>$ sa nazìva momentum alebo momentovì Ÿlen.
ZvyŸajne sa vol¡ $\mu<\alpha$. R dovo je zvyŸajne ve–kosœ tìchto
konçt nt $10^{-2}$ a $10^{-1}$. ¬o sa tìka konkr‚tnych hodn“t, tie sa
zisœuj£ experiment lne pre danì probl‚m.
\end{defi}
Majme $A_{train}=\{(\vec x^1,\vec d^1),(\vec x^2,\vec d^2),\ldots,(\vec
x^P,\vec d^P)\}$. Potom je algoritmus tr‚novania doprednej neur\'onovej
siete pomocou sp„tn‚ho ç¡renia chìb takìto:
\begin{itemize}
\item[KROK1:] Zvol¡me $\alpha \in (0,1>$. PoŸiatoŸn‚ v hy (vr tane
prahov) inicializujeme ako mal‚ n hodn‚ Ÿ¡sla napr. $\in (-1,1)$.
PoŸ¡tadl  a chybu nastav¡me takto: $k=1,p=1,E=0$. Poradov‚ Ÿ¡slo
prechodu cez $A_{train}$ je $k$, index vzoru je $p$ a $E$ je kumulovan 
chyba:
$$ E=\sum_{p=1}^{P}E_p $$
Zvol¡me mal‚ kladn‚ Ÿ¡slo $\varepsilon$, ktor‚ n m bude sl£§iœ na
zastavenie uŸenia.
\item[KROK2:] Na vstup d me vzor $\vec x^p$ a vypoŸ¡tame $\vec y^p$ a
$\vec o^p$.
\item[KROK3:] Pre ka§dì vystupnì neur\'on vypoŸ¡tame $\delta_{ok}$ a pre
ka§dì skrytì neur\'on $\delta_{yj}$
\item[KROK4:] Modifikujeme v hy pre vìstupn‚ neur\'ony $w_{kj} \gets
w_{kj}+\alpha \delta_{ok}y_j$ a pre skryt‚ neur\'ony $v_{ji} \gets
v_{ji}+\alpha \delta_{yj}x_i$.
\item[KROK5:] Ak $p<P$, tak polo§ $p=p+1$ a choÔ na KROK2. Inak choÔ na
KROK6.
\item[KROK6:] Bez modifik cie v h prejdeme cez $A_{train}$ a vypoŸ¡tame
kumulovan£ chybu $E$, ktor  n m povie ak  je chyba po jednej epoche
uŸenia. Ak $E<\varepsilon$, ukonŸ¡ uŸenie. Inak: vzory v $A_{train}$
premieçaj tak, aby v ka§dej epoche uŸenia prich dzali v inom n hodnom
porad¡. Polo§ $E=0,p=1,k=k+1$ a choÔ na KROK2. ZaŸ¡na sa novì tr‚novac¡
cyklus, nov  epocha tr‚novania, t.j. novì prechod cez $A_{train}$.
\end{itemize}
\subsection{Dopredn  viacvrstvov  sieœ ako univerz lny aproxim tor}
V tejto Ÿasti si povieme ak‚ £lohy rieçi dopredn  viacvrstvov 
neur\'onov  sieœ tr‚novan  pomocou sp„tn‚ho ç¡renia chìb. Tie§ sa
dozvieme praktick‚ rady oh–adom vìberu $A_{train}$, vìberu poŸtu
skrytìch neur\'onov, ukonŸenia tr‚novania atÔ. \\

Majme dopredn£ neur\'onov£ NS s jednìm vìstupnìm neur\'onom a jednou
skrytou vrstvou. Majme $A_{train}=\{\vec x^1,\vec x^2,\ldots,\vec x^P\}$
tvoren£ vstupnìmi vektormi dimenzie I.

\begin{veta}[O univerz lnej aproxim cii]
Pre $\forall \varepsilon >0 \exists$ tak  funkcia $G(\vec
x)=f[\sum_{j=1}^{J}w_j f(\sum_{i=1}^{I}v_{ji}x_i)]$, kde $w_j$ je v ha
synapsy medzi $j$-tym skrytìm neur\'onom a vìstupnym neur\'onom,
$v_{ji}$ je v ha synapsy medzi $i$-tym vstupom a $j$-tym skrytìm
neur\'onom a $f(z)$ je diferencovate–n  aktivaŸn  funkcia. Pre –ubovo–n£
spojit£ funkciu $F: \mathbb{R}^n \to (0,1)$, ktor  je definovan  nad
koneŸnou mno§inou $A_{train}$ plat¡, §e $\sum_{p=1}^{P}\mid F(\vec
x^p)-G(\vec x^p)\mid < \varepsilon$.
\end{veta}
Hovor¡me, §e funkcia $G$ aproximuje funkciu $F$ nad tr‚novacou mno§inou
$A_{train}$ s presnosœou $\varepsilon$. \\

T to veta hovor¡, §e existuje tak  dvojvrstvov  UNS, ktor  aproximuje
$F$ pre $A_{train}$. Tr‚novan¡m siete upravujeme v hy, ktor‚ s£ vlastne
koeficientami polyn\'omu $G$, ktorì sieœ preklad  cez body dan‚
tr‚novacou mno§inou. Cie–om je extrapol cia funkŸnìch hodn“t mimo
$A_{train}$ Ÿi§e predikcia (predpoveÔ) \emph{ak‚ bud£ funkŸn‚ hodnoty
pre vstupn‚ vektory, ktor‚ sieœ nikdy nevidela}. T to schopnosœ UNS sa
vol  \emph{zovçeobecåovanie} alebo
\emph{generaliz cia}(angl.generalisation). \\

Aby sme t£to shcopnosœ siete mohli testovaœ, nepou§¡vame vçetky d ta,
ktor‚ m me k dispoz¡cii na tr‚novanie, ale rozdel¡me si ich na
\emph{tr‚novaciu} a \emph{testovaciu} mno§inu $A_{train}$ a $A_{test}$.
Testovacia mno§ina sa nazìva aj \emph{validaŸn }. Pomocou $A_{train}$
modifikujeme v hy a pomocou $A_{test}$ zisœujeme chybu zovçeobecåovania.
Pracujeme s kumulovanou chybou $E$ pre $A_{train}$ aj $A_{test}$.

\begin{defi}[PreuŸenie]
Je d“le§it‚, aby sme d ta spr vne rozdelili. $A_{train}$ mus¡ rovnomerne
pokrìvaœ danì interval. Zistilo sa, §e v priebehu tr‚novania kumulovan 
$E_{train}$ st le kles , zatia– Ÿo $E_{test}$ zaŸne od urŸit‚ho kroku
r sœ. Doch dza k javu, ktorì sa nazìva preuŸenie siete(angl.overfitting)
alebo pretr‚novanie, Ÿi premodelovanie d t.
\end{defi}
U§itoŸnou met\'odou na zastavenie uŸenia, keÔ nevieme dopredu
$\varepsilon$ Ÿi $N_{max}$, alebo sa tieto ukazovatele po mnoho iter ci¡
vìrazne nemenia, jhe met\'oda nazvan 
\emph{skor‚(optim lne)zastavenie}(angl.early(optimal)stopping): \\

\begin{tabular}{ll}
1. & Rozde– d ta na 2 neprekrìvaj£ce sa podmno§iny $A_{train}$ a
$A_{test}$. \\
2. & Po ka§dom tr‚novacom cykle vypoŸ¡taj kumulovan£ chybu na \\
   & tr‚novacej a testovacej mno§ine $E_{train}$ a $E_{test}$. \\
3. & Zastav uŸenie, keÔ $E_{test}$ zaŸne r sœ.
\end{tabular}

\section{Rekurentn‚ siete a ich uŸenie}
\subsection{Rekurentn‚ uŸenie v re lnom Ÿase}
Rekurentn‚ NS sa tr‚nuj£ na predikciu nasleduj£ceho po§adovan‚ho vektora
pomocou met\'ody zn mej ako \emph{rekurent‚ uŸenie v re lnom
Ÿase}(angl.real time recurrent learning, RTRL). Tu si iba naznaŸ¡me
hlavn£ myçlienku tohto postupu, a to pre \emph{Elmanov£} rekurentn£
sieœ. \\

V Ÿase $t$ je na vstupe vektor $\vec x^{(t)}=(\vec x_1^{(t)},\vec
x_2^{(t)},\ldots,\vec x_I^{(t)})$, skutoŸnì vìstup siete je vektor
aktiv ci¡ vìstupnìch neur\'onov $\vec o^{(t)}=(\vec o_1^{(t)},\vec
o_2^{(t)},\ldots,\vec o_K^{(t)})$ a po§adovanì vìstup je $\vec
d^{(t)}=(\vec d_1^{(t)},\vec d_2^{(t)},\ldots,\vec d_K^{(t)})$.
Definujeme chybov£ funkciu ako
$$ E^{(t)}=\frac{1}{2}\sum_{k=1}^{K}(d_k^{(t)}-o_k^{(t)}) $$
Jednotliv‚ v hy uprav¡me v ka§dom kroku $t$ proporcion lne k inverznìm
gradientom $E^{(t)}$:
$$ \Delta w_{kj}^{(t)}=-\alpha \frac{\partial E^{(t)}}{\partial
w_{kj}^{(t)}} \qquad \Delta v_{ji}^{(t)}=-\alpha \frac{\partial
E^{(t)}}{\partial v_{ji}^{(t)}} \qquad \Delta m_{jl}^{(t)}=-\alpha
\frac{\partial E^{(t)}}{\partial m_{jl}^{(t)}} $$
Pri vìpoŸte tìchto deriv ci¡ treba braœ do £vahy Ÿasov‚ vzœahy vo vn£tri
siete. Ako vid¡me, podstata uŸenia je op„œ sp„tn‚ ç¡renie chìb, v ktorom
sa teraz odr §a nielen priestorov  çtrukt£ra d t, ale aj Ÿasov . \\

\section{Genetick‚ algoritmy}
\subsection{Z kladn‚ pojmy}
\begin{itemize}
\item \emph{G‚n} - z kladnì nosite– inform cie
\item \emph{Chromoz\'om} - reœazec g‚nov, ktorì predstavuje dan‚ho
jedinca
\item \emph{Popul cia} - mno§ina chromoz\'omov(jedincov)
\item \emph{Evol£cia} - postupn‚ zmeny popul cie
\item \emph{Fitness} - vhodnosœ jedinca vzh–adom k dan‚mu probl‚mu
\end{itemize}

\subsection{Funkcia Fitness}
Pre spr vnu pr cu genetick‚ho algoritmu je ve–mi d“le§it  funkcia
\emph{fitness}. Ka§d‚mu chromoz\'omu prirad¡ jeho vhodnosœ(Ÿ¡seln£
hodnotu)vzh–adom k rieçen‚mu probl‚mu. Optim lna vo–ba fitness funkcie
je n roŸn . Mus¡me si zvoliœ krit‚ri  pod–a ktorìch budeme jednotliv‚
chromoz\'omy hodnotiœ. Ka§d‚mu krit‚riu hodnotenia mus¡me priradiœ jeho
prioritu a pod–a nej funkciu fitness vhodne zvoliœ. \\

Chromoz\'om nazìvame bin rny vektor fixnej d\'l§ky $k$
$$ \vec \alpha=(\alpha_1,\alpha_2,\ldots,\alpha_n) \in \{0,1\}^k $$
Popul cia $P$ obsahuje chromoz\'omy
$$ P=\{\vec \alpha_1,\vec \alpha_2,\ldots,\vec \alpha_p\} $$
kde $p$ je poŸet jedincov popul cie. \\

Nech $f$ je £Ÿelov  funkcia definovan  nad mno§inou bin rnych vektorov
d\'l§ky $k$, ktor  ohodnot¡ ka§dì bin rny vektor re lnym Ÿ¡slom.
$$ f:\{0,1\}^k \to \mathbb{R} $$
Pri rieçen¡ probl‚mu h–ad me minimum tajto funkcie nad mno§inou
$\{0,1\}^k$
$$ \alpha_{opt}=arg \min_{\alpha \in \{0,1\}^k} f(\alpha) $$
Funkcia $f$ predstavuje prostredie, v ktorom sa nach dzaj£ chromoz\'omy
popul cie. Jej funkŸn  hodnota je mierou £speçnosti chromoz\'omu. ¬¡m je
hodnota £Ÿelovej funkcie ni§çia, tìm je chromoz\'om £speçnejç¡.
Zavedieme teda funkciu $F$, ktorou budeme hodnotiœ £speçnosœ
chromoz\'omu. T£to funkciu nazveme funkciou \emph{fitness}. Pre fitness
funkciu mus¡ platiœ:
$$ \forall \alpha_1,\alpha_2 \in P: f(\alpha_1)\leq f(\alpha_2)
\Rightarrow F(\alpha_1)\geq F(\alpha_2) \geq 0 $$
V praxi je Ÿasto vìhodnejçie, aby hodnoty funkcie fitness boli z
otvoren‚ho intervalu, preto definujeme:
$$ F^{'}(\alpha)=\frac{F(\alpha)}{\sum_{\alpha^{'} \in P}^{}F(\alpha^{'})}
\qquad \sum_{\alpha \in P}^{}F(\alpha)=1 $$
kde $0<F^{'}<1$ pre vçetky $\alpha \in P$
Funkcia $F^{'}$ sa nazìva renormalizovan  fitness funkcia. \\
Funkcia fitness m“§e byœ definovan  napr¡klad takto:
$$ F(\alpha)=\frac{F_{max}-F_{min}}{f_{min}-f_{max}}f(\alpha) +
\frac{f_{min}F_{min}-f_{max}F_{max}}{f_{min}-f_{max}} $$
$f_{max}(f_{min})$ je maxim lna(minim lna)hodnota £Ÿelovej funkcie pre
chromoz\'omy popul cie $P$.
$$ f_{max}=\max_{\alpha \in P} f(\alpha), \qquad f_{min}=\min_{\alpha
\in P} f(\alpha) $$
$F_{max}(F_{min})$ je maxim lna(minim lna) po§adovan  hodnota fitness
funkcie. \\

Nie je vçak vopred predp¡sanì takìto tvar funkcie fitness ani to, ak  m 
byœ jej minim lna resp.maxim lna hodnota. Jej vo–ba m“§e byœ pre ka§dì
rieçenì probl‚m r“zna.

\newpage
\addcontentsline{toc}{section}{Literat£ra}
\nocite{*}
\bibliographystyle{amsplain}
\bibliography{kosky}
\end{document}


