Transcript Slajd 1
Wprowadzenie do Sztucznej
Inteligencji w zastosowaniach
biznesowych
Podyplomowe Studium Business
Intelligence - Systemy Wspomagania
Decyzji Biznesowych
dr Jarosław Olejniczak
[email protected]
Sztuczna inteligencja - literatura
• L. Rutkowski, Metody i techniki sztucznej inteligencji.
Warszawa: PWN, 2005
• J.S. Zieliński, Inteligentne systemy w zarządzaniu, PWN,
Warszawa 2000;
• B. Stefanowicz, Sztuczna Inteligencja i Systemy Eksperckie,
Oficyna Wydawnicza SGH 2002;
• J. Mulawka, Systemy ekspertowe, WNT Warszawa 1996;
• W. Flakiewicz, Systemy informacyjne w zarządzaniu, Beck
Warszawa 2002.
Sztuczna inteligencja - literatura
• E. Rich, K. Knight, Artificial Intelligence, McGraw-Hill
1991;
• Turban E.,Aronson J., Decision Support Systems and
Intelligent Systems, Prentice Hall 1998;
• Klein M.., Mathlie L.B., Expert Systems a decision support
approach with applications in management and finance,
Addison-Wesley Publishing Company 1990;
• Scott A.C. Clayton J.E., Gibson L.E., A practical guide to
knowledge acquisition, Addison-Wesley Publishing Company
1991
Sztuczna inteligencja - literatura
• J. Arabas, Wykłady z algorytmów ewolucyjnych, WNT,
Warszawa 2001;
• D. E. Goldberg , Algorytmy genetyczne i ich zastosowania ,
WNT Warszawa 1998
• M. Lasek, Data Mining zastosowania w analizach i
ocenach klientów bankowych, Oficyna Wydawnicza
“Zarządzanie i Finanse”, Warszawa 2002;
• R. Tadeusiewicz, Sieci neuronowe, Akademicka Oficyna
Wydawnicza RM, Warszawa 1993;
• E. Gatnar, Symboliczne metody klasyfikacji danych,
PWN, Warszawa 1998
Sztuczna inteligencja - literatura
• T.D. Gwiazda, Algorytmy genetyczne :zastosowania w
finansach, Wydaw. Wyż. Szk. Przedsiębiorczości i
Zarządzania im. L. Koźmińskiego, 1998.
• T.D. Gwiazda, Optima_AG optymalizator problemów
zarządzania i biznesu dla Microsoft Excel, Wydawictwa
Naukowe Wydziału Zarządzania UW, Warszawa 1999
• Kopczewska K., Kopczewski T., i Wojcik P., Metody
Ilościowe w R. Aplikacje ekonomiczne i finansowe.
CEDEWU.PL Wydawnictwa Fachowe, 2009.
• M. Walesiak, Statystyczna analiza danych z wykorzystaniem
programu R. Warszawa: Wydawnictwo Naukowe PWN,
2009.
• P. Biecek, Przewodnik po pakiecie R. Wrocław: Oficyna
Wydawnicza GIS, 2008.
Sztuczna inteligencja - literatura
• L. Torgo, Data mining with R : learning with case studies.
Boca Raton: Chapman & Hall/CRC, 2011.
• D. S. Putler i R. E. Krider, Customer and business
analytics : applied data mining for business decision making
using R. Boca Raton, FL: CRC Press, 2012.
• G. Williams, Data mining with Rattle and R the art of
excavating data for knowledge discovery. New York [etc.]:
Springer, 2011.
• R. M. Heiberger i E. Neuwirth, R through Excel : a
spreadsheet interface for statistics, data analysis, and
graphics. Dordrecht; New York: Springer, 2009.
Sztuczna inteligencja - wprowadzenie
Sztuczna Inteligencja - to dziedzina informatyki dotycząca
metod i technik wnioskowania symbolicznego przez
komputer oraz symbolicznej reprezentacji wiedzy
stosowanej podczas takiego wnioskowania
Feigenbaum cyt. J. Mulawka, Systemy ekspertowe, WNT Warszawa 1996
Sztuczna Inteligencja - wszelkie badania dotyczace
aspektów zwiazanych z problemami inteligencji,
prowadzone metodami realizacji technicznej lub
teoretycznych rozwiązań wykorzystujących formalizm
matematyczny
Dziurnikowski, Informatyka, 1979, nr 3
Sztuczna inteligencja - wprowadzenie
Sztuczna Inteligencja jest tą częścią informatyki, która bada
procesy rozumowania symbolicznego i niealgorytmicznego
oraz zajmuje się reprezentacją symbolicznie ujętej wiedzy.
Forsyth R., Expert systems - Principles and Case Studies , Chapman and Hall,
Univ. Press Cambridge 1984
Sztuczna Inteligencja - zespół środków informatyki,
ułatwiających nabywanie i wykorzystywanie wiedzy
wynikającej z oddtwarzania okoliczności, które
doprowadziły do znanych skutków, w celu określenia
czynników i działań niezbędnych dla spowodowania skutków
pożądanych
Olejniczak J, Sztuczna Inteligencja z filozoficznej perspektywy, Problemy
1991, nr 6
Sztuczna inteligencja - historia
• Jackues de Vaucanson (1709- 1782) - słynny konstruktor
sztucznych automatów imitujących zachowanie żywych
organizmów;
• Alan Turing (1912 - 1954) -w 1936 opracował teoretyczny
model tzw. maszyny Turinga, test Turinga.
• McCulloch W.S.,Pitts W. , A logical calculus of the ideas
Immament in nerwous activity. Bulletin of Mathematical
Biophysics, 1943 - teoretyczne podsatwy do utworzenia
sztucznych sieci neuronowych;
• Norbert Wiener (1984 - 1964) - jako pierwszy wysunął
hipotezę że inteligentne zachowanie jest wynikiem działania
mechanizmu ze sprzężeniem zwrotnym;
Sztuczna inteligencja - historia
• John McCarthy (ur 1927) - twórca pojęcia sztucznej
inteligencji (1956) - “The Darthmouth summer research
project on artificial intelligence”, twórca języka LISP;
• Newel A. Simone H.A. :GPS - a program that simulates
human thought, Addison Wesley Publishing Company 1963
• J. Weizenbaum (1967) - ELIZA - pierwszy chatterbot
• Uniwersytet Stanford (1972) - powstają pierwsze systemy
ekspertowe: MYCIN i PROSPECTOR
• J.H Holland, Adaptation in Natural and Artificial Systems,
University of Michigan Press, 1975 - podstawy do tworzenia
algorytmów genetycznych;
Sztuczna inteligencja - historia
• Christopher Langton (1987) - konfrenecja “Evolution, Games
and Learning: Models for adaptation in machines and
nature” - po raz pierwszy pojawia się pojęcie Sztuczne Życie
(Artificial Life)
• 1997 Gari Kasparow przegrywa pojedynek szachowy z
systemem informatycznym;
Sztuczna inteligencja – obszary
•
•
•
•
•
•
•
•
•
•
•
•
Systemy ekspertowe
Procesy percepcji (wizja, słuch, dotyk)
Robotyka
Automatyczne uczenie
Reprezentacja niepewności i niewiedzy w systemach
informatycznych
Sztuczne sieci neuronowe
Algorytmy genetyczne
Rozpoznawanie języka naturalnego
Sztuczne życie
Eksploracja danych
Web mining
Text mining
Sztuczna inteligencja – klasy systemów
•
•
•
•
•
Systemy transakcyjne
Systemy biurowe
Systemy informacyjne zarządzania
Systemy wspomagania decyzji
Systemy wspomagające kierownictwo
(Executive Information Systems)
• Systemy inteligentne
Programy tradycyjne a inteligentne
Programy tradycyjne
Programy inteligentne
•Przetwarzanie numeryczne
•Algorytmiczny zapis działań
•Przetwarzanie wsadowe lub
interaktywne
• Możliwość sprawdzenia poprawności
działania programu
• Rozwój programu na podstawie
specyfikacji
• Przedstawianie i wykorzystanie
danych
• Wykorzystanie baz danych
•Przetwarzanie symboliczne
•Deklaratywny zapis wiedzy
•Interaktywne otoczenie programowe
•Brak możliwości sprawdzenia
poprawności działania programu
•Rozwój programu na podstawie
prototypu
•Przedstawianie i wykorzystanie
wiedzy
• Wykorzystanie baz wiedzy
Definicje i pojęcia podstawowe
Zagadnienia podejmowania decyzji
Decyzje które należy
podjąć
cele lub środki
1
środki
cele
jeden wymiar
2
liczba wymiarów
n wymiarów
mierzalność wymiarów
3
miary ilościowe
miary jakościowe
pewność p=0 lub p=1
niepewność
4
Niepewność
(niewiedza) p przestaje
mieć znaczenie
ryzyko 0<p<1
Jedna jednostka
liczba jednostek
5
n jednostek
Automatyczne 6
odwołujące się
do autorytetu
matematyczne
synteza
wartości
rodzaje kryterium decyzji
prób i błędów
odwołujące się
systemów
etycznych
Definicje i pojęcia podstawowe
Proces podejmowania decyzji – przepływ informacji
Otoczenie wewnętrzne
Otoczenie zewnętrzne
Ocena
informacji
Analiza
ilościowa
Analiza
jakościowa
Interpretacja:
Czy znaleziono
problem ?
Decyzja: co zrobić
z problemem
Konspekt
• Wiedza w systemach informatycznych
• Algorytmy genetyczne
• Sztuczne sieci neuronowe
• Wybrane metody automatycznego
uczenia
Definicje i pojęcia podstawowe
Co przetwarza SWD ?
•Dane
•Informację
•Wiedzę
Definicje i pojęcia podstawowe
Dane
Dane - liczby, fakty, pojęcia lub rozkazy
przedstawione w sposób wygodny do
przesyłania, interpretacji lub
przetwarzania metodami ręcznymi lub
automatycznie
polska norma z 1970 roku
Definicje i pojęcia podstawowe
Informacje
Informacja to uporządkowany zestaw danych
Definicje i pojęcia podstawowe
Informacje
Informacja to wiadomość przedstawiona
zwykle w formie dokumentu lub przekazu
dźwiękowego lub wizualnego
Thomas H. Davenport, Laurence Prusak
Definicje i pojęcia podstawowe
Co to jest wiedza
Wiedza składa się ze zrozumienia tych
aspektów świata, które nigdy się nie
zmieniają
Platon
Definicje i pojęcia podstawowe
Co to jest wiedza ?
Wiedza - uporządkowany zbiór faktów i
relacji, który stanowi część procesu
wnioskowania.
Collins Dictionary of Artificial Intelligence
Definicje i pojęcia podstawowe
Co to jest wiedza ?
Wiedza - zestaw wzajemnie połączonych
informacji na określony temat przez co dzięki cesze synergii przypisywanej
informacjom uzyskuje się określony
spójny obraz rozpatrywanego wycinka
rzeczywistości
prof. Bogdan Stefanowicz.
Definicje i pojęcia podstawowe
Co to jest wiedza ?
Knowledge is a fluid mix of framed
experience, values, contextual
information, and expert insight that
provides a framework for evaluating
and incorporating new experiences
and information. It originates and is
applied in the minds of knowers. In
organizations, it often becomes
embedded not only in documents or
repositories but also in organizational
routines, processes, practices, and
norms
Wiedza jest to płynna
mieszanka wyrażonego
doświadczenia, wartości,
informacji wypływających z
kontekstu i eksperckiej
wnikliwości, które dostarczają
podstaw do oceny i
przyswajania nowych
doświadczeń i informacji
Thomas H. Davenport and Laurence Prusak
Definicje i pojęcia podstawowe
Co to jest wiedza ?
Wiedza = Informacje + relacje + kontekst
Wiedza w systemach informatycznych
Klasy systemów informatycznych
• Systemy transakcyjne
• Systemy wspomagania decyzji
• Systemy ekspertowe i inne oparte na
metodach sztucznej inteligencji
Wiedza w systemach informatycznych
Systemy transakcyjne
• Wiedza stała – przejęta
– Struktura tabel i relacje miedzy nimi
– Definicje procesów typu „workflow”
– Różnego rodzaju procedury i funkcje
• Wiedza zmienna – nabyta
– Zawartość tabel – dane
– Czasami też struktura tabel i relacje
między nimi
Wiedza w systemach informatycznych
Systemy Wspomagania Decyzji
• Wiedza stała – przejęta
– Procedury i funkcje
– Modele matematyczne
– Procesy typu „workflow”
• Wiedza zmienna – nabyta
– Wartości graniczne
– Współczynniki
Wiedza w systemach informatycznych
Systemy Wspomagania Decyzji
• Wiedza stała – przejęta
– Struktura i postać „obiektów wiedzy”
– Relacje pomiędzy obiektami wiedzy
– Struktura sieci neuronowej w przypadku
systemów opartych o sztuczne sieci neuronowe
– Funkcja użyteczności w przypadku rozwiązań
opartych o algorytmy genetyczne
• Wiedza zmienna – nabyta
– „Obiekty wiedzy” generowane automatycznie
– Wagi neuronów w przypadku rozwiązań opartych
o sztuczne sieci neuronowe
– Funkcja przynależności w przypadku
zastosowania teorii zbiorów rozmytych
Wiedza w systemach informatycznych
Metody Reprezentacji Wiedzy
Reprezentacja wiedzy w systemie
informatycznym dotyczy sposobów w jaki
jest ona przechowywana.
Wiedza w systemach informatycznych
Poziomy Reprezentacji Wiedzy
•Poziom wiedzy - obejmuje opis faktów
•Poziom symboli które mogą być
przetwarzane przez program
Wiedza w systemach informatycznych
Metody Reprezentacji Wiedzy
•
•
•
•
•
•
Reguły produkcji
Sieci semantyczne
Ramy
Skrypty
Rachunek predykatów
Ontologie
Metody reprezentacji wiedzy
Reguły produkcji
Reguły produkcji są definiowane jako
zdania składające się z przesłanki i konkluzji
lub akcji. Przesłanka może zawierać pewną
liczbę stwierdzeń połączonych funktorami
logicznymi
Metody reprezentacji wiedzy
Reguły produkcji - schemat
JEŚLI przesłanka TO konkluzja
oraz
JEŚLI przesłanka TO działanie
Metody reprezentacji wiedzy
Reguły produkcji – konkluzje i działania
Konkluzja oznacza wygenerowanie faktu, a
działanie to uruchomienie dodatkowego
procesu np obliczeniowego lub pobranie
dodatkowych danych
Zbiór reguł produkcji można rozpatrywać
jako szczególny sposób zapisu pewnej sieci
stwierdzeń ponieważ z prawdziwości
jednego stwierdzenia mogą wynikać inne.
Metody reprezentacji wiedzy
Reguły produkcji – cechy
• Reguły umożliwiają zapisanie wiedzy proceduralnej
niezależnie od stopnia jej pewności, stopnia ogólności i
zbliżenia do danej dziedziny problemowej.
• Każda reguła prezentuje wiedzę jednostkową: jest to jedna
granula (ang.: chunk of knowledge) wiedzy proceduralnej.
• Reguły są wzajemnie niezależne, chyba że inżynier wiedzy
w którejś z nich zdefiniuje listę Ls reguł blokowanych (lub
Ld - lista reguł odblokowanych) przez daną regułę.
• Reguły pozwalają zapisać zarówno wiedzę algorytmiczną,
jak heurystyczną,
• Reguła umożliwia powiązanie faktów z uwzględnieniem
doświadczeń w kontekście danej dziedziny problemowej.
Metody reprezentacji wiedzy
Reguły produkcji – proste i złożone
• Reguły proste - prowadzą do
sformułowania reguł pośrednich
• Reguły złożone -umożliwiają bezpośrednie
wyznaczanie wniosków przez system
Metody reprezentacji wiedzy
Reguły produkcji – przykład
JEŚLI
(ocena akcji i kapitału jest pozytywna) i
(ocena rentowności finansowej jest pozytywna) i
(ocena zadłużenia jest pozytywna) i
(ocena płynności finansowej jest pozytywna) i
(ocena ogólna jest pozytywna)
TO
Można zaakceptować wniosek kredytowy
pozytywnie
Metody reprezentacji wiedzy
Reguły produkcji – zalety
• Prostota zastosowania i możliwość łatwej
weryfikacji bazy wiedzy
• Możliwość modyfikacji BW poprzez
dodawanie nowych reguł i usuwanie
starych
• Możliwość reprezentacji meta wiedzy
Metody reprezentacji wiedzy
Reguły produkcji – wady
• Trudność odwzorowywania złożonych
struktur wiedzy
• Ograniczenie narzędzi implementacji do
takich które oferują gotowy mechanizm
wnioskowania
Metody reprezentacji wiedzy
Rachunek predykatów
Rachunek predykatów - dostarcza praw
wnioskowania odwołujących się do wewnętrznej
budowy zdań, w której wyróżnia się predykaty
(odpowiednik orzeczenia) , argumenty
predykatów (odpowiednik podmiotu) oraz
wyrażenia zwane kwantyfikatorami
Metody reprezentacji wiedzy
Rachunek predykatów
Metody reprezentacji wiedzy
Rachunek predykatów - zalety
•Prostota
•Zrozumiała interpretacja wyrażania zdań
•Możliwość zastosowania gotowego
narzędzia - język PROLOG
Metody reprezentacji wiedzy
Rachunek predykatów - wady
• Niemożność wyrażenia wiedzy rozmytej
• Niemożność uwzględnienia pewności lub
niepewności przesłanek
• Niemożność wyrażenia dwóch punktów
widzenia na tą samą sprawę
Metody reprezentacji wiedzy
Sieci semantyczne
Koncepcja sieci semantycznych została
opracowana przez Quilliana i
przedstawiona w pracy:
Quillian R. “Semantic memory. Semantic
Information Processing. MIT Press,
Cambridge 1968
Metody reprezentacji wiedzy
Sieci semantyczne
Sieć semantyczna - rodzaj reprezentacji wiedzy, w
którym występują węzły oraz powiązania pomiędzy
nimi przedstawiane zwykle w postaci grafu. Węzły
sieci reprezentują obiekty i zdarzenia,zaś powiązania
pomiędzy węzłami reprezentują relacje, które są
przedstawiane w formie określonych typów strzałek.
Wnioskowanie w przypadku sieci semantycznej jest
realizowane na zasadzie poruszania się po jej grafie.
Collins Dictionary of Artificial Intelligence
Metody reprezentacji wiedzy
Sieci semantyczne - przykład
Metody reprezentacji wiedzy
Sieci semantyczne -zalety
•Łatwość przedstawiania hierarchii zdarzeń
•Wykorzystanie mechanizmu dziedziczenia
•Łatwość ustalenia związków pomiędzy
zdarzeniami
Metody reprezentacji wiedzy
Sieci semantyczne - wady
• Trudności związane z oprogramowaniem sieci
semantycznych
• Trudności w interpretacji znaczenia węzłów
Metody reprezentacji wiedzy
Rama -definicja
Rama jest zbiorem atrybutów zwykle
nazywanych szczelinami (z języka angielskiego
slot ) i powiązanych z nimi wartości (zwanych
fasetami z języka angielskiego facet), które
opisują jakąś część rzeczywistości w rozumieniu
ogólnym lub z konkretnego punktu widzenia.
Minsky M.. “A framework for representing knowledge” The Psychology of
Computer Vision, McGraw-Hill, New York 1975
Metody reprezentacji wiedzy
Rama -definicja
Ramy są to konstrukcje, przy pomocy których
opisywane są obiekty, struktury, pojęcia oraz
procesy. Wiedza zawarta w każdej ramie
stanowi tabelę składającą się z dwóch części
rubryk (slots - szczeliny) oraz zakończeń
(facets - fasety)
Flakiewicz W. “Systemy informacyjne w zarządzaniu”, Beck, Warszawa 2002
Metody reprezentacji wiedzy
Rama - struktura
Faseta 1
Faseta 2
Faseta 3
Nazwa ramy
Szczelina 1
Atrybut 1
Wartość
atrybutu 1
…
…
…
Szczelina 3
Atrybut n
Wartość
atrybutu n
Informacje
dodatkowe o
atrybucie 1
…
Informacje
dodatkowe o
atrybucie n
Metody reprezentacji wiedzy
Rama -przykład
Poniższa rama przechowuje informacje dotyczące firmy ABC ubiegającej się
o kredyt
W przypadku powyższej ramy po uzupełnieniu wartości szczelin: "Nazwa
firmy", "Adres firmy", "kwota kredytu" oraz "rodzaj kredytu" uruchamiana
jest procedura poziom ryzyka, której zadaniem jest ustalenie ryzyka
kredytowego dla tego kredytobiorcy
Metody reprezentacji wiedzy
Ramy – rodzaje zakończeń
•Wartość stała - liczba, symbol tekst
•Nazwa procedury
•Nazwa innej rubryki tej samej ramy
•Parametr
•Nazwa innej ramy
Metody reprezentacji wiedzy
Skrypty
Zadaniem skryptów jest przechowywanie
wiedzy proceduralnej dotyczącej danego
zagadnienia. Skrypt opisuje pewne akcje,
które będą wykonane po zaistnieniu pewnych
warunków początkowych.
Metody reprezentacji wiedzy
Skrypty
W skrypcie powinny być zdefiniowane następujące grupy
informacji:
• Warunki wejściowe - Warunki wstępne, które muszą
być spełnione, aby poszczególne zdarzenia mogły
wystąpić;
• Wyniki - warunki, które będą prawdziwe po
wystąpieniu zdarzeń opisywanych przez skrypt;
• Cechy obiektów - opis cech zarówno ludzi, jak też
innych elementów skryptu.
• Sceny - sekwencje zdarzeń.
Metody reprezentacji wiedzy
Skrypty - przykład
Obiekty:
K - klient
B - bankomat
SI - system Informatyczny
Rodzaje relacji1:
ATRANS - przekazać ,dawać
PTRANS - zmiana fizycznego położenia obiektu
MTRANS - przekazanie informacji
MBUILD - zbudowanie nowej informacji na podstawie starych
przesłanek
1Rodzaje
relacji skryptu zostały zaczerpnięte z pozycji Rich E. Knight K.
Artificial Intelligence, McGraw-Hill Inc, Singapore 1991
Skrypty - przykład
Scena I – początek wypłaty
K PTRANS K do B - czyli klient podchodzi do
bankomatu
K ATRNS kartę bankomatową do B - czyli
klient wkłada kartę do bankomatu
Następuje przejście do sceny II
Skrypty - przykład
Scena II – autoryzacja klienta
B MTRANS informacje na karcie - czyli bankomat czyta
informacje z karty
B MTRANS Prośbę o PIN do K - bankomat prosi o
wprowadzenie PIN-u
K MTRANS PIN do B - czyli klient wprowadza PIN do
bankomatu
B MBUILD autoryzuje K w SI - czyli bankomat autoryzuje
klienta w systemie informatycznym
W przypadku autoryzacji klienta następuje przejście do sceny
III
W przypadku braku autoryzacji klienta następuje przejście do
sceny VI
Skrypty - przykład
Scena III – ustalenie kwoty wypłaty
B MTRANS Prośba o podanie kwoty wypłaty do
K - czyli bankomat prosi klienta o podanie
kwoty wypłaty
K MTRANS kwotę wypłaty do B - czyli klient
wprowadza kwotę wypłaty do bankomatu
Następuje przejście do sceny IV
Skrypty - przykład
Scena IV – ustalenie czy klient posiada wolne środki
B MTRANS kwota wolnych środków do SI - Bankomat wysyła
zapytanie do bankowego systemu informatycznego o kwotę
wolnych środków klienta
SI MTRANS Kwota wolnych środków do B - System
Informatyczny przesyła informację o kwocie wolnych środków
do bankomatu.
W przypadku potwierdzenia przez SI wystarczających
wolnych środków następuje przejście do sceny V
W przypadku braku potwierdzenia przez SI wystarczających
wolnych środków następuje przejście do sceny IV
Skrypty - przykład
Scena V – wypłata
B ATRANS gotówkę do K - czyli bankomat
wypłaca gotówkę
B ATRANS potwierdzenie wypłaty do K czyli drukuje i wydaje potwierdzenie
klientowi
Następuje przejście do sceny VI
Skrypty - przykład
Scena VI – zakończe
B ATRANS kartę bankomatową do K - czyli
bankomat wydaje kartę bankomatową
klientowi
K PTRANS K - czyli klient oddala się od
bankomatu
Wiedza w systemach informatycznych
Strategie tworzenia systemów opartych na wiedzy
• Case Based Reasoning
• Model Based Reasoning
Ontologie
definicje
Ontologia jest dokładną formalną specyfikacją modelu
dla danego obszaru zainteresowania
Gruber T. 1993. A translation approach to portable ontologies,
Knowledge Acquisition, 1993 .
Ontologia
definicje
O = (C, T, R, A, I, V)
gdzie:
C – zbiór pojęć
T – typy
R – relacje
A- atrybuty
I – instancje reprezentujące określone
obiekty
V- wartości
Gruber T. 1993. A translation approach to portable ontologies,
Knowledge Acquisition, 1993 .
Ontologie
Modelowanie obiektowe a ontologie
Model obiektowy
Model ontologiczny
Atrybut
Lokalny dla każdej klasy
Istnieje niezależnie od klasy,
może być powiązany z innymi
atrybutami i wykorzystany w
wielu klasach.
Relacja
pomiędzy
atrybutami
Ograniczona semantyka,
Możliwość definiowania podklas
umożliwia pokazanie jedynie samej relacji dla opisania różnych
relacji
atrybutów (tzw. relacje
przechodnie)
Relacja
pomiędzy
klasami
Może zostać zdefiniowana
pomiędzy dwoma klasami
Może być zdefiniowana
pomiędzy wieloma różnymi
klasami
Klasa
Określa zachowanie instancji
Określa przypisanie instancji do
klas, Instancje mogą posiadać
wiele atrybutów przypisanych do
różnych klas w tym samym
czasie.
Ontologia
Języki tradycyjne do budowy ontologii
Protokół OKBC
CycL
Otolingua
KIF
LOOM
OCML
FLogic
Ontologia
Języki internetowe do budowy ontologii
OIL
DAML+OIL
RDF/S
SHOE
XOL
RDF
XML
OWL
Ontologie
Komputerowe pakiety wspierające budowę ontologii
•
WonderWeb OWL API - reprezentacja wszystkich pojęć języka OWL za
pomocą klas języka Java
•
SOFA (Simple Ontology Framework). Platforma SOFA uwzględniała
konstrukcje języków OWL, RDF i DAML
•
Jena2 - uwzględnia również wszystkie konstrukcje języków OWL, RDF i
DAML, które mogą być tworzone z wykorzystaniem grafów , język
zapytań SPARQL
•
KAON2 - wykorzystuje język zapytań SPARQL i interfejs zdalnego
dostępu RMI, współpracuje z językami OWL, SWRL (Semantic Web
Rule Language) i ontologiami typu F-Logic zapisywanymi w plikach lub
bazach danych.
•
Protege - środowisko do budowy aplikacji opartych na ontologiach za pomocą
edytora graficznego
Ontologie
Protege - architektura
Interfejs Protege
Aplikacja Klienta
Protege API
Pliki
Baza
danych
Adaptery wydajnościowe
Ontologie
Przykład narzędzia
Ontologie
Proces budowy ontologii
Wymagania biznesowe
Obserwacja
1. Pozyskanie
5. Implementacja
2. Reprezentacja
4. Testowanie
3. Przemodelowanie
semantyki
Algorytmy genetyczne - definicja
Definicja: algorytmy genetyczne polegają na
generowaniu populacji pewnych obiektów,
które dopasowują się do pewnych wymagań
Źródło: J.Mulawka “systemy ekspertowe”, WNT, Warszawa 1996
Algorytmy genetyczne – zasada działania
1. Dany jest ciąg symboli zwykle cyfr zwanych łańcuchami
(łańcuchy są zakodowanym opisem obiektów lub rozwiązań
pewnych zadań)
2. Należy znaleźć najlepszy łańcuch ze względu na pewną
funkcję wartościującą zwaną funkcją użyteczności
3. Algorytm działa w powtarzających się cyklach.
4. Łańcuchy najmniej użyteczne są usuwane ze zbioru zaś z
pozostałych przy użyciu funkcji losowych buduje się nowe
łańcuchy
5. Trwa to tak długo aż nie nastąpi warunek końca zwykle jest
to moment gdy nowo powstające łańcuchy nie zwiększają
swojej użyteczności
Algorytmy genetyczne – funkcje
•Selekcja
•Krosowanie
•Mutacja
Algorytmy genetyczne – selekcja
Selekcja - wybór łańcuchów które wejdą do
następnej populacji. Prawdopodobieństwo tego
że łańcuch nie przejdzie pomyślnie selekcję
wynosi:
Gdzie f(ei) - funkcja użyteczności
Algorytmy genetyczne – selekcja
Wartość oczekiwana E liczby kopii łańcucha w
następnej populacji wynosi:
E = n * pi
Gdzie :
E - wartość oczekiwana
n - liczba elementów populacji
pi - prawdopodobieństwo tego że łańcuch pomyślnie
przejdze selekcję
Algorytmy genetyczne – krosowanie
1. Wybiera się losowo dwóch członków populacji
2. Losuje się miejsce w którym ma nastąpić rozcięcie
chromosomów
3. Dokonuje się rozcięcia chromosomów w
wyznaczonym miejscu
4. Skleja się chromosomy w następujący sposób:
pierwsza część pierwszego chromosomu z drugą
częścią drugiego i pierwsza część drugiego z drugą
pierwszego.
5. Chromosomy powstałe ze sklejenia są potomkami i
zastępują rodziców
Algorytmy genetyczne – krosowanie
Algorytmy genetyczne – mutacja
Mutacja jest operacją określoną dla jednego
elementu składowego w jednym chromosomie.
Polega na zamianie tego elementu na inny
dowolnie wybrany
Algorytmy genetyczne – kiedy zatrzymać
algorytm ?
• Nigdy ?
• Kryterium maksymalnego kosztu - jeśli koszt
algorytmu przekroczy założoną wartość
maksymalną Kmax to algorytm kończy działanie
• Kryterium zadowalającego - poziomu funkcji
użyteczności. Kryterium to jest spełnione gdy
algorytm znajdzie rozwiązanie o wartości funkcji
użyteczności określonej jako zadawalająca
• Kryterium minimalnej szybkości naprawy.
Algorytm jest zatrzymywany jeśli w kolejnych n
generacjach nie uda się poprawić wyniku o więcej
niż założona wartość
Algorytmy genetyczne – metody oceny
•Wynik działania
•Koszt symulacji
•Zdolność opuszczania obszarów przyciągania
maksimum lokalnego
Algorytmy genetyczne – przykład
Dana jest funkcja kwadratowa w postaci:
f ( x) x
2
Należy znaleźć c z przedziału [0,31] dla którego funkcja
przyjmuje największą wartość
Algorytmy genetyczne – przykład
f ( x) x
2
Należy znaleźć c z przedziału [0,31] dla którego funkcja
przyjmuje największą wartość
Algorytmy genetyczne – przykład
Każdy x z przedziału [0,31] ma swój kod w systemie
dwójkowym i tak np:
19 = 1*24 + 0*23 + 0*22 + 1*21 + 1*20
Czyli odpowiada jej łańcuch 10011
Algorytmy genetyczne – przykład
W przypadku niniejszego przykładu funkcja
użyteczności ma postać:
y=x2
Czyli
f(01000) = f(8) = 8 2 = 64
Algorytmy genetyczne – przykład
Algorytmy genetyczne – przykład
Algorytmy genetyczne – przykład
Algorytmy genetyczne – zastosowania
Zagadnienia optymalizacyjne:
• Problem komiwojażera
• Optymalizacja przepływu energii w sieci elektrycznej
• Wybór optymalnego kształtu magnesu
Prognozowanie:
•Płynności finansowej przedsiębiorstwa
•Cen akcji przedsiębiorstwa
Algorytmy genetyczne – zastosowania
Zagadnienia optymalizacyjne:
• Problem komiwojażera
• Optymalizacja przepływu energii w sieci elektrycznej
• Wybór optymalnego kształtu magnesu
Prognozowanie:
•Płynności finansowej przedsiębiorstwa
•Cen akcji przedsiębiorstwa
Algorytmy genetyczne – przykład optymalizacyjny
Prezentacja przykładu optymalizacyjnego z
wykorzystaniem algorytmu genetycznego
Sztuczne sieci neuronowe
• 1943 - praca W.S. McCulloch, W. Pitts “A logical calculus of
the ideas immament in nervous activity” Bulletin of
Mathematical Biophysics, No 5.
• 1957 - Perceptron - Frank Rosenblatt, Charles Wightman
• 1969 - M.Minsky, S.Papert “Perceptrons”, MIT press,
Cambridge 1969
• Lata 70 - regres
• 1981 - sieć Hintona
• 1982 - sieć Hopfielda, maszyny Boltzmana
• Sieci BAM
Sztuczne sieci neuronowe - cechy
•Zdolność do adaptacji i samoorganizacji
•Zmniejszona wrażliwość na uszkodzenia
elementów
•Współbieżność przetwarzania
•Automatyczne uczenie
Struktura pojedynczego neuronu
x1
x.2
.
.
xn
w1
w2
.
.
.
wn
Założenia:
y f ( x1 , x2 ,..., xn )
Y
Wyjście
W najprostszym przypadku fukcja f(x) może być
rozwazana jako liniowa
n
y
wx
i 1
i
i
Zasady działania neuronu
Zestaw sygnałów wejściowych można przedstawić
jako wektor:
X x1 , x2 ,... xn
T
W w1 , w2 ,..., wn
T
Wyjście neuronu y można policzyć jako:
yW X
T
Warstwa neuronów jako najprostsza sieć
y2
y1
w1(1) w2(1)
x1
x2
.
.
.
xk
...
wn(1) w1( 2) w2( 2)
yk
... wn(2) .... w1(k ) w2(k ) ... wn( k )
Warstwa neuronów jako najprostsza sieć
Sygnał wyjściowy m-tego neuronu w warstwie można obliczyć
następująco:
n
y
( m)
W
( m)
*X
w
i 1
gdzie
X x1 , x2 ,..., xn T
W ( m) w1( m) , w2( m) ,..., wn( m) T
m (1,2,..., k )
m
i
i
x
Uczenie się pojedynczego neuronu
x1
x2
w1
w2
xn
wn
z
y
z y
Uczenie się pojedynczego neuronu
Nowy wektor wag jest wyznaczany według zależności:
W ' W X
gdzie
z y
W’ – nowy wektor wag
- współczynnik szybkości uczenia
Funkcja sigmoidalna
f(x)
1
f ( x)
x
1 e
x
Funkcja sigmoidalna
• Uczenie wi tak aby minimalizować
funkcję błędu
1
2
E[w] ( zd y d )
2d D
D = zbiór treningowy
Uczenie wsadowe
• Przypisz dla wi niedużą wartość losową
• Powtarzaj :
Dwi = 0
Dla każdego przykladu d wykonuj
yd f(i wi xi,d)
Dwi Dwi + (zd yd) yd (1-yd) xi,d
wi wi + Dwi
Uczenie sekwencyjne
• Przypisz dla wi niedużą wartość losową
• Powtarzaj:
Dla każdego przykladu d wykonuj
Dwi = 0
yd f(i wi xi,d)
Dwi Dwi + (zd yd) yd (1-yd) xi,d
wi wi + Dwi
Przykład budowy sieci
Uczenie sieci preferencji w jaki sposób można
zorganizować wolny czas ?
Założenia
• Czas wolny: dużo, jest, mało, brak
• Pogoda: ładna, brzydka, średnia
• Pieniądze: dużo, są, mało, brak
• Odpowiednie towarzystwo: jest, brak
• Pora: rano, przedpołudnie,wieczór,noc
• Idę na kolację, do filharmonii, spacer, na zajęcia,
czytam książkę,idę spać
Przykład
Wejścia do sieci :
WE 1 Czas wolny
Dużo
jest
mało
brak
1
2
3
4
Przykład
Wejścia do sieci :
WE 2 : pogoda
Ładna
Średnia
Brzydka
1
2
3
Example
Inputs to the network :
IN 3 Money
a lot
some
a little
lack of moeny
1
2
3
4
Przykład
Wejścia do sieci :
We 4
Towarzystwo
Jest
Brak
1
0
Przykład
Wejścia do sieci :
WE 5 Pieniądze
dużo
są
mało
brak
1
2
3
4
Example
Wyjścia z sieci :
WY 2 Co robimy ?
Restauracja Koncert
Spacer
Książka
Spanie
1
4
5
6
3
Przykład
Struktura sieci:
•5 wejść i jedno wyjście
•5 wejść i 6 wyjść
•Warstwy pośrednie
•Ilość neuronów w warstwach
pośrednich
Wycena nieruchomości
W badaniu wykorzystano dane dotyczące
nieruchomości PKP. Wyodrębniono tylko
nieruchomości w postaci działek
Do badania wykorzystano zbiór 200 nieruchomości
Wycena nieruchomości
•Powierzchnia działki
Cecha handlowa 1
Miasto stołeczne Warszawa -1
Miasto wojewódzkie -2
Inne miasta - 3
Poza miastem -4
• Cecha handlowa 2
Tereny w pobliżu przejść granicznych -1
Otoczenie cywilnych portów lotniczych lub morskich - 2
Obszar strefy wolnocłowej - 3
Inne - 4
• Cecha handlowa 3
Wartość rynkowa w USD gruntów o podobnych cechach
Wycena nieruchomości
•Stan prawny działki
Nieuregulowany - 1
Własność -2
Użytkowanie wieczyste -3
• Uzbrojenie - woda
Jest - 1
Brak -0
• Uzbrojenie - gaz
Jest - 1
Brak - 0
• Uzbrojenie - kanalizacja
Jest -1
Brak - 0
• Uzbrojenie - ogrodzenie
Jest -1
Brak -0
Wycena nieruchomości
•Rodzaj transakcji
Sprzedaż - 1
Dzierżawa długoletnia na czas oznaczony powyżej 5 lat - 2
Dzierżawa krótkookresowa na czas oznaczony do 5 lat - 3
Dzirzawa na czas nieoznaczony - 4
• Wartość realizowanej transakcji
Wycena nieruchomości
•Jako wejścia przyjęto cechy wymienione w punktach 1-10
• Za wyjście przyjęto cechę 11 czyli cenę działki
• W trakcie badania zbudowano 6 modeli różniących się między
sobą ilością neuronów i warstw pośrednich
• Finalnie zbudowano dwa modele sieci
• Pierwszy dotyczył włączenia cechy rynkowa wartość działki o
podobnych cechach w USD
• W drugim wyłączono tą cechę
• Ze zbioru danych wyodrębniono podzbiór 30-u przypadków do
testowania sieci
Wycena nieruchomości
•Jako wejścia przyjęto cechy wymienione w punktach 1-10
• Za wyjście przyjęto cechę 11 czyli cenę działki
• W trakcie badania zbudowano 6 modeli różniących się między
sobą ilością neuronów i warstw pośrednich
• Finalnie zbudowano dwa modele sieci
• Pierwszy dotyczył włączenia cechy rynkowa wartość działki o
podobnych cechach w USD
• W drugim wyłączono tą cechę
• Ze zbioru danych wyodrębniono podzbiór 30-u przypadków do
testowania sieci
Wycena nieruchomości
Test na danych branych pod uwagę do uczenia sieci.
76,31 % wycen różni się od oryginalnych o nie więcej niż 1000 zł
13,15 % różni się o więcej niż 1 zł ale nie mniej niż 500 zł
10,52 % różni się o ponad 100 zł
Wycena nieruchomości
Test na danych nie branych pod uwagę do uczenia sieci.
73,68 % wycen różni się od oryginalnych o nie więcej niż 1000 zł
10,52 % różni się o więcej niż 1 zł ale nie mniej niż 500 zł
15,78 % różni się o ponad 100 zł
Porównanie metod oceny przedsiębiorstwa
•Porównywano dwie metody prognozowania
upadłości przedsiębiorstwa
• Wykorzystano dane ze sprawozdań finansowych
Bilans
Rachunek wyników
Przepływy gotówkowe
Porównanie metod oceny przedsiębiorstwa
W modelu Altmana zastosowana została metoda
analizy dyskryminacyjnej. Metoda polega na
zbudowaniu funkcji dyskryminacyjnej na
podstawie zmiennych diagnostycznych z punktu
widzenia danego zjawiska. Wyliczona wartość
funkcji pozwala na pogrupowanie przedsiębiorstw
o dużym ryzyku niewypłacalności i dobrej pozycji
finansowej.
Porównanie metod oceny przedsiębiorstwa
Funkcja dyskryminacyjna w modelu Altmana
Z= 1,2 X1 + 1,4 X2 + 3.3 X3 + 0,6 X4 + 0,999 X5
Porównanie metod oceny przedsiębiorstwa
Altman stwierdził że wszystkie przedsiębiorstwa o wartości
funkcji Z powyżej 2.99, posiadają dobrą kondycję finansową
natomiast te dla których wartość funkcji Z jest niższa od 1.81
są bliskie bankructwa
Porównanie metod oceny przedsiębiorstwa
Model Fulmera funkcja dyskryminacyjna :
H=5.28(V1) + 0.212(V2) + 0.073(V3) + 1.270(V4) -0.120(V5) +
2.335(V6) + 0.575 (V7) + 1.083 (V8) + 0.894 (V9) -6.075
Gdzie
V1= Dochód zatrzymany/wartość środków trwałych
V2 = sprzedaż/wartość środków trwałych
V3=dochód przed opodatkowaniem/dochód ogółem
V4=Cash Flow/zobowiązania całkowite
V5=zadłużenie całkowite/wartość środków trwałych
V6= zobowiązania bieżące/wartość środków trwałych
V7= wartość środków trwałych
V8= środki obrotowe/zadłużenie całkowite
V9= bieżący wskaźnik płynności
Porównanie metod oceny przedsiębiorstwa
Z badań wykonanych przez Fulmera wynika, że dla
przedsiębiorstw zagrożonych bankructwem wartość funkcji
dyskryminacyjej H jest mniejsza od zera
Porównanie metod oceny przedsiębiorstwa
•W ramach badania oszacowano które
przedsiębiorstwa są bliskie bankructwa za pomocą 1 i
2 modelu
• Wyodrębniono zbiór rozwiązań wspólnych
• Następnie zbudowano sieć neronową na wejściach
tej sieci podawano dane potrzebne do policzenia
wskaźników branych pod uwage w jednej i drugiej
metodzie
• Sieć posiadała jedno wyjście o wartościach 1 gdy
przedsiębiostwo bliskie bankructwa i 0 gdy w dobrej
kondycji finansowej
Porównanie metod oceny przedsiębiorstwa
•Sieć była uczona w oparciu o przypadki w których
model Altmana i Fulmera generował takie same
wyniki
• Następnie wprowadzono dane przesiębiorstw dla
których obie metody generowały różne wyniki
• Następnie przprowadzono klasyczną analizę
finansową dotyczącą przedsiębiorstw znajdujących
się w ostatniej grupie
• Okazało się że około 70 % ocen generowanych przez
sieć pokrywa się z wnioskami analizy finansowej.
Porównanie metod oceny przedsiębiorstwa
Prezentacja przykładu zastosowania sztucznej sieci
neuronowej do klasyfikacji neruchomości i
przewidywania kursów walutowych
http://akson.sgh.waw.pl/~jolej/SWDB.html
Automatyczne uczenie się
Uczenie ze wzmocnieniem
Jeśli wykonanie pewnej akcji w pewnym stanie pociąga za
sobą dobre konsekwencje to tendencja do wykonywania tej
akcji powinna zostać wzmocniona
Uczenie ze wzmocnieniem - uczenie się na podstawie prób i
błędów
Zadaniem systemu uczącego jest skonstruowanie strategii
decyzyjnej prowadzącej do maksymalizacji wartości
wzmocnienia otrzymywanych w długim horyzoncie czasowym
Automatyczne uczenie się
Uczenie ze wzmocnieniem
• Informacja trenująca ma charakter
wartościujący, uczeń nie otrzymuje przykładów
określających pożądany sposób jego zachowania,
lecz tylko zwrotną ocenę, na ile jego obecne
zachowanie jest dobre.
• Informacja trenująca określa cel zadania, a nie
sposób jego realizacji.
• Uczenie się następuje na podstawie prób i błędów.
• Uczenie się wykonywania zadania i jego faktyczne
wykonywanie odbywa się łącznie
Automatyczne uczenie się
Drzewa klasyfikacyjne – algorytm Quinlana
Quinlan zastosował podejście oparte na teorii
informacji. Drzewo decyzyjne może być traktowane
jako źródło informacji, gdyż dla każdego obiektu
generuje wiadomość, do jakiej klasy należy ten
obiekt. Złożoność drzewa jest ściśle związana ż
ilością informacji jaką niesie wygenerowana przez
niego wiadomość
Automatyczne uczenie się
Drzewa klasyfikacyjne – algorytm Quinlana
Zgodnie teorią informacji, ilość informacji zawarta w
wiadomości generowanej przez źródło, jest określona
funkcją entropii i wynosi
Gdzie:
M(S) -wartość funkcji entropii dotycząca informacji że obiekt
należy do zbioru S
n - ilość informacji zawartej w wiadomości, generowanej przez
źródło
p - prawdopodobieństwo wygenerowania informacji
Automatyczne uczenie się
Drzewa klasyfikacyjne – algorytm Quinlana
Wartość oczekiwana ilości informacji generowanej po dokonaniu
podziału ze względu na cechę A
Gdzie:
A - oznacza cechę według której dzieli się zbiór S,
vi- wartości przyjmowane przez cechę A.
Automatyczne uczenie się
Drzewa klasyfikacyjne – algorytm Quinlana
Ilość informacji generowanej przez cały fragment
drzewa definiuje się jako:
M(S) - B(S,A)
Szuka się cechy maksymalizującej to wyrażenie
Gdzie:
B(S,A) - ilość informacji generowanej po podziele drzewa ze
wzgledu na cechę A
M(S) - ilość informacji w wiadomości że dany obiekt należy
do zbioru S
Automatyczne uczenie się
Drzewa klasyfikacyjne – algorytm Quinlana
Automatyczne uczenie się
Drzewa klasyfikacyjne – algorytm Quinlana
Zbiór S zawiera następujące obiekty:
{ niski, blondyn, niebieskie: KŁASA 1 },
{ wysoki, blondyn, niebieskie: KLASA 1 },
{ wysoki, rudy, niebieskie: KLASA 1},
{ wysoki szatyn, niebieskie: KLASA 2 },
{ wysoki, blondyn, piwne: KLASA 2 },
{ wysoki, szatyn, piwne: KLASA 2 },
{ niski, szatyn, niebieskie: KLASA 2 },
{ niski, blondyn, piwne: KLASA 2 }.
Automatyczne uczenie się
Algorytm Quinlana - przykład
Rozbicie zbioru S ze względu na cechę S
wzrost
Automatyczne uczenie się
Algorytm Quinlana - przykład
Automatyczne uczenie się
Algorytm Quinlana - przykład
Rozbicie zbioru S ze względu na cechę S włosy
Automatyczne uczenie się
Algorytm Quinlana - przykład
Automatyczne uczenie się
Algorytm Quinlana - przykład
Automatyczne uczenie się
Algorytm Quinlana - przykład