Wprowadzenie do Sztucznej Inteligencji w zastosowaniach biznesowych Podyplomowe Studium Business Intelligence - Systemy Wspomagania Decyzji Biznesowych dr Jarosław Olejniczak Jaroslaw.Olejniczak@sgh.waw.pl
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 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ąć 1 cele lub środki ś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 rodzaje kryterium decyzji odwołujące się do autorytetu prób i błędów matematyczne odwołujące się systemów etycznych synteza wartości
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 Informacje dodatkowe o atrybucie 1 … Szczelina 3 Atrybut n Wartość atrybutu n 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 .
O = (C, T, R, A, I, V) Ontologia definicje 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, umożliwia pokazanie jedynie samej relacji Możliwość definiowania podklas relacji dla opisania różnych 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
Ontologia Języki internetowe do budowy ontologii
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
Ontologie Przykład narzędzia
Ontologie Proces budowy ontologii
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 Dany jest ciąg symboli zwykle cyfr zwanych łańcuchami (łańcuchy są zakodowanym opisem obiektów lub rozwiązań pewnych zadań) Należy znaleźć najlepszy łańcuch ze względu na pewną funkcję wartościującą zwaną funkcją użyteczności Algorytm działa w powtarzających się cyklach. Łańcuchy najmniej użyteczne są usuwane ze zbioru zaś z pozostałych przy użyciu funkcji losowych buduje się nowe łańcuchy 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 Wybiera się losowo dwóch członków populacji Losuje się miejsce w którym ma nastąpić rozcięcie chromosomów Dokonuje się rozcięcia chromosomów w wyznaczonym miejscu 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. 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: Należy znaleźć c z przedziału [0,31] dla którego funkcja przyjmuje największą wartość
Algorytmy genetyczne – przykład 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 = x 2 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 Założenia:
Wyjście W najprostszym przypadku fukcja f(x) może być rozwazana jako liniowa
Zasady działania neuronu Zestaw sygnałów wejściowych można przedstawić jako wektor: Wyjście neuronu y można policzyć jako:
Warstwa neuronów jako najprostsza sieć
Warstwa neuronów jako najprostsza sieć Sygnał wyjściowy m-tego neuronu w warstwie można obliczyć następująco: gdzie
Uczenie się pojedynczego neuronu
Uczenie się pojedynczego neuronu Nowy wektor wag jest wyznaczany według zależności: gdzie W’ – nowy wektor wag - współczynnik szybkości uczenia
Funkcja sigmoidalna f(x) x
Uczenie wi tak aby minimalizować funkcję błędu Funkcja sigmoidalna Uczenie wi tak aby minimalizować funkcję błędu D = zbiór treningowy
Przypisz dla wi niedużą wartość losową Powtarzaj : 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 + h (zd - yd) yd (1-yd) xi,d wi wi + Dwi
Przypisz dla wi niedużą wartość losową Powtarzaj: 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 + h (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 WE 1 Czas wolny Wejścia do sieci : Dużo 1 jest 2 mało 3 brak 4
Przykład Wejścia do sieci : WE 2 : pogoda Ładna 1 Średnia 2 Brzydka 3
Example IN 3 Money Inputs to the network : a lot 1 some 2 a little 3 lack of moeny 4
Przykład Wejścia do sieci : We 4 Towarzystwo Jest 1 Brak
Przykład Wejścia do sieci : WE 5 Pieniądze dużo 1 są 2 mało 3 brak 4
Example WY 2 Co robimy ? Wyjścia z sieci : Restauracja 1 Koncert 3 Spacer 4 Książka 5 Spanie 6
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 Brak - 0 Uzbrojenie - kanalizacja Jest -1 Uzbrojenie - ogrodzenie
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