next up previous contents
Next: Problém nejmenších čtverců Up: Třífázové učení Previous: Algoritmus 4.2.1:   Obsah


Třetí fáze, problém nejmenších čtverců

Do třetí fáze vstupujeme s RBF sítí, která má pevně určenou skrytou vrstvu. Zbývá nám nastavit hodnoty vah spojů vedoucích do výstupní vrstvy. Požadujeme, aby funkce sítě odpovídala funkci zadané tréninkovou množinou

\begin{displaymath}
T = \{ (\vec{x}^{\,t},\vec{d}^{\,t});\quad t = 1, \cdots, k\}.\end{displaymath}

K tomuto problému budeme přistupovat dvěma odlišnými způsoby. V prvním z nich zformuluje soustavu rovnic, kde neznámými budou hledané váhy, a tuto soustavu budeme řešit. V druhém případě (viz str. [*]) budeme minimalizovat chybovou funkci sítě. K tomu použijeme buď gradientní metodu nebo hledání minima položením prvních derivací minimalizované funkce rovných nule.

V obou případech bude třeba vyřešit soustavu lineárních rovnic, která nemusí a ve většině případů nebude mít jednoznačné řešení. Budeme tedy hledat řešení, které je optimální ve smyslu nejlepších čtverců. Numerické metody nejmenších čtverců popíšeme v části 4.3.1

Nyní přistoupíme k prvnímu způsobu řešení. Chceme-li, aby síť pro vstupy $\vec{x}$ z tréninkové množiny dávala odpovídající výstupy $\vec{d}$, musí platit

\begin{displaymath}
f_s(\vec{x}^{\,t}) = \sum_{j=0}^{h} w_{js}y_j(\vec{x}^{\,t}) = d_s^{\,t}
\end{displaymath} (4.17)

pro $s = 1, \cdots, m$, kde $m$ je počet výstupních neuronů, $d_s$ je $s$-tá složka vektoru $\vec{d}^{\,t}$ a $y_j(\vec{x}^{\,t})$ je výstup $j$-té RBF jednotky po předložení vstupu $\vec{x}^{\,t}$.

Protože výstupy RBF jednotek už dokážeme spočítat, dostali jsme soustavu lineárních rovnic s neznámými $w_{js}$. Tu můžeme přepsat pomocí součinu matic jako

\begin{displaymath}
\left[
\begin{array}{ccc}
y_{1}(\vec{x}^{\,1})&\ldots&y_{h...
...dots\\
d_{1}^{\,k}&\ldots&d_{m}^{\,k}
\end{array}
\right]
\end{displaymath} (4.18)

Matici $k\times h$ výstupů RBF jednotek označme $P$, matici $h\times m$ vah $W$ a matici $k\times m$ požadovaných výstupů $D$. Vztah (4.18) můžeme přepsat jako


\begin{displaymath}
{\bf P}{\bf W} = {\bf D}.
\end{displaymath} (4.19)

Obvykle máme více tréninkových vzorů než RBF jednotek a dostaneme tak přeurčenou soustavu rovnic. V tom případě hledáme takové řešení, jehož chyba je nejmenší. K tomu použijeme některou z metod nejmenších čtverců. Těmto metodám bude věnována část 4.3.1.

Nyní se podívejme na druhý přístup k hledání optimálních vah. Požadujeme, aby funkce sítě co nejvíce odpovídala zadané tréninkové množině. To znamená, že chceme minimalizovat funkci (2.12):

\begin{displaymath}
E_1 = \frac{1}{2} \sum_{t=1}^k \parallel \vec{d}^{(t)} -
\...
...\sum_{t=1}^{k} \sum_{s=1}^{m}(d_{s}^{(t)}-f_{s}^{(t)})^2\quad,
\end{displaymath}

která je součtem čterců odchylek skutečných výstupů sítě od požadovaných výstupů.

V 2.4.1 jsme uvedli problém regularizace, kdy na funkci sítě klademe další požadavky, konkrétně chceme, aby příliš neoscilovala. Chybová funkce je pak rozšířena o regularizační člen

\begin{displaymath}
E({\bf W}) =
\frac{1}{2} \sum_{t=1}^{k} \sum_{s=1}^{m}(d_{s...
...( \frac{\partial^2 f_s^{(t)}}{\partial x_i^2}\right)^2 \quad .
\end{displaymath} (4.20)

Minimalizaci funkce $E$ (4.20) lze opět provádět dvěma způsoby.

První možnost je vyjádřit si derivace $E$ podle $w_{ij}$ a použít klasickou gradientní metodu (viz 3.1). Tato metoda bývá obecně označována jako LMS algoritmus (Least-Mean-Squares).

Druhou možností je využití skutečnosti, že funkce nabývá lokálního extrému právě tehdy, když jsou její první derivace rovny nule. První derivace chybové funkce $\frac{\partial E}{\partial w_{ij}}$ položíme rovny nule a pro $q = 1, \ldots, h$ a $r =
1, \ldots, m$ dostaneme

\begin{displaymath}
\sum_{t=1}^{k}(d_r^{(t)}y_{q}(\vec{x}^{(t)})) -
\sum_{j=1}...
...\partial^2 y_q^{(t)}}{\partial x_i^2}
\right)
\right)
= 0
\end{displaymath} (4.21)

kde $y_j(\vec{x}^t)$ je výstup $j$-té RBF jednotky po předložení vstupu $\vec{x}^t$. Použijeme opět maticovou notaci
\begin{displaymath}{\bf\Phi}{\bf W} = {\bf D} \ ,\end{displaymath} (4.22)

kde ${\bf D} \in \mathbb {R}^{h\times m},$ ${\bf\Phi} \in \mathbb {R}^{h\times
h}$ a
$\displaystyle {\bf D}_{ij}$ $\textstyle =$ $\displaystyle \sum_{t=1}^{k}d_j^{(t)}y_{i}(\vec{x}^{(t)}),$ (4.23)
$\displaystyle {\bf\Phi}_{qr}$ $\textstyle =$ $\displaystyle \sum_{t=1}^{k}
\left(y_q(\vec{x}^{(t)})y_r(\vec{x}^{(t)})
+\lambd...
...}}{\partial x_i^2}
\frac{\partial^2 y_r^{(t)}}{\partial x_i^2} \right)
\right).$ (4.24)

Opět nemáme zaručeno, že k matici ${\bf\Phi}$ existuje inverzní matice. Budeme tedy hledat takové řešení, jehož chyba je nejmenší ve smyslu nejmenších čtverců.



Subsections
next up previous contents
Next: Problém nejmenších čtverců Up: Třífázové učení Previous: Algoritmus 4.2.1:   Obsah
Petra Kudova
2001-04-19