Нейрожелі негізінде өндірістің қауіптерін бағалаудың моделін құру
- e_eshpanov
- Жасанды интеллект / 8 маусым 2016, 23:58
- 6918
ӘОЖ 519.95
Е.Ж. Ешпанов, Д.М. Ескендирова
(Қ.И. Сәтбаев атындағы Қазақ ұлттық техникалық зерттеу университеті, Алматы, Қазақстан Республикасы,
E-mail: [email protected])
Нейрожелі негізінде өндірістің қауіптерін бағалаудың моделін құру
Тәуекел (қауіп) адамзатқа қатысты кез – келген істе, әр түрлі шарттар мен факторларға байланысты кездесіп отырады. Адамдар тәуекелге қабылданған шешіміне (оң немесе теріс) байланысты әсері де өзгеріп отырады. Тарихи тәжірибелер көрсеткендей, тәуекел жоспарланған мақсаттарды іске асыруға кедергі тигізетіні сөзсіз, әсіресе, сауда-саттық, ақша айналымында және шаруашылық жобаларда.
Мақаланың басты мақсаты нейрон желі (НЖ) көмегімен кәсіпорын тәуекелдерін бағалайтын әдістер мен алгоритмдерді зерттеп, өңделген алгоритм негізінде бағдарламалық қамтама құру.
Қойылған мәселіні болжау үшін нейрондық желінінің моделін құру керек. Ол үшін, оның топологиясын дамыту, оқыту және тестілеу процесін механизмін анықтау қажет. Сонымен қатар, кіріс деректері мен компаниялар іріктеген сенімді қаржылық есептілігі және оның коэффициенттерін негізінде есептелген оқытулар қажет.
Бағдарламада өндірістің тәуекелін анықтау 2 модельден тұрады. 1-ші модель нейрон желілерді оқыту болып табылса, 2-ші модель оқытылған нейрон желілердің (1-ші модель) көмегімен анықтаушы өндірістің кіріс мәліметтерін енгізіп нәтижесін болжай аламыз.
Нейрон желіні оқыту үшін осы жағдайда көп қабатты нейрон желі мен қатені кері тарату алгоримі қолданылды. Енді көп қабатты нейрон желі мен қатені кері тарату алгориміне теориялық қысқаша ақпарат бере кетейік.
Көп қабатты нейрондық желілер[1]. Көп қабатты нейрондық желілер немесе көп қабатты перцептрон Розенблат, Минск, Пейпер және тағыда басқалар тарапынан зерттеліп, алғаш рет 60-жылдары ұсынылды [2; 3]. Бірақ зерттеулер ары қарай тоқтатылды, себебі оларды үйрететін тиімді алгоритм болмады. Тек 1980-жылдардың ортасында ғана бір-бірінен тәуелсіз бірнеше зерттеушілер көп қабатты перцептронды үйрету алгоритмін ұсынды. Олардың негізі қате функциясының градиентін есептеу болды. Алгоритм «қатені кері тарату» деп аталды. Айта кететіні, қазіргі кезде бұл алгоритм тізбектелген байланыстары бар нақты көп қабатты НЖ үшін қолданылады.
Көп қабатты тізбектелген байланысы бар НЖ-ге олардың желідегі нейрондарының жалпы кіріс сигналдары бар белгілі бір топ – қабаттарға бөлінуі, және де ағымдық қабаттың әрбір нейроны алдыңғы қабаттағы барлық шығыс сигналдарға берілуі тән құбылыс. Ағымдық қабат бірінші болған жағдайда құрамындағы әрбір нейронға сыртқы кіріс сигналының барлық элементтері беріледі. Нейрондар кіріс сигналдары элементтерінің салмақтанған қосындысын орындайды. Сәйкес синаптикалық салмаққа көбейтілген кіріс сигнал элементтерінің қосындысына нейронның орынауыстыруы қосылады. Қосындының нәтижесіне сызықты емес түрлендіруі – белсенділендіру функциясы орындалады. Нейронның шығысы белсенділендіру функциясының мәні болып табылады.
1.1-сурет – Нейрожелінің үш қабатты жүйесі
1.1-суретінде көрсетілгендей, көпқабатты перцептрондарды ұйымдастыру бір қабаттыға қарағанда анағұрлым күрделі. Осылайша, олардың осындай кемшіліктеріне қарамастан оны қолданудың тиімділігі туралы сұрақ туындайды. Көп қабатты НЖ архитектурасы мен өзгеріссіз кіріс кескінді бөлетін түзу түрі 1.2-суретінде көрсетілген. Көп қабатты перцептрондардың негізгі артықшылығы кіріс кескін кеңістігін бөлетін түзу пішінін күрделендіру есебінен бір қабатты перцептрондарға қарағанда күрделірек тапсырмаларды шешуінде болып табылады.
1.2-сурет – Көп қабатты НЖ архитектурасына мысалдар
Қатені кері тарату алгоритмі. Кері тарату әдісінің кемшіліктері ретінде итерацияның әрбір қадамында желі параметрлерінің мәні өзгеруіне байланысты үйрету жылдамдығының төмендігін айтуға болады. Кері таратудың классикалық әдісі сызықтық ұқсастығы бар әдістерге кіреді.
Бұл алгоритм тиімдеудің градиенттік әдістерін қолдана отырып көп қабатты желінің үлестерін таңдау стратегиясын анықтайды. Осы уақытта бұл алгоритм көп қабатты желіні оқытудың ең нәтижелі алгоритмдерінің бірі болып саналады. Оның негізін шығыс сигналдарының фактілік мәндерімен күтілетін мәндерінің арасындағы айырманың квадраттарының қосындысы түрінде құрылатын мақсатты функция құрайды. (x, d) бірлік оқытатын таңдау жағдайында мақсатты функция келесі түрде анықталады
Қысқарту үшін оқытудың мақсаты желінің әрбір қабатының нейрондарының үлестерінің мәндерін кіріс векторы берілген уақытта i = 1, 2, … M үшін di күтілетін мәндерімен қажетті дәлдікпен сәйкес болатын шығыста yi сигналдарының мәнін алуға болатындай етіп анықтау деп санауға болады.
Қателерді кері тарату алгоритмін қолдана отырып желіні оқыту бірнеше кезеңмен жүргізіледі. Олардың біріншісінде х оқытатын таңдауы ұсынылып, желінің сәйкес нейрондарының сигналдарының мәні есептелінеді. х векторының берілген уақытта бірінші жасырын қабаттың νi шығыс сигналының мәні, одан кейін шығыс қабатының yi нейронының мәні анықталады. Есептеу жүргізу үшін жоғарыда көрсетілген формулалар қолданылады. yi шығыс сигналдарының мәндері алынғаннан кейін E(w) мақсатты функциясының нақты мәнін есептеу мүмкін болады. Екінші кезеңде бұл функцияның мәні минимизацияланады[5].
Бағдарламалық қамтама php тілінде, laravel framework көмегімен жасалған.
Перцептронды оқыту үшін 30 компанияларының оқу үлгісі бойынша 50/50 банкрот және банкрот емес кәсіпорындардың үлесі таңдалды. Оқу перцептрон үшін кіріс факторлар коэффициенттерінің 9 қаржылық және экономикалық талдауы іріктелді және онда қазірдің өзінде ол кәсіпорынның шаруашылық қызметіне әсері ұсынылды[4]. Коэффициенттер әрбір ұсынылған мәндерге ие және «ұйықтар» компаниясында сақталуы тиіс болды, бірақ, өкінішке орай, түрлі көздерден ұсынылған құндылықтар әр түрлі, сондықтан бұл қағазға осы шекаралары белгіленген жоқ. Демек, біз шығыс қабаттағы перцептрон бағдарламасында нейроны кіріс 9 және бір нейронды қолдана аламыз.
X1 – Ағымдағы өтімділік коэффициенті
X2 – Меншікті қаражатпен қамтамасыз етілу коэффициенті
X3 – Абсолюттік өтімділік коэффициенті
X4 – Қаржы орнықтылығы коэффициенті
X5 – Активтің пайдалылығы
X6 – Міндеттемелердегі мерзімі өткен кредиторлық берешектің үлесі
X7 – Өзінің активтерне дебиторлық берешек қатынасының көрсеткіші
X8 – Таза табыс мөлшері
X9 – Ағымдағы міндеттемелері бойынша төлем дәрежесі
Y — шығу (1 — банкрот, 0 — банкрот емес).
Енді біздің кері тарату алгоритмінің дұрыс жұмыс жасап тұрғанын XOR кестесінің мәндерін оқыту арқылы көз жеткізе аламыз. Оқыту кезңнде жасырын қабаттағы 4 нейрондардың көмегін пайдаланамыз.
Ал қазір нейрон желіні (XOR) оқытамыз.
Қате квадратының мағынасының бірінші дәуірі: 0.018429059086052
Желіні үйрету. Кіру(Threshold) мәні 182468 итерацияда жетеді
Қате квадратының мағынасы: 9.9991018921772E-5
Қате квадратының мағынасының соңғы дәуірі: 9.9991018921772E-5
Нейрон желіні оқыту арқылы қажетті нәтижіге қол жеткізу.
1.3-сурет – нейрон желіні үйрету арқылы XOR мәндерін алу
1.4-сурет – Нейрон желіні оқыту үшін енгізілген мәліметтер тізімі
1.5-сурет – Нейрон желіні оқыту үшін арналған мәліметтерді енгізу жолдары
1.6-сурет – Нейрон желіні оқыту үшін енгізілген мәліметтер тізімі ағаш карта
1.7-сурет – Нейрон желі көмегімен жасалған жүйенің тәуекелді болжау нәтижесі
1.8-сурет – Енгізілген мәліметтердің диаграмма түріндегі үлгісі
1.1-кесте — Оқыту үшін таңдалған мәліметтер
1.2-кесте — Тест үлгінің нәтижелері
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ
1. Үлкен өлшемді жасанды нейрондық желілерді қолдана отырып, тұлғалардың биометриялық аутентификациясы жүйесінің сенімділігін арттыратын әдістерді зерттеу және құру // Картбаев Тимур Саатдинұлы, Алматы, 2013
2. Розенблатт Ф. Принципы нейродинамики; персептроны и теория механизмов мозга. М.: Изд-во Мир, 1865.
3. Minsky M., Papert S. Perceptrons: An Introduction to Computational Geometry // MIT Press. -Cambridge, 1969
4. Разработка модели оценки вероятности банкротства компании // Турчак Вячеслав Сергеевич, Санкт-Петербург 2013
5. Резник А.М. Многорядные динамические перцептроны // Перцептрон- система распознавания образов / под ред. А.Г. Ивахненко. -Киев: Наук. Думка, 1975. — С. 243-292.
Е.Ж. Ешпанов, Д.М. Ескендирова
(Қ.И. Сәтбаев атындағы Қазақ ұлттық техникалық зерттеу университеті, Алматы, Қазақстан Республикасы,
E-mail: [email protected])
Нейрожелі негізінде өндірістің қауіптерін бағалаудың моделін құру
Тәуекел (қауіп) адамзатқа қатысты кез – келген істе, әр түрлі шарттар мен факторларға байланысты кездесіп отырады. Адамдар тәуекелге қабылданған шешіміне (оң немесе теріс) байланысты әсері де өзгеріп отырады. Тарихи тәжірибелер көрсеткендей, тәуекел жоспарланған мақсаттарды іске асыруға кедергі тигізетіні сөзсіз, әсіресе, сауда-саттық, ақша айналымында және шаруашылық жобаларда.
Мақаланың басты мақсаты нейрон желі (НЖ) көмегімен кәсіпорын тәуекелдерін бағалайтын әдістер мен алгоритмдерді зерттеп, өңделген алгоритм негізінде бағдарламалық қамтама құру.
Қойылған мәселіні болжау үшін нейрондық желінінің моделін құру керек. Ол үшін, оның топологиясын дамыту, оқыту және тестілеу процесін механизмін анықтау қажет. Сонымен қатар, кіріс деректері мен компаниялар іріктеген сенімді қаржылық есептілігі және оның коэффициенттерін негізінде есептелген оқытулар қажет.
Бағдарламада өндірістің тәуекелін анықтау 2 модельден тұрады. 1-ші модель нейрон желілерді оқыту болып табылса, 2-ші модель оқытылған нейрон желілердің (1-ші модель) көмегімен анықтаушы өндірістің кіріс мәліметтерін енгізіп нәтижесін болжай аламыз.
Нейрон желіні оқыту үшін осы жағдайда көп қабатты нейрон желі мен қатені кері тарату алгоримі қолданылды. Енді көп қабатты нейрон желі мен қатені кері тарату алгориміне теориялық қысқаша ақпарат бере кетейік.
Көп қабатты нейрондық желілер[1]. Көп қабатты нейрондық желілер немесе көп қабатты перцептрон Розенблат, Минск, Пейпер және тағыда басқалар тарапынан зерттеліп, алғаш рет 60-жылдары ұсынылды [2; 3]. Бірақ зерттеулер ары қарай тоқтатылды, себебі оларды үйрететін тиімді алгоритм болмады. Тек 1980-жылдардың ортасында ғана бір-бірінен тәуелсіз бірнеше зерттеушілер көп қабатты перцептронды үйрету алгоритмін ұсынды. Олардың негізі қате функциясының градиентін есептеу болды. Алгоритм «қатені кері тарату» деп аталды. Айта кететіні, қазіргі кезде бұл алгоритм тізбектелген байланыстары бар нақты көп қабатты НЖ үшін қолданылады.
Көп қабатты тізбектелген байланысы бар НЖ-ге олардың желідегі нейрондарының жалпы кіріс сигналдары бар белгілі бір топ – қабаттарға бөлінуі, және де ағымдық қабаттың әрбір нейроны алдыңғы қабаттағы барлық шығыс сигналдарға берілуі тән құбылыс. Ағымдық қабат бірінші болған жағдайда құрамындағы әрбір нейронға сыртқы кіріс сигналының барлық элементтері беріледі. Нейрондар кіріс сигналдары элементтерінің салмақтанған қосындысын орындайды. Сәйкес синаптикалық салмаққа көбейтілген кіріс сигнал элементтерінің қосындысына нейронның орынауыстыруы қосылады. Қосындының нәтижесіне сызықты емес түрлендіруі – белсенділендіру функциясы орындалады. Нейронның шығысы белсенділендіру функциясының мәні болып табылады.
1.1-сурет – Нейрожелінің үш қабатты жүйесі
1.1-суретінде көрсетілгендей, көпқабатты перцептрондарды ұйымдастыру бір қабаттыға қарағанда анағұрлым күрделі. Осылайша, олардың осындай кемшіліктеріне қарамастан оны қолданудың тиімділігі туралы сұрақ туындайды. Көп қабатты НЖ архитектурасы мен өзгеріссіз кіріс кескінді бөлетін түзу түрі 1.2-суретінде көрсетілген. Көп қабатты перцептрондардың негізгі артықшылығы кіріс кескін кеңістігін бөлетін түзу пішінін күрделендіру есебінен бір қабатты перцептрондарға қарағанда күрделірек тапсырмаларды шешуінде болып табылады.
1.2-сурет – Көп қабатты НЖ архитектурасына мысалдар
Қатені кері тарату алгоритмі. Кері тарату әдісінің кемшіліктері ретінде итерацияның әрбір қадамында желі параметрлерінің мәні өзгеруіне байланысты үйрету жылдамдығының төмендігін айтуға болады. Кері таратудың классикалық әдісі сызықтық ұқсастығы бар әдістерге кіреді.
Бұл алгоритм тиімдеудің градиенттік әдістерін қолдана отырып көп қабатты желінің үлестерін таңдау стратегиясын анықтайды. Осы уақытта бұл алгоритм көп қабатты желіні оқытудың ең нәтижелі алгоритмдерінің бірі болып саналады. Оның негізін шығыс сигналдарының фактілік мәндерімен күтілетін мәндерінің арасындағы айырманың квадраттарының қосындысы түрінде құрылатын мақсатты функция құрайды. (x, d) бірлік оқытатын таңдау жағдайында мақсатты функция келесі түрде анықталады
Қысқарту үшін оқытудың мақсаты желінің әрбір қабатының нейрондарының үлестерінің мәндерін кіріс векторы берілген уақытта i = 1, 2, … M үшін di күтілетін мәндерімен қажетті дәлдікпен сәйкес болатын шығыста yi сигналдарының мәнін алуға болатындай етіп анықтау деп санауға болады.
Қателерді кері тарату алгоритмін қолдана отырып желіні оқыту бірнеше кезеңмен жүргізіледі. Олардың біріншісінде х оқытатын таңдауы ұсынылып, желінің сәйкес нейрондарының сигналдарының мәні есептелінеді. х векторының берілген уақытта бірінші жасырын қабаттың νi шығыс сигналының мәні, одан кейін шығыс қабатының yi нейронының мәні анықталады. Есептеу жүргізу үшін жоғарыда көрсетілген формулалар қолданылады. yi шығыс сигналдарының мәндері алынғаннан кейін E(w) мақсатты функциясының нақты мәнін есептеу мүмкін болады. Екінші кезеңде бұл функцияның мәні минимизацияланады[5].
Бағдарламалық қамтама php тілінде, laravel framework көмегімен жасалған.
Перцептронды оқыту үшін 30 компанияларының оқу үлгісі бойынша 50/50 банкрот және банкрот емес кәсіпорындардың үлесі таңдалды. Оқу перцептрон үшін кіріс факторлар коэффициенттерінің 9 қаржылық және экономикалық талдауы іріктелді және онда қазірдің өзінде ол кәсіпорынның шаруашылық қызметіне әсері ұсынылды[4]. Коэффициенттер әрбір ұсынылған мәндерге ие және «ұйықтар» компаниясында сақталуы тиіс болды, бірақ, өкінішке орай, түрлі көздерден ұсынылған құндылықтар әр түрлі, сондықтан бұл қағазға осы шекаралары белгіленген жоқ. Демек, біз шығыс қабаттағы перцептрон бағдарламасында нейроны кіріс 9 және бір нейронды қолдана аламыз.
X1 – Ағымдағы өтімділік коэффициенті
X2 – Меншікті қаражатпен қамтамасыз етілу коэффициенті
X3 – Абсолюттік өтімділік коэффициенті
X4 – Қаржы орнықтылығы коэффициенті
X5 – Активтің пайдалылығы
X6 – Міндеттемелердегі мерзімі өткен кредиторлық берешектің үлесі
X7 – Өзінің активтерне дебиторлық берешек қатынасының көрсеткіші
X8 – Таза табыс мөлшері
X9 – Ағымдағы міндеттемелері бойынша төлем дәрежесі
Y — шығу (1 — банкрот, 0 — банкрот емес).
Енді біздің кері тарату алгоритмінің дұрыс жұмыс жасап тұрғанын XOR кестесінің мәндерін оқыту арқылы көз жеткізе аламыз. Оқыту кезңнде жасырын қабаттағы 4 нейрондардың көмегін пайдаланамыз.
Ал қазір нейрон желіні (XOR) оқытамыз.
Қате квадратының мағынасының бірінші дәуірі: 0.018429059086052
Желіні үйрету. Кіру(Threshold) мәні 182468 итерацияда жетеді
Қате квадратының мағынасы: 9.9991018921772E-5
Қате квадратының мағынасының соңғы дәуірі: 9.9991018921772E-5
Нейрон желіні оқыту арқылы қажетті нәтижіге қол жеткізу.
1.3-сурет – нейрон желіні үйрету арқылы XOR мәндерін алу
1.4-сурет – Нейрон желіні оқыту үшін енгізілген мәліметтер тізімі
1.5-сурет – Нейрон желіні оқыту үшін арналған мәліметтерді енгізу жолдары
1.6-сурет – Нейрон желіні оқыту үшін енгізілген мәліметтер тізімі ағаш карта
1.7-сурет – Нейрон желі көмегімен жасалған жүйенің тәуекелді болжау нәтижесі
1.8-сурет – Енгізілген мәліметтердің диаграмма түріндегі үлгісі
1.1-кесте — Оқыту үшін таңдалған мәліметтер
1.2-кесте — Тест үлгінің нәтижелері
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ
1. Үлкен өлшемді жасанды нейрондық желілерді қолдана отырып, тұлғалардың биометриялық аутентификациясы жүйесінің сенімділігін арттыратын әдістерді зерттеу және құру // Картбаев Тимур Саатдинұлы, Алматы, 2013
2. Розенблатт Ф. Принципы нейродинамики; персептроны и теория механизмов мозга. М.: Изд-во Мир, 1865.
3. Minsky M., Papert S. Perceptrons: An Introduction to Computational Geometry // MIT Press. -Cambridge, 1969
4. Разработка модели оценки вероятности банкротства компании // Турчак Вячеслав Сергеевич, Санкт-Петербург 2013
5. Резник А.М. Многорядные динамические перцептроны // Перцептрон- система распознавания образов / под ред. А.Г. Ивахненко. -Киев: Наук. Думка, 1975. — С. 243-292.
-
+2