MSI AiR w5 2004

background image

1

MSI-w5/1

Metody sztucznej inteligencji

Politechnika Śląska

Katedra Podstaw Konstrukcji Maszyn

Rok akademicki 2002/2003

Wykład 5

Materiały dydaktyczne (na prawach rękopisu)

dla studentów Wydziału Mechanicznego Technologicznego

MSI-w5/2

Uczenie (się) na podstawie

obserwacji

MSI-w5/3

Główna idea

• Percepcje są wykorzystywane nie tylko do

wyboru odpowiedniej akcji, lecz także do

powiększania zdolności systemu wnioskowania
(agenta) do działania w przyszłości (uczenia się)

• Uczenie się zachodzi jako

wynik interakcji

pomiędzy systemem wnioskowania (agentem)
i otoczeniem

• Jest wiele form uczenia, od

zapamiętywania

do

tworzenia złożonych teorii

MSI-w5/4

Ogólny model systemu wnioskowania

(agenta) uczącego się (1)

Ś

r

o
d
o

w

i

s

k
o

Krytyka

Element

uczący się

Element

działający

Generator

problemów

Sensory

Efektory

Agent

Sprzęż.

zwrotne

Cele

uczenia

Zmiany

Wiedza

MSI-w5/5

Ogólny model (systemu wnioskowania)

agenta uczącego się (2)

• Element uczący się

- odpowiada za dokonywanie

ulepszeń

• Element działający

- odpowiada za wybór

zewnętrznych działań

• Krytyka

- dostarcza elementowi uczącemu się

informacji o tym, jak dobrze działa agent

• Generator problemów

- sugeruje akcje, które będą

prowadzić do nowych i informatywnych doświadczeń

MSI-w5/6

Ogólny model (systemu wnioskowania)

agenta uczącego się (3)

• Dostępne sprzężenia zwrotne:

– uczenie nadzorowane

(agent zna zarówno

percepcje, jak i wynik ich klasyfikacji)

– uczenie ze wzmocnieniem

(agent jest nagradzany

lub karany, w zależności od wyniku akcji;

klasyfikacja nie jest agentowi znana)

– uczenie nienadzorowane

(klasyfikacja nieznana)

• Rola wiedzy podstawowej -

uczenie zwiększa

nieznacznie wiedzę posiadaną przez agenta

background image

2

MSI-w5/7

Indukcja drzew decyzyjnych

• Jeden z najprostszych algorytmów uczenia

maszynowego

• Łatwe do wdrożenia

MSI-w5/8

Cechy drzewa decyzyjnego

• Obiekty są opisane przez zbiory ich cech
• Drzewo zwraca klasyfikację (decyzję)

TAK/NIE (mogą być przypadki
wieloklasowe - bardziej ogólne)

• Drzewo reprezentuje funkcję Boolowską

MSI-w5/9

Budowa drzewa decyzyjnego

• Każdy wewnętrzny węzeł odpowiada testowi

dotyczącemu wartości jakiegoś atrybutu

• Każdej krawędzi wychodzącej z danego węzła

przyporządkowana jest jedna wartość atrybutu
„węzłowego”

• Liściom przyporządkowane są wartości

Boolowskie, zwracane jeśli osiągnięto dany
liść

MSI-w5/10

Przykład - czy czekać na stolik?

Alternate: w pobliżu

jest inna restauracja?

Bar: czy w restauracji

jest bar gdzie można
poczekać?

Fri/Sat: Piątek/Sobota
Hungry: jesteś głodny?
Patrons: ile jest ludzi w

restauracji?

Price: zakres cen
Raining: czy pada?
Reservation: czy zarezer-

wowaliśmy wcześniej?

Type: rodzaj restauracji -

chińska, włoska, Burger.

WaitEstimate: szacowa-

ny czas oczekiwania w
min.

MSI-w5/11

Czy czekać na stolik?

Yes

Patrons?

No

Reservation?

Bar?

Yes

No

WaitEstimate?

Alternate?

Hungry?

Yes

Fri/Sat?

Yes

Alternate?

Yes

No

Yes

Yes

Raining?

No

Yes

No

None

Some

Full

0-10

10-30

30-60

>60

No

Yes

No

Yes

No

Yes

No

Yes

No

Yes

No

Yes

No

Yes

W tym drzewie nie
wykorzystano wszyst-
kich atrybutów!!

MSI-w5/12

Indukcja drzew decyzyjnych

ze zbioru przykładów

• Przykład opisywany jest przez

wartości

atrybutów

(warunku) oraz przez

wartość

atrybutu decyzyjnego

• Przykłady tworzą

zbiór trenujący

• Brzytwa Ockhama (XIV w.):

Pluralitas non est ponenda sine neccesitate

Najbardziej prawdopodobna jest
najprostsza spośród hipotez zgodnych ze
wszystkimi obserwacjami

background image

3

MSI-w5/13

Algorytm indukcji drzew decyz.

function DECISION-TREE-LEARNING(examples,attributes,default) returns a decision tree

inputs: examples, zbiór przykładów

attributes, zbiór atrybutów
default, wartość domyślna dla atrybutu decyzyjnego

if examples is empty then return default
else if all examples have the same classification then return the classification
else if attributes is empty then return MAJORITY-VALUE(examples)
else

best

← CHOOSE-ATTRIBUTE(attributes,examples)

tree

← a new decision tree with root test best

for each value v

i

of best do

examples

i

← {elements of examples with best = v

i

}

subtree

← DECISION-TREE-LEARNING(examples

i

,attributes-best,

MAJORITY-VALUE(examples))

add a branch to tree with label v

i

and subtree subtree

end
return
tree

Oznacza to, że
dane mają te same
opisy, lecz należą
do różnych klas;
rozstrzyga głoso-
wanie

MSI-w5/14

Uwagi dotyczące indukcji drzew

• Podstawowy problem - wybór
• Indukcja niezupełna (

nie mamy wszystkich

możliwych przykładów

)

• Programy realizujące uczenie maszynowe

działają bardzo szybko i efektywnie

• Drzewa decyzyjne mogą być bardzo

rozbudowane - często się je

przycina

kosztem

nieco gorszej sprawności klasyfikacji

MSI-w5/15

Ocena sprawności algorytmu uczenia (1)

• Zgromadź

liczny zbiór przykładów

• Podziel go na rozłączne zbiory:

zbiór trenujący

i

zbiór testowy

• Stosując zbiór trenujący jako przykłady,

uzyskaj indukcyjnie hipotezę H

• Stosując przykłady testowe,

określ jaka ich

część jest poprawnie klasyfikowana przez H

• Powtarzaj te kroki dla zbiorów trenujących

różnych wielkości, losowo wybieranych

MSI-w5/16

Ocena sprawności algorytmu uczenia (2)

• Ilość informacji

[bity] zawartej w poprawnej

odpowiedzi, gdy zbiór trenujący zawiera p
przykładów pozytywnych i n negatywnych:

• Ilość informacji dostępna po testowaniu atrybutu

A:

Przyrost ilości informacji:

n

p

n

n

p

n

n

p

p

n

p

p

n

p

n

n

p

p

I

+

+

+

+

=

+

+

2

2

log

log

)

,

(

=

+

+

+

+

=

v

i

i

i

i

i

i

i

i

i

n

p

n

n

p

p

I

n

p

n

p

A

Pozostało

1

)

,

(

)

(

)

(

)

,

(

)

(

Pr

A

Pozostało

n

p

n

n

p

p

I

A

zyrost

+

+

=

Atrybut A dzieli zbiór E na
podzbiory E

1

,..., E

v

; p

i

, n

i

to liczby przykładów pozyty-
wnych i negatywnych w tym
podzbiorze

MSI-w5/17

Zwiększenie możliwości

zastosowania drzew decyzyjnych

• Brakujące dane

(nie zapisane; zbyt

kosztowne ich uzyskanie)

• Atrybuty wielowartościowe
• Atrybuty o wartościach ciągłych

(rzeczywistych) - wymagana dyskretyzacja

MSI-w5/18

Niektóre problemy

• Błędne dane (np. sprzeczne przykłady -

takie same wartość atrybutów warunku,
różne wartości atrybutu decyzyjnego)

– drzewo klasyfikuje błędnie

• Nadmierne dopasowanie

– zbyt szczegółowy klasyfikator, dużo błędów dla

„unseen examples”

• Rada - PRZYCINANIE DRZEWA

background image

4

MSI-w5/19

Podstawowe pytanie

Skąd wiadomo, że algorytm uczenia
pozwolił utworzyć teorię, która
będzie

poprawna

?

MSI-w5/20

Odpowiedź intuicyjna

• Każda hipoteza, która jest poważnie błędna,

zostanie na pewno znaleziona z wysokim

prawdopodobieństwem jedynie dla małej liczby

przykładów, ponieważ to prowadziłoby do

błędnych przewidywań

• Wniosek:

Jest nieprawdopodobne, żeby hipoteza zgodna z

wystarczająco licznym zbiorem trenującym, była

poważnie błędna

• Uczenie

PAC

(Probably Approximately Correct)

MSI-w5/21

Ile potrzeba przykładów (1)?

X - zbiór wszystkich możliwych

przykładów

D – rozkład prawdopodobieństwa, z którego

losuje się przykłady

H - zbiór możliwych hipotez
f

H – prawdziwa funkcja, którą staramy

się przybliżyć za pomocą hipotezy h

H

m - liczba przykładów w zbiorze

trenującym

MSI-w5/22

Ile potrzeba przykładów (2)?

• Błąd (h różne od aproksymowanej funkcji f):

• Hipoteza jest w przybliżeniu poprawna, jeśli:

• Gdy

δ-dopuszczalne prawdop. błędnej hipotezy:

}

z

wylosowane

|

)

(

)

(

{

)

(

D

x

x

f

x

h

P

h

error

h

=

H

liczba

mała

,

)

(

ε

ε

h

error

+

H

ln

1

ln

1

δ

ε

m

MSI-w5/23

Podsumowanie (1)

• Zdolność uczenia się systemu wnioskowania (agenta)

jest istotna

ze względu na działanie w nieznanym

środowisku

• W systemie wnioskowania (agencie) uczącym się

można wyróżnić:

– element działający

, odpowiedzialny za wybór akcji

– element uczący (się)

, odpowiedzialny za modyfikowanie

elementu działającego

• Możliwe są

różne formy uczenia

, ze względu na:

element działający, sprzężenia zwrotne oraz dostępną

wiedzę

MSI-w5/24

Podsumowanie (2)

• Uczenie się jakiegokolwiek składnika elementu

działającego może być interpretowane jako

uczenie się aproksymacji funkcji

• Uczenie się aproksymacji funkcji na podstawie

przykładów nazywa się

uczeniem indukcyjnym

• Drzewa decyzyjne są skutecznym środkiem

uczenia się

zdeterminowanych funkcji Boola

background image

5

MSI-w5/25

Podsumowanie (3)

• Brzytwa Ockhama

sugeruje wybór

najprostszej hipotezy pasującej do

obserwowanych przykładów

• Określenie

największego przyrostu

informacji

umożliwia znalezienie

prostych

drzew decyzyjnych

• Osiągi algorytmu uczenia indukcyjnego

określa się za pomocą

łącznego błędu

klasyfikacji

MSI-w5/26

Uczenie w sieciach neuronowych

MSI-w5/27

Sieci neuronowe -geneza

• Reprezentuje złożone (np. nieliniowe) funkcje
• Sieci złożone z prostych elementów

wykonujących operacje arytmetyczne

• Szczególnie użyteczne w przypadku

skomplikowanych funkcji wielu zmiennych,

które:

– mają wyjścia o wartościach rzeczywistych
– mają wiele wejść obciążonych szumem

MSI-w5/28

Jak działa mózg?

• Składa się z neuronów (komórek nerwowych)
• Neurony połączone pomiędzy sobą poprzez

synapsy

• Sygnały pomiędzy neuronami:

– propagowane poprzez reakcje elektrochemiczne
– przekazywane, gdy potencjał elektryczny danego

neuronu przekroczy odpowiedni próg

– mogą być wzmacniane lub tłumione przez

synapsy

MSI-w5/29

Długość wypustek komórki nerwowej jest około

100 razy większa od średnicy komórki.

Budowa neuronu

wejścia

wyjście

wzmocnienie

MSI-w5/30

Mózg : komputer

10

14

10

5

Liczba neuronów
aktualizowanych/s

10

14

10

9

Pasmo [bity/s]

10

-3

10

-8

Czas trwania cyklu [s]

10

11

neuronów;

10

14

synaps

RAM 10

9

bitów;

Dysk 10

10

bitów

Pojemność pamięci

10

11

neuronów

1 CPU; 10

5

bramek

Liczba jednostek

Mózg ludzki

Komputer (1994r)

background image

6

MSI-w5/31

Sieć neuronowa

• Wiele

węzłów

(jednostek)

• Połączenia

między nimi

• Połączeniom przyporządkowane

wagi

MSI-w5/32

Jednostka (neuron)

• Posiada zbiór

połączeń wejściowych

• Posiada zbiór

połączeń wyjściowych

• Ma

poziom aktywacji

• Główna idea:

każda jednostka przeprowadza samodzielnie

(lokalnie) obliczenia, bazując na wejściach

od swoich sąsiadów, lecz bez potrzeby

globalnego sterowania zespołem

neuronów jako całością

MSI-w5/33

Algorytm budowy sieci

• Określ:

– liczbę potrzebnych neuronów
– ich rodzaj
– sposób połączenia neuronów pomiędzy sobą

• Zainicjuj początkowe wartości wag
• Trenuj sieć (modyfikując wagi), używając

odpowiedniego algorytmu zastosowanego

do zbioru przykładów trenujących

MSI-w5/34

Jednostka sieci (neuron)

wagi

wyjście

Ważona suma wejść

funkcja aktywacji

=

=

j

i

i

j

i

j

i

a

W

in

a

W

,

MSI-w5/35

Przykłady funkcji aktywacji

<

=

t

x

t

x

x

t

if

,

0

if

,

1

)

(

step

<

+

=

0

if

,

1

0

if

,

1

)

(

sign

x

x

x

x

e

x

+

=

1

1

)

(

sigmoid

1

,

gdzie

)

(

step

)

(

step

0

,

0

0

,

0

1

,

=

=

=

=

=

=

a

t

W

a

W

a

W

a

i

n

j

j

i

j

n

j

j

i

j

t

i

MSI-w5/36

Zastosowanie funkcji aktywacji step powoduje, że

neurony mogą działać jak logiczne bramki.

Reprezentowanie funkcji logicznych

background image

7

MSI-w5/37

Struktury sieci neuronowych

• Sieci feed-forward (nierekurencyjne)

– Skierowany graf acykliczny
– Neurony zwykle organizowane w warstwy
– Poza wartościami wag brak wewnętrznego stanu (bez

pamięci)

– Działają szybko, łatwo je zaprogramować

• Sieci rekurencyjne (mózg ludzki!!)

– Mają stan wewnętrzny
– Zaawansowany aparat matematyczny
– niekiedy długo trzeba czekać na stabilizację wyjścia

MSI-w5/38

Dwa wejścia (I

1

i I

2

), dwa neurony (H

1

i H

2

) w warstwie

ukrytej i jeden neuron (O

5

) na wyjściu sieci.

Prosta sieć neuronowa

z propagacją w przód

(

)

(

)

(

)

(

)

2

4

,

2

1

4

,

1

5

,

4

2

3

,

2

1

3

,

1

5

,

3

4

5

,

4

3

5

,

3

5

a

W

a

W

g

W

a

W

a

W

g

W

g

a

W

a

W

g

a

+

+

+

=

+

=

MSI-w5/39

Perceptrony

• Mogą reprezentować

złożone funkcje

logiczne

• Zastępują złożone

binarne drzewa

decyzyjne (perceptron

o n wejściach można

zastąpić drzewem

decyzyjnym o 2

n

węzłach)

MSI-w5/40

Liniowa separowalność

• Np. XOR nie jest liniowo separowalny
• Istnieje algorytm, który

umożliwia nauczenie każdej

liniowo separowalnej funkcji

, gdy jest

dostatecznie dużo

przykładów trenujących

MSI-w5/41

Reprezentuje funkcję minimalizacji

Liniowa separacja w przestrzeni 3D

MSI-w5/42

Ogólny algorytm uczenia sieci

function NEURAL-NETWORK-LEARNING(examples) returns network

network

← sieć z losowo przyjętymi wagami

repeat

for each e in examples do

O

← NEURAL-NETWORK-OUTPUT(network, e)

T

← zaobserwowane wartości wyjściowe dla e

zaktualizuj wagi w network bazując na e, O, T

end

until wszystkie przykłady poprawnie sklasyfikowane

lub osiągnięte kryterium stop

return network

O - wartośc wyjściowa sieci, T - wartość poprawna

background image

8

MSI-w5/43

Reguła uczenia perceptronu

• Uczenie polega na aktualizacji wag
• Określa się błąd predykcji:

Err = T - O

gdy > 0, zwiększyć O; gdy < 0, zmniejszyć O

• Udział j-tego neuronu wejściowego w

wyjściu = W

j

I

j

• Reguła uczenia (

α - prędkość uczenia):

W

j

W

j

+

α × I

j

× Err

MSI-w5/44

Porównanie zastosowania perceptronów i drzew

decyzyjnych

(a) Perceptron lepszy w uczeniu funkcji majoryzującej

dla 11 wejść,

(b) Drzewa decyzyjne lepsze w uczeniu predykatów

WillWait (przykład oczekiwania na stolik
w restauracji)

MSI-w5/45

Dwuwarstwowa sieć neuronowa

nierekurencyjna dla zadania

„oczekiwanie na stolik w restauracji”

Neuron wyjściowy

Neurony ukryte

Neurony wejściowe

MSI-w5/46

Wsteczna propagacja błędu (1)

• Najbardziej popularna metoda uczenia NN
• Bazuje na algorytmie uczenia perceptronu
• Istota polega na odpowiednim rozdzielaniu

błędu proporcjonalnie do wag sieci

• W wyrażeniu na aktualizację wag

uwzględnia się

gradient funkcji aktywacji

MSI-w5/47

Wsteczna propagacja błędu (2)

Jeśli dla i-tego wyjścia Err

i

= T

i

- O

i

, to:

( )

( )

( )

.

:

wejsciowej

warstwy

Dla

.

:

gdzie

:

Wtedy

.

Niech

,

,

,

,

,

,

,

j

k

j

k

j

k

i

i

i

j

j

j

i

j

i

j

i

j

i

i

i

i

i

j

i

j

i

j

I

W

W

W

in

g

a

W

W

in

g

Err

in

g

Err

a

W

W

+

=

+

=

+

α

α

α

MSI-w5/48

Algorytm wstecznej propagacji błędu

• Oblicz wartości

∆ dla neuronów wyjściowych

stosując uzyskany błąd

• Zaczynając od warstwy wyjściowej, powtarzaj

dla każdej warstwy sieci, dopóki nie zostanie
osiągnięta pierwsza warstwa ukryta:

– Propaguj wartości

∆ do poprzedzającej warstwy

– Aktualizuj wagi połączeń pomiędzy obiema

warstwami

background image

9

MSI-w5/49

Powierzchnia błędów dla gradientu spadku

w przestrzeni wag

Kiedy w

1

=a i w

2

=b błąd dla danego zbioru danych

trenujących jest minimalny

MSI-w5/50

Dyskusja (1)

• SN

są reprezentacją opartą na atrybutach

i nie

pozwalają na wyrażanie logicznych zależności

(w odróżnieniu od drzew decyzyjnych),

• Wydajność obliczeniowa

SN

zależy od czasu,

który jest potrzebny na trenowanie sieci

, w celu

jej dopasowania do danego zbioru przykładów,

• SN

pozwalają na generalizację problemów

, co

czyni je przydatnymi w rozwiązywaniu wielu

zadań świata rzeczywistego.

MSI-w5/51

Dyskusja (2)

• SN

nie są czułe na szum

na wejściu ponieważ

działają na zasadzie nieliniowej regresji,

• SN

są czarnymi skrzynkami

(są nieprzeźroczyste);

nie można uzyskać odpowiedzi na pytanie:

„dlaczego dane wyjście jest poprawne?”,

• SN

nie umożliwiają oceny jaka wiedza a priori

jest najlepsza do ich nauczenia

, co jest efektem

ich nieprzeźroczystości. (Problem może być

usunięty w sieciach przekonań)

MSI-w5/52

Przykłady zastosowań

• Wymowa pisanych angielskich tekstów

realizowana przez komputer (NETtalk 1987).

Litera „k” odpowiada dźwiękowi [k], ale litera „c”

odpowiada także [k] (cat) lub [s]

(cent).

• Rozpoznawanie pisma odręcznego.

stosowane do odczytywania adresów na

kopertach (VLSI, 1989).

• Sterowanie pojazdem

poruszającym się po

autostradzie (ALVINN, 1993)

MSI-w5/53

Podsumowanie (1)

• Sieć neuronowa to model obliczeniowy o niektórych

własnościach podobnych do mózgu

• Zachowanie się sieci określone jest przez jej

topologię

• Perceptron to rodzaj sieci jednowarstwowej, która

może reprezentować tylko funkcje liniowo

separowalne

• Dla danych separowalnych liniowo, reguła uczenia

perceptronu poprzez modyfikację wag sieci

umożliwia bezbłędne dopasowanie do danych

MSI-w5/54

Podsumowanie (2)

• Nierekurencyjne sieci wielowarstwowe o

odpowiednim stopniu złożoności mogą

reprezentować dowolną funkcję

• Algorytm uczenia ze wsteczną propagacją

błędu umożliwia uczenie nierekurencyjnych

sieci wielowarstwowych:

– Jest zbieżny do lokalnie optymalnego rozwiązania
– Użyty z powodzeniem w wielu zastosowaniach


Wyszukiwarka

Podobne podstrony:
MSI AiR w7 2004
MSI AiR w6 2004
MSI AiR w2 2004
MSI AiR w1 2004
MSI AiR w4 2004
MSI AiR w3 2004
E TO AiR NS W5
pel1 w5, Automatyka i robotyka air pwr, II SEMESTR, Podstawy elektroniki, wykład
MSI w5 konspekt 2010 id 309793 Nieznany
ti 1102 Transporter 2004 Heating and Air Conditioning
131 Jak to jest z powietrzem u góry How s the air up there Jay Friedman,Sep 9, 2004
2004 mx comp air
W5 Zawiesia
W5 sII PCR i sekwencjonowanie cz 2

więcej podobnych podstron