• Nie Znaleziono Wyników

Zastosowanie sieci neuronowych w systemie

W dokumencie Index of /rozprawy2/10061 (Stron 114-122)

systemach bankowych

Błąd 76 - Data następnego sprawdzania indeksu w przeszłości

7.3. Zastosowanie sieci neuronowych w systemie

ekspertowym do analizy błędów w duŜych systemach

informatycznych

Na podstawie powyŜszych rozwaŜań moŜna chyba uznać za dowiedzione, iŜ moŜliwe jest stworzenie systemu ekspertowego do badania błędów w bankowych systemach informatycznych. W dalszej części tego rozdziału podjęta zostanie próba odpowiedzi na pytanie czy moŜliwe jest wykorzystanie innych nowoczesnych technologii inŜynierii wiedzy w takim systemie. W szczególności przedyskutowana zostanie potencjalna rola sieci neuronowych. Ta część pracy nie ma jednak charakteru konkretnego projektu, dopracowanego we wszystkich szczegółach a takŜe opartego na konkretnych eksperymentach numerycznych. Ze względu na ograniczoną objętość tej pracy wątek sieci neuronowych został w niej potraktowany skrótowo, a przytaczane wnioski mają raczej charakter ogólnych wskazówek, a nie szczegółowo dopracowanych projektów czy wręcz implementacji.

Sieci neuronowe jak zostało to przedstawione w rozdziale 6, w którym przypomniano,

Ŝe charakteryzują się one wieloma interesującymi cechami, które pozwalają je wykorzystywać w róŜnorakich zastosowaniach. Jak juŜ zostało to powiedziane są one równieŜ wykorzystywane do budowy hybrydowych systemów ekspertowych. Z wymienionych klas systemów hybrydowych kaŜdy wydaje się być moŜliwy do zastosowania w celu analizy błędów w systemach bankowych, jednak najciekawsze rezultaty powinny zostać osiągnięte w przypadku systemu „zanurzenia”. Oczywiście moŜliwe jest wykorzystanie jest systemów typu równoległego i sekwencyjnego, które powinny równieŜ dać znakomite rezultaty pracy, jednak w przypadku systemu do analizy błędów działanie polegać ma na uzyskaniu określonego rozwiązania w określonej sytuacji, co oznacza, Ŝe powinniśmy brać pod uwagę moŜliwości implementacyjne angaŜujące typowe i łatwo dostępne wyposaŜenie.

W tym przypadku nie ma konieczności analizy ogromnej ilości danych (co jest konieczne np. w systemach do prognozowania), jak równieŜ operowania na danych niepełnych. W omawianym systemie do analizy błędów baza wiedzy zawiera informacje uzyskane od człowieka-specjalisty, który w przeszłości rozwiązał juŜ dany problem, a więc są to dane w większości przypadków pełne i pewne. Oczywiście moŜna by się pokusić o stworzenie systemu do analizy błędów, które jeszcze nie wystąpiły w systemie i dla których nie opracowano jeszcze rozwiązania, jednak system taki musiałby być obsługiwany nadal przez specjalistę, który umiałby zweryfikować i potwierdzić poprawność otrzymanego rozwiązania. System taki byłby rozwinięciem systemu do analizy rozpoznanych błędów.

Niemniej powyŜsze stwierdzenia pokazują juŜ w pierwszym kroku, iŜ moŜliwe jest wykorzystanie sieci neuronowych do budowy omawianych systemów.

7.3.1. Określenie klasy zadań, w których uŜycie sieci

neuronowych jest celowe i korzystne

Zasadniczym pytaniem jest próba ustalenia, czy zadanie analizy błędów moŜna objąć klasą zadań, jakie spełniają sieci neuronowe. JeŜeli weźmiemy pod uwagę zadania wymienione w poprzednim rozdziale to moŜna stwierdzić, Ŝe zadanie analizy błędów jest zadaniem klasyfikacji w większości przypadków. Na podstawie stwierdzonych faktów dostarczonych do sieci, którymi są informacja o błędzie i ustawieniach poszczególnych kluczowych parametrów, sieć ma za zadanie przedstawić zbiór rozwiązań, a więc przedstawić algorytm korekty parametrów.

Zadanie analizy błędów moŜe być równieŜ zadaniem, heteroasocjacji, gdy określony błąd wymaga ustawienia tylko jednego szczególnego parametru. W przypadku systemów do analizy „nieznanych” błędów będzie to zadanie autoasocjacji, gdyŜ podając fakty dotyczące błędu (w tym nieprawidłowo ustawione parametry) oczekujemy na wyjściu rozwiązania podającego prawidłowe ustawienia parametrów w systemie. Jak więc widać w rozwiązaniach opartych na sieciach neuronowych występują zadania odpowiadające analizie błędów.

7.3.2. Wybór struktury sieci

W rozdziale poprzednim zostały przedstawione róŜne struktury sieci neuronowych. Zadając sobie pytanie, która ze struktur najbardziej odpowiada zadaniu analizy błędów moŜna stwierdzić,

Ŝe zarówno struktura jednokierunkowa jak i struktura rekurencyjna jest odpowiednia do tego typu zadań. W przypadku struktury jednokierunkowej musiałaby być ona bardziej rozbudowana, gdyŜ w przypadku róŜnych błędów wymaga się odmiennych ustawień określonego parametru, tak, więc wymagane by było, aby struktura zawierała wszystkie moŜliwe przypadki. Niemniej sytuacja ta nie wyklucza zastosowania struktury jednokierunkowej. W przypadku struktury rekurencyjnej wynik przetworzenia jest podawany jako sygnał wejściowe na wejścia tej samej warstwy, tak, więc wynik przetworzenia moŜe spowodować uaktywnienie innego neuronu i otrzymanie silnego sygnału decydującego o rozwiązaniu. Otrzymanie w ten sposób rozwiązanie moŜe być znacznie szybsze niŜ w przypadku sieci jednokierunkowej, obarczone jest jednak obawą na temat stabilności i zbieŜności procesów rekurencyjnych, jakie są generowane przez sieci tego rodzaju.

Jak zostało to wcześniej wspomniane najpopularniejszą siecią rekurencyjną jest sieć Hopfielda, jednak jej kompletność połączeń zwrotnych, w przypadku analizy błędów z róŜnych klas (kartoteki, depozyty, kredyty) nie będzie dodatkową zaletą. Mogłoby to być zaletą jeśliby w systemie zaimplementować 3 oddzielne sieci do poszczególnych klas i na wejściu zadanie analizy konkretnego błędu byłoby kierowane do odpowiedniej podsieci. Wówczas ze względu na fakt, iŜ istnieje wiele narzędzi informatycznych umoŜliwiających symulowanie tej sieci struktura taka byłaby dobrym rozwiązaniem w systemie ekspertowym.

7.3.3. Funkcje opisujące sieci neuronowe

Z przedstawionych wcześniej funkcji opisujących zaleŜności funkcyjne sieci odpowiednia byłaby funkcja skoku jednostkowego. Podstawową jej zaletą jest prostota oraz fakt jednoznacznej odpowiedzi na zadany sygnał. Sygnałem będzie informacja o błędzie oraz ustawionych parametrach i jeśli sygnały odpowiadające błędnie ustawionym parametrom przekroczą zadany próg na wyjściu sieci otrzymamy odpowiedź w postaci rozwiązania podającego konieczną korektę. Jeśli któryś z sygnałów nie będzie posiadał odpowiedniej wartości (parametr jest ustawiony prawidłowo, a więc przyczyna wystąpienia błędu jest inna) na wyjście nie zostanie podane rozwiązanie, które mogłoby być błędne. Jeszcze lepszym rozwiązaniem jest zastosowanie funkcji liniowej w przypadku błędów wynikających z błędnego ustawienie kilku parametrów. Jeśli błąd związany jest z kilkoma parametrami to w przypadku poprawnego ustawienia otrzymamy słabszy sygnał na wyjściu.

7.3.3.1. Zapis błędu MDT przy pomocy funkcji sieci

neuronowych

Przykładowo dla omawianego błędu MDT załóŜmy: próg:

k = 1 gdy występuje błąd MDT wektor sygnałów wejściowych:

X = x1, x2, ... , xn

x1 = 1 gdy data zapadalności jest datą przeszłą

x2 = 1 gdy parametr automatycznego odnowienia ustawiony na NIE x3 = 1 sygnał nieznaczący

x4 = 1 sygnał nieznaczący

x5 = 1 gdy saldo rachunku równe zero wagi:

w1 = 2 waga parametru data zapadalności

w2 = 4 waga parametru automatycznego odnawiania w3 = 0

w4 = 0

w5 = 10 waga parametru saldo rachunku sygnał wyjściowy:

Y = y

y = 3 naleŜy zmienić datę zapadalności

y = 5 nie naleŜy dokonywać modyfikacji (brak odnawiania) y = 7 zmienić datę zapadalności zgodnie z terminem rachunku y > 10 zamknąć rachunek

PowyŜsze zaleŜności moŜna opisać funkcją y = Σ ai xi + k, która jest funkcją liniową. Przykładową strukturę takiej sieci przedstawia rysunek

x

1

x

2

x

4

x

3

x

5

w

1

w

2

w

3

w

4

w

5

k

y

Rysunek 7-1 Struktura sieci jednokierunkowej dla błędu MDT (dla funkcji liniowej z progiem)

MoŜna to równieŜ opisać funkcją skoku jednostkowego, jednak ze względu na kilka przypadków rozwiązania rozwiązanie musiałoby być generowane poprzez kilka neuronów lub w kilku warstwach, co wiązałoby się ze zdefiniowaniem, co najmniej 2 funkcji.

Zastosowanie funkcje nieliniowej jest równieŜ moŜliwe, np. funkcji sigma, która w danym przykładzie błędu MDT przyjmowałaby postać

`

<

=

>

=

.

0

1

,

0

0

,

0

1

e

li

jeś

e

li

jeś

e

li

jeś

y

gdzie : x

x1 = 1 gdy data zapadalności jest datą przeszłą

x2 = 1 gdy parametr automatycznego odnowienia ustawiony na NIE x3 = 1 sygnał nieznaczący

x4 = 1 sygnał nieznaczący

x5 = 1 gdy saldo rachunku równe zero Wagi:

w1 = 2 waga parametru data zapadalności

w2 = -2 waga parametru automatycznego odnawiania w3 = 0

w4 = 0

w5 = -10 waga parametru saldo rachunku sygnał wyjściowy:

Y = y

y = 1 naleŜy zmienić datę zapadalności

y = 0 nie naleŜy dokonywać modyfikacji (brak odnawiania) y = -1 zamknąć rachunek

Przykładową strukturę takiej sieci przedstawia rysunek (jak widać na rysunku w tym przypadku nie występuje wektor progu k)

x

1

x

2

x

4

x

3

x

5

w

1

w

2

w

3

w

4

w

5

y

Rysunek 7-2 Struktura sieci jednokierunkowej dla błędu MDT (dla funkcji nieliniowej)

Jak widać z powyŜszych przykładów, moŜliwe jest dopasowanie funkcji neuronu do opisu rozwiązań analizy błędów w omawianych systemach. Daje to kolejny dowód na moŜliwość wykorzystania sieci neuronowych w systemach ekspertowych do analizy błędów w bankowych systemach informatycznych. Oczywiście przytoczone przykłady uŜycia funkcji nie wykluczają zastosowania pozostałych funkcji (a takŜe całkiem innych, spoza rozwaŜanego tu asortymentu), jednak omówione funkcje ze względu na swą prostą postać wydają się być najbardziej odpowiednie do zastosowania w omawia mych systemach. Pozostałe funkcje mogą na przykład zastosowanie w systemach do analizy błędów, które wcześniej nie wystąpiły a dzięki współpracy z systemem ekspertowym człowiek-specjalista będzie mógł szybciej znaleźć rozwiązanie na podstawie sugerowanego rozwiązania przez sieć.

7.3.4. Zagadnienia procesu uczenia

Aby sieć mogła poprawnie spełniać swoje zadanie musi zostać poddana procesowi uczenia. Z występujących metod uczenia w przypadku budowy systemu do analizy błędów (wcześniej

rozpoznanych przez eksperta) dobrym rozwiązaniem wydaje się być uczenie z pod nadzorem, gdyŜ mając opracowane zestawy danych wejściowych (występowanie określonego błędu, parametry w informatycznym systemie bankowym) oraz oczekiwanych rozwiązań (wymaganych korekt parametrów), w sposób bezpieczny moŜna zasilić tą wiedzą system. Równocześnie szerokie pasmo błędów podczas pierwszych miesięcy eksploatacji systemu, które musiały być zanalizowane przez specjalistów, zapewnia pokrycie duŜego obszaru w bazie wiedzy, która następnie moŜe być aktualizowana w miarę pojawiania się nowych przyczyn błędów lub nowych błędów.

Metoda ta wydaje się być najodpowiedniejsza, gdyŜ np. zastosowanie metody z krytykiem niesie za sobą niebezpieczeństwo uzyskiwania błędnych odpowiedzi w początkowym stadium uczenia sieci, co ma jednoznaczne przełoŜenie na zagroŜenie spowodowania znacznych strat finansowych. Z tego samego powodu zastosowanie samouczenia się sieci jest równieŜ obarczone duŜym ryzykiem, aczkolwiek nie jest wykluczone. MoŜna zatem przyjąć z prawdopodobieństwem graniczącym z pewnością, Ŝe dobre wyniki powinna dać tu klasyczna metoda uczenia z nauczycielem znana szeroko pod nazwą backpropagation.

Tak, więc po raz kolejny zostały wykazane moŜliwości zastosowania sieci neuronowych do analizy błędów, gdyŜ skoro moŜna wybrać określony sposób uczenia zapewniający poprawność otrzymywanych wyników to moŜliwe jest zastosowanie sieci neuronowych w omawianych systemach.

7.4. Uwagi końcowe i wnioski

Na podstawie powyŜszych rozwaŜań moŜna stwierdzić prawdziwość tezy, iŜ moŜliwe jest wykorzystanie sieci neuronowych do budowy systemu ekspertowego wspomagającego analizowanie błędów w bankowych systemach informatycznych.

W poprzednim rozdziale zostały zasygnalizowane zagadnienia z teorii rozumowania rozmytego. NaleŜy zadać pytanie czy ta teoria moŜe być wykorzystana do budowy systemów ekspertowych wspomagających analizowanie błędów. Na wstępie naleŜy jeszcze przypomnieć, iŜ w oparciu o rozumowanie rozmyte tworzone są specjalnych rodzajach sieci neuronowych tzw. Neurofuzzy. Jak więc moŜna podejrzewać równieŜ i teorie rozumowania rozmytego moŜna wykorzystać w omawianym celu, jednak ze względu na ograniczony zakres tej rozprawy nie były one przedmiotem badań.

Na doświadczeń podczas badań i analizy przyczyn występowania błędów w badanym systemie centralnym autor stwierdził, iŜ analiza i usuwanie większości błędów integralności oraz komunikatów od rutyn systemowych moŜe być realizowana lub z duŜym sukcesem wspomagana przez hybrydowy system ekspertowy. Autor poniŜej zamieszcza zestawienia omówionych wcześniej błędów, z ich podziałem na kategorie błędów moŜliwych i niemoŜliwych do usuwania przy wykorzystaniu zaproponowanego w pracy systemu ekspertowego.

7.4.1. Wykaz błędów integralności moŜliwych do usunięcia

przy pomocy systemu ekspertowego

Błędy integralności, których usuwanie moŜe być realizowane przy wykorzystaniu systemu ekspertowego:

1) Błędy na kartotekach klientów a) CIFBOO

b) CIFCC c) CIFDAO

d) CIFNOLNM

e) CIFNONAM

2) Błędy na rachunkach depozytowych

a) CLSDACR b) ICHND c) INDEX11 d) INDEX12 e) INDEX13 f) IRN g) NEGIPFREQ h) NEGIPFNAL i) INPNEGINP j) FatelINTRAMT k) IOPT l) RENCD m) MDT n) MDT1 o) MDTI p) MDT2I q) SCFRE r) SCND s) DE-SCND t) SCND2

3) Błędy na rachunkach kredytowych a) Błąd o kodzie 1 b) Błąd o kodzie 7 c) Błąd o kodzie 14 d) Błąd o kodzie 17 e) Błąd o kodzie 18 f) Błąd o kodzie 31 g) Błąd o kodzie 40 h) Błąd o kodzie 43 i) Błąd o kodzie 45 j) Błąd o kodzie 46 k) Błąd o kodzie 67 l) Błąd o kodzie 76 m) Błąd o kodzie 83 n) Błąd o kodzie 88 o) Błąd o kodzie 89 p) Błąd o kodzie 128 q) Błąd o kodzie 132

r) Błąd o kodzie 133 s) Błąd o kodzie 134 t) Błąd o kodzie 137 u) Błąd o kodzie 143 v) Błąd o kodzie 144 w) Błąd o kodzie 160 x) Błąd o kodzie 164 y) Błąd o kodzie 511 z) Błąd o kodzie 512 aa) Błąd o kodzie 513 bb)Błąd o kodzie 515 cc) Błąd o kodzie 516 dd)Błąd o kodzie MATOPT

7.4.2. Wykaz błędów integralności warunkowo moŜliwych

do usunięcia przy pomocy systemu ekspertowego

Błędy integralności, których usuwanie moŜe być wspomagane przez system ekspertowy, jednak ich usunięcie wymaga współpracy specjalistów bądź uŜycia programistycznych narzędzi obsługi bazy danych:

1) Błędy na kartotekach klientów a) CIFCLS

b) CIFGRP c) CIFLSEQ

d) CIFMSEQ

e) CIFTYPE

2) Błędy na rachunkach depozytowych – brak takich błędów 3) Błędy na rachunkach kredytowych

a) Błąd o kodzie 5 b) Błąd o kodzie 32 c) Błąd o kodzie 125

7.4.3. Wykaz błędów integralności nie moŜliwych do

usunięcia przy pomocy systemu ekspertowego

Błędy integralności, które nie mogą być usuwane przy pomocy systemu ekspertowego 1) Błędy na kartotekach klientów

a) CIFINVLDLNK b) CIFSEQ

c) CIFRELCIF d) CIFSTMCID

e) CIFRELCODE

2) Błędy na rachunkach depozytowych

a) TSEQ

a) Błąd o kodzie 10 b) Błąd o kodzie 11 c) Błąd o kodzie 135

7.4.4. Wykaz komunikatów od rutyn systemowych

moŜliwych do usunięcia przy pomocy systemu

ekspertowego

Komunikaty rutyn systemowych, których usuwanie moŜe być realizowane przy wykorzystaniu systemu ekspertowego:

1) QUE009

2) SRVTRN2

3) QUE023 (Saldo rachunku bieŜącego jest poniŜej progu autoinwestowania) 4) QUE023 (Zerowe saldo dostępne)

5) QUE023 (Rata kredytu została spłacona przed terminem) 6) QUE023 (Data przyznania i data wypłaty kredytu są róŜne)

7) QUE023 (Niezgodność częstotliwości automatycznych przelewów z harmonogramem spłat kredytu)

8) QUE023 (Spłata ostatniej raty kredytu) 9) QUE023 (Rachunek zamknięty)

10)QUE050 (Saldo rachunku bieŜącego jest poniŜej progu autoinwestowania) 11)QUE050 (Zerowe saldo dostępne)

12)QUE050 (Rata kredytu została spłacona przed terminem) 13)QUE050 (Data przyznania i data wypłaty kredytu są róŜne)

14)QUE050 (Niezgodność częstotliwości automatycznych przelewów z harmonogramem spłat kredytu)

15)QUE050 (Spłata ostatniej raty kredytu) 16)QUE050 (Rachunek zamknięty) 17)LNI001

18)QUE005 (ODSETK2 - Wymagana autoryzacja) 19)QUE005 (ZREKO* - Wymagana autoryzacja) 20)QUE005 (Data zapadalności minęła)

21)TTXOD (Nie moŜna się cofnąć poza datę umowy)

22)TTXODS (Nie moŜna wypłacić przed ustaloną datą wypłaty) 23)TTXODS (#numer <GTM-E-STACKCRIT>)

24)TTXODS (Nie da się zaksięgować kwoty. MoŜna zaksięgować tylko 0) 25)TTXODC (#number <System processing error> Error not defined) 26)TTXODC (Nie moŜna wypłacić przed ustaloną datą wypłaty) 27)TTXODC (Nie moŜna się cofnąć poza datę umowy)

28)QUEZPEN

W dokumencie Index of /rozprawy2/10061 (Stron 114-122)

Powiązane dokumenty