Systemy ucz ˛ace si˛e: notatki do wykładów - e-WMP

Transkrypt

Systemy ucz ˛ace si˛e: notatki do wykładów - e-WMP
Systemy uczace
˛ si˛e: notatki do wykładów
Krzysztof A. Krakowski 1
Grudzień 2011 – Październik 2012
1
Autor pragnie podzi˛ekować panu doktorowi Christfried Webers (NICTA, Canberra, Australia) za
udost˛epnienie swoich materiałów dydaktycznych, które stoja˛ u źródła poniższego materiału.
SPIS TREŚCI
1 Wykład 1 — Przeglad
˛
1.1 Wprowadzenie — Co to sa˛ „systemy uczace
˛ si˛e”? . . . . .
1.2 Przykład i Filozofia . . . . . . . . . . . . . . . . . . . . .
1.2.1 The Widrow-Hoff algorithm . . . . . . . . . . . .
1.2.2 The stochastic descent learning algorithm . . . .
1.3 Definition . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 Related Fields . . . . . . . . . . . . . . . . . . . . . . . .
1.5 Some Basic Notation . . . . . . . . . . . . . . . . . . . .
1.6 Some Fundamental Types of Learning . . . . . . . . . .
1.6.1 Uczenie nadzorowane (ang.. supervised learning)
1.7 Training Regimes . . . . . . . . . . . . . . . . . . . . . .
1.8 Czasopisma oraz Konferencje . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
7
7
7
9
9
9
10
10
10
11
11
11
2 Ćwiczenia 1 — Wprowadzenie w ‘R’
2.1 Dlaczego ‘R’? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Regresja za pomoca˛ wielomianów . . . . . . . . . . . . . . . . . . . . . . . . .
13
13
14
3 Wykład 2 — Podstawy Rachunku Prawdopodobieństwa
3.1 Prawdopodobieństwo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
16
4 Ćwiczenia 2 — Analiza Bł˛
edów Przybliżenia w ‘R’
4.1 Regresja za pomoca˛ wielomianów . . . . . . . . . . . . . . . . . . . . . . . . .
20
20
5 Wykład 3 — Rachunek Prawdopodobieństwa i Podstawy Algebry Liniowej
5.1 G˛estość Prawdopodobieństwa . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Wartość Oczekiwana . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Prawdopodobieństwo Bayesa . . . . . . . . . . . . . . . . . . . . . . . .
5.4 Podstawy Algebry Liniowej . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
22
22
23
25
28
6 Ćwiczenia 3 — Analiza Bł˛
edów Przybliżenia w ‘R’
6.1 Regresja za pomoca˛ wielomianów . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Problem z dużymi wymiarami . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
31
34
7 Wykład 4 — G˛
estość Gaussa i Bazy
7.1 G˛estość Prawdopodobieństwa Gaussa na Wektorze . . . . . . . . . . . . . . .
35
35
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
SPIS TREŚCI
Systemy uczące się
8 Ćwiczenia 4 — Analiza Danych
8.1 Poprawność założenia o g˛estości prawdopodobieństwa . . . . . . . . . . . . .
37
37
9 Wykład 5 — Klasyfikatory Liniowe i Teoria Decyzji
9.1 Teoria Decyzji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
40
10 Ćwiczenia 5 — Klasyfikacja Liniowa
10.1 Klasyfikacja poprzez Linowa˛ Dyskryminacj˛e Fisher’a . . . . . . . . . . . . . . .
42
42
11 Wykład 6 & 7 — Klasyfikatory Liniowe Wieloklasowe
11.1 Uogólnienie do klas wi˛ecej niż dwie . . . . . . . . .
11.2 Klasyfikacja oparta na funkcji kwadratowej bł˛edu .
11.3 Klasyfikacja Fisher’a . . . . . . . . . . . . . . . . .
11.4 Porównanie . . . . . . . . . . . . . . . . . . . . . .
45
45
46
48
50
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
12 Ćwiczenia 6 — Rachunek Prawdopodobieństwa
52
13 Wykład 8 — Klasyfikatory Liniowe Wieloklasowe
13.1 Statystyczne spojrzenie . . . . . . . . . . . . .
13.2 Dwie klasy . . . . . . . . . . . . . . . . . . . .
13.3 Uogólnienie do klas wi˛ecej niż dwie . . . . . .
13.4 Przypadek ciagły
˛
. . . . . . . . . . . . . . . .
13.4.1 Znalezienie parametrów . . . . . . . .
13.5 Systemy Dyskretne . . . . . . . . . . . . . . .
13.6 Regresja logistyczna . . . . . . . . . . . . . .
54
54
55
55
55
56
57
58
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
14 Ćwiczenia 9 — Rachunek Prawdopodobieństwa
60
15 Wykład 9 — Sieci Neuronowe
15.1 Wst˛ep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.2 Funkcje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
61
61
16 Ćwiczenia 10 — Analiza Matematyczna
63
17 Wykład 11 — Sieci Neuronowe Kolejny Raz
17.1 Wst˛ep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.2 Regresja i Klasyfikacja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
65
65
18 Ćwiczenia 11 — Sieci Neuronowe
67
19 Wykład 12 — PCA
19.1 Wst˛ep . . . . . . . . . . . . . . . . . .
19.2 Analiza Składowych Głównych . . . .
19.2.1 Maksymalizacja wariancji . . .
19.2.2 Minimalizacja kosztu projekcji .
19.3 Zastosowania PCA . . . . . . . . . . .
19.4 PCA w dużych wymiarach . . . . . . .
20 Ćwiczenia 12 — Rozpoznawanie Obrazów
Uniwersytet Kardynała Stefana Wyszyńskiego

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
70
70
71
71
72
73
74
76
wersja  X 
Systemy uczące się
SPIS TREŚCI
21 Używane Komendy J˛
ezyka ‘R’
wersja  X 
83

Uniwersytet Kardynała Stefana Wyszyńskiego
Wykłady i Ćwiczenia
6
ROZDZIAŁ

WYKŁAD 1 — PRZEGLAD
˛
Zagadnienia
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.1
Wprowadzenie — Co to sa˛ „systemy uczace
˛ si˛e”?
Przykład i Filozofia
Definition
Related Fields
Some Basic Notation
Some Fundamental Types of Learning
Training Regimes
Czasopisma oraz Konferencje
Wprowadzenie — Co to sa˛ „systemy uczace
˛ si˛e”?
Problem rozpoznawanie wzorów jest jednym z podstawowych zagadnień w nauce, które ma
długa˛ długa˛ histori˛e sukcesów. Dla przykładu, Tycho Brahe w 16-stym wieku zgromadził
olbrzymia˛ ilość obserwacji astronomicznych, które umożliwiły Keplerowi odkryć prawa empiryczne ruchu planet. Te z kolei stały u podstaw mechaniki klasycznej. Podobnie, odkrycie
regularności w spektrach atomowych odegrały rol˛e w rozwoju fizyki kwantowej w poczatkach
˛
20-go wieku.
Dziedzina rozpoznawania obrazów zajmuje si˛e automatycznym wyszukiwaniem regularności w danych za pomoca˛ algorytmów komputerowych. Za pomoca˛ znalezionych regularności systemy te sa˛ w stanie klasyfikować dane do różnych klas i kategorii.
1.2
Przykład i Filozofia
Weźmy na poczatek
˛ praktyczny przykład rozpoznawania r˛ecznie pisanych cyfr, Rysunek 1.1.
Każdej cyfrze odpowiada obraz 28 × 28 pikseli, który można reprezentować poprzez wektor
x zawierajacy
˛ 784 liczb rzeczywistych. Jeśli przyjmiemy, że każdy z pikseli może mieć odcień
szarości od zera do jednego, to wtedy x ∈ [0, 1]28×28 ⊂ R28×28 . Zadaniem jest zbudowanie
urzadzenia,
˛
które przyporzadkuje
˛
taki wektor do jednej z cyfr 0, 1, . . . , 9. Jest to nietrywialny
problem biorac
˛ pod uwag˛e ilość różnych stylów r˛ecznego pisma.
7
Systemy uczące się
1.2. PRZYKŁAD I FILOZOFIA
Rysunek 1.1: przykłady cyfr pisanych r˛ecznie
Popatrzmy na statystyczne systemy uczace
˛ si˛e z innego punktu widzenia. Załóżmy że bierzemy udział w grze w przepowiadanie pogody. Majac
˛ do dyspozycji dane z dni poprzednich,
mam przepowiedzieć czy dzisiaj b˛edzie świecić słońce czy padać deszcz. Za każda˛ poprawna˛
przepowiedni˛e wygrywam stawk˛e, za zła˛ przegrywam. Jaka˛ strategi˛e przyjać
˛ aby zmaksymalizować wygrana?
˛ Nawet, jeśli uda mi si˛e wygrać wszystkie kolejne rundy, to czy mog˛e
powiedzieć, że poznałem prawa natury rzadz
˛ ace
˛ pogoda?
˛
Jednym z podejść do zagadnienia uczenia si˛e jest tak zwany model czarnej skrzynki. Załóżmy, że mamy system rozwijajacy
˛ si˛e z czasem, system dynamiczny, którego działania nie
1
znamy.
Wejście do tego systemu oznaczymy przez x(t) a wyjście przez y(t). Możemy
obserwować jedynie ciagi
˛
xτ := (x(1), x(2), . . . , x(τ ))
oraz
y τ := (y(1), y(2), . . . , y(τ )) .
Chcemy poznać relacj˛e pomi˛edzy obserwacjami (xτ , y τ ) oraz kolejnym wyjściem y(τ + 1).
Ogólnie możemy taki system zapisać jako
y(τ + 1) = f (xτ , y τ ) + v(τ ).
Wybieramy zatem „najlepszy” model fˆ ∈ G z klasy rozważanych modeli (funkcji) G. Porównywać modele, lepsze czy gorsze, możemy jedynie na podstawie zaistniałych już obserwacji.
Kryterium porównania zatem może być na przykład wyrażenie
X
ky(t + 1) − f (xt , y t )k2 .
(1.1)
t
Łatwo zauważyć, że problem ten przypomina metod˛e regresji, sprowadzajacy
˛ si˛e do wybrania
takiego modelu fˆ ∈ G, który minimalizuje (1.1).
Aby oszacować limitacje takiej regresji, sprecyzujmy ten problem jeszcze bardziej. Niech
˛ Ponadto, niech L : X × Y → R
X oznacza przestrzeń wejściowa˛ a Y przestrzeń wyjściowa.
b˛edzie funkcja,
˛ za pomoca˛ ktrej można mierzyć koszt danej hipotezy f : X → Y na parze
(x, y) ∈ X × Y. Niech ten koszt b˛edzie oznaczony za pomoca˛ φ((x, y), f ) := L(y, f (x)).
Oceniamy poprawność hipotezy f za pomoca˛ oczekiwanego ryzyka, obliczajac
˛ wartość oczekiwana˛ ze wzgl˛edu na g˛estość prawdopodobieństwa PX ×Y :
Z
R(f ) := E[L(Y, f (X))] = φ(z, f ) dP (z),
1
Opracowano na podstawie [8].
wersja  X 

Uniwersytet Kardynała Stefana Wyszyńskiego
1.3. DEFINITION
Systemy uczące się
gdzie z = (x, y), oraz P jest funkcja˛ g˛estości zmiennych losowych (X, Y ) na zbiorze X × Y.
Nasz problem możemy teraz sformułować w nast˛epujacy
˛ sposób: majac
˛ dane (xi , yi )ni=1 ,
∗
gdzie yi = f (xi ) + ei , gdzie ei jest szumem, znajdź
fˆ∗ := arg min R(f ),
f ∈F
gdzie F jest pewna˛ klasa˛ funkcji.
1.2.1
The Widrow-Hoff algorithm
wt+1 = wt − η ∂ w L(wt , (xt , yt )),
gdzie
L: M × X × Y → R
(1.2)
0.02
0.015
0.01
0.005
0
0
10
20
30
40
50
Step
Rysunek 1.2: bład
˛ zmniejsza si˛e w kolejnych krokach algorytmu Widrow-Hoff’a
1.2.2
1.3
The stochastic descent learning algorithm
Definition
ã Aktualne systemy informacyjne nie posiadaja˛ zdolności samokorekcji prostych bł˛edów
ã Rozwój systemów doradczych w wielu dziedzinach — nabywanie wiedzy dla systemów
eksperckich czy systemów z baza˛ wiedzy
ã Poszukiwanie informacji w „powodzi” danych — systemy odkryć wiedzy w bazach danych
ã Wzrost zastosowań techniki analizy danych, teorii decyzji, sztucznej inteligencji w wielu
komercyjnych dziedzinach oraz sferze badawczej
ã Budowanie inteligentnych systemów wyszukiwania i udost˛epniania informacji (także
Internet!)
ã Rozwój komputerowych systemów przetwarzania i rozpoznawania obrazów
Uniwersytet Kardynała Stefana Wyszyńskiego

wersja  X 
Systemy uczące się
1.4. RELATED FIELDS
target parameter
0.3
0.2
p2
0.1
0
0
0.1
0.2
0.3
p1
Rysunek 1.3: „uczenie si˛e jest reprezentowane za pomoca˛ krzywej zbliżajacej
˛ si˛e do punktu
optymalnego” — Amari
ã Prace nad rozumieniem ludzkiej mowy i przetwarzaniem j˛ezyka naturalnego
ã Zastosowania w robotyce i sterowaniu
ã Inteligentne systemy kompresji danych
ã Tworzenie inteligentnych systemów edukacyjnych
ã Post˛ep w budowie systemów współpracy człowiek — maszyna
ã Rozwój badań nad ludzkim poznawaniem i uczeniem si˛e
1.4
Related Fields
1.5
Some Basic Notation
1.6
Some Fundamental Types of Learning
Dwie grupy metod:
ã uczenie si˛e nadzorowane
ã uczenie si˛e nienadzorowane
wersja  X 

Uniwersytet Kardynała Stefana Wyszyńskiego
1.7. TRAINING REGIMES
1.6.1
Systemy uczące się
Uczenie nadzorowane (ang.. supervised learning)
System otrzymuje zbiór przykładów uczacych
˛
(learning examples) w postaci xi , yi i ma na
celu nauczyć si˛e funkcji f , takiej że f (xi ) = yi dla każdego i. Określona liczba wartości yi
— klasy (classes) lub klasy decyzyjne (decision classes). Dla pojedynczych klas (odnoszacych
˛
si˛e do pewnych poj˛eć) — definiuje si˛e przykłady pozytywne (odnoszace
˛ si˛e do tej klasy) i
negatywne (odnoszace
˛ si˛e do innych klas). Uczenie si˛e poj˛eć (ang. concept learning) — f jest
definicja/uogólnieniem
˛
poj˛ecia, które wyjaśnia przykłady pozytywne i wyklucza negatywne.
1.7
Training Regimes
??? (Batch Learning) All training data x = x1 , . . . , xn and targets t = t1 , . . . , tn
are given.
Learn a mapping from
xi to ti , which can then be applied to yet unseen data
x0 = x01 , . . . , x0m to find t0 = t01 , . . . , t0m .
Nauka On-Line (Online Processing) Pairs of (xi , ti ) become available one at a time. At
each step, learn and refine a mapping from xi to ti which can then be applied to yet unseen
data x0i .
1.8
Czasopisma oraz Konferencje
Czasopisma:
ã Journal of Machine Learning Research Machine Learning
ã IEEE Transactions on Pattern Analysis and Machine Intelligence
ã Neural Computation
ã Neural Networks
ã IEEE Transactions on Neural Networks
ã Annals of Statistics
ã Journal of the American Statistical Association
ã SIAM Journal on Applied Mathematics (SIAP)
Popularne konferencje:
ã Algorithmic Learning Theory (ALT)
ã Computational Learning Theory (COLT)
ã Uncertainty in Artifcial Intelligence (UAI)
ã Neural Information Processing Systems (NIPS)
ã European Conference on Machine Learning (ECML)
Uniwersytet Kardynała Stefana Wyszyńskiego

wersja  X 
Systemy uczące się
1.8. CZASOPISMA ORAZ KONFERENCJE
ã International Conference on Machine Learning (ICML)
ã International Joint Conference on Artificial Intelligence (IJCAI)
ã International Conference on Artificial Neural Networks (ICANN)
wersja  X 

Uniwersytet Kardynała Stefana Wyszyńskiego
ROZDZIAŁ

ĆWICZENIA 1 — WPROWADZENIE W ‘R’
2.1
Dlaczego ‘R’?
Środowisko do obliczeń ‘R’ jest dobrym programem dost˛epnym na wszystkich popularnych
platformach: Linux, Microsoft Windows i Mac OS. Jest to projekt GNU, a zatem bezpłatny z
dost˛epnym kodem źródłowym oraz posiada dobra˛ dokumentacj˛e. Posiada własny j˛ezyk programowania, który pozwala na szybkie pisanie własnych funkcji i dokonywania obliczeń na
wektorach i macierzach. Choć jest narz˛edziem przeznaczonym głównie dla statystyków, bardzo dobrze nadaje si˛e do nauki tego przedmiotu. Istnieja˛ też ogólnie dost˛epne biblioteki z
dziedziny nauczania maszynowego napisane w ‘R’. Dodam jeszcze, że urzeka w ‘R’ bardzo dobra kolorowa grafika i wbudowane komendy pozwalajace
˛ na obrazowanie danych w postaci
wykresów słupkowych, kołowych oraz histogramów.
W skrócie, wybór ‘R’ podyktowany jest przez:
ã Dost˛epność na wielu systemach operacyjnych
ã Dobra˛ grafik˛e
ã Wbudowane funkcje statystyczne
ã Wiele wyspecjalizowanych pakietów jest już dost˛epnych (CRAN)
Jak znaleźć potrzebne informacje w ‘R’
ã ?function
ã help.search("search string")
ã RSiteSearch("search string")
ã http://rseek.org/
Oprócz dużej literatury o ‘R’ w j˛ezyku angielskim, sa˛ także i polskie pozycje, [7] i [1].
Ponadto „Wprowadzenie do Środowiska R CRAN” jest dost˛epny z internetu
http://cran.r-project.org/doc/contrib/Komsta-Wprowadzenie.pdf
13
m
Systemy uczące się
2.2
2.2. REGRESJA ZA POMOCĄ WIELOMIANÓW
Regresja za pomoca˛ wielomianów
Zaczniemy od prostego przykładu,
do którego b˛edziemy jeszcze par˛e razy powracali. Generu
jemy dziesi˛eć punktów xi , yi rozłożonych wzdłuż krzywej sinusoidalnej lekko zaburzonych
poprzez „szum”. Szum jest symulowany za pomoca˛ rozkładu normalnego (rnorm).
l e n <− 10
x <− seq ( length=len , from=0, t o =1)
y <− s i n (2∗ p i ∗x ) + rnorm ( len , 0 , 0 . 0 6 )
Kod źródłowy 2.1: fragment generujacy
˛ punkty wzdłuż sinusoidy z szumem
W ‘R’ cz˛esto opisuje si˛e dane za pomoca˛ „ramki”, stad
˛ komenda data.frame w poniższym
przykładzie. Potrzebny nam b˛edzie dla porównania jeszcze jeden wi˛ekszy zbiór danych, 100
punktów rozłożonych dokładnie wzdłuż tej samej krzywej. Do wykreślania krzywych i punktów użyjemy plot i lines. Pierwsza komenda wymazuje poprzedni wykres, natomiast lines
pozwala dodawać krzywe do istniejacego
˛
już wykresu, Rysunek 2.1.
ds <− data . frame ( x = x , y = y )
s t r ( ds )
p l o t ( y ~ x , main = " Wykres z n a n e j f u n k c j i , z szumem " )
s <− seq ( 0 , 1 , length = 100)
l i n e s ( s , s i n (2∗ p i ∗ s ) , l t y = 1 , c o l = " green " )
Teraz jesteśmy gotowi do dopasowania wielomianów do punktów xi , yi . Zauważmy, że
to dopasowywanie, czyli regresja jest operacja˛ linowa.
˛ Regresja polega na znalezieniu odpowiednich wartości w1 , . . . , wM +1 w taki sposób, aby wielomian przybliżał dane punkty jak
najlepiej. Wiadomo, że potrzeba co najwyżej wielomianu stopnia M , aby przechodził on dokładnie przez M punktów, dlatego b˛edziemy eksperymentowali na wielomianach o niższych
stopniach. Użyjemy ‘R’ komendy lm do regresji, a predict do obliczania wartości dopasowanego wielomianu na nowych wartościach, Rysunek 2.1.
f i t 1 <− lm( y ~ x )
f i t 2 <− lm( y ~ poly ( x , 3 ) )
f i t 3 <− lm( y ~ poly ( x , 8 ) )
l i n e s ( s , p r e d i c t ( f i t 1 , data . frame ( x=s ) ) , c o l= ’ orange ’ )
l i n e s ( s , p r e d i c t ( f i t 2 , data . frame ( x=s ) ) , c o l= ’ g r e y ’ )
l i n e s ( s , p r e d i c t ( f i t 3 , data . frame ( x=s ) ) , c o l= ’ red ’ )
Kod źródłowy 2.2: dopasowywanie wielomianów
ã Co możemy zaobserwować przy zwi˛ekszaniu stopnia wielomianów?
ã Jak zachowuja˛ si˛e współczynniki wi przy rosnacych
˛
stopniach wielomianów?
wersja  X 

Uniwersytet Kardynała Stefana Wyszyńskiego
2.2. REGRESJA ZA POMOCĄ WIELOMIANÓW
Systemy uczące się
0.0
-1.0
-0.5
y
0.5
Wykres znanej funkcji, z szumem
0.0
0.2
0.4
0.6
0.8
1.0
x
Rysunek 2.1: Przybliżanie funkcji sin za pomoca˛ wielomianów w ‘R’
Uniwersytet Kardynała Stefana Wyszyńskiego

wersja  X 
ROZDZIAŁ

WYKŁAD 2 — PODSTAWY RACHUNKU PRAWDOPODOBIEŃSTWA
Zagadnienia
3.1 Prawdopodobieństwo
3.1
Prawdopodobieństwo
Jednym z głównych zagadnień w rozpoznawaniu obrazów jest poj˛ecie niepewności. Wynika
ona zarówno z bł˛edów pomiarowych jak i ze skończoności zbiorów danych. Teoria prawdopodobieństwa umożliwia opis ilościowy niepewności i w zwiazku
˛
z tym jest ona podstawa˛
rozpoznawania obrazów oraz klasyfikacji.
(a) czerwony
(b) niebieski
Rysunek 3.1: zawartość dwóch koszyków
Rozpoczniemy od podstawowych zagadnień teorii prawdopodobieństwa na przykładzie
dwóch rodzajów koszyków z owocami. Załóżmy, że mamy dwa koszyki: czerwony i niebieski.
W czerwonym koszyku, Rysunek 3.1a, znajduja˛ si˛e dwa jabłka i sześć bananów a w niebieskim
trzy jabłka i jeden banan, Rysunek 3.1b. Losowo wybieramy jeden z tych dwóch koszyków
a z wybranego wybieramy jeden owoc, także losowo. Powtarzajac
˛ ten proces wielokrotnie,
zmierzyliśmy, że wybieramy czerwony koszyk w 40% procentach przypadków a niebieski w
60%.
16
3.1. PRAWDOPODOBIEŃSTWO
Systemy uczące się
Zmienna losowa odpowiadajaca
˛ wybranemu koszykowi oznaczymy przez K, ktora może
przyjmować dwie wartości c — koszyk jest czerwony oraz n — koszyk jest niebieski. Podobnie zmienna losowa odpowiadajaca
˛ wybranemu owocowi b˛edzie oznaczona przez O, która
b˛edzie przyjmować dwie wartości: j — jabłko i b — banan.
Zdefiniujemy teraz prawdopodobieństwa, to jest proporcj˛e ilości razy wybrania czerwonego koszyka podzielona˛ przez ilość prób, w przypadku gdy ilość prób daży
˛ do nieskończoności. Zatem prawdopodobieństwo wybrania czerwonego koszyka jest równe 4/10. Formalnie
zapisujemy p(K = c) = 4/10. Podobnie w przypadku koszyka niebieskiego p(K = n) = 6/10.
Widać od razu że te prawdopodobieństwa sa˛ w przedziale (0, 1) oraz ich suma wynosi 1.
Y = yj+1
nij
Y = yj
Y = yj−1
X = xi−1
X = xi
X = xi+1
Rysunek 3.2: dystrybucja dwóch zmiennych
Rozważmy teraz ogólna˛ sytuacj˛e dwóch zmiennych losowych X i Y zilustrowana˛ na Rysunku 3.2. Niech całkowita ilość prób b˛edzie równa L. Załóżmy, że X może przyjmować jedna˛
z wartości xi , dla i = 1, . . . , M , a Y może przyjmować jedna˛ z wartości yj , dla j = 1, . . . , N .
Niech ci oznacza liczb˛e prób gdzie X = xi , niezależnie od wartości Y . Podobnie, rj oznacza
liczb˛e prób gdzie Y = yj , niezależnie od wartości X.
Prawdopodobieństwo przypadku kiedy X przyjmuje wartość xi i jednocześnie Y przyjmuje wartość yj oznaczane jest p(X = xi , Y = yj ) i nazywane jest prawdopodobieństwem
łacznym
˛
(ang.. joint probability). Jest ono równe ilorazowi obserwacji przyporzadkowanych
˛
komórce (i, j)
nij
p(X = xi , Y = yj ) =
.
L
Podobnie, prawdopodobieństwo, że X przyjmie wartość xi równa jest ilości punktów w kolumnie i, a wi˛ec
ci
p(X = xi ) = .
L
Skoro ilość przypadków
w kolumnie i jest równa sumie punktów każdej komórce z tej koP
lumny wi˛ec ci = N
n
. Dzielac
˛ obie strony tej równości przez L dostajemy
ij
j=1
N
N
j=1
j=1
X
ci X nij
p(X = xi ) =
=
=
p(X = xi , Y = yj ).
L
L
Uniwersytet Kardynała Stefana Wyszyńskiego

(3.1)
wersja  X 
Systemy uczące się
3.1. PRAWDOPODOBIEŃSTWO
Cz˛esto p(X = xi ) nazywane jest prawdopodobieństwem brzegowym.
Z drugiej strony, jeśli weżmiemy pod uwag˛e tylko te przypadki dla których X = xi wtedy
ułamek przypadków kiedy Y = yj zapisuje si˛e jako p(Y = yj | X = xi ) i nazywa si˛e prawdopodobieństwem warunkowym tego, że Y = yj pod warunkiem, że zajdzie zdarzenie X = xi .
Odpowiada ono ułamkowi punktów, które sa˛ w kolumnie i, a znalazły si˛e w komórce (i, j)
p(Y = yj | X = xi ) =
nij
.
ci
Z powyższych równań wynika, że
p(X = xi , Y = yj ) =
nij
nij ci
· = p(Y = yj | X = xi ) · p(X = xi ).
=
L
ci L
(3.2)
Zależnośc ta nazywana jest prawdopodobieństwem iloczynu zdarzeń. Jeśli p(X = xi , Y =
yj ) = p(X = xi ) · p(Y = yj ) to zdarzenia te nazywaja˛ si˛e niezależnymi.
Ponieważ prawdopodobieństwo łaczne
˛
jest symetryczne p(X, Y ) = p(Y, X) wi˛ec z powyższych zależności otrzymujemy relacj˛e mi˛edzy prawdopodobieństwami zależnymi
p(Y | X) =
p(X | Y ) · p(Y )
p(X)
(3.3)
zwana˛ twierdzeniem Bayesa.
Powróćmy teraz do przykładu owoców z poczatku
˛
tego rozdziału zilustrowanego Rysunkiem 3.1. Widzieliśmy, że prawdopodobieństwo wybrania losowo koszyka niebieskiego równa
si˛e p(K = n) = 4/10 a czerwonego p(K = c) = 6/10. Zauważmy, że suma tych prawdopodobieństw równa si˛e jeden p(K = n) + p(K = c) = 1. Załóżmy, że wybieramy losowo koszyk,
który okazuje si˛e koszykiem niebieskim. W takim razie prawdopodobieństwo wyciagni˛
˛ ecia
jabłka z tego koszyka równa jest proporcji jabłek do wszystkich owoców w tym koszyku,
czyli p(O = j | K = n) = 3/4. W podobny sposób możemy policzyć wszystkie 4 prawdopodobieństwa warunkowe. Zauważmy przy tym, że wszystkie te prawdopodobieństwa sa˛
znormalizowane
p(O = b | K = c) + p(O = j | K = c) = 1
oraz
p(O = b | K = n) + p(O = j | K = n) = 1.
Za pomoca˛ powyższych reguł (3.1) i (3.2) możemy obliczyć całkowite prawdopodobieństwo
wyciagni˛
˛ ecia jabłka
p(O = j) = p(O = j | K = c) · p(K = c) + p(O = j | K = n) · p(K = n)
2 6
3 4
3
3
9
= ·
+ ·
=
+
= .
8 10 4 10
20 10
20
Podobnie możemy obliczyć prawdopodobieństwo wyciagni˛
˛ ecia banana p(O = b) = 1 − p(O =
j) = 11/20.
Odwrotnie, załóżmy że wyciagni˛
˛ eto losowano banana i zadaniem naszym jest określić z
którego koszyka ono pochodzi. Aby móc określić prawdopodobieństwa czy owoc pochodzi z
koszyka czerwonego czy niebieskiego potrzeba jest obliczyć prawdopodobieństwa wzgl˛edne
w zależności od rodzaju owoca. Z twierdzenia Bayesa (3.3) wynika
p(K = c | O = j) =
wersja  X 
p(O = j | K = c) · p(K = c)
2 6 20
1
= ·
·
= .
p(O = j)
8 10 9
3

Uniwersytet Kardynała Stefana Wyszyńskiego
3.1. PRAWDOPODOBIEŃSTWO
Systemy uczące się
Według tej samej formuły wynika, że p(K = n | O = j) = 1 − p(K = c | O = j) = 2/3.
Możemy teraz podać nast˛epujac
˛ a˛ interpretacj˛e twierdzenia Bayesa. Jeśli mielibyśmy określić prawdopodobieństwa który z koszyków został wybrany zanim wyciagni˛
˛ eto z niego owoc,
wtedy jedyna˛ informacj˛e jaka˛ posiadamy to p(K). Dlatego p(K) nazywa si˛e prawdopodobieństwem a priori. Natomiast, jeśli wiemy że wyciagni˛
˛ eto z koszyka któryś z owoców, wtedy
z twierdzenia Bayesa możemy obliczyć p(K | O), które nazywa si˛e prawdopodobieństwem
a posteriori. Zauważmy, że w powyższym przypadku, bez znajomości wyciagni˛
˛ etego owocu,
prawdopodobieństwo a priori, że wybrano koszyk czerwony jest równe 6/10. Natomiast gdy
znany jest wyciagni˛
˛ ety rodzaj owocu, jabłko, to wtedy prawdopodobieństwem a posteriori
wynosi zaledwie 1/3. Zatem wynik zależy w dużym stopniu od rodzaju owocu, to znaczy, że
dwie zmienne losowe K oraz O sa˛ od siebie zależne. Gdyby zmienne K i O były niezależne,
to wtedy było by p(K | F ) = p(K).
Uniwersytet Kardynała Stefana Wyszyńskiego

wersja  X 
ROZDZIAŁ

ĆWICZENIA 2 — ANALIZA BŁEDÓW
˛
PRZYBLIŻENIA W ‘R’
4.1
Regresja za pomoca˛ wielomianów
Kontynuujemy temat z poprzednich zaj˛eć. Zobaczymy bliżej jak regresja działa w praktyce.
Najpierw wygenerujemy punkty i narysujemy krzywa,
˛ wzdłuż której sa˛ one rozłożone.
l e n <− 10
x <− seq ( length=len , from=0, t o =1)
y <− s i n (2∗ p i ∗x ) + rnorm ( len , 0 , 0 . 5 )
ds <− data . frame ( x = x , y = y )
p l o t ( y ~ x , main = " S i n u s o i d a z szumem " )
s <− seq ( 0 , 1 , length = 100)
l i n e s ( s , s i n (2∗ p i ∗ s ) , l t y = 1 , c o l = " green " )
Najprościej w ‘R’ można obliczyć regresj˛e za pomoca˛ komend lm oraz poly.
f i t 3 <− lm( y ~ poly ( x , 3 , raw=TRUE) )
f i t 8 <− lm( y ~ poly ( x , 8 , raw=TRUE) )
coef ( f i t 3 )
coef ( f i t 8 )
Kod źródłowy 4.1: regresja za pomoca˛ wielomianów
Każdy wielomian stopnia M daje si˛e napisać jako
fM (x) =
M
+1
X
wi xi−1 .
i=1
Wielomian stopnia 3 można zdefiniować nast˛epujaco
˛
fun c <− f u n c t i o n ( h ,w) {
out <− (w[1]+w[ 2 ] ∗h+w[ 3 ] ∗h^2+w[ 4 ] ∗h^3)
return <− out
}
Kod źródłowy 4.2: wielomian 3-go rz˛edu
20
4.1. REGRESJA ZA POMOCĄ WIELOMIANÓW
Systemy uczące się
i obliczyć jego wartość za pomoca˛ komendy (func(2,c (0.1,0.2,0.3,0.4) )). Regresja jest przykładem optymalizacji, bowiem chodzi o wybór
najlepszego wielomianu, który jak najbliżej
przebiega wzdłuż podanych punktów xi , yi . Niech E b˛edzie funkcja˛ bł˛edu określajac
˛ a˛ jak
dobrze funkcja f przybliża si˛e do danych punktów
N
E(w) =
2
1X
f (xi , w) − yi .
2
(4.1)
i=1
Zadanie 4.1: Porównaj regresj˛e lm z optymalizacja˛ funkcji bł˛edu (4.1) za pomoca˛ wielomianu określonego stopnia.
Rozwiazanie:
˛
Wybierzmy wielomian trzeciego stopnia. Zakładamy, że dane x, y , func oraz
fit3 sa˛ już zdefiniowane.
#
# d e f i n c j a f u n k c j i bledu error
e r r o r <− f u n c t i o n (w) {
out <− sum( ( fu nc ( x ,w)−y )^2)
return <− out
}
#
# p r z y k l a d wywolania f u n k c j i e r r o r
( error (c (0.1 ,0.2 ,0.3 ,0.4) ) )
#
# przyklad optymalizacji w R
optim ( par=c ( 0 , 0 , 0 , 0 ) , f n=e r r o r , gr = NULL , method = c ( " BFGS " ) , lower = −I n f ,
upper = I n f )
$par
[ 1 ] 0.58134917 0.23299657 −0.14437023 0.01338987
#
# wbudowana o p t y m a l i z a c j a l i n i o w a
coef ( f i t 3 )
( I n t e r c e p t ) poly ( x , 3 , raw = TRUE) 1 poly ( x , 3 , raw = TRUE) 2
poly ( x , 3 ,
raw = TRUE) 3
0.58134917
0.23299658
−0.14437024
0.01338987
Kod źródłowy 4.3: optymalizacja funkcji bł˛edu oraz regresja
Widzimy wi˛ec, że obydwie metody daja˛ ten sam wynik. W tym przypadku wspólczynniki
wielomianu trzeciego stopnia sa˛ dane przez
w1
w2
w3
w4
Uniwersytet Kardynała Stefana Wyszyńskiego
0.58134917
0.23299657
-0.14437023
0.01338987

wersja  X 
ROZDZIAŁ

WYKŁAD 3 — RACHUNEK PRAWDOPODOBIEŃSTWA I PODSTAWY
ALGEBRY LINIOWEJ
Zagadnienia
5.1 G˛
estość Prawdopodobieństwa
5.2 Wartość Oczekiwana
5.3 Prawdopodobieństwo Bayesa
5.4 Podstawy Algebry Liniowej
5.1
G˛
estość Prawdopodobieństwa
Cz˛esto rozważać b˛edziemy zagadnienia zwiazane
˛
ze zmienna˛ losowa,
˛ która jest należy do
zbioru ciagłego
˛
(rozkład ciagły),
˛
zamiast dyskretnego, tak jak to rozważaliśmy w Rozdziale 3.
y
p(x)
P (x)
δx
x
Rysunek 5.1: prawdopodobieństwo p(x) zmiennej ciagłej
˛
x oraz odpowiadajaca
˛ jemu dystrybuanta P (x)
22
5.2. WARTOŚĆ OCZEKIWANA
Systemy uczące się
Załóżmy, że prawdopodobieństwo zmiennej rzeczywistej x znajdujacej
˛ si˛e w przedziale
(x, x + δx) wynosi p(x) δx, dla δx → 0. Wtedy p(x) nazywa si˛e g˛estościa˛ prawdopodobieństwa
zmiennej x, zobacz Rysunek 5.1. Prawdopodobieństwo, że x leży w przedziale (a, b) dane jest
Zb
p(x ∈ (a, b)) =
p(x) dx.
a
Ponieważ prawdopodobieństwa sa˛ nieujemne a wartość x leży gdzieś w przedziale (−∞, ∞),
g˛estość prawdopodobieństwa zawsze spełnia dwa warunki
Z∞
p(x) ≥ 0
oraz
p(x) dx = 1.
−∞
Prawdopodobieństwo zdarzenia: x leży w przedziale (−∞, z) dane jest poprzez dystrybuant˛e
P (z) zdefiniowana˛ jako
Zz
p(x) dx.
P (z) =
−∞
Powyższe definicje naturalnie uogólniaja˛ si˛e do zmiennych wielowymiarowych,
wektorów
losowych x ∈ RD w nast˛epujacy
˛ sposób. Jeśli x = x1 , . . . , xD to g˛estość prawdopodobieństwa łacznego
˛
definiuje si˛e poprzez p(x) = p(x1 , . . . , xD ). Wielowymiarowa g˛estość spełnia
te same warunki co g˛estość jednowymiarowa
Z
p(x) ≥ 0 oraz
p(x) dx = 1,
RD
gdzie całkowanie odbywa si˛e po całej przestrzeni wielowymiarowej zmiennej x. Formalnie
mówi si˛e o mierze oraz funkcjach Borela, ponieważ rachunek prawdopodobieństwa jest ściśle
zwiazana
˛
z teoria˛ miary.
Reguła sumowanie, mnożenia oraz twierdzenie Bayesa stosuja˛ si˛e także do g˛estości prawdopodobieństwa. Dla przykładu, dla zmiennych ciagłych
˛
x i y zachodza˛
Z
p(x) = p(x, y) dy oraz p(x, y) = p(y | x) · p(x).
Zauważmy też, że całkowanie jest operatorem liniowym.
5.2
Wartość Oczekiwana
Jedna˛ z najistotniejszych operacji w rachunku prawdopodobieństwo jest obliczanie średnich
ważonych funkcji. W obecności funkcji g˛estości prawdopodobieństwa p, przeci˛etna funkcji f
nazywa si˛e wartościa˛ oczekiwana˛ zdefiniowana˛ jako
Z
E[f ] = f (x) p(x) dx.
Uniwersytet Kardynała Stefana Wyszyńskiego

wersja  X 
Systemy uczące się
5.2. WARTOŚĆ OCZEKIWANA
W tej cz˛eści ograniczymy si˛e tylko do przypadku rozkładu ciagłego.
˛
Wzory dla rozkładu
dyskretnego sa˛ identyczne, jeśli zamienić całk˛e na sum˛e. W każdym razie, jeśli mamy skończona˛ ilość N punktów wybranych losowo zgodnie z funkcja˛ g˛estości prawdopodobieństwa,
to wtedy wartościa˛ oczekiwana˛ można przybliżyć za pomoca˛ skończonej sumy
N
1 X
E[f ] ≈
f (xi ).
N
i=1
Zauważmy, że wartość oczekiwana jest operatorem liniowym, to znaczy
E[a · f + b · g] = a · E[f ] + b · E[g],
dla dowolnych stałych a, b ∈ R.
Dla funkcji wielu zmiennych f (x, y) definiujemy wartość oczekiwana
Z
Ex [f (x, y)] = f (x, y) p(x) dx.
(5.1)
(5.2)
Funkcja Ex [f (x, y)] jest funkcja˛ y. Podobnie definiujemy warunkowa˛ wartość oczekiwana
funkcji jednej zmiennej f (x)
Z
Ex [f | y] = f (x) p(x | y) dx.
Funkcja Ex [f | y] jest funkcja˛ y.
Zastanówmy si˛e czym jest E[E[f (x) | y]]? Oznaczać to może jedynie Ey [Ex [f (x) | y]].
Mamy
Z
Z
Z
Ey [Ex [f (x) | y]] = Ex [f (x) | y] p(y) dy = p(y) p(x | y)f (x) dx
Z Z
Z
=
f (x) p(x, y) dx dy = f (x) p(x) dx
= Ex [f (x)].
Wariancj˛e definiuje si˛e za pomoca˛ var[f ] = E[(f − E[f ])2 ]. Inaczej var[f ] można zapisać
jako
var[f ] = E[(f − E[f ])2 ] = E[f 2 − 2f E[f ] + E[f ]2 ]
= E[f 2 ] − 2 E[f ] · E[f ] + E[f ]2 = E[f 2 ] − E[f ]2 ,
gdzie skorzystaliśmy z właściwości (5.1).
Kowariancj˛e dwóch zmiennych losowych x ∈ R i y ∈ R definiujemy jako
cov[x, y] = Ex,y [(x − Ex)(y − E[y])] = Ex,y [xy] − E[x] E[y].
Pokażemy ostatnia˛ równość. Oznaczmy E[x] = a oraz E[y] = b, wtedy
cov[x, y] = Ex,y [(x − a)(y − b)]
= Ex,y [xy] − Ex,y [xb] − Ex,y [ay] + Ex,y [ab]
= Ex,y [xy] − b Ex,y [x] −a Ex,y [y] +ab Ex,y [1]
| {z }
| {z }
Ex [x]
Ey [y]
= Ex,y [xy] − ba − ab + ab = Ex,y [xy] − E[x] E[y].
Kowariancja określa jak bardzo zmienne x i y sa˛ ze soba˛ zwiazane.
˛
Jeśli x i y sa˛ losowo
niezależne to kowariancja znika cov[x, y] = 0.
wersja  X 

Uniwersytet Kardynała Stefana Wyszyńskiego
5.3. PRAWDOPODOBIEŃSTWO BAYESA
Systemy uczące się
Rysunek 5.2: G˛estość prawdopodobieństwa Gaussa dla 2-wymiarowego wektora losowego
5.3
Prawdopodobieństwo Bayesa
G˛estość prawdopodobieństwa Gaussa opisana jest funkcja˛
1
(x − µ)2
N (xn | µ, σ 2 ) = √ exp −
2σ 2
σ 2π
!
.
(5.3)
√ −1
R
Dziwna stała σ 2π
jest tak dobrana abby N (xn | µ, σ 2 ) dx = 1. Ławo sprawdzić, że
wartość oczekiwana E[x] = µ oraz wariancja var[x] = σ 2 .
Dla wielowymiarowych wektorów losowych x g˛estość prawdopodobieństwa Gaussa, Rysunek 5.2, wyrażana jest poprzez
1
1
T −1
N (x | µk , Σk ) =
exp − (x − µ) Σ (x − µ) .
√
2
(2π)D/2 det Σ
W praktyce cz˛esto zakłada si˛e, że zmienne losowe niezależne o identycznym rozkładzie (ang.
independant and identically drawn). W takim przypadku, rozkład wielowymiarowy daje si˛e
łatwo sprowadzić do prostej postaci
2
p(x | µ, σ ) =
N
Y
N (xn | µ, σ 2 )
n=1
wtedy “logarytmiczna funkcja wiarygodności” jest dana poprzez
N
2 N
1 X
N
ln p(x | µ, σ ) = − 2
xn − µ −
ln σ 2 −
ln(2π).
2σ
2
2
2
n=1
Dla oszacowania parametrów µ oraz σ 2 szukamy wartości maksymalizujacych
˛
ln p(x | µ, σ 2 ).
2 jest by pochodne czastkowe
Kryterium na istnienie minimum dla µML oraz σML
˛
tej funcji
zerowały si˛e. To jest
N
∂
1 X
2 0=
ln p(x | µ, σ )
=− 2
xn − µML
∂µ
σ
µ=µML
n=1
Uniwersytet Kardynała Stefana Wyszyńskiego

wersja  X 
Systemy uczące się
oraz
5.3. PRAWDOPODOBIEŃSTWO BAYESA
N
2
∂
1 X
N
2 ln p(x | µ, σ )
xn − µ − 2 .
0=
=
2
2
2
∂σ
2σ
2
2 (σ ) n=1
σ 2 =σML
W rezultacie widzimy, że funkcja prawdopodobieństwa Gaussa (5.3) osiaga
˛ swoje maksimum
2 , gdzie
dla parametrów µML i σML
µML
N
1 X
=
xn
N
2
σML
oraz
N
2
1 X
xn − µML .
=
N
n=1
i=1
2 nie jest najkorzystniejszym. Rozpatrzmy
Warto dodać jeszcze, że estymator wariancji σML
prób˛e x1 , x2 , . . . , xN z wartościa˛ oczekiwana˛ E[xi ] = µ oraz var[xi ] = σ 2 . Estymator jest
nieobciażony,
˛
jeśli wartość oczekiwana rozkładu estymatora jest równa wartości szacowanego parametru E[θ̂] = θ. Różnica pomi˛edzy wartościa˛ oczekiwana˛ rozkładu estymatora a
wartościa˛ szacowanego parametru E[θ̂] − θ nazywamy obciażeniem
˛
estymatora a estymator
2
nazywamy obciażonym.
˛
Pokażemy, że σ jest estymatorem obciażonym.
˛
Policzmy wartość
oczekiwana˛ dla powyższej próby. Otóż
N
X
(xi − E[xi ])2 =
i=1
N
X
N
X
x2i − 2xi E[xi ] + E[xi ]2 =
x2i − N E[xi ]2 .
i=1
i=1
Zatem wartość oczekiwana
N
N
N
N
X
X
X
X
2
2
2
2
2
E[ (xi − E[xi ]) ] = E[
xi − N E[xi ] ] =
E[xi ] − N E[E[xi ] ] =
E[x2i ] − N E[µ2 ].
i=1
i=1
i=1
i=1
Ponieważ wartość E[x2i ] jest identyczna dla każdego i a wariancja var[x] = E[x2 ] − E[x]2
zatem E[x2i ] = σ 2 + µ2 . Podobnie var[µ2 ] = σ 2 /N . Zatem
N
X
E[ (xi − E[xi ])2 ] = N σ 2 + µ2 − N σ 2 /N + µ2 = (N − 1) σ 2 .
i=1
Ostatecznie zatem widzimy, że dla prawdopodobieństwa Gaussa
E[µML ] = µ
2
E[σML
]=
oraz
N −1 2
σ .
N
Powrócimy teraz po raz kolejny do regresji krzywej za pomoca˛ wielomianów. Celem regre-
sji jest by móc przewidzieć wartość
funkcji dla nowej wartości x znajac
˛ wyniki t = t1 , . . . , tN
dla wartości x = x1 , . . . , xN . Obliczymy niepewność przewidywanej wartości t za pomoca˛
rachunku prawdopodobieństwa. Założymy, że majac
˛ zadana˛ wartość x, odpowiadajaca
˛ jej
wartość t ma rozkład normalny o wartości oczekiwanej y(x, w). Zatem
p(t | x, w, β) = N (t | y(x, w), β −1 ),
(5.4)
gdzie β odpowiada odwrotności wariancji g˛estości prawdopodobieństwa. Teraz, znajac
˛ wartości x oraz t, oszacujemy nieznane parametry w i β metoda˛ funkcji niepewności. Mamy
p(t | x, w, β) =
N
Y
N (ti | y(xi , w), β −1 ).
i=1
wersja  X 

Uniwersytet Kardynała Stefana Wyszyńskiego
5.3. PRAWDOPODOBIEŃSTWO BAYESA
Systemy uczące się
Jak już widzieliśmy wcześniej, znacznie łatwiej jest pracować z logarytmem tej funkcji
ln p(t | x, w, β) = −
N
2 N
βX
N
y(xi , w) − ti +
ln β −
ln(2π).
2
2
2
i=1
Widzimy, że szukanie maksimum logarytmicznej funkcji wiarygodności równoważne jest szukania minimum funkcji kwadratowej, identycznej z funkcja˛ kosztu która˛ używaliśmy przy
regresji (4.1)
E(w) =
N
X
2
y(xi , w) − ti .
i=1
Używajac
˛ znanych już metod możemy znaleźć minimalizujac
˛ a˛ wartość β
2
1
1
=
y(xi , wML ) − ti .
βML
N
W tym momencie możemy oszacować niepewność przewidywanej wartości t podstawiajac
˛
do (5.4) oszacowane parametry
−1
).
p(t | x, wML , βML ) = N (t | y(x, wML ), βML
Krokiem w kierunku podejścia Bayessowskiego jest wprowadzenie g˛estości a priori na współczynniki w. Dla ułatwienia załóżmy, że
p(w | α) = N (w | 0, α−1 I) =
α (M +1)/2
α
exp − kwk2 .
2π
2
Tutaj α jest niezależnym parametrem a M +1 pochodzi stad,
˛ że wielomian stopnia M ma M +
1 niezależnych współczynników w. Z twierdzenia Bayesa możemy oszacować niepewność
oszacowania
p(w | x, t, α, β) ∝ p(t | x, w, β) · p(w | α).
Teraz możemy oszacować najbardziej prawdopodobna˛ wartość w poprzez powyższa˛ maksymalizacj˛e niepewności, lub minimalizować logarytmiczna˛ wiarygodność. Łatwo znajdujemy,
że odpowiada to minimum
N
2 α
βX
y(xi , w) − ti + kwk2 .
2
2
i=1
W powyższych rozważaniach, mimo że wprowadziliśmy g˛estość prawdopodobieństwa a priori
p(w | α), w dalszym ciagu
˛ nie jest to pełne podejście Bayesa. Należy wyeliminować oszacowania na w poprzez jego całkowanie. Rozkład przepowiadanej wartości t wynosi w takim
przypadku
Z
p(t | x, x, t) = p(t | x, w, β) · p(w | x, t, α, β) dw.
Uniwersytet Kardynała Stefana Wyszyńskiego

wersja  X 
Systemy uczące się
5.4
5.4. PODSTAWY ALGEBRY LINIOWEJ
Podstawy Algebry Liniowej
Wektory: Przypomnijmy sobie kilka faktów zwiazanych
˛
z przestrzeniami linowymi, czyli
przestrzeniami wektorowymi, które b˛eda˛ użyteczne w nauzaniu maszynowym.
Wektor jest obiektem dla którego określona jest operacja dodawania i mnożenia przez
skalar. Przestrzeń w której istnieja˛ te obiekty nazywa si˛e przestrzenia˛ wektorowa.
˛ Dla przyD
kładu, D-wymiarowa przestrzeń Euklidesowa R jest przestrzenia˛ wektorowa˛ o skończonym
wymiarze D. Obiektami sa˛ wektory wyrażone poprzez D współrz˛ednych. Utożsamiamy te
obiekty z ich D współrz˛ednymi
u ∈ RD
gdzie
u = u1 , u2 , . . . , uD .
Oczywiście suma wektorów u = u1 , u2 , . . . , uD oraz v = v1 , v2 , . . . , vD , i mnożenie wektora przez skalar a ∈ R sa˛ określone poprzez
u + v = u1 + v1 , u2 + v2 , . . . , uD + vD
oraz a · u = au1 , au2 , . . . , auD .
W przestrzeni wektorowej definiuje si˛e iloczyn skalarny
u, v =
D
X
ui vi ∈ R.
i=1
Czasem stosuje si˛e inne notacje,
przyjmuj
ac
˛ że wektor jest tablica˛ D×1-wymiarowa,
˛ to znaczy
jest jedna˛ kolumna.
˛ Wtedy u, v = uT ·v, gdzie kropka ‘·’ oznacza mnożenie macierzy. Warto
pami˛etać, że iloczyn skalarny jest operacja˛ dwu-liniowa˛ i symetryczna.
˛ To jest
u, v = v, u
oraz
a · u + b · v, w = a u, w + b v, w .
Dodatkowo określa si˛e norm˛e (długość) wektorów kuk poprzez
kuk2 = u, u .
Widzimy, że dla każdego u ∈ RD zachodzi kuk ≥ 0 i kuk = 0 wtedy i tylko wtedy gdy u = 0.
Macierze: Cz˛esto b˛edziemy używali macierzy. Z jednej strony macierze sa˛ to odwzorowania
0
przestrzeni wektorowych, to znaczy D × D0 -macierz A odwzorowuje A : RD → RD . Innymi
słowy, A przyporzadkowuje
˛
wektorowi u ∈ RD przestrzeni wektorowej RD , wektor v = Au ∈
0
0
RD przestrzeni wektorowej RD . Z drugiej strony, zbiór D × D0 -macierzy również należa˛
0
do przestrzeni liniowej RD×D . To znaczy, że określone sa˛ dodawanie macierzy i mnożenie
macierzy przez skalar. Iloczyn skalarny jest zdefiniowany poprzez operacj˛e śladu ‘tr’ macierzy
kwadratowych
D
X
1
A, B = tr(B T A), gdzie tr(C) =
Cii .
2
i=1
Cz˛esto b˛edziemy dwóch własności operacji śladu
tr(A · B) = tr(B · A)
wersja  X 
oraz

tr(A) = tr(AT ).
(5.5)
Uniwersytet Kardynała Stefana Wyszyńskiego
5.4. PODSTAWY ALGEBRY LINIOWEJ
Systemy uczące się
Wynikaja˛ one natychmiastowo z definicji tr. Zauważmy jeszcze, że każda˛ macierz A można
rozłożyć na sum˛e dwóch macierzy: symetrycznej i antysymetrycznej
A = As + Aa ,
gdzie AsT = As
oraz AaT = −Aa .
Łatwo zauważyć, że takie macierze zawsze istnieja˛ i dane sa˛
As =
1
A + AT
2
oraz
Aa =
1
A − AT .
2
Zauważmy, że As i Aa sa˛ do wzajemnie do siebie ortogonalne, As ⊥ Aa , to znaczy As , Aa =
0. Rzeczywiście, korzystajac
˛ z własności śladu (5.5) zachodzi
1
1
As , Aa = tr(AaT As ) = tr(As AaT ) = AaT , AaT = − Aa , As .
2
2
s a
s a
s a
Zatem A , A = − A , A wi˛ec A , A = 0.
Na koniec podajmy jeszcze ważna˛ własność iloczynu skalarnego dotyczacego
˛
macierzy
u, Av = AT u, v ,
dla każdej pary wektorów u i v oraz macierzy A o takich wymiarach, dla których mnożenie
ma sens. Powyższa własność definiuje operacj˛e transpozycji macierzy A.
Wartości własne: Każda symetryczna macierz kwadratowa A ∈ RD×D posiada rzeczywista˛
własność własna˛ λ ∈ R, to znaczy, że istnieja˛ takie λ ∈ R oraz wektor własny u ∈ RD takie, że
Au = λu.
Powstaje pytanie, ile najwi˛ecej wartości własnych macierz A może posiadać? Z powyższego
warunku wynika że
(A − λI) u = 0.
Aby to równanie miało rozwiazanie,
˛
potrzeba by wyznacznik det(A−λI) = 0. Ale det(A−λI)
jest wielomianem stopnia D ze wzgl˛edu na λ, zatem posiada on co najwyż ej D rozwiazań
˛
rzeczywistych.
Niech λi , λj b˛eda˛ dwoma wartościami własnymi symetrycznej macierzy A i niech ui , uj
b˛eda˛ odpowiadajacymi
˛
im wektorami właściwymi. Wtedy
ui , Auj = ui , λj uj = λj ui , uj
i jednocześnie, ponieważ A jest symetryczna
ui , Auj = AT ui , uj = Aui , uj = λi ui , uj = λi ui , uj .
Stad
˛ wynika, że
(λi − λj ) ui , uj = 0.
(5.6)
Zatem, jeśli λi 6= λj to ich wektory własne ui i uj sa˛ do siebie ortogonalne, ui ⊥ uj .
Uniwersytet Kardynała Stefana Wyszyńskiego

wersja  X 
Systemy uczące się
5.4. PODSTAWY ALGEBRY LINIOWEJ
Pochodne: Na koniec tego przypomnienia, zobaczymy jak można obliczać pochodne kierunkowe operacji na macierzach. Traktujemy tutaj macierze jako elementy przestrzeni wektorowych. Przypomnijmy, że pochodna kierunkowa funkcji f : RD → R w punkcie X ∈ RD w
kierunku wektora ξ ∈ RD jest określona jako
∂
1
df (X)(ξ) =
f (X + s · ξ)
= lim f (X + s · ξ) − f (X) .
s→0 s
∂s
s=0
Pochodna df (X) jest liniowym przybliżeniem funkcji f w punkcie X. Wobec tego, dla funkcji
linowych, pochodna jest dokłdnie ta˛ sama˛ funkcja,
˛ ale zdefiniowana˛ dla ξ. Na przykład, niech
T
dana jest funkcja f (X) = tr(X CX), wtedy według definicji pochodnej kierunkowej
1
tr((X + s · ξ)T C(X + s · ξ)) − tr(X T CX)
s→0 s
1
= lim tr((X T + s · ξ T )C(X + s · ξ)) − tr(X T CX)
s→0 s
1
= lim tr(X T CX + s · ξ T CX + X T Cs · ξ + s · ξ T Cs · ξ) − tr(X T CX)
s→0 s
= tr(ξ T CX + X T Cξ) = tr X T C T + C ξ .
df (X)(ξ) = lim
Zwiazany
˛
z pochodna˛ kierunkowa˛ df jest gradient
df (X)(ξ) = gradf (X), ξ .
W powyższym przykładzie
gradf (X), ξ = df (X)(ξ) = tr X T C T + C ξ = 2 X T C T + C , ξ .
Stad
˛ wynika, że gradf (X) = 2X T C T + C .
wersja  X 

Uniwersytet Kardynała Stefana Wyszyńskiego
ROZDZIAŁ

ĆWICZENIA 3 — ANALIZA BŁEDÓW
˛
PRZYBLIŻENIA W ‘R’
Kontynuujemy zagadnienie regresji nieznanej funkcji za pomoca˛ wielomianów. Tutaj główny
nacisk jest położony na optymalizacj˛e. To znaczy, majac
˛ dane „treningowe” — zbiór par
{(xi , yi )}, gdzie 0 ≤ i ≤ N , zadanie polega na znalezienie takich współczynników wj wielomianu fM (x, w) aby zminimalizować dana˛ funkcj˛
e bł˛edu. W efekcie tej optymalizacji dostajemy wybrany wektor w? = w1 , . . . , wM +1 ∈ RM +1 a przez to wybrany wielomian
fM (x, w? ). Chcemy teraz porównać, jak dobrze wielomiany fM (x, w? ), dla różnych M , przybliżaja˛ nieznana˛ funkcj˛e fˆ za pomoca˛ której dane treningowe {(xi , yi )} zostały wygenerowane.
6.1
Regresja za pomoca˛ wielomianów
Zróbmy analiz˛e przybliżania danej funkcji, w tym wypadku sin, za pomoca˛ wielomianów
różnych stopni. Zapiszmy wielomian stopnia M w postaci
fM (x, w) =
M
+1
X
wi xi−1 ,
gdzie
x∈R
oraz w ∈ RM +1 .
i=1
Zwróćmy uwag˛e, że fM (x, w) zależy od w w sposób liniowy. Niech E b˛edzie funkcja˛ bł˛edu
dana˛ poprzez
N
2
1X
E(w) =
f (xi , w) − yi .
(6.1)
2
i=1
Zadanie 6.1: Zadanie podzielone jest na punkty.
ã Wygeneruj 10 punktów wzdłuż krzywej sin z szumem pochodzacym
˛
z rozkładu normalnego N (0, 0.5), o średniej 0 i wariancji 0.5.
ã Dokonaj regresji wielomianami o stopniach M = 1, 2, . . . , 7 uzyskujac
˛ 7 różnych wartości w? . Dla wielomianów wyższych stopni 8 i 9 standardowe metody optymalizacji sa˛
rozbieżne i nie daja˛ poprawnego rozwiazania.
˛
31
Systemy uczące się
6.1. REGRESJA ZA POMOCĄ WIELOMIANÓW
ã Dla każdego stopnia wielomianu z wyznaczonym w? oblicz i wykreśl przeci˛etny bład,
˛
określony za pomoca˛ funkcji “root-mean square”
p
ERMS = 2E(w? )/N
dla N = 100 punktów wzdłuż funkcji sin.
Rozwiazanie:
˛
Generacja˛ punktów i definicja funkcji bł˛edu (6.1) były już omawiane na poprzednich ćwiczeniach. Nowym elementem jest zdefiniowanie wielomianu dowolnego stopnia. Określimy stopień wielomianu za pomoca˛ długości wektora w, w ‘R’ można użyć komendy length. Na przykład funkcja
p o l y e v a l <− f u n c t i o n ( h ,w) {
out <− 0
f o r ( i i n length (w) : 1 ) { out <− out ∗h + w[ i ] }
return <− out
}
( polyeval (2 , c (0.1 ,0.2 ,0.3 ,0.4) ) )
Kod źródłowy 6.1: obliczanie wielomianów dowolnego stopnia
oblicza wartość wielomianu za pomoca˛ iteracji
fM (h, w) =
(wM +1 · h + wM ) · h + wM −1 · h + · · · · h + w1 .
Przykład rozwiazania
˛
podaj˛e niżej. Prosz˛e zauważyć, że do optymalizacji użyłem komendy
nlm a do generacji wektora z k + 1 zerami c(0:k)∗0
#
# g e n e r a c j a danych t r e n i n g o w y c h
l e n <− 10
x <− seq ( length=len , from=0, t o =1)
y <− s i n (2∗ p i ∗x ) + rnorm ( len , 0 , 0 . 5 )
ds <− data . frame ( x = x , y = y )
#
# 100 punktow do porownywania e f e k t y w n o s c i p r z y b l i z e n
s <− seq ( 0 , 1 , length = 100)
#
# d e f i n c j a f u n k c j i bledu error
e r r o r <− f u n c t i o n (w) {
out <− sum( ( p o l y e v a l ( x ,w)−y )^2)
return <− out
}
#
# w i e l o m i a n s t o p n i a l e n g t h (w)−1
p o l y e v a l <− f u n c t i o n ( h ,w) {
out <− 0
f o r ( i i n length (w) : 1 ) { out <− out ∗h + w[ i ] }
return <− out
}
wersja  X 

Uniwersytet Kardynała Stefana Wyszyńskiego
6.1. REGRESJA ZA POMOCĄ WIELOMIANÓW
Systemy uczące się
#
# r e g r e s j a za pomoca wlelomianow
# s t o p i e n wielomianu o k r e s l o n y j e s t p r z e z w a r t o s c s t a r t o w a
r e s 1 <− nlm( e r r o r , c ( 0 : 1 ) ∗ 0 , i t e r l i m = 523)
r e s 2 <− nlm( e r r o r , c ( 0 : 2 ) ∗ 0 , i t e r l i m = 523)
r e s 3 <− nlm( e r r o r , c ( 0 : 3 ) ∗ 0 , i t e r l i m = 523)
r e s 4 <− nlm( e r r o r , c ( 0 : 4 ) ∗ 0 , i t e r l i m = 523)
r e s 5 <− nlm( e r r o r , c ( 0 : 5 ) ∗ 0 , i t e r l i m = 523)
r e s 6 <− nlm( e r r o r , c ( 0 : 6 ) ∗ 0 , i t e r l i m = 523)
r e s 7 <− nlm( e r r o r , c ( 0 : 7 ) ∗ 0 , i t e r l i m = 523)
r e s 8 <− nlm( e r r o r , c ( 0 : 8 ) ∗ 0 , i t e r l i m = 523)
#
# p o l i c z m y t e r a z Erms na d u z e j p u l i danych
erms <− f u n c t i o n (w, x , y ) {
out <− sum( ( p o l y e v a l ( x ,w)−y )^2)
return <− s q r t (2∗ out / length ( x ) )
}
#
# z b i e r a m y b l e d y , t u t a j w∗ s a d o s t e p n e za pomoca r e s 6 [ [ 2 ] ]
t 7 <− ( erms ( r e s 7 [ [ 2 ] ] , s , s i n (2∗ p i ∗ s ) ) )
t 6 <− ( erms ( r e s 6 [ [ 2 ] ] , s , s i n (2∗ p i ∗ s ) ) )
t 5 <− ( erms ( r e s 5 [ [ 2 ] ] , s , s i n (2∗ p i ∗ s ) ) )
t 4 <− ( erms ( r e s 4 [ [ 2 ] ] , s , s i n (2∗ p i ∗ s ) ) )
t 3 <− ( erms ( r e s 3 [ [ 2 ] ] , s , s i n (2∗ p i ∗ s ) ) )
t 2 <− ( erms ( r e s 2 [ [ 2 ] ] , s , s i n (2∗ p i ∗ s ) ) )
t 1 <− ( erms ( r e s 1 [ [ 2 ] ] , s , s i n (2∗ p i ∗ s ) ) )
#
# koncowy w y k r e s b l e d u
p l o t ( c ( 1 , 2 , 3 , 4 , 5 , 6 , 7 ) , c ( t1 , t2 , t3 , t4 , t5 , t6 , t 7 ) , t y p e = " b " , c o l= ’ red ’ ,
x l a b=" s t o p n i e wielomianu " , y l a b=" Erms " )
Kod źródłowy 6.2: optymalizacja funkcji bledu za pomoca wielomianow roznego stopnia
W rezultacie otrzymujemy wykres bł˛edu, Rysunek 6.1.
W powyższym zadaniu, widzimy że proces optymalizacji staje si˛e rozbieżny dla dużych
stopni wielomianów.
lm( y~poly ( x , 7 , raw=TRUE) )
nlm( e r r o r , c ( 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ) , i t e r l i m = 523)
Kod źródłowy 6.3: porównaj wyniki, przestaja˛ pokrywać si˛e dla wielomianów wyższego
rz˛edu
Na koniec ćwiczeń, powtórzymy powyższe punkty i szukamy optymalnych wielomianów
po raz kolejny. Tym razem jednak zmodyfikujemy funkcj˛e bł˛edu, wprowadzajac
˛ dodatkowy
składnik regulacyjny.
N
2 λ
1X
f (xi , w) − ti + kwk2 .
(6.2)
E(w) =
2
2
i=1
Uniwersytet Kardynała Stefana Wyszyńskiego

wersja  X 
6.2. PROBLEM Z DUŻYMI WYMIARAMI
0.60
0.50
0.55
Erms
0.65
0.70
Systemy uczące się
1
2
3
4
5
6
7
stopnie wielomianu
Rysunek 6.1: Root-mean-square error — funkcja bł˛edu ERMS w zależności od stopnia wielomianu użytego do regresji; widzimy że wbrew intuicji, najmniejszy bład
˛ uzyskujemy przy stopniu
trzy
Zadanie 6.2: Powtórz powyższe zadanie lecz tym razem używajac
˛ funcji (6.2) jako funkcji
bł˛edu. Przyjmij λ = 0.5
Jaki wpływ ma składnik kwk2 na otrzymane wyniki?
6.2
Problem z dużymi wymiarami
W regresji za pomoca˛ wielomianów widzimy, że paradoksalnie, regresja za pomoca˛ wielomianów dużych stopni daje gorsze wyniki niż za pomoca˛ stopnia 3-go lub 4-go. Mimo, że funkcja
sin ma nieskończone rozwini˛ecie Taylora! Jest to ogólny problem zwiazany
˛
ze zwi˛ekszaja˛
cym si˛e wymiarem. Wektor w należy do przestrzeni o wymiarze o jeden wi˛ekszy niż stopień
wielomianu. Jednak jednocześnie ze zwi˛ekszaniem wymiaru dramatycznie rosna˛ bł˛edy przybliżenia. Zobaczymy to na jeszcze jednym przykładzie.
wersja  X 

Uniwersytet Kardynała Stefana Wyszyńskiego
6.2. PROBLEM Z DUŻYMI WYMIARAMI
Systemy uczące się
Zadanie 6.3: Rozważ kul˛e o promieniu r = 1 w n-wymiarowej przestrzeni. Jaka cz˛eść jej
obj˛etości znajduje si˛e w warstwie pomi˛edzy r = 1 − ε oraz r = 1. Narysuj wyniki za pomoca˛
linii dla n = 1, 2, 5, 9, 20. Zinterpretuj wyniki.
Rozwiazanie:
˛
Obj˛etość D-wymiarowej kuli KD (r) o promieniu r jest proporcjonalna do Dtej pot˛egi r. To znaczy vol(KD (r)) = cD · rD , gdzie cD jest stała˛ zależna˛ tylko od wymiaru D.
Zatem szukana proporcja jest równa
vol(KD (1)) − vol(KD (1 − ε))
= 1 − (1 − ε)D .
vol(KD (1))
p l o t ( s ,1−(1− s )^1, t y p e= ’ l ’ , c o l= ’ b l a c k ’ )
l i n e s ( s ,1−(1− s )^6)
l i n e s ( s ,1−(1− s )^8)
l i n e s ( s ,1−(1− s )^9)
l i n e s ( s ,1−(1− s )^20)
l i n e s ( s ,1−(1− s )^2)
l i n e s ( s ,1−(1− s )^1)
t e x t ( 0 . 6 , 0 . 5 , "D=1" )
t e x t ( 0 . 4 5 , 0 . 6 , "D=2" )
t e x t ( 0 . 0 5 , 0 . 9 , "D=20" )
Nota bene, nie jest tak łatwo obliczyć stała˛ cD . Okazuje si˛e, że jest ona dana poprzez
cD =
2π D/2
,
Γ( 21 D)
gdzie Γ(z + 1) = z · Γ(z) oraz
Uniwersytet Kardynała Stefana Wyszyńskiego

Γ(1) = 1,
Γ( 12 ) =
√
π.
wersja  X 
BIBLIOGRAFIA
[1] B IECEK , P. Przewodnik po pakiecie R. Oficyna Wydawnicza GiS, 2008.
[2] B ISHOP, C. M. Pattern Recognition and Machine Learning (Information Science and Statistics), 1st ed. 2006. corr. 2nd printing ed. Springer, Oct. 2007.
[3] H ASTIE , T., T IBSHIRANI , R., AND F RIEDMAN , J. The Elements of Statistical Learning: Data
Mining, Inference, and Prediction, Second Edition (Springer Series in Statistics), 2nd ed.
2009. corr. 3rd printing 5th printing. ed. Springer, Feb. 2009.
[4] KORONACKI , J., AND Ć WIK , J. Statystyczne systemy uczace
˛ si˛e. Exit, 2008.
[5] K RZY ŚKO, M., W OŁY ŃSKI , W., G ÓRECKI , T., AND S KORZYBUT, M. Systemy uczace
˛ si˛e. Rozpoznawanie wzorców analiza skupień i redukcja wymiarowości. Wydawnictwa NaukowoTechniczne, 2008.
[6] R D EVELOPMENT C ORE T EAM. R: A Language and Environment for Statistical Computing.
R Foundation for Statistical Computing, Vienna, Austria, 2008. ISBN 3-900051-07-0.
[7] WALESIAK , M., AND G ATNAR , E. Statystyczna analiza danych z wykorzystaniem programu
R. Wydawnictwo Naukowe PWN, 2009.
[8] W ILLIAMSON , R. Some results in statistical learning theory with relevance to nonlinear
system identification. Nonlinear Control Systems Design Symposium (1998), 443–448.
81
Appendix
82