9.4 Příklady

V této sekci projdeme několik příkladů a ukážeme použití právě vybudované teorie. Volíme relativně jednoduché příklady, které lze i hezky vizualizovat.

Příklad 9.4

Nalezněte extrémy a sedlové body funkce

\begin{equation*} f(x, y) = x^4 + y^4 - x^2 - 2xy - y^2. \end{equation*}

Podrobněji: nalezněte všechny stacionární body a rozhodněte, zda-li je v nich nabýván extrém a určete jeho typ. Případně existenci extrému ve stacionárním bodu vyvraťte.

Zobrazit řešení

Definičním oborem této funkce je $D_f = \R^2$. Funkce je polynom, který má spojité všechny své parciální derivace. Pro gradient platí

\begin{equation*} \nabla f(x,y) = \big( 4x^3 - 2x - 2y, 4y^3 - 2x - 2y \big), \quad (x,y)^T \in \R^2. \end{equation*}

Jeho nulovost je ekvivalentní podmínkám

\begin{equation*} 2x^3 = x + y \ \wedge \ 2y^3 = x + y, \end{equation*}

které nutně vyžadují $x^3 = y^3$, tj. $x = y$. Dosazením do původních rovnic dostaneme podmínku $x^3 - x = x (x^2 - 1) = 0$. Stacionární body existují proto celkem $3$:

\begin{equation*} \va = (-1, -1)^T, \quad \vb = (0,0)^T, \quad \vc = (1,1)^T. \end{equation*}

Pro Hessovu matici funkce $f$ dále platí

\begin{equation*} \nabla^2 f(x,y) = \begin{pmatrix} 12 x^2 - 2 & -2 \\ -2 & 12 y^2 - 2 \end{pmatrix}, \quad (x,y)^T \in \R^2. \end{equation*}

Ve stacionárních bodech pak máme

\begin{equation*} \nabla^2 f(\va) = \begin{pmatrix} 10 & -2 \\ -2 & 10 \end{pmatrix} = \nabla^2 f(\vc), \quad \nabla^2 f(\vb) = \begin{pmatrix} -2 & -2 \\ -2 & -2 \end{pmatrix}. \end{equation*}

První matice je PD podle Sylvesterova kritéria (Věta 8.3): $10 > 0$ a $100 - 4 = 96 > 0$. V bodech $\va$ a $\vc$ má naše funkce proto ostrá lokální minima.

Druhá matice je NSD, stačí provést jednoduchou úpravu na čtverec: $-2x^2 - 4xy - 2y^2 = -2 (x+y)^2$. Naše kritéria proto ohledně ne/existence extrému v bodě $\vb$ nic neimplikují. Musíme provést podrobnější inspekci.

Pro naší funkci platí $f(x,y) = x^4 + y^4 - x^2 - 2xy - y^2 = x^4 + y^4 - (x + y)^2$. Pokusme se vhodně využít tohoto rozkladu na součet kladné a záporné části. Využitím u $\vb = \theta$ podstatnějšího (ale vynulovatelného) záporného členu se zkusme k bodu $\theta$ blížit následujícími dvěma způsoby:

\begin{align*} f(t, -t) &= 2t^4 > 0, & &\text{pro} \ t \neq 0, \\ f(t, 0) &= t^4 - t^2 = t^2 (t^2 - 1) < 0, & &\text{pro} \ t \in (-1,1) \smallsetminus \{0\}.\end{align*}

V bodě $\vb$ proto extrém nenastává. Vzhledem k výše popsanému chování bychom ho také mohli označit za sedlový bod. Na Obrázku 9.9 pro ukázku uvádíme graf této funkce.

Obrázek 9.9: Vizualizace funkce z Příkladu 9.4.

9.4.1 Regrese pomocí metody nejmenších čtverců

Tuto podkapitolu lze považovat také za samostatný příklad, ale většího a důležitějšího rozsahu. Ukážeme jednu z možných metod jak tzv. „proložit data křivkou“, tedy jak provést tzv. „regresi“.

Předpokládejme, že máme k dispozici sadu dat $\{(x_i,y_i)\}_{i=1}^n$ a chceme nalézt lineární kombinaci daných funkcí $f_1,f_2,\ldots,f_m$, tj. funkci

\begin{equation*} f_{\vc} = \sum_{i=1}^m c_i f_i\,, \end{equation*}

tak, aby funkční hodnoty funkce $f$ v bodech $x_i$ co nejlépe odpovídaly hodnotám $y_i$ pro každé $i\in\hat{n}$. Alternativně: snažíme se dobře vystihnout hypotetickou závislost $y \approx f(x)$.

Úkolem je určit neznámé koeficienty lineární kombinace: $c_1,c_2,\ldots,c_m$.

Předpokládejme, že $m\leq n$. To není na závadu, neboť typicky je množství dat $n$ mnohem větší než počet funkcí  $m$.

Funkce $f_i$ mohou být např. voleny tak, že $f_i(x)=x^{i}$. V tomto případě prokládáme data polynomiální křivkou. Funkce $f_1,f_2,\ldots,f_m$ nelze volit úplně libovolně, jedna podmínka svazující funkce $f_1,f_2,\ldots,f_m$ a data $x_1,x_2,\dots,x_n$ nám vypadne z výpočtu dále.

Metoda nejmenších čtverců spočívá v myšlence minimalizovat kvadrát celkové chyby mezi $y_i$ a $f(x_i)$. Přesněji, hledáme hodnoty $c_1,c_2,\ldots,c_m$ tak, aby hodnota

\begin{equation*} F(\vc) \ceq \sum_{i=1}^n \big(y_i - f_{\vc}(x_i)\big)^2 = \sum_{i=1}^n \big( y_i - (\mA \vc)_i \big)^2 = \left\| \vy - \mA \vc \right\|_2^2 \end{equation*}

byla co nejmenší. Zde jsme označili

\begin{equation*} (\mA \vc)_i = \sum_{j=1}^m f_j(x_i) c_j \,. \end{equation*}

Matice $\mA\in\R^{n,m}$ je dána hodnotami jednotlivých funkcí $f_1,f_2,\ldots,f_m$ v bodech $x_1,x_2\dots,x_n$:

\begin{equation}\label{eq_mat_A}\tag{9.2} \mA = \begin{pmatrix} f_1(x_1) & f_2(x_1) & f_3(x_1) & \cdots & f_m(x_1) \\ f_1(x_2) & f_2(x_2) & f_3(x_2) & \cdots & f_m(x_2) \\ f_1(x_3) & f_2(x_3) & f_3(x_3) & \cdots & f_m(x_3) \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ f_1(x_n) & f_2(x_n) & f_3(x_n) & \cdots & f_m(x_n) \end{pmatrix}. \end{equation}

Metodu nejmenších čtverců tedy můžeme shrnout takto

\begin{equation}\label{eq_uloha_LS}\tag{9.3} \begin{cases} \text{minimalizuj} \ \| \vy - \mA \vc \|_2^2\,, \\ \text{vůči} \ \vc = (c_1,c_2,\ldots,c_m)^T \in \R^m\,, \\ \text{kde} \ \vy = (y_1,y_2,\ldots,y_n)^T \in \R^n \ \text{a} \ \mA_{ij} = f_j(x_i) \ \text{jsou dány}\,. \end{cases} \end{equation}

Aplikujme analytický postup pro hledání extrémů funkcí více proměnných. Předpokládejme navíc, že matice $\mA$ má plnou hodnost, tzn. $h(\mA)=m$ (předpokládáme $m \leq n$).

Nejprve hledejme gradient funkce $F$. Pro její parciální derivaci platí

\begin{align*} (\partial_{c_j} F)(\vc) &= -2 \sum_{i=1}^n \big(y_i - (\mA \vc)_i \big) \mA_{ij} = -2 \sum_{i=1}^n (\mA^T)_{ji} y_i + 2\sum_{i=1}^n (\mA^T)_{ji} (\mA \vc)_i = \\ &= -2 (\mA^T \vy)_j + 2 (\mA^T \mA \vc)_j\,.\end{align*}

Pro její gradient proto platí

\begin{equation}\label{eq_gradF}\tag{9.4} (\nabla_\vc F)(\vc)^T = -2\mA^T \vy + 2 \mA^T \mA \vc\,, \end{equation}

kde spodní index u symbolu $\nabla_\vc$ nám připomíná, vůči kterým proměnným derivujeme.

Hledáme bod $\vc$, kde $\nabla_\vc F (\vc) = \theta$. Protože $\mA$ má dle předpokladu plnou hodnost, je matice $\mA^T \mA\in\R^{m,m}$ regulární. Z rovnosti (9.4) potom dostáváme řešení

\begin{equation*} \vc = (\mA^T \mA)^{-1} \mA^T \vy\,, \end{equation*}

resp. umíme vždy vyřešit příslušnou nehomogenní lineární soustavu.

Hessovou maticí funkce $F$ je shodou okolností právě matice $\mA^T\mA$ (až na multiplikativní číselný faktor). Skutečně, pro prvek Hessovy matice funkce $F$ platí

\begin{equation*} \partial^2_{c_ic_j} F (c) = 2 (\mA^T\mA)_{ji}\,. \end{equation*}

Matice $\mA^T\mA$ je pozitivně definitní, neboť pro $\vx\in\R^{m}$ je

\begin{equation*} x^{T} \big(\mA^T\mA\big) \vx = (\mA \vx)^T(\mA \vx) = \|\mA \vx\|^{2} \geq 0 \end{equation*}

a rovnost nastává pouze pro $\vx = 0$, protože je $\mA^T\mA$ regulární.

Shrnutí: prakticky tedy stačí sestavit příslušnou matici a vyřešit uvedenou soustavu lineárních rovnic.

Příklad 9.5

Představme si jednoduchou situaci, v které máme za úkol data

\begin{equation*} x_1 = 1, \ x_2 = 2, \ x_3 = 4, \ x_4 = 5, \\ y_1 = 0, \ y_2 = 1, \ y_3 = 2, \ y_4 = 2 \end{equation*}

proložit přímkou.

Zobrazit řešení

V předchozím obecné popisu tedy máme $n = 4$, hodnoty $x$ a $y$ jsou uvedeny výše a závislost se snažíme vystihnout lineární kombinací funkcí $f_1(x) = 1$ a $f_2(x) = x$, tj. $m = 2$. Pro matici $\mA$ definovanou v (9.2) v tomto případě platí

\begin{equation*} \mA = \begin{pmatrix} 1 & 1 \\ 1 & 2 \\ 1 & 4 \\ 1 & 5 \end{pmatrix} \end{equation*}

Hledané koeficienty lineární kombinace jsou řešením lineární soustavy s maticí

\begin{equation*} \mA^T \mA = \begin{pmatrix} 4 & 12 \\ 12 & 46 \end{pmatrix} \end{equation*}

a pravou stranou

\begin{equation*} \mA^T \vy = \begin{pmatrix} 5 \\ 20 \end{pmatrix}. \end{equation*}

Tuto soustavu snadno vyřešíme a dostaneme vektor

\begin{equation*} \vc = \begin{pmatrix} -1/4 \\ 1/2 \end{pmatrix}. \end{equation*}

Hledanou lineární funkcí proto je

\begin{equation*} y = -\frac{1}{4} + \frac{1}{2} x. \end{equation*}

Vizualizaci tohoto výsledku uvádíme na Obrázku 9.10.

Obrázek 9.10: Ilustrace k Příkladu 9.5: datové body (modře) a výsledná přímka (červeně).