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ů.

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