7. Uvod v razpoznavanje vzorcev

Druga polovica predmeta. Pojmovni aparat (okolje, področje uporabe, vzorec, razred), zapisi vzorcev, rojenje, razvrščanje in preizkušanje. Daje izpitne naloge 19, 20 in 21.

Definicije in osnovni pojmi ključno

Disciplina »razpoznavanje vzorcev«:

  1. Je znanstvena veda, ki se ukvarja z umetnimi zaznavnimi sistemi (stroji), ki lahko z gledanjem, s poslušanjem, s tipanjem in podobno s simboli opisujejo okolje, ki jih obkroža.
  2. Je proces kategoriziranja vzorca, izmerjenega ali opazovanega podatka kot člana enega izmed več razredov oz. kategorij. Je interdisciplinarna veda.
PojemDefinicija
Okolje $O$Množica predmetov, pojavov in bitij (objektov) v prostoru in času, ki jih razpoznavamo. Razpoznavalni sistem, ki bi se zavedal celotnega okolja, je danes še neizvedljiv.
Področje uporabe $PU$Vsebuje samo tiste objekte in njihove medsebojne zveze, ki jih razpoznavamo, torej $PU \subset O$. Primer: razpoznavanje števk 0–9 in črk; registrskih tablic; kontrola kvalitete zamrznjenega sadja…
Razred objektovPodmnožica objektov iz $PU$, na katere se nanaša oznaka (simbol, ime razreda). Število razredov $M \geq 2$ je določeno z nalogo. Razredi so tuji in neprazni, njihova unija je enaka $PU$.
VzorecVsebina čutil — odčitek merilnih naprav, ki daje organizmu (stroju) podatke o objektu ali objektih in njihovih medsebojnih zvezah.
Razred vzorcevSlika razreda objektov. Sestavljajo ga vzorci, ki so slike objektov iz razreda objektov. V posameznem razredu vzorcev so najbolj podobni si vzorci.

Kako popišemo vzorce

  1. numeričnimi (digitalnimi) funkcijami,
  2. množico vrednosti meritev,
  3. množico vrednosti značilnic,
  4. strukturirano množico oznak — imen podvzorcev,
  5. obrazci za zapis znanja.

Pri tem sta 1 in 2 začetni opis vzorca, 3 do 5 pa izpeljani zapis vzorca. Ločimo tudi preprost in zapleten vzorec.

Učenje in razvrščanje

PojemDefinicija
Spoznavanje področja uporabePredpogoj za razpoznavanje objektov. Je preslikava, ki preslika množico vzorcev objektov razpoznavanja v učno množico vzorcev $UM$.
Učna množica $UM$Končna množica vzorcev z danega $PU$, iz katere se stroj (samodejno) nauči zvez med oznakami razredov in objekti. $UM = (S_N, \Omega)$, kjer je $S_N$ množica vzorcev (velikosti $N$), $\Omega$ pa množica oznak razredov. Vzorce iz $S_N$ je označil učitelj. $UM$ mora zajemati vzorce iz vseh možnih razredov.
UčenjeProces, v katerem se vzpostavijo zveze med vzorci iz $S_N$ in oznakami razredov $\Omega$. Pogosto učimo z nepopolno indukcijo: pravila, ki veljajo v $UM$, posplošimo na celotno $PU$.
Razvrščanje (klasifikacija)Proces razporejanja vzorcev v razrede, sestavljene iz že prej razvrščenih, medsebojno podobnih si vzorcev. Razvrščamo s prileganjem, odločanjem, stavčno analizo ali z logičnim sklepanjem. Temelji na merjenju razdalje med vzorci.
Razpoznavanje vzorcevZadnja faza procesa zaznavanja, v kateri se določi istovetnost ali velika podobnost nove vsebine čutil z vsebino, ki je že bila spoznana in zapomnjena.
💡 Razlika med razvrščanjem in razpoznavanjem

Predavanja jo pokažejo z zgledom stavka. Razvrščanje je: vsako besedo posebej uvrstim v kategorijo. Razpoznavanje je: razumem, kaj stavek pomeni.

Beseda v stavkuPomen
ZSkupaj s kom
Lučkoosebo ženskega spola
tečevahitiva ali se nama mudi
na kavona pijačo
v As.v kavarno ali gostilno

Model razvrščevalnika vzorcev razumevanje

Model velja za vzorce, zapisane v obliki nestrukturirane množice vrednosti značilnic. Sistem ima dve fazi, ki ju preklaplja »stikalo«:

Pot signala: sistem za zajemanje vzorcev → določitev vrednosti značilk → množica značilk $\{x_1, \dots, x_n\}$ → (1) učenje ali (2) razvrščanje → vzorec pripada razredu $C_i$.

Originalne prosojnice (str. 90–94)
909192 9394

Zapisi vzorcev ključno

A. Začetni zapis vzorcev

Vzorec je zapisan kot množica meritev, ki so rezultat merjenja ene ali več količin (lastnosti), ki zaznamujejo objekte razpoznavanja. Vzorec je predstavljen kot eno- ali večdimenzionalna matrika meritev (označimo ga z $m$). Primer začetnega zapisa vzorca za slivo:

Začetni zapis
$$m = [30\ \text{g},\; 5\ \text{cm},\; \text{vijolična}]$$

Tipi podatkov

TipPodtipPrimerAritmetika?
Kvalitativninominalni — jih ni moč urejatiseznam imen barvNI dovoljena
ordinalni — jih lahko urejamomajhen, srednji, velik
Kvantitativniabsolutnimasa v kg (0 kg je najmanjša možna masa)je dovoljena
relativnitemperatura v °C

B. Zapis preprostih vzorcev z množico značilnic

Pri zapisu vzorca v obliki množice vrednosti značilnic od meritev obdržimo ali izpeljemo le najpomembnejše lastnosti objekta glede na nalogo, ki jo rešujemo. Bistvene lastnosti objektov so tiste, ki poudarjajo posebnosti posameznih razredov vzorcev. Takšno lastnost imenujemo značilnica.

Pristopa za določanje značilnic:

  1. Hevristični pristop — določanje značilnic temelji na izkušnjah strokovnjakov oz. na posnemanju procesa razpoznavanja pri živih bitjih. Eksperti opredelijo, katere lastnosti objekta so značilnice.
  2. Matematični pristop — temelji na informacijsko zelo bogatem začetnem opisu: za vsak nov objekt določimo čim več lastnosti, nato pa z matematičnimi postopki izločimo odvečne podatke. Temeljijo na optimizaciji ustrezne kriterijske funkcije napake. Ločimo optimalne postopke (poiščejo globalni minimum) in neoptimalne (zgolj lokalni minimum).

Optimalni postopki določanja značilnic

Vzorec z meritvami in vzorec z značilnicami
$$m = [m_1, m_2, \dots, m_r] \qquad\qquad x = [x_1, x_2, \dots, x_n], \quad x \in \mathbb{R}^n$$

Cilj: poiskati le tisto informacijo iz množice meritev $m$, ki je pomembna za razvrščanje vzorcev.

Najboljša (optimalna) množica značilnic je tista, ki v novem, manj razsežnem prostoru ne poveča verjetnosti napačnega razvrščanja vzorcev s teoretično najboljšim razvrščevalnikom (tj. Bayesov razvrščevalnik).

a) Izbira značilnic

Iz množice meritev izločimo spremenljivke, ki ne prispevajo k natančnosti razpoznavanja oz. ne prispevajo k boljši ločljivosti razredov v prostoru $\mathbb{R}^n$.

Izbrane značilnice ohranijo pomen in enoto izbranih meritev.
Primer: $x_1 = m_2$, $x_2 = m_4$.

b) Izpeljava značilnic

Preslikava $r$-dimenzionalnega prostora meritev v $n$-razsežni prostor značilnic, pri čemer je $n < r$. V novem prostoru se mora ohraniti (ali zgolj minimalno zmanjšati) stopnja ločljivosti razredov.

Izpeljane značilnice ne ohranijo niti pomena niti enot meritev.
Primer: $[x_1, x_2] = A(m_1, \dots, m_5)$.

Poznani postopki izpeljave značilnic: analiza glavnih komponent (PCA) oz. dekompozicija na singularne vrednosti (SVD) oz. Karhunen-Loèvejeva transformacija, analiza neodvisnih komponent itd.

Originalne prosojnice (str. 95–99)
959697 9899

Spoznavanje področja uporabe naloga 19

Temelji na samodejnem razvrščanju (rojenju) vzorcev iz končne množice vzorcev $S_N$ ter na označevanju rojev vzorcev z oznakami razredov. Je preslikava, ki preslika množico $S_N$ v učno množico $UM$ — preslikava ni avtomatična, saj označevanje vzorcev opravi učitelj.

A. Merjenje podobnosti med vzorci

na listu
Evklidska razdalja (5)
$$d(x_i, x_j) = \|x_i - x_j\|_2 = \sqrt{\sum_{k=1}^{n}(x_{i,k} - x_{j,k})^2}, \qquad x_i, x_j \in \mathbb{R}^n$$
na listu
Razdalja Manhattan (»City block«)
$$d(x_i, x_j) = |x_i - x_j| = \sum_{k=1}^{n}|x_{i,k} - x_{j,k}|$$

B. Predobdelava množice vzorcev

1. Ali kakšni značilnici vzorca manjka vrednost?
Rešitev: a) vzorec izločimo iz $S_N$, ali b) manjkajočo vrednost nadomestimo s povprečno vrednostjo te značilnice, izračunane iz preostalih vzorcev.

2. Ali vrednost značilnice pri posameznem vzorcu zelo odstopa od povprečja?
Rešitev: a) vzorec izločimo iz $S_N$, ali b) uporabimo drugačno razdaljo med vzorci, ki ne poudarja razlike vrednosti značilnic.

Izračunamo tri pomožne izraze za vsako značilnico $j$:

na listu
Povprečje in varianca (6)
$$\mu_j = \frac{1}{N}\sum_{i=1}^{N} x_{i,j}, \qquad \sigma_j^2 = \frac{1}{N}\sum_{i=1}^{N}(x_{i,j} - \mu_j)^2, \qquad j = 1, 2, \dots, n$$
na listu
Koeficient poševnosti (nesimetričnosti) (7)
$$\Upsilon_j = \frac{\frac{1}{N}\sum_{i=1}^{N}(x_{i,j} - \mu_j)^3}{\sigma_j^3}$$

Vrednost značilnice »zelo« odstopa od povprečja, če je izraz $\dfrac{|x_j - \mu_j|}{\sigma_j}$:

⚠️ Varianca se deli z N

V tem predmetu je $\sigma_j^2 = \frac{1}{N}\sum(x_{i,j} - \mu_j)^2$ — torej populacijska varianca (delimo z $N$, ne z $N-1$). Če uporabiš vzorčno varianco, dobiš pri nalogi 19 številko, ki ni med ponujenimi.

3. Normiranje vrednosti značilnic vzorcev naloga 19

Postopek je potreben, če želimo, da imajo vse značilnice enak doprinos pri računanju mere podobnosti. Sicer bi značilnica z veliko številsko vrednostjo (npr. masa v gramih) povsem prevladala nad drugo (npr. dolžina v metrih).

a) Simetrična porazdelitev okoli $\mu_j$ ($|\Upsilon_j| \approx 0$) → linearna transformacija:

na listu $$x_{i,j} = \frac{x^*_{i,j} - \mu_j}{\sigma_j}$$

Skaliranje/linearizacija — če želimo značilnice na intervalu $[0, 1]$ ali $[-1, 1]$:

na listu $$x'_{i,j} = s_{\min} + \frac{x_{i,j} - x_j^{\min}}{x_j^{\max} - x_j^{\min}}(1 - s_{\min})$$

kjer sta $x_j^{\min}$ in $x_j^{\max}$ minimalna in maksimalna vrednost $j$-te značilnice, $s_{\min}$ pa je 0 za interval $[0, 1]$ oz. −1 za interval $[-1, 1]$.

b) Asimetrična porazdelitev okoli $\mu_j$ ($|\Upsilon_j| \neq 0$) → nelinearna transformacija v DVEH korakih:

na listu
Nelinearno normiranje
$$z_{i,j} = \frac{x^*_{i,j} - \mu_j}{r\,\sigma_j} \qquad\qquad x_{i,j} = \frac{1}{1 + e^{-z_{i,j}}}$$

4. Ali se vzorci v prostoru značilnic porazdeljujejo naključno oz. po določenih zakonitostih?
Naključna porazdeljenost oz. porazdeljenost po določeni zakonitosti kaže na neprimerno določitev značilnic — če se vzorci ne zberejo v roje, izbrane značilnice razredov ne ločujejo.

C. Postopek K povprečij

  1. Inicializiramo $K$ središč rojev: $c_1(1), c_2(1), \dots, c_K(1)$.
  2. V $k$-ti iteraciji rojimo vzorce v $K$ rojev: $$x \in S_i(k), \quad \text{če } \|x - c_i(k)\| < \|x - c_j(k)\| \;\; \forall j = 1, \dots, K \wedge j \neq i$$
  3. Izračunamo nova središča rojev v iteraciji $k+1$ kot povprečje vzorcev v roju: $$c_j(k+1) = \frac{1}{N_j}\sum_{x \in S_j(k)} x, \qquad j = 1, \dots, K$$ kjer $N_j$ določa število vzorcev v roju $S_j(k)$.
  4. Če $c_j(k+1) = c_j(k)$ za vse $j$, potem KONEC, sicer KORAK 2.
Originalne prosojnice (str. 100–104)
100101102 103104

Razvrščanje vzorcev naloga 20

Cilj: v fazi samodejnega razvrščanja dobimo na vhod razpoznavalnika neznan vzorec $x$, ki ga moramo razvrstiti v enega izmed razredov vzorcev $C_i$.

Razvrščevalnik vzorcev vključuje znanje o posameznem razredu bodisi:

  1. z zabeleženjem in shranjevanjem vseh vzorcev posameznega razreda,
  2. z integriranjem celotnega znanja o razredu v tipičnega predstavnika razreda (šablona, pravzorec).

Tipični predstavnik razreda običajno določimo kot povprečje vseh vzorcev razreda:

na listu $$c_j = \frac{1}{N_j}\sum_{k=1,\dots,N_j} x_{jk}$$

A. Razvrščanje po pravilu »najbližji sosed«

Razvrščamo na osnovi prileganja oz. merjenja podobnosti med neznanim vzorcem $x$ in vzorci iz $UM$. Ideja: v učni množici poiščemo vzorec, ki je najbližji vzorcu $x$, in $x$ razvrstimo v razred, iz katerega prihaja ta najbližji vzorec.

na listu
1. Znanje v obliki vseh vzorcev (8)
$$x \in C_i, \;\text{ če } \min_{k=1,\dots,N_i} d(x, x_{ik}) < \min_{l=1,\dots,N_j} d(x, x_{jl}), \quad \forall j = 1,\dots,M \wedge j \neq i$$
na listu
2. Znanje v obliki tipičnih predstavnikov
$$x \in C_i, \;\text{ če } d(x, c_i) < d(x, c_j), \quad \forall j = 1,\dots,M \wedge j \neq i$$

Izpeljanke osnovnega pravila: »k najbližjih sosedov« in »(k, l) najbližjih sosedov«.

🔑 Kaj pomeni pravilo (k, l)

Poglej $k$ najbližjih sosedov neznanega vzorca. Vzorec razvrsti v razred le, če vsaj $l$ od teh $k$ sosedov pripada temu razredu. Če noben razred ne doseže praga $l$, vzorca ni možno razvrstiti — in to je pri nalogi 20 pogosto eden od ponujenih odgovorov. Pri (3, 2) torej: pogledaš 3 najbližje in zahtevaš, da sta vsaj 2 iz istega razreda.

B. Razvrščanje z odločitvenimi funkcijami

Takšno razvrščanje razdeli prostor značilnic $\mathbb{R}^n$ v $M$ neprekrivajočih se področij ($M$ je enako številu razredov). Odločitvena funkcija je v splošnem funkcija $n$ spremenljivk. Za vsak razred $C_i$ uvedemo svojo odločitveno funkcijo $\varphi_i$, pri čemer velja:

Lastnost odločitvenih funkcij
$$\varphi_i(x) > \varphi_j(x), \qquad \forall x \in C_i \;\; \forall j \wedge j \neq i$$

Neznan vzorec $x$ razvrstimo v tisti razred $C_i$, za katerega vrne odločitvena funkcija največjo vrednost. Ločilno mejo med razredoma $C_i$ in $C_j$ zapišemo kot:

na listu $$\varphi_{ij}(x) = \varphi_i(x) - \varphi_j(x) = 0$$

Razvrščevalnik moramo naučiti $\binom{M}{2} = \dfrac{M(M-1)}{2}$ ločilnih mej!

Linearne odločitvene funkcije

Linearna odločitvena funkcija
$$\varphi(x) = w_0 + w_1 x_1 + w_2 x_2 + \dots + w_n x_n = w_0 + w x^\top$$

$w = [w_1, \dots, w_n]$ je vektor koeficientov (uteži), $w_0$ pa prag. Ločilna meja:

Ločilna meja v kompaktni obliki
$$\varphi_{ij}(x): \quad (w_i - w_j)x^\top = -w_{i0} + w_{j0}$$

Ločilne meje so v prostoru značilnic $\mathbb{R}^n$ dejansko $(n-1)$-razsežne hiperravnine:

Zgled za dvodimenzionalni prostor: iz $Ax_1 + Bx_2 = C$ dobimo $x_2 = -\frac{A}{B}x_1 + \frac{C}{B}$.

Preizkušanje razvrščevalnika vzorcev naloga 21

Učinkovitost naučenega razvrščevalnika ugotavljamo na osnovi vzorcev iz preizkusne (testne) množice $TM$, ki ima sorodne lastnosti kot učna množica. Učinkovitost ocenjujemo na osnovi števila napačno razvrščenih vzorcev.

Stopnja napačnega razvrščanja $P(x \in C_i, C_j)$ je verjetnost, da vzorec $x$ iz razreda $C_i$ napačno razvrstimo v razred $C_j$. Ne moremo je natančno izračunati, ampak jo iz $TM$ zgolj ocenimo:

na listu $$\hat{P}_{ei} = \frac{n_i}{N_i^T}$$

kjer je $N_i^T$ število vseh vzorcev iz $C_i$ v $TM$, $n_i$ pa napačno razvrščeni vzorci iz $C_i$.

Metoda »izpusti enega«

Postopek: iz celotne množice vzorcev izpustimo en vzorec za preizkušanje, vse preostale vzorce pa uporabimo za učenje razvrščevalnika.

Spodnja meja predikcijske napake

Celotno učno množico najprej uporabimo za učenje, nato pa še za preizkus razvrščevalnika. (Optimistična ocena — razvrščevalnik je videl vse.)

Zgornja meja predikcijske napake

Povprečje $N$ napak, kjer vsako napako izračunamo tako, da izpustimo en vzorec $x_i$ za preizkušanje, preostale pa za učenje.

na listu
Zgornja meja
$$\hat{P}_e = \frac{1}{N}\sum_i \hat{P}_e^{(x_i)}$$

kjer je $\hat{P}_e^{(x_i)} = 1$, če smo vzorec $x_i$ napačno razvrstili z razvrščevalnikom (naučenim brez vzorca $x_i$), sicer pa 0.

Prava vrednost napake leži med spodnjo in zgornjo mejo; z večanjem števila vzorcev v $UM$ se meji približujeta.

⚠️ Predstavnika je treba preračunati

Ko izpustiš vzorec, se spremeni tipični predstavnik njegovega razreda — izračunati ga moraš znova, brez izpuščenega vzorca. Pri razredu z dvema vzorcema je novi predstavnik kar drugi vzorec. Če tega ne narediš, je rezultat vedno 0 % napake, kar je eden od napačnih odgovorov.

Originalne prosojnice (str. 105–110)
105106107 108109110

Preveri se

1Stolpec značilnice ima vrednosti 18, 9, 11, 10, 1, 18, 6 (μ = 10,43, σ = 5,68). Kolikšna je nelinearno normirana vrednost 1 pri r = 1?
Razlaga

Korak 1: $z = \dfrac{1 - 10{,}43}{1 \cdot 5{,}68} = -1{,}66$.
Korak 2: $x = \dfrac{1}{1 + e^{-z}} = \dfrac{1}{1 + e^{1{,}66}} = \dfrac{1}{6{,}26} = \mathbf{0{,}160}$.

Odgovor a) je past za tiste, ki se ustavijo po prvem koraku. Odgovor b) je past za napačen predznak v eksponentu — pozor, $e^{-z}$ pri negativnem $z$ da $e^{+1{,}66}$.

2Pri pravilu (3, 2) so trije najbližji sosedi: A (d = 4,90), A (d = 6,40), B (d = 6,48). Kam razvrstimo vzorec?
Razlaga

Pravilo (k, l) = (3, 2): pogledamo $k = 3$ najbližje sosede in zahtevamo, da jih vsaj $l = 2$ pripada istemu razredu. Tu ima A dva, B enega → razvrstimo v A.

Odgovor a) bi bil pravilen, če bi bilo razmerje npr. 1 : 1 : 1 pri treh razredih ali če prag $l$ ne bi bil dosežen — zato vedno preštej.

3Razreda A = {[10,4], [2,0]} in B = {[10,20], [4,8]}, razvrščanje po tipičnem predstavniku. Kolikšna je zgornja meja napake po metodi izpusti enega?
Razlaga

Preizkusimo vse štiri izpuste (predstavnik razreda se vsakič preračuna brez izpuščenega vzorca):

$\hat{P}_e = 1/4 = \mathbf{25\ \%}$. Odgovor a) dobiš, če predstavnika po izpustu ne preračunaš.