Lista zagadnien na egzamin SI + opracowanie

Lista zagadnien na egzamin SI

1) Zastosowanie sztucznej inteligencji w dziedzinach: Robotyka, Machine Learning,

Zbiory przyblizone (Rough Sets), Zbiory rozmyte (Fuzzy Sets), Data Mining, Medycyna,

Ekonomia, Telekomunikacja, Internet.

2) Idea The Chinese Room i jej kontr przykład.

Przebieg argumentu chińskiego pokoju[edytuj]

Od opublikowania pracy Johna Searle'a argument chińskiego pokoju był głównym punktem debaty nad możliwością istnienia sztucznej inteligencji w sensie mocnym (tzw. Strong AI). Zwolennicy teorii sztucznej inteligencji w sensie mocnym wierzą, że właściwie zaprogramowany komputer nie jest prostą symulacją lub modelem umysłu, lecz liczy w sposób właściwy umysłowi, tzn. rozumie, ma stany kognitywne i może myśleć. Argument Searle'a (precyzyjniej – eksperyment myślowy) zamierzony w celu podminowania tego stanowiska przebiega w sposób następujący:

Załóżmy, że skonstruowaliśmy komputer, który zachowuje się jakby rozumiał język chiński. Innymi słowy, komputer bierze chińskie znaki jako podstawę wejściową i śledzi zbiór reguł nimi rządzący (jak wszystkie komputery), koreluje je z innymi chińskimi znakami, które prezentuje jako informację wyjściową.

Załóżmy, że ten komputer wykonuje to zadanie w sposób tak przekonujący, że łatwo przechodzi test Turinga, tzn. przekonuje Chińczyka, że jest Chińczykiem. Na wszystkie pytania, które człowiek zadaje, udziela właściwych odpowiedzi w sposób tak naturalny, że Chińczyk jest przekonany, iż rozmawia z innym Chińczykiem. Zwolennicy mocnej sztucznej inteligencji wyciągają stąd wniosek, że komputer rozumie chiński, tak jak człowiek.

Teraz Searle proponuje, żeby założyć, iż to on sam siedzi wewnątrz komputera. Innymi słowy, on sam znajduje się w małym pokoju, w którym dostaje chińskie znaki, konsultuje książkę reguł, a następnie zwraca inne chińskie znaki, ułożone zgodnie z tymi regułami. Searle zauważa, że oczywiście nie rozumie ani słowa po chińsku, mimo iż wykonuje powierzone mu zadanie. Następnie argumentuje, że jego brak rozumienia dowodzi, że i komputery nie rozumieją chińskiego, znajdując się w takiej samej sytuacji jak on: są bezumysłowymi manipulatorami symboli i nie rozumieją, co 'mówią', tak jak i on nie rozumie treści chińskich znaków, którymi operował.

Eksperyment myślowy[edytuj]

John Searle opublikował swoją pracę w czasopiśmie naukowym The Behavioral and Brain Sciences. W tym artykule Searle opisuje dokładnie swój argument i odpowiada na kilka głównych zarzutów, które były podniesione podczas jego prezentacji w różnych uniwersytetach. W dodatku artykuł Searla w BBS był opublikowany razem z komentarzami i krytykami 27 badaczy kognitywistów. Na te 27 komentarzy Searle odpowiedział w dalszej części artykułu.

W ciągu ostatnich dwóch dekad dwudziestego stulecia argument chińskiego pokoju był przedmiotem wielu dyskusji. W 1984 Searle zaprezentował argument chińskiego pokoju w książce Mind, Brains and Science. W styczniu 1990 popularny periodyk Scientific American przedstawił debatę na ogólnym forum naukowym. Searle włączył argument chińskiego pokoju w swą wypowiedź Is the Brain's Mind a Computer Program?. Odpowiedzią na jego wkład był artykuł Could a Machine Think? napisany przez Paula i Patricię Churchland. Wkrótce potem opublikowana została dyskusja Searle'a o chińskim pokoju z innym wiodącym filozofem umysłu, Jerrym Fodorem.

Sercem argumentu jest wyobrażona ludzka symulacja komputera podobna do Papierowej Maszyny TuringaCzłowiek w chińskim pokoju przestrzega angielskich instrukcji dla manipulowania chińskimi znakami, gdzie komputer 'przestrzega' programu napisanego w języku obliczeniowym. Człowiek produkuje podobieństwo rozumienia chińskiego przez przestrzeganie instrukcji manipulacji symbolami, ale nie dochodzi przez to do rozumienia chińskiego. Ponieważ komputer robi to, co robi człowiek – jedynie manipuluje symbolami na podstawie ich syntaksy – żaden komputer nie może dojść do istotnego rozumienia języka chińskiego, wyłącznie przez przestrzeganie programu.

Ten ściśle oparty na scenariuszu chińskiego pokoju argument jest skierowany przeciw stanowisku nazwanemu przez Searla „mocną AI”. Mocna AI jest poglądem, że odpowiedniozaprogramowane komputery (albo same programy) mogą rozumieć naturalny język i mieć inne zdolności mentalne podobne do ludzkich, których możliwości one naśladują. Nawiązując do mocnej AI, komputer może inteligentnie grać w szachy, robić bystre ruchy albo rozumieć język. Przez kontrast słaba AI („weak AI”) jest poglądem, że komputery są tylko użyteczne w psychologiilingwistyce i po części w innych obszarach, ponieważ mogą symulować zdolności mentalne. Ale słaba AI nie twierdzi, że komputery rozumieją albo są inteligentne. Argument chińskiego pokoju nie jest skierowany w słabą AI, ani nie ma na celu pokazania, że maszyny nie mogą myśleć - Searle powiada, że ludzki mózg również jest maszyną i mimo to ma zdolność myślenia. Argument ten ma podważać pogląd, że formalne wyliczenia na symbolach produkują myśl.

Przeciw mocnej AI możemy wyciągnąć jako reductio ad absurdum taki argument: (niech L będzie naturalnym językiem i powiedzmy, że 'program dla L' jest programem dla płynnego rozmawiania w L. System komputerowy jest dowolnym systemem – może być nim człowiek lub coś innego, co może wykonywać program).

Te dwa wnioski ukazują, że mocna AI jest fałszywa.

Druga przesłanka jest wspierana przez myślowy eksperyment chińskiego pokoju. Konkluzją argumentu jest, że uruchomienie programu nie może stworzyć rozumienia. Szerszy argument zawiera stwierdzenie, że myślowy eksperyment pokazuje ogólnie, że nikt nie może otrzymać semantyki (znaczenia) z syntaksy (formalnego manipulowania symbolami).

Jądrem argumentu Searle'a jest rozróżnienie między syntaksą i semantyką. Pokój jest w stanie przestawiać litery zgodnie z książką reguł. To znaczy, że zachowanie pokoju może być opisane jako postępujące z regułami syntaktycznymi. Ale w stanowisku Searla on sam nie zna znaczenia tego co robi. To znaczy, że nie ma treści semantycznej. Znaki nie są nawet symbolami, bo nie są interpretowane na żadnym etapie procesu.

Formalne argumenty[edytuj]

W roku 1984 Searle wyprodukował bardziej formalną wersję argumentu, którego częścią jest chiński pokój. Podał listę czterech założeń:

  1. Mózgi wytwarzają umysły.

  2. Syntaksa nie jest wystarczająca dla semantyki.

  3. Programy komputerowe są całkowicie zdefiniowane przez ich formalną albo syntaktyczną strukturę.

  4. Umysły zawierają treści mentalne, a w szczególności zawartości semantyczne.

Drugie założenie jest widocznie wspierane przez argument chińskiego pokoju, ponieważ utrzymuje, że pokój przestrzega jedynie formalnych reguł składni i nie 'rozumie' chińskiego. Searle sugeruje, że to prowadzi bezpośrednio do czterech konkluzji:

  1. Żaden program komputerowy nie jest spełnia odpowiednich kryteriów, aby stworzyć w systemie umysł. Programy nie są umysłami i nie są zdolne do ich tworzenia.

  2. Sposób, w jaki funkcje mózgu wytwarzają umysły, nie może być wyłącznie zasługą wykonywania programu komputerowego.

  3. Cokolwiek jest w stanie wytworzyć umysł, będzie miało władze przyczynowe co najmniej równoważne mózgowi.

  4. Procedury programu komputerowego nie są i nie będą wystarczające, aby wytworowi ludzkiemu nadać stany mentalne równoważne ludzkim. Wytwory ludzkie będą wymagały zdolności i władz mózgu.

Searle opisuje tę wersję jako „wyjątkowo byle jaka”. Odbyła się poważna debata na temat słuszności tego argumentu, która skupiała się na różnych sposobach, jakimi założenia mogą być wypróbowane. Każdy może przeczytać założenie 3. jako mówiące, że programy komputerowe mają zawartość syntaktyczną, ale nie semantyczną. Założenia 2. 3. i 4. prowadzą do wniosku 1. To zaś skłania do debaty o początku zawartości semantycznej programu komputera.

Odpowiedzi[edytuj]

Argument Searle'a spotkał się z wielką falą krytyki i kontrargumentów. Część z nich można podzielić na dwie grupy: odpowiedź systemu i odpowiedź robota.

Odpowiedź systemu[edytuj]

Chociaż osoba w chińskim pokoju nie rozumie chińskiego, przypuszczalnie osoba w pokoju wraz z książką reguł rozpatrywanych razem jako system rozumie ten język.

Odpowiedzią Searla jest stwierdzenie, że ktoś może w zasadzie zapamiętać książkę reguł, a wtedy będzie mógł reagować jakby rozumiał chiński, ale nadal będzie tylko postępował według zbioru reguł, bez rozumienia znaczenia symboli, jakimi manipuluje. To prowadzi do interesującego problemu osoby, która może płynnie rozmawiać po chińsku 'nie znając' tego języka.

Consciousness Explained Daniel C. Dennett podaje rozszerzenie odpowiedzi dla systemu, którego podstawa polega na tym, że przykład Searle'a ma na celu wprowadzenie w błąd wyobrażającego sobie. Zostajemy poproszeni o wyobrażenie sobie maszyny, która przeszłaby test Turinga przez zwykle manipulowanie symbolami. Jest wysoce nieprawdopodobne, że taki zgrubny system przeszedłby test Turinga.

Jeżeli system byłby rozszerzony, żeby włączyć rozmaite systemy detekcji by doprowadzić do spójnych odpowiedzi i byłby przepisany na wielka maszynę równoległą zamiast na szeregową maszynę Von Neumanna szybko byłoby bardziej "oczywiste" ze nie ma świadomego postrzegania. Dla testu Turinga operator w chińskim pokoju musiałby być wspomagany przez wielka liczbę pomocników, albo ilość czasu danego na wyprodukowanie odpowiedzi na nawet najbardziej podstawowe pytania byłaby bardzo duża - wiele milionów lub przypuszczalnie miliardów lat.

Uwaga zrobiona przez Dennetta jest taka, że przez wyobrażenie "tak, to jest przekonywające używać tablicy wyszukiwania do wejścia i dać wyjście i przejść test Turinga" zaburzamy złożoność istotnie zaangażowaną w taki sposób, że to rzeczywiście wydaje się "oczywiste", iż ten system nie może być świadomy. Jednak taki system jest nieodpowiedni. Jakikolwiek rzeczywisty system zdolny do istotnego spełnienia koniecznych warunków byłby tak złożony że wcale nie byłoby "oczywiste", iż brakuje mu zrozumienia chińskiego. On musiałby z pewnością porównywać koncepcje i formułować możliwe odpowiedzi, usuwać opcje itd., aż wypadłby albo jak powolna i całkowita analiza semantyki wejścia, albo zachowywałby się jak każdy inny mówiący po chińsku. Dopóki nie musimy dowodzić, że miliard mówiących chińskim ludzi jest czymś więcej niż siecią równoległą symulującą maszynę Von Neumanna na wyjściu musimy zaakceptować, że chiński pokój jest tak samo mówiący po chińsku jak każdy inny Chińczyk.

Odpowiedź robota[edytuj]

Załóżmy ze zamiast pokoju program został umieszczony w robocie, który może chodzić i wchodzić w interakcje z otoczeniem. Z pewnością powiedzielibyśmy, że rozumie co robi. Odpowiedzią Searle'a jest stwierdzenie, że należy przyjąć, iż nie wiedząc o osobie w chińskim pokoju pewne wejścia, które ona otrzymuje pochodzą z kamery zamontowanej na robocie i pewne wyjścia były używane do manipulowania ramionami i nogami robota. Jednak osoba w pokoju nadal przestrzega reguł i nie wie co znaczą symbole.

Załóżmy, że program realizujący książkę reguł symuluje dokładnie interakcje w mózgu Chińczyka. Wówczas z pewnością program rozumiałby chiński? Searle odpowiada, że taka symulacja nie odtworzy ważnych cech mózgu - jego wyjaśniających i intencjonalnych stanów.

Ale co, jeżeli mózgowa symulacja była powiązana do świata w taki sposób ze ma przyczynowe władzę rzeczywistego mózgu - przypuszczalnie połączonego do robota typu opisanego powyżej? Wtedy na pewno byłaby zdolna myśleć. Searle zgadza się, że jest to w podstawie możliwe, aby stworzyć sztuczną inteligencję, ale wskazuje, że taka maszyna miałaby przyczynową władzę mózgu. To byłoby więcej niż zwykły program komputera.

3) Test Touringa.

Test Turinga to sposób określania zdolności maszyny do posługiwania się językiem naturalnym i pośrednio mającym dowodzić opanowania przez nią umiejętności myślenia w sposób podobny do ludzkiego. Test ten został zaproponowany w 1950 roku przez Alana Turinga. Turing zaproponował ten test w celu zamiany pełnego emocji i w jego pojęciu bezsensownego pytania "Czy maszyny myślą?" na pytanie lepiej zdefiniowane, w ramach badań nad stworzeniem sztucznej inteligencji.

Test wygląda następująco: sędzia - człowiek - prowadzi rozmowę w języku naturalnym z pozostałymi stronami. Jeśli sędzia nie jest w stanie wiarygodnie określić, czy któraś ze stron jest maszyną czy człowiekiem, wtedy mówi się, że maszyna przeszła test. Zakłada się, że zarówno człowiek jak i maszyna próbują przejść test zachowując się w sposób możliwie zbliżony do ludzkiego.

Test pochodzi od zabaw polegających na zgadywaniu płci osoby znajdującej się w innym pokoju przy pomocy serii pytań i odpowiedzi pisanych na kartkach papieru. W pierwotnym pomyśle Turinga człowiek musiał udawać przeciwną płeć, a test był ograniczony do pięciominutowej rozmowy. Dziś nie uważa się tych cech za podstawowe i zasadniczo nie umieszcza w specyfikacji testu Turinga.

Turing oczekiwał, że maszyny w końcu będą w stanie przejść ten test. Ocenił, że około roku 2000 maszyny z pamięcią o pojemności 109 bitów (około 119 MB) będą w stanie oszukać 30% sędziów w czasie pięciominutowego testu. Przewidywał również, że ludzie przestaną uważać zdanie "myśląca maszyna" za wewnętrznie sprzeczne. Oceniał, że uczenie maszynowe nabierze dużego znaczenia w budowaniu wydajnych maszyn. To twierdzenie jest przez dzisiejszych badaczy sztucznej inteligencji oceniane jako zasadne.

Spory o to, czy test Turinga we właściwy sposób definiuje inteligencję maszynową (lub "myślenie maszynowe"), dotyczyły głównie trzech punktów:

  1. Maszyna, która przejdzie test Turinga, może być w stanie symulować ludzkie zachowanie konwersacyjne, lecz może to być znacznie mniej niż prawdziwa inteligencja. Maszyna może zwyczajnie używać sprytnie wymyślonych reguł. Częstą ripostą w społeczności zajmującej się badaniami nad sztuczną inteligencją jest zadanie pytania "A skąd wiemy, czy ludzie sami po prostu nie posługują się jakimiś sprytnie wymyślonymi regułami?".

  2. Maszyna może być inteligentna nie posiadając ludzkiej umiejętności prowadzenia rozmowy.

  3. Wielu ludzi mogłoby nie być w stanie zaliczyć takiego testu. Z drugiej strony, inteligencję innych ludzi oceniamy zazwyczaj wyłącznie na podstawie tego co i jak mówią.

Można wskazać jeszcze jedną wątpliwość odnośnie testu Turinga: W niektórych przypadkach, aby zaliczyć test, maszyna musiałaby symulować brak posiadanej wiedzy czy umiejętności. "Zdradzenie" się z taką wiedzą czy umiejętnościami powodowałoby, że nie zaliczy testu. Przykładem może być prośba o podanie wyniku działania matematycznego typu: 1234235 razy 2,23 (wynik: 2 752 344,05)

Jak dotąd, żaden komputer nie zaliczył testu Turinga. Proste programy konwersacyjne, takie jak ELIZA, były w stanie sprawić, że ludzie wierzyli, że rozmawiają z żywym człowiekiem. Przykładem może być nieformalny eksperyment pod nazwą AOLiza. Jednak takie "sukcesy" nie są tym samym co przejście testu Turinga. Po pierwsze, człowiek w takiej rozmowie nie ma podstaw do podejrzeń, że rozmawia z czymkolwiek innym niż z drugim człowiekiem. W prawdziwym teście Turinga przesłuchujący stara się aktywnie określić naturę rozmówcy. Udokumentowane przypadki dotyczą głównie środowisk typu IRC, gdzie rozmowy są wysoce nienaturalne i często spotyka się bezsensowne komentarze, odkrywające brak zrozumienia tematu. Dodatkowo, wielu uczestników czatów posługuje się angielskim jako drugim lub trzecim językiem, co tylko zwiększa prawdopodobieństwo, że ocenią oni głupi komentarz programu konwersacyjnego jako coś, czego po prostu nie zrozumieli. Nie znają oni również w większości technologii botów i nie rozpoznają typowo nieludzkich błędów popełnianych przez takie programy. Patrz efekt Elizy.

Nagroda Loebnera to doroczny konkurs wyznaczający najlepszych zawodników w teście Turinga.

4) Podstawowe pojecia:

zbiór przyblizony -> Teoria zbiorów przybliżonych – zaproponowany w 1982 r. przez prof. Zdzisława Pawlaka formalizm matematyczny, stanowiący rozwinięcie klasycznej teorii zbiorów. Zbiór przybliżony (ang. rough set) to obiekt matematyczny zbudowany w oparciu o logikę trójwartościową. W swym pierwotnym ujęciu zbiór przybliżony to para klasycznych zbiorów: przybliżenie dolne i przybliżenie górne. Istnieje również odmiana zbioru przybliżonego, definiowana przez parę przybliżeń będących zbiorami rozmytymi (ang. fuzzy set). Dany element może należeć do obydwu przybliżeń, do żadnego lub tylko do przybliżenia górnego. Ten ostatni przypadek jest o tyle ciekawy, że pozwala na modelowanie niepewności.

zbiór rozmyty -> Zbiór rozmyty (ang. fuzzy set) to obiekt matematyczny ze zdefiniowaną funkcją przynależności, która przybiera wartości z ciągłego przedziału <0, 1>. Natomiast przeciwdziedzina funkcji przynależności klasycznego zbioru ma jedynie dwie wartości{0,1}.

deskryptor - Deskryptor (angielskie descriptor), struktura danych określająca inną strukturę danych, np. deskryptor pliku, gniazda, procesu.

reguła decyzyjna - Reguły decyzyjne są jednym z narzędzi reprezentacji wiedzy (modelowania danych). Opisują one związki między atrybutami warunkowymi (zwykle wieloma), a atrybutem decyzyjnym, za pomocą implikacji: po lewej stronie znajdują się warunki wyrażone pewną formułą logiczną, po prawej - wartość atrybutu decyzyjnego. Systemy klasyfikujące oparte na regułach zawierają zwykle wiele (np. tysiące) reguł, z których każda może być oparta na innym zstawie artybutów warunkowych.

Reguły decyzyjne stanowią łatwy do interpretacji opis regularności zawartych w danych, dzięki czemu, prócz zadań automatycznej klasyfikacji, nadają się też do tworzenia zrozumiałych dla człowieka raportów. Ich zaletą jest łatwość przełożenia ich na język naturalny.

Najpopularniejsza postać reguły to koniunkcja deskryptorów (selektorów postaci np. ai=vj) opartych na wybranych atrybutach. W zależności od rodzaju danych i algorytmu, najczęstsze rodzaje deskryptorów (selektorów) to:

stosowane w przypadku danych dyskretnych (np. symbolicznych), oraz

stosowane rzadziej, w przypadku danych ciągłych (liczby rzeczywiste).

Zbiór reguł zwykle konstruujemy tak, żeby pokrywał wszystkie przypadki treningowe, tzn. żeby każdy obiekt testowy pasował do którejś z reguł. To nie znaczy, że pokryje również wszystkie przypadki testowe.

system informacyjny - System informacyjny – to posiadająca wiele poziomów struktura pozwalająca użytkownikowi na przetwarzanie, za pomocą procedur i modeli, informacji wejściowych w wyjściowe. 

Przykład[edytuj]

Niech będzie dany zbiór  obiektów (zwany uniwersum) i zbiór  atrybutów opisujących obiekty. Systemem informacyjnym  nazywamy parę: . System informacyjny korzystnie jest przedstawić w postaci tablicy, gdzie wiersze reprezentują obiektu uniwersum, a kolumny – wartości atrybutu dla poszczególnych obiektów.

Poniższy przykład przedstawia prosty system informacyjny opisujący owoce. Każdy obiekt uniwersum (owoc) jest opisany poprzez 4 atrybuty: średnicę w centymetrach, kolor, smak i nazwę.

a1 a2 a3 a4
o2 1,4 czerwony kwaśny wiśnia
o3 1,6 żółty słodki czereśnia
o4 2 czerwony słodki czereśnia
o5 10 żółty gorzki grejfrut
o6 10 pomarańczowy słodki pomarańcza

system decyzyjny - Proces decyzyjny to określony proces myślowy lub sztuczny który realizuje funkcje podejmowania decyzji (istotne rozróżnienie zaproponowane przez Gadomskiego, 1986, ang. - def. procesu i funkcji). Ta sama decyzja w tej samej sytuacji może być produktem innych procesów decyzyjnych.

Podejmowanie decyzyji występuje we wszystkich dziedzinach działalności ludzkiej. Jego podstawowe składowe to kryteria wyboru i alternatywy.

W robotyce i systemach komputerowych procesy decyzyjne są programowane w różnych językach komputerowych i mogą używać różnych metod i algorytmów do osiągnięcia tego samego celu.

W zależności od typu problemu wymagającego decyzji i jego kontekstu, sztuczne procesy decyzyjne używają metod matematycznych i obliczeniowych które nie może używać człowiek w procesach myślowych kognitywnych. W sytuacjach dobrze określonych, jak np. w szachach, "komputer może dominować nad człowiekiem". Takie modele komputerowe procesów decyzyjnych są np. bardzo ważne dla budowy robotów autonomicznie wykonujących zadania w warunkach trudnych lub niedostępnych dla człowieka, np. na Księżycu.

W tzw. aktywnych lub inteligentnych systemach wsparcia decyzyjnego ( active DSS - Decision Support Systems i IDSS), procesy decyzyjne są projektowane a ich wyniki są sugerowane użytkownikowi systemu (np. operatorowi procesów przemysłowych, projektantowi systemów czy menadżerowi).

relacja nieodróznialnosci -

relacja odróżnialności - ??? SPRAWDZIĆ W PDF Z ĆWICZEŃ

B-aproksymacja dolna, B-aproksymacja górna, B-brzeg pojecia, B-obszar

pozytywny-

Overfitting - admierne dopasowanie, przeuczenie, przetrenowanie, overfitting – różne, stosowane w statystyce nazwy tego samego zjawiska, zachodzącego gdy model statystyczny ma zbyt dużo parametrów w stosunku do rozmiaru próby na podstawie której był konstruowany. Absurdalne i fałszywe modele mogą świetnie pasować do danych uczących gdy model ma wystarczającą złożoność, jednak będą dawały gorsze wyniki, gdy zastosujemy je do danych, z którymi się nie zetknęły podczas uczenia.

Nadmierne dopasowanie jest w pewnym sensie pogwałceniem zasady brzytwy Ockhama (niemnożenia bytów ponad potrzebę). Kiedy liczba stopni swobody modelu przekracza zawartość informacyjną danych, dobór parametrów staje się w dużym stopniu kwestią przypadku. Model zaczyna dopasowywać się do przypadkowych błędów w danych uczących, i tym samym zanika jego zdolność generalizacji i możliwość zastosowania modelu do innych podobnych danych, czyli główny cel modelowania. Prawdopodobieństwo przeuczenia zależy nie tylko od liczby parametrów i wielkości danych, lecz także adekwatności struktury modelu w odniesieniu do konkretnych danych oraz skali błędu modelu w porównaniu z oczekiwanym poziomem szumu w danych.

Idea nadmiernego dopasowania jest ważna także w uczeniu maszynowym. Sieci neuronowe, czy algorytmy genetyczne mają zwykle bardzo dużo zmieniających się w trakcie uczenia parametrów, a niektóre typowe problemy takie jak gra na giełdzie w długim horyzoncie czasowym, badania genetyczne, czy problemy makroekonomiczne generują niewielką liczbę niezależnych obserwacji. Wzrasta zatem ryzyko sytuacji w której np. sieć neuronowa trenowana na danych miesięcznych z kilku lat wydaje się być świetnym graczem giełdowym, a po zastosowaniu jej przewidywań w praktyce zyski nie odbiegają od inwestycji w indeks.

Zwykle algorytm uczący jest trenowany na pewnym zbiorze przypadków (zbiór uczący), dla których znane są właściwe wyniki. Zakłada się, że po nauczeniu można zastosować algorytm do przewidywania wyników także dla innych przypadków, czyli algorytm w procesie uczenia uogólni prawidłowości w zbiorze uczącym na wszelkie podobne obserwacje. Jednakże szczególnie w sytuacji, gdy uczenie jest zbyt długie, lub gdy przypadki uczące są nieliczne, uczeń może "wymyślić" prawidłowości, które w rzeczywistości nie mają miejsca, a są efektem przypadkowych błędów w danych uczących. W wyniku tego przeuczenia spada jakość algorytmu zastosowanego do innych danych niż te, na których się uczył, choć dla danych uczących jest coraz lepszy.

Zarówno w statystyce, jak i uczeniu maszynowym w celu uniknięcia nadmiernego dopasowania konieczne jest zastosowanie dodatkowych środków zapobiegawczych (np. zbiorów testowychwalidacji krzyżowejbootstrapu), które pozwalają stwierdzić, w którym momencie dalsze uczenie zaczyna prowadzić do powstania gorszego modelu. Do kontroli nadmiernego dopasowania mogą się też przydawać testy istotności statystycznej, które jednak na ogół mają pewne założenia odnośnie rozkładu danych.

psychiatrii odpowiednikiem nadmiernego dopasowania mogą być urojenia paranoiczne: złożone, spójne wewnętrznie, choć absurdalne modele świata (np. teorie spiskowe), tworzone na podstawie zbyt skąpych informacji przez pacjentów z objawamizespołu paranoicznego.

dyskretyzacja (pojecie zbioru ciec) - Problem dyskretyzacji

Dana jest niesprzeczna tablica decyzyjna 

Dyskretyzacja metodą wnioskowania Boolowskiego

Dana jest niesprzeczna tablica decyzyjna 

Ciecia kandydujące

Oznaczmy przez  zmienne Boolowskie odpowiadające cięciom. Wówczas

Funkcja kodująca problem dyskretyzacji

Po sprowadzeniu do postaci DNF mamy:

Czyli optymalnym zbiorem cięć jest 

5) Pojecia zwiazane z algorytmami genetycznymi, krzyzowanie i mutacja, zastosowanie

algorytmu wczesnego stopu.

Algorytm genetyczny - rodzaj algorytmu przeszukującego przestrzeń alternatywnych rozwiązań problemu w celu wyszukania rozwiązań najlepszych.

Sposób działania algorytmów genetycznych nieprzypadkowo przypomina zjawisko ewolucji biologicznej, ponieważ ich twórca John Henry Holland właśnie z biologii czerpał inspiracje do swoich prac. Obecnie zalicza się go do grupy algorytmów ewolucyjnych.

Problem definiuje środowisko, w którym istnieje pewna populacja osobników. Każdy z osobników ma przypisany pewien zbiór informacji stanowiących jego genotyp, a będących podstawą do utworzenia fenotypu. Fenotyp to zbiór cech podlegających ocenie funkcji przystosowania modelującej środowisko. Innymi słowy - genotyp opisuje proponowane rozwiązanie problemu, a funkcja przystosowania ocenia, jak dobre jest to rozwiązanie.

Genotyp składa się z chromosomów, gdzie zakodowany jest fenotyp i ewentualnie pewne informacje pomocnicze dla algorytmu genetycznego. Chromosom składa się z genów.

Wspólnymi cechami algorytmów ewolucyjnych, odróżniającymi je od innych, tradycyjnych metod optymalizacji, są:

  1. stosowanie operatorów genetycznych, które dostosowane są do postaci rozwiązań,

  2. przetwarzanie populacji rozwiązań, prowadzące do równoległego przeszukiwania przestrzeni rozwiązań z różnych punktów,

  3. w celu ukierunkowania procesu przeszukiwania wystarczającą informacją jest jakość aktualnych rozwiązań,

  4. celowe wprowadzenie elementów losowych.

Zapis algorytmu[edytuj]

Najczęściej działanie algorytmu przebiega następująco:

  1. Losowana jest pewna populacja początkowa.

  2. Populacja poddawana jest ocenie (selekcja). Najlepiej przystosowane osobniki biorą udział w procesie reprodukcji.

  3. Genotypy wybranych osobników poddawane są operatorom ewolucyjnym:

    1. są ze sobą kojarzone poprzez złączanie genotypów rodziców (krzyżowanie),

    2. przeprowadzana jest mutacja, czyli wprowadzenie drobnych losowych zmian.

  4. Rodzi się drugie (kolejne) pokolenie i algorytm powraca do kroku drugiego, jeżeli nie znaleziono dostatecznie dobrego rozwiązania. W przeciwnym wypadku uzyskujemy wynik.

Działanie algorytmu genetycznego obejmuje kilka zagadnień potrzebnych do ustalenia:

  1. ustalenie genomu jako reprezentanta wyniku

  2. ustalenie funkcji przystosowania/dopasowania

  3. ustalenie operatorów przeszukiwania

Kodowanie[edytuj]

Kodowanie jest bardzo istotnym etapem projektowania algorytmu. Sposób zakodowania w chromosomie informacji o proponowanym rozwiązaniu wydatnie wpływa na szybkość i jakość znajdowanych wyników. Przyczyną takiego zjawiska jest wpływ kodowania na sposób w jaki przeszukiwana jest przestrzeń rozwiązań. Złe kodowanie może spowodować, że nigdy nie zostanie przeszukany fragment przestrzeni, w którym znajdują się najlepsze rozwiązania!

Najczęściej stosowane kodowania chromosomu:

Funkcja przystosowania[edytuj]

Proces wyboru osobników poddanych ocenie według określonych kryteriów. Kryteria te zapisuje się w postaci funkcji oceny albo inaczej funkcji przystosowania. Algorytm genetyczny dąży zwykle do jej minimalizacji (maksymalizacji). Jako kryterium często przyjmowana jest funkcja celu rozważanego problemu optymalizacji.

Funkcja oceny[edytuj]

Funkcja oceny to miara jakości dowolnego osobnika (fenotypu, rozwiązania) w populacji. Dla każdego osobnika jest ona obliczana na podstawie pewnego modelu rozwiązywanego problemu. Załóżmy dla przykładu, że chcemy zaprojektować obwód elektryczny o pewnej charakterystyce. Funkcja oceny będzie premiowała rozwiązania najbardziej zbliżonej do tej charakterystyki, zbudowane z najmniejszej liczby elementów. W procesie selekcji faworyzowane będą najlepiej przystosowane osobniki. One staną się "rodzicami" dla populacji.

Metody selekcji[edytuj]

Istnieje wiele metod selekcji. Dla przykładu można przedstawić tzw. metodę ruletki. Budujemy wirtualnie koło, którego wycinki odpowiadają poszczególnym osobnikom. Im lepszy osobnik, tym większy wycinek koła zajmuje. Rozmiar wycinków może zależeć od wartości funkcji oceny, jeśli wysoka wartość oceny oznacza wysokie przystosowanie. W takim układzie prawdopodobieństwo, że lepszy osobnik zostanie wybrany jako rodzic, jest większe. Niestety ewolucja przy takim algorytmie z każdym krokiem zwalnia. Jeżeli osobniki są podobne, to każdy dostaje równy wycinek koła fortuny i presja selekcyjna spada. Algorytm słabiej rozróżnia osobniki dobre od słabszych.

Pozbawiona tej wady jest metoda rankingowa. Obliczamy dla każdego osobnika funkcję oceny i ustawiamy je w szeregu najlepszy-najgorszy. Pierwsi na liście dostają prawo do rozmnażania, a reszta trafia do historii. Wadą metody jest niewrażliwość na różnice pomiędzy kolejnymi osobnikami w kolejce. Może się okazać, że sąsiadujące na liście rozwiązania mają różne wartości funkcji oceny, ale dostają prawie taką samą ilość potomstwa.

Istnieją także metody selekcji wielokryterialnej. Tworzymy kilka różnych funkcji oceny (oceniających pewne wybrane cechy osobników osobno). Dla przykładu osobniki mogą być ułożone nie w jednym, ale w kilku szeregach najlepszy-najgorszy, a proces selekcji jest bardziej złożony.

Jak widać, selekcja daje większe prawdopodobieństwo reprodukcji osobnikom o dużym przystosowaniu, więc kolejne pokolenia są coraz lepiej przystosowane. Spada jednak różnorodność genotypu populacji - populacja z czasem zostaje zmonopolizowana przez nieznacznie różniące się (lub wręcz identyczne) odmiany tego samego osobnika. Objawia się to zbieżnością kolejnych, najlepszych rozwiązań do pewnej granicy. Czasami zbieżność jest przedwczesna, a ewolucja utyka i uzyskane rozwiązania przedstawiają pewne ekstrema lokalne. Mogą być one dalekie od oczekiwanych rozwiązań globalnych, czyli tych najlepszych w całej przeszukiwanej przestrzeni.

Operatory przeszukiwania[edytuj]

W każdym cyklu (każde pokolenie) poddawane są "obróbce" za pomocą operatorów ewolucyjnych. Celem tego etapu jest wygenerowanie nowego pokolenia, na podstawie poprzedniego, które być może będzie lepiej dopasowane do założonego środowiska.

Operator krzyżowania ma za zadanie łączyć w różnych kombinacjach cechy pochodzące z różnych osobników populacji, zaś operator mutacji ma za zadanie zwiększać różnorodność tych osobników. O przynależności dowolnego algorytmu do klasy algorytmów genetycznych decyduje głównie zastosowanie operatora krzyżowania i praca z całymi populacjami osobników (idea łączenia w przypadkowy sposób genotypów nieprzypadkowo wybranych osobników). Równie ważny jest operator mutacji. Jeśli krzyżowanie traktować jako sposób eksploatacji przestrzeni rozwiązań, to mutacja jest sposobem na jej eksplorację. Może się jednak zdarzyć, że dla niektórych zagadnień jej zastosowanie nie jest krytyczne.

Krzyżowanie[edytuj]

Przykładowe krzyżowanie chromosomów zakodowanych binarnie w algorytmach genetycznych
0 1 1 0 1 0

Krzyżowanie polega na połączeniu niektórych (wybierane losowo) genotypów w jeden. Kojarzenie ma sprawić, że potomek dwóch osobników rodzicielskich ma zespół cech, który jest kombinacją ich cech (może się zdarzyć, że tych najlepszych).

Sposób krzyżowania jest zależny od kodowania chromosomów i specyfiki problemu. Jednak można wskazać kilka standardowych metod krzyżowania:

Mutacja[edytuj]

Mutacja wprowadza do genotypu losowe zmiany. Jej zadaniem jest wprowadzanie różnorodności w populacji, czyli zapobieganie (przynajmniej częściowe) przedwczesnej zbieżności algorytmu. Mutacja zachodzi z pewnym przyjętym prawdopodobieństwem - zazwyczaj rzędu 1%. Jest ono niskie, ponieważ zbyt silna mutacja przynosi efekt odwrotny do zamierzonego: zamiast subtelnie różnicować dobre rozwiązania - niszczy je. Stąd w procesie ewolucji mutacja ma znaczenie drugorzędne, szczególnie w przypadku długich chromosomów.

W przypadku chromosomów kodowanych binarnie losuje się zazwyczaj dwa geny i zamienia się je miejscami bądź np. neguje pewien wylosowany gen.

W przypadku genotypów zakodowanych liczbami całkowitymi stosuje się permutacje.

W przypadku genotypów zakodowanych liczbami rzeczywistymi wprowadza się do przypadkowych genów losowe zmiany o danym rozkładzie - najczęściej normalnym.

Zastosowania algorytmów genetycznych[edytuj]

Rozwiązywanie problemów NP[edytuj]

Algorytmy genetyczne znajdują zastosowanie tam, gdzie nie jest dobrze określony lub poznany sposób rozwiązania problemu, ale znany jest sposób oceny jakości rozwiązania. Przykładem jest np. problem komiwojażera, gdzie należy znaleźć najkrótszą drogę łączącą wszystkie miasta, tak by przez każde miasto przejść tylko raz. Ocena jakości proponowanej trasy jest błyskawiczna, natomiast znalezienie optymalnej trasy kwalifikuje się do klasy problemów NP-trudnych. Przy zastosowaniu podejścia ewolucyjnego dobre rozwiązanie można znaleźć bardzo szybko, ale oczywiście pewni możemy być jedynie uzyskania rozwiązań sub-optymalnych, co wynika z formalnie opisanej trudności problemów klasy NP. Algorytmy genetyczne równie dobrze radzą sobie w znajdowaniu przybliżeń ekstremów funkcji, których nie da się obliczyć analitycznie.

Projektowanie genetyczne[edytuj]

Algorytmy genetyczne wykorzystywane są również do zarządzania populacją sieci neuronowych. Projektowanie maszyn bądź obwodów elektrycznych jest doskonałym polem dla wykazania się algorytmów genetycznych. Inżynierowi podczas tworzenia nowych pomysłów nie chodzi o znalezienie najlepszego możliwego rozwiązania. Wystarczy tylko przybliżone spełnienie granicznych warunków oraz optymalizacja projektu. Algorytmy genetyczne w odróżnieniu od człowieka nie działają schematycznie. Program nie zna wcześniejszych projektów i dlatego czasami wykazuje się pewną inwencją. Co więcej człowiek często opiera się na bardzo przybliżonych modelach, które dają fałszywy obraz problemu. Algorytm genetyczny może przeanalizować złożony model / zagadnienie i znaleźć rozwiązanie, na które człowiek by nie wpadł.

Projektowanie obwodów elektrycznych[edytuj]

Algorytmy genetyczne można wykorzystać do projektowania obwodów elektrycznych. Ocena każdego osobnika opiera się na ilości elementów oraz własnościach elektrycznych, które łatwo jest obliczyć. Główna różnica tkwi w algorytmie budowy osobnika na podstawie genomu. Ma on postać instrukcji dla programu, który na jego podstawie buduje obwód elektryczny. Najpierw mamy proste połączenie wejścia z wyjściem. Następnie program dodaje i usuwa połączenia i elementy. Zbudowany tak obwód jest oceniany na podstawie prostych zależności fizycznych. Podobny algorytm genetyczny zbudował samodzielnie filtr drabinkowy. Analogiczne podejście można zastosować przy projektowaniu anten. Różnica tkwi w tym, że wirtualny budowniczy porusza się w trójwymiarowej przestrzeni i ustawia metalowe elementy odbijające fale.

Jednym z nowszych pomysłów jest wykorzystanie algorytmów genetycznych w połączeniu z układami FPGA (field-programmable gate arrays). Mają one postać chipów, które można błyskawicznie zaprogramować, aby zmienić strukturę zawartego w nich obwodu elektrycznego. Algorytmy genetyczne badają zwykle zachowanie symulowanych pokoleń. Dzięki układom FPGA możliwe jest ewoluowanie prawdziwych obwodów elektrycznych. Są one wpisywane do chipa, a następnie ich właściwości elektryczne są mierzone rzeczywistym obwodem testowym. W ten sposób ewolucja może wykorzystać wszystkie fizyczne własności rzeczywistego układu elektrycznego.

Okazało się, że regulatory stosowane w automatyce również można udoskonalić dzięki zastosowaniu algorytmów genetycznych. Najpopularniejszy algorytm sterowania czyli PID, można wyobrazić sobie jako pewien zestaw połączonych ze sobą członów różniczkujących i całkujących. Odpowiedni algorytm genetyczny może zbudować taki układ analogicznie do obwodu elektrycznego. Korzystając z tej metody John R. Koza opracował nowe wersje PID-a [1].

Stworzono ponadto eksperymentalny system, zbudowany na bazie algorytmów genetycznych, który sam produkuje roboty, poddaje ocenie fizycznego środowiska i optymalizuje pod kątem jak najlepszego poruszania się w tym środowisku. Projekt nosi nazwę Golem.

Niestety, aby ewolucja mogła zajść potrzeba bardzo dużo czasu. W praktyce oznacza to, konieczność badania populacji tysięcy układów, na przestrzeni setek pokoleń. Moc obliczeniowa dzisiejszych komputerów jest zbyt mała, aby sprostać takiemu zadaniu w rozsądnym czasie. Z tego powodu wykorzystuje się klastry komputerów. Na każdym przebywa pewna populacja układów. Co pewien czas, część z nich migruje do innego komputera, aby polepszyć uzyskiwane wyniki. Jednak rozwój techniki komputerowej spowoduje, że za kilka lat algorytmy genetyczne będą mogły trafić pod strzechy.

Przeszukiwanie[edytuj]

Algorytmy genetyczne zapewniają skuteczne mechanizmy przeszukiwania dużych przestrzeni rozwiązań. Ponieważ grupowanie należy do tej kategorii zadań to oczywiste jest, że algorytmy genetyczne stosowane są w grupowaniu. Algorytmy genetyczne są bardziej niezależne od wstępnej inicjalizacji oraz mniej skłonne do znajdowania lokalnych rozwiązań w miejsce optymalnych. Przykładem może być zagadnienie grupowania w którym w miejsce klasycznych algorytmów z powodzeniem stosuje się algorytmy genetyczne.

ALGORYTM WCZESNEGO STOPU:

Właściwości algorytmu wczesnego stopu

Najpopularniejszą metodą zabezpieczenia się przed wystąpieniem zjawiska przeuczenia jest poszerzenie wykorzystywanej metody wstecznej propagacji błędu i połączenie z algorytmem wczesnego stopu (ang. early stopping). Powyższa metoda, nazywana także zatrzymanym uczeniem proponuje:

  1. Podział wszystkich obserwacji na zbiór uczący, wykorzystywany do modyfikowania wag sieci, oraz zbiór testujący używany przy obliczaniu zadanego błędu dopasowania.

  2. Korzystanie z dużej liczby neuronów w warstwach ukrytych, czyli w 2 i 3 warstwie perceptronowej.

  3. Wylosowanie bardzo małych wartości startowych dla wag.

  4. Ustalenie małej, czyli spowalniającej optymalizację, wartości współczynnika uczenia.

  5. Systematyczne obliczanie zadanego błędu dopasowania i zatrzymanie procesu gdy jego wartość zacznie rosnąć.

Należy jednak podkreślić, że otrzymany w ten sposób błąd dopasowania nie jest dobrym estymatorem błędu generalizacji. W celu uzyskania nieobciążonego oszacowania błędu generalizacji sieci neuronowej należy wyodrębnić ze zbioru obserwacji trzeci zbiór weryfikujący i na jego podstawie obliczyć błąd dopasowania.

Algorytm wczesnego stopu jest procedurą szybką i może być wykorzystany do udanego uczenia w przypadkach, gdy liczba wag sieci przekracza wielkość zbioru dostępnych obserwacji. Nie precyzuje jednak sposobu podziału całości danych na poszczególne zbiory oraz nie określa szczegółów warunku zatrzymania, zwłaszcza w kontekście możliwych wahań minimalizowanej wartości błędu.

Mechanizm przerwanego uczenia można potraktować jako organicznie nałożone na kształt hiperpłaszczyzny odwzorowania realizowanego przez sieć neuronową. Jego istota zawiera się w warunku zakładającym, że dopasowanie funkcji parametryzowanej przez wagi sieci nie może ulec polepszeniu dla zbioru uczącego, kosztem pogorszenia dopasowania w zbiorze nie biorącym bezpośredniego udziału w modyfikowaniu wag. Powyższy warunek może funkcjonować poprawnie i eliminować zaburzenia losowe tylko wtedy, gdy obydwa zbiory, uczący i testujący, są wystarczająco liczne i reprezentatywne dla modelowanego zjawiska. To z kolei skłania do wniosku, że najlepszym sposobem podziału danych i uzyskana powyższych zbiorów jest losowanie oraz przyjęcie mniej więcej równych proporcji w ich liczebności. W takiej sytuacji proces trenowania napotykając na punkty znajdujące w tym samym miejscu trajektorii zestawu wejść, ale pochodzące z odrębnych zborów, uczącego oraz testującego, i różniące się wartością wyjść, będzie zabezpieczony przed nadmiernym dopasowaniem funkcji do któregoś z nich, ale tak ukształtuje hiperpłaszczyznę odwzorowania realizowanego przez sieć, by przechodziła przez punkt pośredni, który można utożsamiać z warunkową wartością oczekiwaną wyjść.

W tym momencie pojawia się podstawowa wątpliwość, ponieważ algorytm wczesnego stopu wykorzystuje się jako rozwiązanie problemu małej liczebności obserwacji opisujących złożone zjawisko, czyli wymagające sieci o rozbudowanej architekturze. Tymczasem dzielenie zestawu obserwacji, co do którego zachodzi podejrzenie, iż jest zbyt mało liczny lub ledwie wystarczający na dwa podzbiory i wykorzystywanie do uczenia sieci razem z algorytmem wczesnego stopu, doprowadzi raczej do potraktowania całej, skąpo reprezentowanej zmienności zbioru danych jako szumu oraz dopasowania odwzorowania realizowanego przez sieć do kształtu przypominającego bardziej funkcję stałą, niż poszukiwaną zależność.

W przypadku kiedy dysponuje się bardzo małym zbiorem danych, co do którego można przyjąć założenie o braku istotnego dla konkretnego modelu szumu losowego w zmiennych wyjściowych, efektywniejszym rozwiązaniem wydaje się być rezygnacja z zatrzymanego uczenia i skorzystanie tylko z podstawowej metody wstecznej propagacji błędu, która nie zignoruje żadnej ze skąpo reprezentowanych w zbiorze uczącym zależności. Jeśli natomiast zmienność wyjść jest mała i istnieje możliwość oszacowania jej w inny sposób, można dodatkowo doprowadzić podstawowy proces uczenia tylko do momentu, w którym błąd średni zbliży się do zera, a absolutny do zakładanej wartości wektora odchylenia standardowego wyjść.

6. SIECI NEURONOWE

Neuron:

Do wejść doprowadzane są sygnały dochodzące z neuronów warstwy poprzedniej. Każdy sygnał mnożony jest przez odpowiadającą mu wartość liczbową zwaną wagą. Wpływa ona na percepcję danego sygnału wejściowego i jego udział w tworzeniu sygnału wyjściowego przez neuron. Waga może być pobudzająca - dodatnia lub opóźniająca – ujemna; jeżeli nie ma połączenia między neuronami to waga jest równa zero. Zsumowane iloczyny sygnałów i wag stanowią argument funkcji aktywacji neuronu.

Sztuczny neuron - prosty system przetwarzający wartości sygnałów wprowadzanych na jego wejścia w pojedynczą wartość wyjściową, wysyłaną na jego jedynym wyjściu (dokładny sposób funkcjonowania określony jest przez przyjęty model neuronu). Jest to podstawowy element sieci neuronowych, jednej z metod sztucznej inteligencji, pierwowzorem zbudowania sztucznego neuronu był biologiczny neuron.

biologiczna budowa neuronu,

Neuron McCullocha-Pittsa (ang. McCulloch-Pitts neuronthreshold neuron) to podstawowy blok budulcowy sztucznych sieci neuronowych. Jest on wybitnie uproszczonym matematycznym modelem biologicznego neuronu. Neuron McCullocha-Pittsa posiada wiele wejść i jedno wyjście. Każdemu z wejść przyporządkowana jest liczba rzeczywista - tak zwana waga wejścia. Wartość na wyjściu neuronu obliczana jest w następujący sposób:

1. obliczana jest suma iloczynów wartości xi podanych na wejścia i wag wi wejść:

2. na wyjście podawana jest wartość funkcji aktywacji f(s) dla obliczonej sumy

Reguła Hebba

Opierając się na zasadzie tworzenia się odruchów warunkowych, Hebb wprowadził następującą zasadę. Jeśli aktywny neuron A jest cyklicznie pobudzany przez neuron B, to staje się on jeszcze bardziej czuły na pobudzenie tego neuronu. Jeśli przez xA i xB oznaczymy stany aktywacji neuronów A i B, a przez wAB - wagę ich połączenia synaptycznego, to powyższą regułę można zapisać w postaci następującego równania:

gdzie  oznacza pewną stałą dodatnią, sterującą procesem uczenia.

Reguła Hebba posiada istotną wadę, mianowicie prowadzi do procesu rozbieżnego. Aby to udowodnić, rozważmy liniowy element przetwarzający. Jego stan aktywacji x w chwili k jest równy:

gdzie w(k) oznacza wektor wag wejściowych połączeń synaptycznych elementu, u(k) - wektor wejściowy należący do pewnego zbioru  wektorów uczących, wzięty z tego zbioru zgodnie z rozkładem prawdopodobieństwa, oraz podany na wejście elementu w chwili k-tej.

Zgodnie z ogólną regułą kolejne prezentacje wzorców ze zbioru  zmieniają wektor wag o przyrost W(k) określony zależnością:

Dalej będziemy zakładać, że elementy ciągu u(k) są niezależne (tzn. wynik losowania wzorca ze zbioru  w danej chwili nie zależy od wyników losowań w innych chwilach). Warunkiem zbieżności procesu uczenia jest zerowanie się (od pewnego momentu) średniej zmiany wag:

gdzie:

jest macierzą korelacji obrazów wejściowych, a E. operatorem wartości oczekiwanej.

Zgodnie z definicją macierz A jest macierzą symetryczną. Ponadto można wykazać, że jest dodatnio półokreślona, gdyż:

Wynika stąd, że wszystkie jej wartości własne są rzeczywiste i nieujemne. Wektory własne odpowiadające różnym wartościom własnym są ortogonalne. Z warunku zbieżności procesu uczenia wynika, że potencjalny stan równowagi wr jest wektorem własnym a0 macierzy Aodpowiadającym zerowej wartości własnej, tzn. wr = a0, gdzie Aa0 = 0. Aby przekonać się, czy stan a0 jest stanem stabilnym, wystarczy sprawdzić, czy po niewielkim zaburzeniu układ kierujący się regułą Hebba do niego powróci.

Niech wektor w(0) będzie wektorem bliskim a0, tzn. w(0) = a0 + e0, przy czym e(0) jest niewielkim zaburzeniem a0. Wartość oczekiwana wektora wag w (k + 1)-ym kroku wyraża się zależnością:

Definiując e(k) = w(k) - a0 otrzymujemy:

Wynika stąd zależność:

Korzystając z ortogonalności wektorów własnych macierzy A, można ją przekształcić do postaci diagonalnej Z-1AZ = D, przy czym Z jest macierzą, której kolumny są kolejnymi wektorami własnymi macierzy A, D - macierzą diagonalną, której diagonala zawiera odpowiednie wartości własne macierzy A.

Definiując:

otrzymujemy zależność:

czyli:

Zauważmy, że macierz występująca po prawej stronie powyższego wzoru jest diagonalna. Dla stabilności potrzeba, aby limk Ee(k) = 0 lub równoważnie limk e~(k) = 0. Stąd i z ostatniej zależności otrzymujemy warunek:

gdzie j oznacza j-tą wartość własną macierzy A. Oczywiście warunek ten jest spełniony tylko wtedy, gdy:

Ponieważ jednak  > 0, w konsekwencji otrzymujemy warunek:

Przeczy to jednak dodatniej półokreśloności macierzy korelacji A. Z przeprowadzonego rozumowania wynika więc rozbieżność procesu uczenia według reguły Hebba.

Funkcja aktywacji to pojęcie używane w sztucznej inteligencji do określenia funkcji, według której obliczana jest wartość wyjścia neuronów sieci neuronowej. Do najczęściej używanych funkcji aktywacji należą:

y(x) = ax + b

Uwagi:

a - zadana wartość progowa

Uwagi:

a - zadana wartość progowa

Uwagi:

Uwagi:

Uwagi:

perceptron wielowarstwowy

Perceptron wielowarstwowy

Ograniczenie liniowej separowalności perceptronu prostego można usunąć poprzez wprowadzenie warstw ukrytych. Oto struktura perceptronu wielowarstwowego:

przy czym i = 1, 2, ..., mm - liczba elementów w warstwie wejściowej; j = 1, 2, ..., nn - liczba elementów w warstwie wyjściowej; h = 1, 2, ..., HH - liczba warstw ukrytych; kh - 1, 2, ..., KHKH - liczba elementów w h-tej warstwie ukrytej; whkh-1, kh - waga połączenia pomiędzy elementami kh-1-tym oraz kh-tym odpowiednio w warstwach (h-1)-szej i h-tej.

zastosowanie sieci neuronowych -

Współcześnie nie ma wątpliwości, że sztuczne sieci neuronowe nie stanowią dobrego modelu mózgu[potrzebne źródło], choć różne ich postaci wykazują cechy charakterystyczne dla biologicznych układów neuronowych: zdolność do uogólniania wiedzy, uaktualniania kosztem wcześniej poznanych wzorców, dawanie mylnych odpowiedzi po przepełnieniu[potrzebne źródło]. Mimo uproszczonej budowy sztuczne sieci neuronowe stosuje się czasem do modelowania schorzeń mózgu[potrzebne źródło].

Sztuczne sieci neuronowe znajdują zastosowanie w rozpoznawaniu i klasyfikacji wzorców (przydzielaniu wzorcom kategorii), predykcji szeregów czasowych, analizie danych statystycznych, odszumianiu i kompresji obrazu i dźwięku oraz w zagadnieniach sterowania i automatyzacji.

Magazyn BYTE wymienia między innymi następujące zastosowania tych sieci:

Najpopularniejsze obecnie zastosowanie sieci neuronowych[potrzebne źródło]:

Uczenie sieci neuronowych bez nauczyciela

Podczas uczenia bez nauczyciela pożądana odpowiedz nie jest znana. Ze względu na brak informacji o poprawności, czy niepoprawności odpowiedzi sieć musi się uczyć poprzez analizę reakcji na pobudzenia, o których naturze wie mało lub nic. W trakcie analizy parametry sieci podlegają zmianom, co nazywamy samoorganizacją.

Rys. Uczenie bez nauczycielem

Uczenie sieci neuronowych z nauczycielem

W trybie uczenia z nauczycielem (nazywanym również uczeniem pod nadzorem) oprócz danych wejściowych posiadamy również sygnały wyjściowe, jakie chcemy uzyskać. Dobór wag musi być przeprowadzony w taki sposób, aby aktualny sygnał wyjściowy y był najbliższy wartości zadanej d.

Rys. Uczenie z nauczycielem

Inaczej mówiąc, celem uczenia pod nadzorem jest minimalizacja odpowiednio zdefiniowanej funkcji celu, która umożliwi dopasowanie wartości aktualnych odpowiedzi neuronów wyjściowych do wartości żądanych.

, błąd średniokwadratowy ???

przeuczenie sieci - Ilu naukowców tyle metod budowy i uczenia sieci. Podstawy są wszystkim znane, jednak pomimo tego nie ma jednego wzoru, który jednoznacznie określałby jak budować sieć. Z własnych obserwacji [dotyczących predykcji rynków giełdowych] mogę powiedzieć, że najczęściej wychodzi się od wzoru – NN = pierwiastek z h*a+b… gdzie NN to liczba neuronów, h to liczba warstw ukrytych a to liczba wejść, b to liczba wyjść [o wejściach i wyjściach później]. W dziedzinie nauki istnieje kilka metod uczenia zarówno jednoprzebiegowych jak i wieloprzebiegowych. Takie podejście ma na celu zapobieżenia tzw. przeuczenia sieci. Przeuczenie sieci to jest najzwyklejsze „wyrycie na blachę” przykładów jakimi uczymy sieć.

Uczenie konkurencyjne nazywane jest często "zwycięzca bierze wszystko", dlatego że tylko jedna jednostka spośród całej warstwy może być w stanie pobudzenia. Neurony konkurują ze sobą o to, który z nich będzie w stanie pobudzenia. Do reprezentacji takiej sieci, oprócz zwykłych połączeń synaptycznych, zwanych tutaj pobudzającymi, używa się połączeń hamujących które zapewniają spełnienie warunku winner-takes-all. Do "zapłonu" dopuszczony jest ten neuron, który ma np. największą wartość pobudzenia wewnętrznego. Dla uproszenia zakłada się często, że jednostki są progowe (podobnie jak w perceptronie) o wyjściach 0 - nieaktywnym i 1 - aktywnym / pobudzonym. Obliczenia zaczyna się od małych współczynników wagowych, bez żadnej symetrii (ważne!) wśród nich. Takie sieci świetnie nadają się do realizacji klasyfikacji wzorców według podobieństwa na klasy pobudzające konkretną jednostkę. Takie sieci (szczególnie w rozwiązaniach hybrydowych) stosuje się do rozpoznawania liter.

Sieci rekurencyjne

Kolejnym typem sieci neuronowych, z jakimi możemy się spotkać są sieci rekurencyjne. Dotychczas opisywane sieci charakteryzowały się jednokierunkowym przepływem sygnałów od wejścia do wyjścia. W sieciach rekurencyjnych istnieją sprzężenia zwrotne między wejściem, a wyjściem. Zależności dynamiczne jakie panują w sieci są widoczne na każdym etapie działania. Zmiana stanu jednego neuronu przenosi się przez masowe sprzężenie zwrotne na całą sieć, wywołując stan przejściowy, kończący się określonym stanem ustalonym, na ogół innym niż stan poprzedni. Przy oznaczeniu aktywacji neuronu jako f(s), gdzie u jest sumą wagową pobudzeń (sygnałem aktywacji) to sygnał wyjściowy neuronu

oznacza jego stan. Przy masowym sprzężeniu zwrotnym pobudzeniami dla neuronów są sygnały wejściowe innych neuronów. Zmiana stanu neuronów jest opisana układem równań różniczkowych nieliniowych, które ma postać (Hopfield, 1984)

dla i=1, 2, ..., N, przy czym bi jest wartością progową, wynikającą z zewnętrznego śródła. Współczynnik ti jest pewną stałą wartością liczbową. Stan neuronu uzyskuje się z rozwiązania równania różniczkowego jako yi=f(si). Przy określonym stanie pobudzenia neuronów, opisanym za pomocą wartości ich sygnałów wyjściowych yi, sieciom rekurencyjnym można przyporządkować funkcję energetyczną Lagunowa. Jest ona powiązana z każdym stanem pobudzenia sieci, ma charakter malejący w czasie. Zmiana stanu jakiegokolwiek neuronu zapoczątkowuje zmianę stanu energetycznego całej sieci, w kierunku minimum tej energii ,aż do jego osiągnięcia.

Algorytm wstecznej propagacji błędu (backpropagation) jest obecnie podstawowym (i jednym z najskuteczniejszych) algorytmem nadzorowanego uczenia wielowarstwowych jednokierunkowych sieci neuronowych.

Nazwa tego algorytmu wynika z kolejności obliczania sygnałów błędu d, która przebiega w kierunku odwrotnym niż przechodzenie sygnałów przez sieć, to znaczy od warstwy wyjściowej poprzez warstwy ukryte w kierunku warstwy wejściowej.

Ogólnie algorytm propagacji wstecznej wymaga dla każdego wzorca uczącego wykonania następujących czynności:

Założenia: dana jest sieć o M warstwach, oraz zestaw danych uczącychE = {E1, E2...EN}, gdzie każdy z przykładów składa się z wektora danych wejściowych X i z wektora wyjść D.

¨      Przypisz wszystkim wagom wartości losowe bliskie 0. Wybierz wzorzec uczący EK.

¨      Podaj wektor uczący EK na wejście sieci

¨      Wyznacz wartości wyjść każdego elementu dla kolejnych warstw przetwarzania, od pierwszej warstwy ukrytej do warstwy wyjściowej

¨       Oblicz wartość dMi błędów dla warstwy wyjściowej

               dM= f (xil-1 (t)) [di  - yiM(t)]

¨      Wyznacz kolejno błędy w warstwach l = M., M.-1, ...2 według postępowania

dl-1i (t) = f (xil-1 (t) ) Si wlji (t) dli (t) 

¨      Wyznacz zmianę wartości wag

Dwlij (t) = g  dli (t) xil-1 (t)

¨      Modyfikuj wszystkie wagi

 wlji (t+1) = wlji (t) +  Dwlij (t)

¨      Wybierz kolejny wzorzec (o ile istnieje) i przejdź do punktu 2 (wczytanie wzorca)

W trakcie uczenia sieci można zaprezentować dowolną liczbę wzorców uczących. Jeśli sieć ma pracować z danymi zakłóconymi to część wektorów uczących powinna również zawierać zakłócenie. Jest to związane ze zdolnością sieci do uogólniania - niewielkie zaburzenie sygnałów wzorcowych może spowodować przyspieszenie zbieżności procesu uczenia ( choć sygnał zaburzony nigdy może się nie pojawić w rzeczywistej pracy sieci ).

Inne zasady obowiązujące przy konstruowaniu ciągów uczących zostały przedstawione w punkcie Projektowanie zbioru uczącego.

Pierwszą operacją w procesie uczeni jest inicjalizacja początkowego układu wag. Należy unikać symetrii w warstwach wag początkowych (mogłoby to spowodować nie nauczenie się sieci ).  Najskuteczniejszym rozwiązaniem wydaje się być losowy wybór wag początkowych.

Istotnym problemem jest wybór współczynnika uczenia h. Parametr ten decyduje o szybkości i stabilności procesu uczenia. Przy zbyt małej wielkości tego współczynnika uczenie postępuje w bardzo wolnym tempie, i sieć potrzebuje b. dużej liczby operacji, by się nauczyć. W przypadku zbyt dużej wartości tego współczynnika algorytm może stać się niestabilny.

Wartość współczynnika h dobiera się zazwyczaj z przedziału [0.05 , 0.25].

jednowarstwowa siec neuronowa Hopfielda

Strukturę sieci Hopfielda można opisać bardzo prosto – jest to układ wielu identycznych elementów połączonych metodą każdy z każdym. Jest zatem najczęściej rozpatrywana jako struktura jednowarstwowa. W odróżnieniu od sieci warstwowych typu perceptron sieć Hopfielda jest siecią rekurencyjną, gdzie neurony są wielokrotnie pobudzane w jednym cyklu rozpoznawania co uzyskuje się poprzez pętle sprzężenia zwrotnego.

Jednowarstwowa sieć Hopfielda ze sprzężeniem zwrotnym

W fazie odtwarzania na wejście sieci podany jest nieznany sygnał wejściowy i zadaniem sieci jest w procedurze rekurencyjnej „znaleźć” ten z zapisanych w jej strukturze wzorców do którego ten sygnał wejściowy jest najbardzie podobny.

7) Metody oceny jakosci klasyfikatora: Train & Test,

Cross Validation

Sprawdzian krzyżowy (lub walidacja krzyżowa, kroswalidacja, sprawdzanie krzyżowe) - metoda statystyczna, polegająca na podziale próby statystycznej na podzbiory, a następnie przeprowadzaniu wszelkich analiz na niektórych z nich (zbiór uczący), podczas gdy pozostałe służą do potwierdzenia wiarygodności jej wyników (zbiór testowy, zbiór walidacyjny).

Teoria sprawdzianu krzyżowego została zapoczątkowana przez Seymoura Geissera. Pozwala ona bronić się przed tzw. błędem trzeciego rodzaju i właściwie ocenić trafność prognostyczną modelu predykcyjnego. Bez jej zastosowania nie można być pewnym, czy model będzie dobrze działał dla danych, które nie były wykorzystywane do jego konstruowania (zob. overfitting).

Prosta walidacja[edytuj]

Jest to najbardziej typowy rodzaj walidacji, w którym próbę dzieli się losowo na rozłączne zbiory: uczący i testowy. Zwykle zbiór testowy stanowi mniej niż 1/3 próby[1]. Niektórzy nie zaliczają tego typu walidacji do metody sprawdzianu krzyżowego.

K-krotna walidacja[edytuj]

W tej metodzie, oryginalna próba jest dzielona na K podzbiorów. Następnie kolejno każdy z nich bierze się jako zbiór testowy, a pozostałe razem jako zbiór uczący i wykonuje analizę. Analiza jest więc wykonywana K razy. K rezultatów jest następnie uśrednianych (lub łączonych w inny sposób) w celu uzyskania jednego wyniku.

Leave-one-out[edytuj]

Jest to odmiana walidacji K-krotnej, gdy N-elementowa próba jest dzielona na N podzbiorów, zawierających po jednym elemencie. Stosowana często dla małych zbiorów danych.

Kroswalidacja stratyfikowana[edytuj]

Nie jest to w zasadzie osobna odmiana kroswalidacji, a odnosi się do wszystkich jej rodzajów wymienionych powyżej. Kroswalidacja stratyfikowana (ang. stratified cross-validation) polega na takim podziale obiektów pomiędzy zbiór treningowy i zbiór testowy, aby zachowane były oryginalne proporcje pomiędzy klasami decyzyjnymi. Zastosowanie kroswalidacji stratyfikowanej jest szczególnie ważne w przypadku, gdy w oryginalnym zbiorze danych występują znaczne dysproporcje w liczebności przykładów należących do poszczególnych klas decyzyjnych.

bootstrap (z ang. pull oneself up by one's bootstraps – wydobyć się z opresji własnymi siłami) – w statystyce opracowana przez Bradleya Efrona metoda szacowania rozkładu błędówestymacji, za pomocą wielokrotnego losowania ze zwracaniem z próby. Jest przydatna szczególnie, gdy nie jest znana postać rozkładu zmiennej w populacji. Ponieważ bootstrap w podstawowej wersji nie czyni założeń co do rozkładu w populacji, może być zaliczony do metod nieparametrycznych.

Próba bootstrap[edytuj]

Próbą bootstrap (lub próbą typu bootstrap) nazywamy n-elementową próbę losową  z rozkładu pewnej ustalonej n-elementowej próby  z populacji Ω.

Innymi słowy jest to próba powstała przez losowanie ze zwracaniem n elementów z .

Zasada bootstrap[edytuj]

Niech T będzie pewną statystyką, dającą się przedstawić jako funkcja dystrybuanty:

i w przypadku zastosowania do rozkładu empirycznego jej wynikiem jest estymator :

Warunki te spełnia szeroka klasa statystyk.

Zasada bootstrap mówi, że rozkład statystyki

przy ustalonej realizacji X, jest bliski rozkładowi statystyki

,

czyli rozkładowi błędów estymacji parametru θ w populacji.

Metoda bootstrap[edytuj]

Zgodnie z zasadą bootstrap w celu oszacowania rozkładu błędów estymacji, należy:

  1. wielokrotnie (k razy) wylosować niezależne próby losowe bootstrap  na postawie jednej realizacji .

  2. obliczyć dla nich wartości:

Otrzymany rozkład  jest przybliżeniem rozkładu błędów estymacji za pomocą statystyki T zastosowanej do próby n-elementowej parametru θ w populacji.

Liczba k powinna być możliwie duża (im większa tym dokładniejsze oszacowanie). W literaturze podawane są coraz większe liczby, w miarę jak rosną możliwości obliczeniowe komputerów.

Błąd standardowy typu bootstrap[edytuj]

Histogram uzyskanego rozkładu błędów można przedstawić na wykresie. Można też obliczyć dla niego rozmaite dalsze statystyki, takie jak błąd standardowy:

gdzie

Przedziały ufności typu bootstrap[edytuj]

Najprostszą metodą stworzenia przedziału ufności estymatora za pomocą rozkładu  jest przybliżenie go rozkładem normalnym. Jest to metoda bardzo prosta, poszukiwany przedział ma postać:

Metoda ta nie zawsze daje się jednak zastosować, gdyż często błąd nie ma rozkładu normalnego. Wymaga ona zatem sprawdzenia normalności rozkładu i arbitralnej decyzji, czy jest on wystarczająco normalny.

Alternatywną metodą jest percentylowy przedział ufności typu bootstrap, który może być stosowany przy dowolnej postaci rozkładu błędów:

gdzie  to kwantyl rzędu α z rozkładu 

Jeszcze inna metoda postuluje najpierw wykonanie studentyzacji rozkładu przed wyliczeniem przedziału percentylowego. To, która metoda daje najdokładniejsze wyniki, zależy od typu rozkładu w populacji (w szczególności obecności obserwacji odstających) oraz założonej metody oceny dokładności.

Testowanie hipotez metodą bootstrap[edytuj]

Metoda bootstrap jest też używana do weryfikacji hipotez statystycznych, o ile da się tę weryfikację sprowadzić do badania błędu estymacji za pomocą statystyki spełniającej warunki bootstrapu.

Na przykład, gdy hipotezą zerową jest wartość oczekiwana w populacji μ = 10, a w próbie uzyskaliśmy średnią  wówczas p-wartość jest prawdopodobieństwem, że średnia z próby będzie się różniła od średniej w populacji o co najmniej 10 - 9,23 = 0,77. Prawdopodobieństwo to można oszacować, losując próby bootstrap z  i sprawdzając w jakim odsetku losowań średnia wykracza poza przedział .

Odmiany metody[edytuj]

Istnieje wiele odmian bootstrapu. W jednej z nich próby bootstrap nie są losowane bezpośrednio z próby  lecz z rozkładu podobnego do rozkładu  z wygładzoną dystrybuantą.

Istnieją też bardziej skomplikowane procedury bootstrapu dla próbkowania bez zwracania, problemów obejmujących dwie próby, regresjiszeregów czasowychpróbkowania hierarchicznego i innych problemów statystycznych.

Odmiana bootstrapu zwana bagging jest stosowana przy konstruowaniu modeli klasyfikacyjnych i regresyjnych, ograniczając zjawisko przeuczenia (Breiman 1984).

Bagging

Monte Carlo Cross Validation?????

8) Metody zmniejszania overfittingu podczas klasyfikacji:

Metody zmniejszania overfittingu podczas klasyfikacji:, pre-pruning,

post-pruning, zmniejszanie złozonosci sieci neuronowej.

9) Parametry mówiace o jakosci przeprowadzonej klasyfikacji: Dokładnosc(Accuracy),

Dokładnosc zbalansowana (Balanced Accuracy) Pokrycie(Coverage), Region pozytywny(

True Positive Rate), parametry zalezne od metody.

10) Typy algorytmów generacji reguł i ich charakterystyczne cechy.

11) Algorytm Exhaustive standardowy i na podstawie macierzy nieodróznialnosci.

12) Algorytm LEM2 standardowy i bazujacy na aproksymacjach systemu decyzyjnego.

12) Algorytm Covering pokrywajacy obiekty i pokrywajacy deskryptory systemu

decyzyjnego.

13) Klasyfikator k-NN, w konceptach decyzyjnych i całym systemie, budowanie Confusion

Matrix jako raportu z klasyfikacji.

14) Redukty systemu decyzyjnego i informacyjnego.

15) Algorytm Apriori i wyliczanie Reguł Asocjacyjnych.

16) Mikromacierze DNA - separacja klas decyzyjnych na przykładzie metody Fishera.

17) Metody aproksymacji systemów decyzyjnych, na przykładzie granulacji standardowej

i granulacji concept-dependent.

18) Strategie wyboru pokrycia systemu decyzyjnego i strategie generacji granularnych

reprezentantów - Majority Voting, Mean of Maximum.

19) Zastosowanie Support Vector Machine (SVM).

19) Algorytm ID3


Wyszukiwarka

Podobne podstrony:
Lista zagadnien na egzamin inzynierski 2
Zagadnienia na egzamin z GWJR opracowanie, Filologia rosyjska, akwizycja
Metodologia zagadnienia na egzamin do opracowania
Opracowanie Zagadnień na egzamin Mikroprocki
Opracowanie zagadnień na egzamin z MO
Przemiany geopolityczne (opracowane zagadnienia na egzamin)
Opracowane zagadnienia na egzamin
Andragogika opracowane zagadnienia na egzamin
zagadnienia na egzamin od Tasznera (opracowane), Z zeszlego roku, I semstr, Kolokwia i egazminy
opracowane zagadnienia na egzamin, ►► UMK TORUŃ - wydziały w Toruniu, ►► Socjologia, Praca socjalna,
Dydaktyka [opracowane zagadnienia na egzamin], Metodyka nauczania, język polski, teksty i notatki, e
Opracowanie zagadnień na egzamin z judaizmu, 2. GENEZA JUDAIZMU, Religia patriarchów
Konflikty opracowanie zagadnien na egzamin 2
opracowane zagadnienia na egzamin piachy
Opracowanie Zagadnień na egzamin Mikroprocki ściąga
Nauka?ministracji Opracowanie zagadnień na egzamin z NA
Zestaw 1, Opracowane zagadnienia na egzamin
Zestaw 15, Opracowane zagadnienia na egzamin
ściąga opracowane zagadnienia na egzamin piachy

więcej podobnych podstron