[Ćwiczenia Nr 1 – 04.03.2013 r.]
Przedstawić model i opis matematyczny. Analiza pojedynczego neuronu z funkcją skokową dla danych 2-wymiarowych.
x1 x2 fskok(u)
x0=1
● ● ● 1
u
w0 w1 w2
● ● ●
∑
u
fskok(u)
y
n=2
u$\ = \sum_{j = 0}^{n}w_{j}x_{j}$ = wTx = |w||x| cos (w, x)
y = fskok(u) = fskok($\sum_{j = 0}^{n}w_{j}x_{j})$ = fskok(wTx)
w=[w0,w1,…,wn]T
x=[1,x1,x2,…,xn]T
fskok(u) = 1 dla u >= 0
0 dla u < 0
Wyprowadzić równania granic decyzyjnych
Równanie linii: u = w0 + w1x1 + w2x2
a) w0 ≠ 0, w1 ≠ 0, w2 ≠ 0: w0 + w1x1 + w2x2 = 0 -> x2 = $\frac{- w_{1}}{w_{2}}x1$ - $\frac{w_{0}}{w_{2}}$ linia ukośna
punkty przecięcia:
z osią pionową x1 = 0 -> w0 + w2x2 = 0 -> x20 = - $\frac{w_{0}}{w_{2}}$
z osią pionową x2 = 0 -> w0 + w1x1 = 0 -> x10 = - $\frac{w_{0}}{w_{1}}$
b) Jeżeli w0 = 0, w1 ≠ 0, w2 ≠ 0: w0 + w1x1 + w2x2 = 0 -> x2 = - $\frac{w_{1}}{w_{2}}$ x1 (pkt. przecięcia po środku układu współrzędnych x10 = x20 = 0)
c) Jeżeli w0 ≠ 0, w1 = 0, w2 ≠ 0: w0 + w1x1 + w2x2 = 0 -> x2 = - $\frac{w_{0}}{w_{2}}$ (pkt. przecięcia z osią pionową x10 = x20 = 0)
x1 = 0 -> w0 + w2x2 = 0 -> x20 = - $\frac{w_{0}}{w_{2}}$ (pkt. przecięcia z osią poziomą - brak)
d) Jeżeli w0 = 0, w1 = 0, w2 ≠ 0: w0 + w1x1 + w2x2 = 0 -> x2 = 0 (pkt. przecięcia x20 = 0)
e) Jeżeli w0 ≠ 0, w1 ≠ 0, w2 ≠ 0: w0 + w1x1 + w2x2 = 0 -> x1 = - $\frac{w_{0}}{w_{1}}$ (pkt. przecięcia z osią pionową - brak)
x2 = 0 -> w0 + w1x1 = 0 -> x10 = - $\frac{w_{0}}{w_{1}}$ (pkt. przecięcia z osią poziomą)
f) Jeżeli w0 = 0, w1 ≠ 0, w2 = 0: w0 + w1x1 + w2x2 = 0 -> x1 = 0 (pkt. przecięcia x10 = 0)
Określenie półpłaszczyzn decyzyjnych
x2
0 1 w1>0 w0≠0 1 w2>0
w1=0 0
1 0 w1<0 w2≠0 0
x20 1 w2<0 0 1
1 0
w0≠0 w0≠0 x20 w2<0 w2>0
w1≠0 w1≠0
w2=0 w2≠0
x10 x10 x20 x10 0 1
x2
1 0
1 w2>0 w2<0 w2>0
0
w0=0 w0=0
0 w1≠0 w1=0
1 w2<0 w2=0 w2≠0
0 1 w1>0
1 0 w1<0
Płaszczyzny decyzyjne: (dla obiektów klasy „1”, czyli u ≥ 0)
Jeżeli w1≠0 i w2≠0: w0 + w1x1 + w2x2 ≥ 0
≥ - $\frac{w_{1}}{w_{2}}x1$ - $\frac{w_{0}}{w_{2}}$ gdy w2 > 0
x2 ≤ - $\frac{w_{1}}{w_{2}}x1$ - $\frac{w_{0}}{w_{2}}$ gdy w2 < 0
w2x2 ≥ - w1x1 - w0 / : w2 dla w2 ≠ 0
Jeżeli w1=0 i w2≠0: w0 + w2x2 ≥ 0
≥ - $\frac{w_{0}}{w_{2}}$ gdy w2 > 0 (NAD LINIĄ)
x2 ≤ - $\frac{w_{0}}{w_{2}}\text{\ \ }$gdy w2 < 0 (POD LINIĄ)
Jeżeli w1≠0 i w2=0: w0 + w1x1 ≥ 0
≥ - $\frac{w_{0}}{w_{1}}$ dla w1 > 0 (PO PRAWEJ)
x1 ≤ - $\frac{w_{0}}{w_{1}}\text{\ \ }$dla w1 < 0 (PO LEWEJ)
Przedstawienie algorytmu uczenia, formuła adaptacji wag
Formuła adaptacji wag:
wj(t + 1) = wj(t) + ɳ[d(k) - y(k)] xj(k)
(t + 1) = (t) + ɳ[d(k) - y(k)] (k)
L = {(, d)(k)}k = 1K = {([x1, x2, …, xn]T, d)(k)}k = 1K
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(0) = [w0, w1, w2]T(0) = [0.1, − 0.1, − 0.2]T, ɳ = 0.1
L = {([x1, x2]T, d)(k)}k = 12 = {([0.1, 0.9]T, 1)(1), ([1.0, 0.1]T, 0)(2)}
x2
3
2
1
x1 d = 1
-4 -3 -2 -1 -1 1 2 3 4 d = 0
-2 t=1
-3 t=0
-4 t=2
Krok 1 (Inicjalizacja):
t=0, k=1, lpd=0
x10 = - $\frac{w_{0}^{(0)}}{w_{1}^{(0)}}$ = $\frac{- \ 0.1}{- \ 0.1}$ = 1, x20 = - $\frac{w_{0}^{(0)}}{w_{2}^{(0)}}$ = $\frac{- \ 0.1}{- \ 0.2}$ = 0.5
Mamy punkty przecięcia, więc teraz rysujemy linie na rysunku u góry (jest to t=0, o wsp. [1 ; 0.5] )
Krok 2(0):
(1) = [1, 0.1, 0.9]T
Krok 3(0):
y(1) = fskok((0)T (1)) = fskok([0.1, -0.1, -0.2]$\begin{bmatrix} 1 \\ 0.1 \\ 0.9 \\ \end{bmatrix}$) = fskok(-0.09) = 0 ≠ d(1)
Krok 4(0):
(1) = (0) + ɳ[d(1) - y(1)] (1) = (0) + 0.1 * 1 * (1) = $\begin{bmatrix} 0.1 \\ - 0.1 \\ - 0.2 \\ \end{bmatrix}$+ 0.1$\begin{bmatrix} 1 \\ 0.1 \\ 0.9 \\ \end{bmatrix}$=$\begin{bmatrix} 0.2 \\ - 0.09 \\ - 0.11 \\ \end{bmatrix}$
lpd=0, x10 = $\frac{- w_{0}^{(1)}}{w_{1}^{(1)}}$ = $\frac{- \ 0.2}{- \ 0.09}$ = 2.22, x20 = $\frac{{- w}_{0}^{(1)}}{w_{2}^{(1)}}$ = $\frac{- \ 0.2}{- \ 0.11}$ = 1.82
Mamy punkty przecięcia, więc teraz rysujemy linie na rysunku u góry (jest to t=1, o wsp. [2.22 ; 1.82] )
Krok 5(0): t=t+1=0+1=1, k=k+1=1+1=2, GOTO Krok 2(1)
Krok 2(1):
(2) = [1, 1, 0.1]T
Krok 3(1):
y(2) = fskok((1)T (2)) = fskok([0.2, -0.09, -0.11]$\begin{bmatrix} 1 \\ 1 \\ 0.1 \\ \end{bmatrix}$) = fskok(0.1) = 1 ≠ d(2)
Krok 4(1):
(2) = (1) + ɳ[d(2) - y(2)] (2) = (1) + 0.1 * (-1) * (2) = $\begin{bmatrix} 0.2 \\ - 0.09 \\ - 0.11 \\ \end{bmatrix}$- 0.1$\begin{bmatrix} 1 \\ 1 \\ 0.1 \\ \end{bmatrix}$=$\begin{bmatrix} 0.1 \\ - 0.19 \\ - 0.12 \\ \end{bmatrix}$
lpd=0, x10 = $\frac{- w_{0}^{(2)}}{w_{1}^{(2)}}$ = $\frac{- \ 0.1}{- \ 0.19}$ = 0.53, x20 = $\frac{{- w}_{0}^{(2)}}{w_{2}^{(2)}}$ = $\frac{- \ 0.1}{- \ 0.12}$ = 0.83
Mamy punkty przecięcia, więc teraz rysujemy linie na rysunku u góry (jest to t=2, o wsp. [0.53 ; 0.83] )
Krok 5(1): t=t+1=1+1=2, k=k+1=2+1=3 => k=1, GOTO Krok 2(2)
Krok 2(2):
(1) = [1, 0, 0.9]T
Krok 3(2):
y(1) = fskok((2)T (1)) = fskok([0.1, -0.19, -0.12]$\begin{bmatrix} 1 \\ 0.1 \\ 0.9 \\ \end{bmatrix}$) = fskok(-0.03) = 0 ≠ d(1)
Krok 4(2):
(3) = (2) + ɳ[d(1) - y(1)] (1) = (2) + 0.1 * 1 * (1) = $\begin{bmatrix} 0.1 \\ - 0.19 \\ - 0.12 \\ \end{bmatrix}$+ 0.1$\begin{bmatrix} 1 \\ 0.1 \\ 0.9 \\ \end{bmatrix}$=$\begin{bmatrix} 0.2 \\ - 0.18 \\ - 0.03 \\ \end{bmatrix}$
lpd=0, x10 = $\frac{- w_{0}^{(3)}}{w_{1}^{(3)}}$ = $\frac{- \ 0.2}{- \ 0.18}$ = 1.11, x20 = $\frac{{- w}_{0}^{(3)}}{w_{2}^{(3)}}$ = $\frac{- \ 0.2}{- \ 0.03}$ = 0.67
Mamy punkty przecięcia, więc teraz rysujemy linie na rysunku u góry (jest to t=3, o wsp. [1.11 ; 0.67] )
Krok 5(2): t=t+1=2+1=3, k=k+1=1+1=2, GOTO Krok 2(3)
Krok 2(3):
(2) = [1, 1, 0.1]T
Krok 3(3):
y(2) = fskok((3)T (2)) = fskok([0.2, -0.18, -0.03]$\begin{bmatrix} 1 \\ 1 \\ 0.1 \\ \end{bmatrix}$) = fskok(0.02) = 1 ≠≠ d(2)
Krok 4(3):
(4) = (3) + ɳ[d(2) - y(2)] (2) = (3) + 0.1 * (-1) * (2) = $\begin{bmatrix} 0.2 \\ - 0.18 \\ - 0.03 \\ \end{bmatrix}$- 0.1$\begin{bmatrix} 1 \\ 1 \\ 0.1 \\ \end{bmatrix}$=$\begin{bmatrix} 0.1 \\ - 0.28 \\ - 0.04 \\ \end{bmatrix}$
lpd=0, x10 = $\frac{- w_{0}^{(4)}}{w_{1}^{(4)}}$ = $\frac{- \ 0.1}{- \ 0.28}$ = 0.36, x20 = $\frac{{- w}_{0}^{(4)}}{w_{2}^{(4)}}$ = $\frac{- \ 0.1}{- \ 0.04}$ = 2.5
Mamy punkty przecięcia, więc teraz rysujemy linie na rysunku u góry (jest to t=4, o wsp. [0.36 ; 2.5] )
Krok 5(3): t=t+1=3+1=4, k=k+1=2+1=3=>k=1, GOTO Krok 2(4)
Krok 2(4):
(1) = [1, 0.1, 0.9]T
Krok 3(4):
y(1) = fskok((4)T (1)) = fskok([0.1, -0.28, -0.04]$\begin{bmatrix} 1 \\ 0.1 \\ 0.9 \\ \end{bmatrix}$) = fskok(0.04) = 1 = d(1)
Krok 4(4):
(5) = (4) = [0.1, -0.28, -0.04]T
lpd=lpd+1=0+1=1
Krok 5(4): t=t+1=4+1=5, k=k+1=1+1=2, GOTO Krok 2(5)
Krok 2(5):
(2) = [1, 1, 0.1]T
Krok 3(5):
y(2) = fskok((3)T (2)) = fskok([0.1, -0.28, -0.04]$\begin{bmatrix} 1 \\ 1 \\ 0.1 \\ \end{bmatrix}$) = fskok(-0.18) = 0 = d(2)
Krok 4(5):
(6) = (5) = [0.1, -0.28, -0.04]T
lpd=lpd+1=1+1=2
Krok 5(5): KONIEC
[Ćwiczenia Nr 2 – 18.03.2013 r.]
Zad 1. Zaprojektować SSN zawierającą minimalną liczbę neuronów ze skokową funkcją aktywacji i odwzorowującą dane przedstawione na rysunku. Należy:
Narysować strukturę tej sieci
Wyprowadzić zależności opisujące poszczególne współczynniki wagowe
Podać przykład wartości współczynników wagowych
x2 1;1
2; 1,4 0 1;3
2 0 2
obiekty klasy 1 1;2
nr 1 (d=y=1) 1 2; 3,2
3; 1,2,4
x1
-2 -1 1 2
-1 obiekty klasy nr 2
2; 2,4 (d=y=0)
-2
1 0 3;2,3,4
0 1 obiekty klasy 1 0
1 3 nr 1 (d=y=1) 4
Struktura sieci
x1 x2
x0=1
● ● ●
1[h]= [w10[h], w11[h], w12[h]]T
2[h]= [w20[h], w21[h], w22[h]]T
3[h]= [w30[h], w31[h], w32[h]]T
4[h]= [w40[h], w41[h], w42[h]]T
∑ …∑ ∑ ∑
u1[h] u2[h] u3[h] u4[h]
fskok(u1[h]) fskok(u2[h]) fskok(u3[h]) fskok(u4[h])
y0[h] = 1 y1[h] y2[h] y3[h] y4[h]
w[0] = w
∑
u[0] = u
fskok(u)
y[0] = y
Wyprowadzenia wzorów na linie z rysunku (zależności opisujące współczynniki wagowe oraz półpłaszczyzny decyzyjne) – trzeba je wypisać na kolokwium!
Część 1 – zależności opisujące współczynniki wagowe
Linia ukośna: u = w0 + w1x1+ w2x2 = 0
x2 = $\frac{- w_{1}}{w_{2}}x_{1}$ - $\frac{w_{0}}{w_{2}}$
x20 = $\frac{- w_{0}}{w_{2}}$
x10 = - $\frac{w_{0}}{w_{1}}$ (dla x2 = 0) w2 ≠ 0
Linia pozioma: u = w0 + w2x2 = 0 (w1= 0)
x2 = $\frac{- w_{0}}{w_{2}}$
x20 = $\frac{- w_{0}}{w_{2}}$
Linia pionowa: u = w0 + w1x1 = 0 (w2= 0)
x1 = $- \frac{w_{0}}{w_{1}}$
x10 = $- \frac{w_{0}}{w_{1}}$
Część 2 – zależności opisujące półpłaszczyzny decyzyjne
Linia ukośna: w0 + w1x1+ w2x2 ≥ 0
≥ - $\frac{w_{1}}{w_{2}}x1$ - $\frac{w_{0}}{w_{2}}$ gdy w2 > 0 (NAD LINIĄ)
x2 ≤ - $\frac{w_{1}}{w_{2}}x1$ - $\frac{w_{0}}{w_{2}}$ gdy w2 < 0 (POD LINIĄ)
Linia pozioma: w0 + w2x2 ≥ 0
≥ - $\frac{w_{0}}{w_{2}}$ gdy w2 > 0 (NAD LINIĄ)
x2 ≤ - $\frac{w_{0}}{w_{2}}$ gdy w2 < 0 (POD LINIĄ)
Linia pionowa: w0 + w1x1 ≥ 0
≥ - $\frac{w_{0}}{w_{1}}$ gdy w1 > 0 (PO PRAWEJ)
x1 ≤ - $\frac{w_{0}}{w_{1}}$ gdy w1 < 0 (PO LEWEJ)
Na podstawie wyprowadzeń obliczenia współczynników wagowych (cześć 1 wyprowadzeń wzorów):
Neuron 1: w10[h] + w11[h]x1 + w12[h]x2 = 0
x10(1) = - $\frac{w_{10}^{\lbrack h\rbrack}}{w_{11}^{\lbrack h\rbrack}}$ = -1
x20(1) = - $\frac{w_{10}^{\lbrack h\rbrack}}{w_{12}^{\lbrack h\rbrack}}$ = 1
Neuron 2: w20[h] + w22[h]x2 = 0
x20(2) = - $\frac{w_{20}^{\lbrack h\rbrack}}{w_{22}^{\lbrack h\rbrack}}$ = 2
Neuron 3: w30[h] + w31[h]x1 + w32[h]x2 = 0
x10(3) = - $\frac{w_{30}^{\lbrack h\rbrack}}{w_{31}^{\lbrack h\rbrack}}$ = 1
x20(3) = - $\frac{w_{30}^{\lbrack h\rbrack}}{w_{32}^{\lbrack h\rbrack}}$ = - 1
Neuron 4: w40[h] + w41[h]x1= 0
x10(4) = - $\frac{w_{40}^{\lbrack h\rbrack}}{w_{41}^{\lbrack h\rbrack}}$ = 1
Na podstawie wyprowadzeń zależności opisujące półpłaszczyzny decyzyjne (cześć 2 wyprowadzeń wzorów):
Neuron 1: Obiekty dla ktorych y1[h] = 1 sa nad linia decyzyjna (1) w12[h] > 0
Neuron 2: Obiekty dla ktorych y2[h] = 1 sa pod linia decyzyjna (2) w22[h] < 0
Neuron 3: Obiekty dla ktorych y3[h] = 1 sa pod linia decyzyjna (3) w32[h] < 0
Neuron 4: Obiekty dla ktorych y4[h] = 1 sa po lewej stronie linii decyzyjnej (4) w41[h] < 0
Obliczenia:
Neuron 1: w12[h] = w12dd[h]
x20(1) = - $\frac{w_{10}^{\lbrack h\rbrack}}{w_{12}^{\lbrack h\rbrack}}$ -> w10[h] = - x20(1) * w12[h] = - x20(1) * w12dd[h]= - w12dd[h]
x10(1) = - $\frac{w_{10}^{\lbrack h\rbrack}}{w_{11}^{\lbrack h\rbrack}}$ -> w11[h] = $\frac{{- \ w}_{10}^{\lbrack h\rbrack}}{x_{10(1)}}$ = - $\frac{w_{12dd}^{\lbrack h\rbrack}}{x_{10(1)}}$ = - w12dd[h]
1[h] = [−w12dd[h], − w12dd[h], w12dd[h]]T
Neuron 2: w22[h] = w22du[h]
x20(2) = - $\frac{w_{20}^{\lbrack h\rbrack}}{w_{22}^{\lbrack h\rbrack}}$ -> w20[h] = - x20(2) * w22[h] = - 2w22du[h]
2[h] =[- 2w22du[h], 0, w22du[h]]T
Neuron 3: w32[h] = w32du[h]
x20(3) = - $\frac{w_{30}^{\lbrack h\rbrack}}{w_{32}^{\lbrack h\rbrack}}$ -> w30[h] = - x20(3) * w32[h] = - x20(3) * w32du[h]= w32du[h]
x10(3) = - $\frac{w_{30}^{\lbrack h\rbrack}}{w_{31}^{\lbrack h\rbrack}}$ -> w31[h] = $\frac{{- \ w}_{30}^{\lbrack h\rbrack}}{x_{10(3)}}$ = - $\frac{w_{32du}^{\lbrack h\rbrack}}{x_{10(3)}}$ = - w32du[h]
3[h] = [w32du[h], − w32du[h], w32du[h]]T
Neuron 4: w41[h] = w41du[h]
x10(4) = - $\frac{w_{40}^{\lbrack h\rbrack}}{w_{41}^{\lbrack h\rbrack}}$ -> w40[h] = - x10(4) * w41[h] = - x10(4) * w41du[h]= - w41du[h]
4[h] =[- w41du[h], w41du[h], 0]T
Przykład wartości współczynników wagowych
1[h] = [−2, − 2, 2]T
2[h] =[4, 0, − 2]T
3[h] = [−2, 2, − 2]T
4[h] =[2, − 2, 0]T
Na tym etapie badamy obszary, wracamy do rysunku i zaznaczamy 3; 1,2 itd.
Obszar 0: w0 < 0 (1)
Obszar 1: w0 + w1 < 0 (2)
w0 + w2 < 0 (3)
w0 + w3 < 0 (4)
Obszar 2: w0 + w1+ w4 < 0 (5)
w0 + w2+ w4 < 0 (6)
w0 + w2+ w3 < 0 (7)
Obszar 3: w0 + w2+ w2+ w4 > 0 (8)
w0 + w1+ w2+ w4 > 0 (9)
(9)+(-1)*(7) (w0 + w1 + w2 + w4) – (w0 + w2+ w3) > 0 -> w1 + w4- w3 > 0
(9)+(-1)*(6) (w0 + w1 + w2 + w4) – (w0 + w2+ w4) > 0 -> w1 > 0 //waga mocna
(9)+(-1)*(5) (w0 + w1 + w2 + w4) – (w0 + w1+ w4) > 0 -> w2 > 0 //waga mocna
(9)+(-1)*(4) (w0 + w1 + w2 + w4) – (w0 + w3) > 0 -> w1 + w2 + w4 − w3 > 0
(9)+(-1)*(3) (w0 + w1 + w2 + w4) – (w0 + w2) > 0 -> w1 + w4 > 0
(9)+(-1)*(2) (w0 + w1 + w2 + w4) – (w0 + w1) > 0 -> w2 + w4 > 0
(9)+(-1)*(1) (w0 + w1 + w2 + w4) – (w0) > 0 -> w1 + w2 + w4 > 0
(8)+(-1)*(7) (w0 + w2 + w3 + w4) – (w0 + w2+ w3) > 0 -> w4 > 0 //waga mocna
(8)+(-1)*(6) (w0 + w2 + w3 + w4) – (w0 + w2+ w4) > 0 -> w3 > 0 //waga mocna
(8)+(-1)*(5) (w0 + w2 + w3 + w4) – (w0 + w1+ w4) > 0 ->w2+ w3 - w1 > 0
(8)+(-1)*(4) (w0 + w2 + w3 + w4) – (w0 + w3) > 0 ->w2+ w4 > 0
(8)+(-1)*(3) (w0 + w2 + w3 + w4) – (w0 + w2) > 0 ->w3+ w4 > 0
(8)+(-1)*(2) (w0 + w2 + w3 + w4) – (w0 + w1) > 0 ->w2 + w3+ w4 − w1 > 0
(8)+(-1)*(1) (w0 + w2 + w3 + w4) – (w0) > 0 ->w2 + w3+ w4 > 0
(7)+(-1)*(6) (w0 + w2 + w3) – (w0 + w2+ w4) > 0 -> w3 - w4 > 0
(7)+(-1)*(5) (w0 + w2 + w3) – (w0 + w1+ w4) > 0 ->w2+ w3 - w4 > 0
(7)+(-1)*(4) (w0 + w2 + w3) – (w0 + w3) > 0 -> w2 > 0
(7)+(-1)*(3) (w0 + w2 + w3) – (w0 + w2) > 0 -> w3 > 0
(7)+(-1)*(2) (w0 + w2 + w3) – (w0 + w1) > 0 -> w2+ w3 - w1 > 0
(7)+(-1)*(1) (w0 + w2 + w3) – (w0) > 0 -> w2+ w3 > 0
(6)+(-1)*(5) (w0 + w2 + w4) – (w0 + w1+ w4) > 0 ->w2 - w1 > 0
(6)+(-1)*(4) (w0 + w2 + w4) – (w0 + w3) > 0 ->w2 + w4 − w3 > 0
(6)+(-1)*(3) (w0 + w2 + w4) – (w0 + w2) > 0 -> w4 > 0
(6)+(-1)*(2) (w0 + w2 + w4) – (w0 + w1) > 0 -> w2 + w4 − w1 > 0
(6)+(-1)*(1) (w0 + w2 + w4) – (w0) > 0 -> w2 + w4 > 0
(5)+(-1)*(4) (w0 + w1 + w4) – (w0 + w3) > 0 ->w1 + w4 − w3 > 0
(5)+(-1)*(3) (w0 + w1 + w4) – (w0 + w2) > 0 ->w1 + w4 − w2 > 0
(5)+(-1)*(2) (w0 + w1 + w4) – (w0 + w1) > 0 ->w4 > 0
(5)+(-1)*(1) (w0 + w1 + w4) – (w0) > 0 ->w1 + w4 > 0
(4)+(-1)*(3) (w0 + w3) – (w0 + w2) > 0 ->w3 − w2 > 0
(4)+(-1)*(2) (w0 + w3) – (w0 + w1) > 0 ->w3 − w1 > 0
(4)+(-1)*(1) (w0 + w3) – (w0) > 0 -> w3 > 0
(3)+(-1)*(2) (w0 + w2) – (w0 + w1) > 0 ->w2 − w1 > 0
(3)+(-1)*(1) (w0 + w2) – (w0) > 0 ->w2 > 0
(2)+(-1)*(1) (w0 + w1) – (w0) > 0 ->w1 > 0
Zad 2. Zaprojektować SSN zawierającą minimalną liczbę neuronów ze skokową funkcją aktywacji i odwzorowującą dane przedstawione na rysunku. Należy narysować strukturę tej sieci, wyprowadzić zależności opisujące poszczególne współczynniki wagowe, podać przykład wartości współczynników wagowych.
x2
obiekty klasy nr 1
(d=y=1)
1
obiekty klasy nr 2 obiekty klasy nr 2
(d=y=0) (d=y=0) x1
1
-1 obiekty klasy nr 1
(d=y=1)
[Ćwiczenia Nr 3 – 08.04.2013 r.]
Zad 1. Rozważany jest zbiór danych. Czy jest pogoda do gry w golfa czy nie?
Dane: L = {([x1, x2, x3, x4],d)(k)}k = 1K = 4= {([S, W, W, SL],2)(1), * ([S, W, W, SI],2)(2), * ([P, W, W, SL],1)3), ([D, S, W, SL],1)(4), ([D, N, N, SL],1)(5), ([D, N, N, SI],2)(6), ([P, N, N, SI],1)(7), ([S,S,W,SL],2)(8), * ([S,N,N,SL],1)(9), *
([S,S,N,SI],1)(11), *
([D,S,W,SI],2)(14),} |
Atrybuty: x1 – aura ∈ {S, P, D} S – słoneczna P – pochmurna D – deszczowa x2 – temperatura ∈ {N, S, W} N – niska S – średnia W – wysoka x3 – wilgotność ∈ {N, W} N – normalna W – wysoka x4 – wiatr ∈ {SŁ, SI} SŁ – słaby SI – silny |
Pożądane odpowiedzi d ∈ C = {1, 2} d = 1 – pogoda do gry w golfa d = 2 – pogoda do pozostania w domu K = 14, n = 4 |
---|
Wzory na entropie:
$E_{t = r}\left( P \right) = \sum_{d \in C}^{}{( - \frac{\left| P_{t = r}^{d} \right|}{\left| P_{t = r} \right|}}\log_{2}\ \frac{\left| P_{t = r}^{d} \right|}{\left| P_{t = r} \right|})$ - Entropia zbioru przykładów P ze względu na wynik „r” testu „t”
Et(P) = $\sum_{r \in R_{t}}^{}\frac{\left| P_{t = r} \right|}{\left| P \right|}\ E_{t = r}(P)$ - Entropia zbioru przykładów „t” ze względu na test „t”
t, r ∈ Rt
1(1) Kryterium stopu:
P = L
P ≠ ∅ ani P nie zawiera wyłącznie rekordów należących do tej samej klasy
KS nie spełnione, goto 1(2)
1(2) Utworzenie nowego węzła, wybór testu i realizacja rozgałęzień
P=L, |P|=14
Zbiór dostępnych testów Z={ tx1, tx2, tx3, tx4}
Wyznaczanie Et(P) dla t ∈ Z
Test tx1, Rtx1 = {S, P, D},
|Ptx1 = S| = 5, |Ptx1 = S1|=2, |Ptx1 = S2|=3
|Ptx1 = P| = 4, |Ptx1 = P1|=4, |Ptx1 = P2|=0
|Ptx1 = D| = 5, |Ptx1 = D1|=3, |Ptx1 = D2|=2
$E_{tx1 = S}\left( P \right) = - \frac{2}{5}$ $\log_{2}\frac{2}{5}$ − $\frac{3}{5}$ $\log_{2}\frac{3}{5}$ = 0.97
$E_{tx1 = P}\left( P \right) = - \frac{4}{4}$ $\log_{2}\frac{4}{4}$ − $\frac{0}{4}$ $\log_{2}\frac{0}{4}$ = 0 $E_{tx1}\left( P \right) = \frac{5}{14}$ $0.97 + 0 + \frac{5}{14}$ 0.97 = 0.69
$E_{tx1 = D}\left( P \right) = - \frac{3}{5}$ $\log_{2}\frac{3}{5}$ − $\frac{2}{5}$ $\log_{2}\frac{2}{5}$ = 0.97
Test tx2, Rtx2 = {N, S, W},
|Ptx2 = N| = 4, |Ptx2 = N1|=3, |Ptx2 = N2|=1
|Ptx2 = S| = 6, |Ptx2 = S1|=4, |Ptx2 = S2|=2
|Ptx2 = W| = 4, |Ptx2 = W1|=2, |Ptx2 = W2|=2
$E_{tx2 = N}\left( P \right) = - \frac{3}{4}$ $\log_{2}\frac{3}{4}$ − $\frac{1}{4}$ $\log_{2}\frac{1}{4}$ = 0.81
$E_{tx2 = S}\left( P \right) = - \frac{4}{6}$ $\log_{2}\frac{4}{6}$ − $\frac{2}{6}$ $\log_{2}\frac{2}{6}$ = 0.91 $E_{\text{tx}2}\left( P \right) = \frac{4}{14}$ $0.81 + \frac{6}{14}*0.91 + \frac{4}{14}$ 1 = 0.91
$E_{tx2 = W}\left( P \right) = - \frac{2}{4}$ $\log_{2}\frac{2}{4}$ − $\frac{2}{4}$ $\log_{2}\frac{2}{4}$ = 1
Test tx3, Rtx3 = {N, W},
|Ptx3 = N| = 7, |Ptx3 = N1|=6, |Ptx3 = N2|=1
|Ptx3 = W| = 7, |Ptx3 = W1|=3, |Ptx3 = W2|=4
$E_{tx3 = N}\left( P \right) = - \frac{6}{7}$ $\log_{2}\frac{6}{7}$ − $\frac{1}{7}$ $\log_{2}\frac{1}{7}$ = 0.59 $E_{tx3}\left( P \right) = \frac{7}{14}$ $0.59 + \frac{7}{14}*0.98 = 0.79$
$E_{tx3 = W}\left( P \right) = - \frac{3}{7}$ $\log_{2}\frac{3}{7}$ − $\frac{4}{7}$ $\log_{2}\frac{4}{7}$ = 0.98
Test tx4, Rtx4 = {SŁ, SI},
|Ptx4 = SL| = 8, |Ptx4 = SL1|=6, |Ptx4 = SL2|=2
|Ptx4 = SI| = 6, |Ptx4 = SI1|=3, |Ptx4 = SI2|=3
$E_{tx4 = SL}\left( P \right) = - \frac{6}{8}$ $\log_{2}\frac{6}{8}$ − $\frac{2}{8}$ $\log_{2}\frac{2}{8}$ = 0.81 $E_{tx4}\left( P \right) = \frac{8}{14}$ $0.81 + \frac{6}{14}*1 = 0.89$
$E_{tx4 = SI}\left( P \right) = - \frac{3}{6}$ $\log_{2}\frac{3}{6}$ − $\frac{3}{6}$ $\log_{2}\frac{3}{6}$ = 1
Wybór testu minimalizującego Et(P)
$t\hat{}$ = argmint ∈ Z Et(P) = argmint ∈ Z {0.69, 0.91, 0.79, 0.89} = tx1
Realizacja rozgałęzień
- dla tx1 = S, goto 2(1) // w drzewku wpisujemy x1 (aura)
- dla tx1 = P, …
- dla tx1 = D, …
2(1) Kryterium stopu
P : P = {1,2,8,9,11}, |P|=5 //wszystkie dla których x1 = S
P ≠ ∅ ani P nie zawiera rekordów należących wyłącznie do tej samej klasy
KS nie spełnione, goto 2(2)
2(2) Utworzenie nowego węzła, wybór testu i realizacja rozgałęzień
P : P = {1,2,8,9,11}, |P|=5
Zbiór dostępnych testów Z={tx2, tx3, tx4} // już nie ma tx1
Wyznaczanie Et(P) dla t ∈ Z
Test tx2, Rtx2 = {N, S, W}, //wybieramy tylko te ze zbioru Z, czyli oznaczone gwiazdkami w zbiorze L
|Ptx2 = N| = 1, |Ptx2 = N1|=1, |Ptx2 = N2|=0
|Ptx2 = S| = 2, |Ptx2 = S1|=1, |Ptx2 = S2|=1
|Ptx2 = W| = 2, |Ptx2 = W1|=0, |Ptx2 = W2|=2
$E_{tx2 = N}\left( P \right) = - \frac{1}{1}$ $\log_{2}\frac{1}{1}$ − $\frac{0}{1}$ $\log_{2}\frac{0}{1}$ = 0
$E_{tx2 = S}\left( P \right) = - \frac{1}{2}$ $\log_{2}\frac{1}{2}$ − $\frac{1}{2}$ $\log_{2}\frac{1}{2}$ = 1 $E_{tx2}\left( P \right) = \frac{1}{5}*$ $0 + \frac{2}{5}*1 + \frac{2}{5}$ *0 = 0.4
$E_{tx2 = W}\left( P \right) = - \frac{0}{2}$ $\log_{2}\frac{0}{2}$ − $\frac{2}{2}$ $\log_{2}\frac{2}{2}$ = 0
Test tx3, Rtx3 = {N, W},
|Ptx3 = N| = 2, |Ptx3 = N1|=2, |Ptx3 = N2|=0
|Ptx3 = W| = 3, |Ptx3 = W1|=0, |Ptx3 = W2|=3
$E_{tx3 = N}\left( P \right) = - \frac{2}{2}$ $\log_{2}\frac{2}{2}$ − $\frac{0}{2}$ $\log_{2}\frac{0}{2}$ = 0 $E_{tx3}\left( P \right) = \frac{2}{5}*$ $0 + \frac{3}{5}*0 = 0$ //test najbardziej optymalny (nie ma sensu liczyć dalej)
$E_{tx3 = W}\left( P \right) = - \frac{0}{3}$ $\log_{2}\frac{0}{3}$ − $\frac{3}{3}$ $\log_{2}\frac{3}{3}$ = 0
Ponieważ Etx3(P) = 0 test tx4 pomijamy
Dokończyć na podst zeszytu i moniki