Projekt Sieci neuronowe Chmielecka Katarzyna Gr. 9 IiE
1. Problem i dane Sieć neuronowa miała za zadanie nauczyć się klasyfikować wnioski kredytowe. W projekcie wykorzystano dane pochodzące z 110 wniosków kredytowych firm ubiegających się o przyznanie kredytu gospodarczego na działalność bieżącą. Każdy przypadek w próbie opisany jest przez 50 zmiennych. Na potrzeby projektu wybrano następujące zmienne ilościowe: x 1 i x 25 - wskaźnik rentowności aktywów (ROA) [w%] w okresie t-1 i t; x 3 i x 27 -wskaźnik rentowności sprzedaży (ROS) [w %] w okresie t-1 i t; x 4 i x 28 -wskaźnik rentowności brutto [w %] w okresie t-1 i t; x 21 i x 45 -wskaźnik pokrycia obsługi długu w okresie t-1 i t; x 24 i x 48 -stopa zadłużenia w okresie t-1 i t; W zbiorze danych istnieje atrybut decyzyjny ocena kredytowa który przyjmuje 2 możliwe wartości: Ocena kredytowa Oznaczenie numeryczne Przedsiębiorstwo niewiarygodne odmowa przyznania kredytu 0 Przedsiębiorstwo wiarygodne przyznać kredyt 1 W każdej klasie znajduje się po 55 obserwacji. W projekcie uwzględniono przedsiębiorstwa wszystkich branż. W każdym z 3 rozpatrywanych modeli nie uwzględniono 10 obserwacji, które zostały wykorzystane w celu sprawdzenia poprawności sieci. W związku z powyższym w każdym modelu podzbiór walidacyjny wynosił 0% obserwacji. W każdym modelu wielkość podzbioru uczącego i testowego była taka sama.
Liczność prób losowych % Ucząca 80 Testowa 20 Walidacyjna 0 W każdym z trzech modeli wygenerowano 5 najlepszych sieci. 2. Model 1 regresja Jako funkcję aktywacji sieci MLP dla neuronów ukrytych i neuronów wyjściowych wybrano funkcję liniową. Podsumowanie aktywnych sieci Id sieci Nazwa sieci Jakość uczenia Jakość testowanie Błąd uczenie Błąd testowanie Algorytm uczenia Funkcja błędu (ukryte) (wyjściowe) 1 MLP 10-1-1 0,607 0,562 0,079 0,086 BFGS 9 SOS Liniowa Liniowa 2 MLP 10-1-1 0,597 0,562 0,081 0,085 BFGS 9 SOS Liniowa Liniowa 3 MLP 10-1-1 0,620 0,538 0,077 0,088 BFGS 8 SOS Liniowa Liniowa 4 MLP 10-1-1 0,604 0,548 0,079 0,087 BFGS 8 SOS Liniowa Liniowa 5 MLP 10-1-1 0,613 0,540 0,079 0,090 BFGS 8 SOS Liniowa Liniowa Wagi sieci na zielono zaznaczone zostały wagi ujemne, na czerwono wagi bliskie zeru (mało istotne) Połączenia dla sieci 1 dla sieci 2 dla sieci 3 dla sieci 4 dla sieci 5 ROA 1 --> ukryty neuron 1-0,23710-1,4816-0,285288 0,18860-0,171380 ROA 2 --> ukryty neuron 1-7,46813-11,7223 2,136843 5,36787 2,050179
ROS 1 --> ukryty neuron 1-1,38610-2,2681 0,374189 0,88913 0,280417 ROS 2 --> ukryty neuron 1-1,47022-2,6609 0,232202 0,60648 0,129293 rentowność brutto 1 --> ukryty neuron 1 2,66490 3,8291-0,763077-1,78686-0,751600 rentowność brutto 2 --> ukryty neuron 1-0,87421-1,5751 0,220368 0,86387 0,313119 wsk. pokrycia obsługi długu 1 --> ukryty neuron 1-0,27548-0,6608 0,079435 0,29340 0,083914 wsk. pokrycia obsługi długu 2 --> ukryty neuron 1-1,63048-2,5962 0,395670 1,10439 0,371380 stopa zadłużenia 1 --> ukryty neuron 1 0,79813 1,2111-0,282689-0,52197-0,201272 stopa zadłużenia 2 --> ukryty neuron 1 1,05275 1,8929-0,330480-1,00833-0,369605 przesunięcie wejściowych --> ukryty neuron 1 0,78305 0,3036-0,834567-1,56562-0,897435 ukryty neuron 1 --> ukryty neuron 1-0,19399-0,1340 0,844004 0,29335 0,958462 przesunięcie ukrytych --> ukryty neuron 1-0,28014-0,5650 0,396102 0,06007 0,438248 Przewidywania dla nowych danych 1.ocena 2.ocena 3.ocena 4.ocena 5.ocena Rzeczywista ocena kredytowa 1 0,581 0,628 0,610 0,629 0,624 1 2 5,461 5,993 5,814 5,625 6,131 1 3 1,043 1,256 1,192 1,229 1,249 1 4 0,455 0,477 0,487 0,469 0,437 0 5 0,166 0,131 0,213 0,225 0,193 0 6 0,725 0,794 0,749 0,750 0,741 1 7 0,464 0,485 0,475 0,467 0,430 1 8 0,407 0,421 0,405 0,402 0,351 0 9 0,394 0,424 0,387 0,393 0,321 0 10-0,035-0,118-0,045-0,089-0,171 0 W przypadku modelu regresyjnego przewidywania oceny kredytowej dość mocno odchylają się od rzeczywistych wartości dla każdej z wygenerowanych sieci. Różnice w drugim przypadku były ekstremalnie duże. Można przyjąć założenie, że sieć klasyfikuje wniosek
pozytywnie gdy wartość przewidywana jest większa od 0,5 i negatywnie gdy wartość przewidywana jest mniejsza od 0,5. Przy takim założeniu wygenerowane sieci kwalifikują poprawnie 8 na 10 przypadków. Na czerwono zostały zaznaczone 2 przypadki, które mają wartości bardzo bliskie 0,5 i nie można jednoznacznie określić czy sieć poprawnie je zaklasyfikowała. 3. Model 2 1 warstwa ukryta Jako funkcję aktywacji sieci MLP dla neuronów ukrytych i neuronów wyjściowych następujące funkcje: liniową, logistyczną, Tanh oraz wykładniczą Podsumowanie aktywnych sieci Id sieci Nazwa sieci Jakość (uczenie) Jakość (testowanie) Błąd (uczenie) Błąd (testowanie) Algorytm uczenia Funkcja błędu (ukryte) (wyjściowe) 1 MLP 10-1-1 0,805 0,662 0,044 0,074 BFGS 8 SOS Tanh Tanh 2 MLP 10-1-1 0,865 0,638 0,031 0,081 BFGS 11 SOS Wykładnicza Tanh 3 MLP 10-1-1 0,875 0,698 0,031 0,075 BFGS 16 SOS Logistyczna Logistyczna 4 MLP 10-1-1 0,873 0,641 0,030 0,078 BFGS 15 SOS Tanh Liniowa 5 MLP 10-1-1 0,857 0,639 0,034 0,082 BFGS 14 SOS Tanh Liniowa Wagi sieci na zielono zaznaczone zostały wagi ujemne, na czerwono wagi bliskie zeru (mało istotne) Bardzo małą wagę 0,09 bliską zeru można zauważyć w przypadku wskaźnika pokrycia obsługi długu 1 dla sieci 1 Połączenia dla sieci 1 Wartości wag dla sieci 2 Wartości wag dla sieci 3 Wartości wag dla sieci 4 Wartości wag dla sieci 5 1 ROA 1 --> ukryty neuron 1 4,490 4,919-20,601 5,762 3,337 2 ROA 2 --> ukryty neuron 1 34,772 39,569-149,125 38,580 24,807
3 ROS 1 --> ukryty neuron 1 3,433 3,937-16,000 2,663 1,564 4 ROS 2 --> ukryty neuron 1 0,398-2,022 4,735-1,254-1,051 5 rentowność brutto 1 --> ukryty neuron 1-10,534-15,272 49,634-12,292-6,975 6 rentowność brutto 2 --> ukryty neuron 1 8,614 9,027-38,716 8,037 5,082 7 wsk. pokrycia obsługi długu 1 --> ukryty neuron 1 0,090 0,783-1,946-0,609-1,178 8 wsk. pokrycia obsługi długu --> ukryty neuron 1 4,247 4,501-14,347 5,024 2,980 9 stopa zadłużenia 1 --> ukryty neuron 1-2,342-3,257 4,691-3,413-1,992 10 stopa zadłużenia 2 --> ukryty neuron 1-8,248-1,923 17,021-1,701-1,020 przesunięcie wejściowych --> ukryty 11 neuron 1-18,474-21,356 80,926-20,946-13,186 12 ukryty neuron 1 --> ocena kredytowa 1,144 0,813-85,158 0,472 0,513 przesunięcie ukrytych --> ocena 13 kredytowa 1,215-0,011 62,409 0,478 0,461 Przewidywania dla nowych danych 1.ocena 2.ocena 3.ocena 4.ocena 5.ocena Rzeczywista ocena kredytowa 1 0,982 1,000 1,000 0,945 0,937 1 2 0,982 1,000 1,000 0,949 0,973 1 3 0,982 1,000 1,000 0,949 0,856 1 4 0,446 0,233 0,000 0,261 0,227 0 5 0,071 0,031 0,000 0,011-0,019 0 6 0,982 1,000 1,000 0,949 0,973 1 7 0,395 0,684 1,000 0,767 0,625 1 8 0,089 0,219 0,000 0,241 0,234 0 9 0,071 0,166 0,000 0,027-0,033 0 10 0,071-0,011 0,000 0,006-0,052 0 W przypadku prostego modelu z jedną warstwą ukrytą znacznie poprawiło się przewidywanie dla nowych danych. W większości przypadków wartości przewidywane są równe wartościom rzeczywistym, bądź są bardzo do nich zbliżone. Jedynie w 1 ocenie kredytowej (pierwsza sieć wygenerowana z pięciu) dla przypadku 7 (podświetlone na czerwono) sieć błędnie zaklasyfikowała wniosek kredytowy,
ponadto w przypadku 4 wartość przewidywana jest bardzo bliska wartości 0,5 co nie pozwala jednoznacznie określić jak sieć zaklasyfikowała dany przypadek. Spośród pięciu wygenerowanych sieci trzecia jest najlepsza ponieważ wartości przewidywane są identyczne jak rzeczywiste, jakość jej uczenia i testowania są najwyższe i błędy najniższe. 4. Model 3 od 1 do 3 warstw ukrytych Jako funkcję aktywacji sieci MLP dla neuronów ukrytych i neuronów wyjściowych następujące funkcje: liniową, logistyczną, Tanh oraz wykładniczą Podsumowanie aktywnych sieci Id sieci Nazwa sieci Jakość (uczenie) Jakość (testowanie) Błąd (uczenie) Błąd (testowanie) Algorytm uczenia Funkcja błędu (ukryte) (wyjściowe) 1 MLP 10-2-1 0,896 0,642 0,025 0,087 BFGS 39 SOS Logistyczna Tanh 2 MLP 10-1-1 0,900 0,696 0,025 0,076 BFGS 21 SOS Liniowa Logistyczna 3 MLP 10-1-1 0,877 0,641 0,029 0,081 BFGS 9 SOS Wykładnicza Logistyczna 4 MLP 10-2-1 0,925 0,703 0,019 0,075 BFGS 39 SOS Liniowa Logistyczna 5 MLP 10-2-1 0,801 0,666 0,045 0,078 BFGS 20 SOS Logistyczna Tanh Wagi sieci na zielono zaznaczone zostały wagi ujemne, nie ma wag mało istotnych bliskich zeru Połączenia dla sieci 1 dla sieci 4 dla sieci 5 1 ROA 1 --> ukryty neuron 1 22,204-17,747 8,0321
2 ROA 2 --> ukryty neuron 1 36,613-50,474 26,6744 3 ROS 1 --> ukryty neuron 1 7,398-12,983 2,6028 4 ROS 2 --> ukryty neuron 1-0,423-71,854-3,0522 5 rentowność brutto 1 --> ukryty neuron 1-12,074 24,098 0,1908 6 rentowność brutto 2 --> ukryty neuron 1 13,506-1,526 6,2663 7 wsk. pokrysia obsługi długu 1 --> ukryty neuron 1 8,825-2,247 0,9765 8 wsk. pokrycia obsługi długu --> ukryty neuron 1 3,592-8,515 2,8417 9 stopa zadłużenia 1 --> ukryty neuron 1-57,764 10,120 0,1462 10 stopa zadłużenia 2 --> ukryty neuron 1-86,719 15,722-5,7360 11 ROA 1 --> ukryty neuron 2 48,136-170,317-7,7310 12 ROA 2 --> ukryty neuron 2 236,269-393,072 17,8046 13 ROS 1 --> ukryty neuron 2 19,264-79,274 1,3368 14 ROS 2 --> ukryty neuron 2 5,836-87,034-2,0022 15 rentowność brutto 1 --> ukryty neuron 2-70,562 60,325-0,9063 16 rentowność brutto 2 --> ukryty neuron 2 53,215-95,018 5,2551 17 wsk. pokrysia obsługi długu 1 --> ukryty neuron 2 3,681-45,530-3,4225 18 wsk. pokrycia obsługi długu --> ukryty neuron 2 43,427-95,512 2,6820 19 stopa zadłużenia 1 --> ukryty neuron 2-18,543 164,242-3,4834 20 stopa zadłużenia 2 --> ukryty neuron 2-29,335 236,414 2,1009 21 przesunięcie wejściowych --> ukryty neuron 1-18,350 61,989-16,2745 22 przesunięcie wejściowych --> ukryty neuron 2-147,758 9,179-4,1971 23 ukryty neuron 1 --> ocena kredytowa -21,815-502,169 1,3536 24 ukryty neuron 2 --> ocena kredytowa 28,897 23,290 1,9978 25 przesunięcie ukrytych --> ocena kredytowa 0,053-0,202-0,2510 Połączenia dla sieci 2 dla sieci 3 1 ROA 1 --> ukryty neuron 1 112,282 1,23627
2 ROA 2 --> ukryty neuron 1 827,228 11,32173 3 ROS 1 --> ukryty neuron 1 88,294 1,29351 4 ROS 2 --> ukryty neuron 1-40,141-0,53012 5 rentowność brutto 1 --> ukryty neuron 1-334,093-3,92381 6 rentowność brutto 2 --> ukryty neuron 1 196,501 2,02327 7 wsk. pokrysia obsługi długu 1 --> ukryty neuron 1 31,438 0,23885 8 wsk. pokrycia obsługi długu --> ukryty neuron 1 105,272 1,37553 9 stopa zadłużenia 1 --> ukryty neuron 1-37,884-0,98107 10 stopa zadłużenia 2 --> ukryty neuron 1-89,030-0,65040 11 przesunięcie wejściowych --> ukryty neuron 1-429,630-5,62208 12 ukryty neuron 1 --> ocena kredytowa 30,075 5,53328 13 przesunięcie ukrytych --> ocena kredytowa -199,396-7,16814 Przewidywania dla nowych danych 1.ocena 2.ocena 3.ocena 4.ocena 5.ocena Rzeczywista ocena kredytowa 1 1,000 1,000 1,000 1,000 0,843 1 2 1,000 1,000 1,000 1,000 0,996 1 3 1,000 1,000 1,000 1,000 0,801 1 4 0,089 0,000 0,251 0,000 0,320 0 5 0,053 0,000 0,026 0,000 0,255 0 6 1,000 1,000 1,000 1,000 0,982 1 7 0,995 1,000 0,765 1,000 0,546 1 8 0,054 0,000 0,192 0,000 0,230 0 9 0,053 0,000 0,133 0,000-0,138 0 10 0,053 0,000 0,001 0,000-0,184 0
Dla modelu 3 przewidywanie dla nowych danych jest znacznie lepsze niż w dwóch poprzednich modelach. Wartości przewidywane nie odbiegają znacząco od rzeczywistych i każda z pięciu wygenerowanych sieć poprawnie zaklasyfikowała wnioski kredytowe. Najlepsza jednak spośród wszystkich okazała się sieć 4 ponieważ jej wartości przewidywane są identyczne jak rzeczywiste. Jest to sieć, której jakość uczenia i testowania była najwyższa spośród wszystkich pięciu, ponadto sieć ta uzyskała najniższy błąd zarówno uczenia jak i testowania. WNIOSEK KOŃCOWY Sieci modelu regresyjnego nie mogą konkurować z sieciami modeli 2 i 3. Jakoś przewidywania danych w przypadku modelu 1 jest bardzo słaba. W modelu 2 z jedną warstwą ukrytą najlepszą siecią okazała się sieć nr 3, natomiast w modelu 3 sieć czwarta. Obydwie sieci poprawnie przewidywały dla nowych danych. Analizując jednak jakość uczenia i testowania oraz błędy, najlepszą siecią okazała się sieć nr 4 z modelu 3 (podświetlona na zielono) w którym liczba warstw ukrytych mogła być równa od 1 do 3. Sieć ta osiągnęła najwyższą jakość uczenia i testowania oraz najniższe błędy. Porównanie sieci Model i sieć Nazwa sieci Jakość (uczenie) Jakość (testowanie) Błąd (uczenie) Błąd (testowanie) Algorytm uczenia Funkcja błędu (ukryte) (wyjściowe) Model 2 sieć 3 MLP 10-1-1 0,875 0,698 0,031 0,075 BFGS 16 SOS Logistyczna Logistyczna Model 3 sieć 4 MLP 10-2-1 0,925 0,703 0,019 0,075 BFGS 39 SOS Liniowa Logistyczna