“kompyuter injiniring” fakulteti IV bosqich ki 11-19 guruh talabasining
Download 0.55 Mb. Pdf ko'rish
|
3-mustaqil ish davomi
- Bu sahifa navigatsiya:
- “Mashinali o’qitishga kirish ” fanidan Mustaqil ishi
0’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI QARSHI FILIALI “KOMPYUTER INJINIRING” FAKULTETI IV BOSQICH KI 11-19 GURUH TALABASINING “Mashinali o’qitishga kirish ” fanidan Mustaqil ishi Bajardi: Eshmurodova D Qabul qildi: Ochilova S Mustaqil ishni davomi Nerv tarmog'ini ishga tushiring TrainingAnswers-ning boshlanishi har bir savol uchun [0, 0, 0, 0] bo'lgan qatorni yaratadi - bu bizning tanlangan holatimizsiz tanlov. Shuningdek, biz neyron tarmog'imizni boshlashimiz kerak bo'ladi - faqat brain.js bilan bitta qator: Viktorina doirasini yarating Viktorinamizning asosini yaratish uchun biz o'quv savollari va variantlarini ko'rib chiqishimiz kerak. Bu juda aniq va unchalik qiziq emas, shuning uchun men buning o'rniga siz maqsadga erishish uchun misol keltiraman: render () {return (main> form onSubmit = {this.onSubmit}> [..]] // savollar va variantlarni takrorlash div className = “question”> h4> {question} / h4> div className = “options” > label htmlFor = {optionId}> span> {label} / span> input type = ”radio” talab qilingan ism = {questionId} id = {optionId} check = {() => this.isOptionChecked (questionIndex, optionIndex)} onChange = {() => this.onOptionChange (questionIndex, optionIndex)} /> / label> [...] / div> / div> [...] button type = ”submit”> Submit / button> / form> / main>); } Agar siz React bilan yangi tanishsangiz, qurilish shakllari uchun hujjatlarni ko'ring. Biz yozishimiz mumkin isOptionChecked va OnOptionChange keyingi funktsiyalar: isOptionChecked = (questionIndex, optionIndex) => (this.state.trainingAnswers [questionIndex] [optionIndex]! == 0); onOptionChange = (questionIndex, optionIndex) => {this.setState (prevState => {const {trainingAnswers} = Object.assign (prevState, {}); trainingAnswers [questionIndex] = Array (4) .fill (0); trainingAnswers [ questionIndex] [optionIndex] = 1; return {trainingAnswers};}); }; Endi, foydalanuvchimiz biron bir variantni bosganida, biz tegishli narsani yangilaymiz ta'lim Javoblar xususiyati uchun qator 1 tanlangan indeksda va radio tugmachasining holatini o'zgartirib, uni tekshirilgandek ko'rsatish kerak. Bizning vaqtni qo'shish vaqti keldi onSubmit funktsiyasi, bu erda biz o'quv ma'lumotlarini yaratamiz va asab tarmog'ini o'rgatamiz: onSubmit = e => {e.preventDefault (); const {trainingAnswers} = this.state; const trainingData = trainingQuestions.map ((q, i) => ({input: q.options.map (o => o.value), output: trainingAnswers [i],})); this.setState ({Training: true,}); this.net.trainAsync (trainingData) .then (res => {console.log (res); // Xatolik darajasi va # takrorlashni this.getPreditions ()}) qayd qiling; } Looping o'quv savollari, biz kerakli kirish va chiqish massivlarini yaratamiz. Biz har bir variantning optimizm qiymatini olish orqali kirish ma'lumotlarini olamiz va chiqish ma'lumotlarini ta'lim Javoblar savol bilan bir xil indeksdagi qator. Shundan so'ng biz davlatni yangilaymiz ta'lim: to'g'ri neyron tarmoq o'rganayotgani haqida foydalanuvchiga xabar berish. Mijoz qurilmasining qayta ishlash quvvatiga va sizda qancha savol borligiga qarab, jarayon bir necha soniya, daqiqa yoki uzoq davom etishi mumkin! Va nihoyat, biz trening ma'lumotlarini asab tizimiga o'tkazamiz va unga mos kelmaydigan tarzda mashq qilishni aytamiz. Bu tarmoq naqshni topganda yoki undan voz kechganda bajariladigan va'dani qaytaradi. Biz tizimga kirgan xatolar tezligini kuzatib boring trainAsync. Ideal holda u 0 - 0,05 orasida bo'lishi kerak. Agar u yuqoriroq bo'lsa, trening ma'lumotlarini tekshiring. U erdan biz bashorat qilishimiz mumkin: getPrediction = () => {const taxminlar = validationQuestions.map (q => (this.net.run (q.options.map (o => o.value)))); this.setState ({ta'lim: noto'g'ri, bashoratlar,}); } Foydalanish net.run, biz yangi o'qitilgan neyron tarmog'imizdan biz ilgari aniqlagan har bir tasdiqlash savollari uchun o'z taxminlarini aytib berishlarini so'raymiz. Katta final uchun biz shartli yuklash mantig'ini qo'shamiz va foydalanuvchiga topilmani taqdim etamiz. render () {const {training, taxminlar} = this.state; const validationQuestion = validationQuestions [0]; return (main> {training && (h2> Loading… / h2>)} {! bashoratlar &&! Training && ([...] // o'quv savollari shakli)} {bashoratlar va&! mashg'ulotlar && (div> h2> biz so'radik asab tarmog'i: / h2> div className = "question"> h4> {validationQuestion.question} / h4> div className = "options"> {validationQuestion.options.map ((o, i) => (label key = { o.id}> {/ * yorlig'i va ehtimolligini dumaloq foiz sifatida ko'rsatish * /} oralig'i> {$ {o.label}: $ {Math.round (taxminlar [0] [i] * 100)} %} / span> / label>))} / div> / div> / div>)} / main>); }} Endi sizda viktorinaning asosiy asoslari mavjud, uni quyidagilar bilan kengaytirib ko'ring:Foydalanuvchingizga tasdiqlash bo'yicha savollaringizga javob berishga ruxsat berish orqali asab tarmog'ingizning haqiqiy xato darajasini aniqlang. Qarang, ular sizning taxminlaringizni necha marta tanladilar. Ushbu qo'shimcha javoblar bilan asab tarmog'ini o'rgating va aniqligini oshira olasizmi yoki yo'qligini bilib oling. Neyron tarmog'ini o'qituvchi bilan yoki o'qituvchisiz o'qitish mumkin (nazorat ostida, nazoratsiz o'rganish). Nazorat ostidagi o'rganish - bu regressiya va sinflash kabi masalalarga xos bo'lgan o’rganish. Boshqacha qilib aytganda, bu erda siz o'qituvchi va NT o’quvchi sifatida harakat qiladi. Siz kirish ma'lumotlarini va kerakli natijani berasiz, ya'ni o’quvchi kirish ma'lumotlariga qarab, siz unga bergan natijaga intilishi kerakligini tushunadi. Nazorat qilinmagan o'rganish - bu turdagi o'rganish unchalik keng tarqalgan emas. Bu erda o'qituvchi yo'q, shuning uchun tarmoq kerakli natijani bermaydi yoki ularning soni juda kamchilikni tashkil etadi. Asosan, ushbu turdagi o’rgatishlar ma'lum parametrlarga ko'ra ma'lumotlarni guruhlash masalasi bo'lgan NTlariga xosdir. Aytaylik, siz Xabrega 10 000 ta maqola yuborgansiz va ushbu maqolalarning barchasini tahlil qilgandan so'ng, Milliy Assambleya ularni, masalan, tez-tez uchraydigan so'zlar asosida turkumlashi mumkin bo'ladi. Bunday maqolalarni guruxlashda Dasturlash tillari dasturlash sinfiga va fotoshop kabi so'zlarni dizayn sinfiga ajratadi. Kuchaytirilgan o'rganish kabi qiziqarli usul ham mavjud. Ushbu usul alohida maqolaga loyiqdir, ammo men uning mohiyatini qisqacha tavsiflashga harakat qilaman. Ushbu uslub, agar biz Milliy Assambleyadan olingan natijalar asosida unga baho berishimiz mumkin bo'lsa, amal qiladi. Masalan, biz Milliy assambleyaga PAC-MAN o'ynashni o'rgatmoqchimiz, keyin har safar Milliy assambleya ko'p ochko to'plaganida, biz uni rag'batlantiramiz. Boshqacha qilib aytganda, biz NTga maqsadga erishish uchun har qanday usulni topish huquqini beramiz, agar u yaxshi natija bersa. Shu tarzda, tarmoq undan nimaga erishmoqchi ekanliklarini tushuna boshlaydi va "o'qituvchi" ga doimiy ma'lumot bermasdan, ushbu maqsadga erishishning eng yaxshi usulini topishga harakat qiladi. Shuningdek, o’rganishni uchta usul yordamida bajarish mumkin:stoxastik usul, paketli usul va mini-paketli usuli. Har bir usul haqida qisqacha: Stoxastik (ba'zan "onlayn" deb nomlanadigan) usul quyidagi printsipga muvofiq ishlaydi - Δw ni aniqlash va unga mos vaznni yangilash. Paketli usul boshqacha ishlaydi. Joriy iteratsiyada barcha vaznlarning Δw qiymatlari yig'indisi hisoblanadi va shundan keyingina ushbu yig'indidan foydalanib barcha vaznlar yangilanadi. Ushbu yondashuvning eng muhim afzalliklaridan biri hisoblash vaqtini sezilarli darajada tejashdir, shu bilan birga bu aniqlikka jiddiy ta'sir ko'rsatishi mumkin. Giperparametrlar - bu qo'lda va ko'pincha sinov va xato bilan tanlanishi kerak bo'lgan qiymatlar. Ushbu qiymatlar orasida: • o'rganish momenti va tezligi; • yashirin qatlamlar soni; • har bir qatlamdagi neyronlarning soni; • siljuvchi neyronlarning mavjudligi yoki yo'qligi. Boshqa turdagi NTlarida qo'shimcha giperparametrlar mavjud. To'g'ri giperparametrlarni tanlash juda muhim va bu NTning yaqinlashishiga bevosita ta'sir qiladi. Neyronlar qancha ko'p bo'lsa, natija shunchalik aniq bo'ladi va lekin uni o'qitishga qancha vaqt sarflanadi. Shunga qaramay, oddiy muammolarni hal qilish uchun 1000 ta neyron bilan NT yaratish kerakligini yodda tutish kerak. Ammo vaqtni tanlash va o'rganish tezligi bilan hamma narsa biroz murakkabroq kechadi. Ushbu giperparametrlar masalaga va NT arxitekturasiga qarab turlicha bo'ladi. Masalan, XOR yechimi uchun o'rganish tezligi 0,3 - 0,7 oralig'ida bo'lishi mumkin, ammo aksiyalar narxini tahlil qiladigan va bashorat qiladigan neyron tarmog'ida 0,00001 dan yuqori bo'lgan o'qish tezligi neyron tizimining yomon yaqinlashishiga olib keladi. Hozircha giperparametrlarga e'tibor bermasdan ularni qanday tanlashni yaxshilab tushunishga harakat qilish kerak. Bu tajriba bilan keladi. Yaqinlashish neyron tarmog'i arxitekturasi to'g'ri yoki yo'qligini va giperparametrlar qo'yilgan masalaga muvofiq to'g'ri tanlanganligini ko'rsatadi. Aytaylik, bizning dasturimiz har bir takrorlashda neyron tizimining xatosini jurnalga chiqaradi. Agar har bir takrorlash bilan xato kamaysa, demak biz to'g'ri yo'ldamiz va bizning neyron tarmog'imiz birlashmoqda. Agar xatolik yuqoriga va pastga sakrab tushsa yoki ma'lum darajada qotib qolsa, u holda neyron tarmog’imiz yaqinlashmaydi. 99% hollarda, bu giperparametrlarni o'zgartirish orqali hal qilinadi. Qolgan 1% sizning NT arxitekturasida xatolik borligini anglatadi. Shuningdek, yaqinlashishga neyron tarmog'ining qayta o'qitilishi ta'sir qiladi. Qayta o’rgatish - bu ma'lumotlar bilan to'lgan neyron tarmog'ini qayta oqitish holatidir. Ushbu muammo tarmoqni bir xil ma'lumotlarga o'rgatish juda uzoq vaqt talab qilsa paydo bo'ladi. Boshqacha qilib aytganda, tarmoq ma'lumotlardan o'rganishni emas, balki ularni yodlash va "siqib" olishni boshlaydi. Shunga ko'ra, ushbu neyron tarmog'ining kiritilishiga yangi ma'lumotlar kiritilganda, olingan ma'lumotlarda shovqin paydo bo'lishi mumkin, bu natijaning aniqligiga ta'sir qiladi. Misol uchun, agar biz NTga turli xil olma fotosuratlarini (faqat qizillari) ko'rsatsak va bu olma deb aytsak. Keyin, NT sariq yoki yashil olma ko'rganda, uning olma ekanligini aniqlay olmaydi, chunki u barcha olma qizil bo'lishi kerakligini eslaydi. Oʻrgatish jarayonida NT ning bogʻlanishli vazn koeffitsiyenti, chegara va tuzilma kabi qiymatlari toʻgʻrilanadi. Shu holatda mazkur parametrlarning boshlangʻich qiymatlari odatda tasodifiy ravishda beriladi. NTning oʻrgatish usullari tasnifi 14.1-rasmda keltirilgan koʻrinishda ifodalanadi. Tasnifning eng asosiy koʻrsatkichlaridan biri-bu tashqi muhit bilan oʻzaro aloqaning mavjudligi. Oʻrgatish jarayonida tashqi muhitdan keladigan axborotning miqdori va sifati(semantikasi, ma’nosi)ga koʻra supervizorli (supervised learning), nosupervizorli (unsupervised learning) va tasdiqlash (reinforcement learning)ni oʻrgatadigan usul (algoritm)larga ajratiladi. Supervizorli (o’qituvchili) usulda oldindan barcha oʻrgatish juftlaridan iborat boʻlgan oʻrgatish toʻplami shakllanadi. Oʻrgatish jufti X kirish va unga muvofiq boʻlgan Y chiqish vektorlar qiymatlari bilan ifodalanadi. Bu holatda har bir kirish vektorining - komponentasi - kirish neyronga keladigan signalga muvofiq boʻladi. Shunga oʻxshash har bir chiqish vektorning - komponentasi -chiqish neyronda paydo boʻladigan signalga muvofiq boʻladi. Oʻrgatish jarayonida chiqish vektorlarining qiymati berilgan kirish vektorlarining qiymatlariga muvofiq oldindan berilgan chiqish qiymatlarining ogʻishlarini hisobga olib topiladi. Bu ogʻishlarning qiymatiga muvofiq NTning parametrlari mazkur ogʻishlar qiymatlarini minimum(berilgan)ga keltirish bilan toʻgʻirlanadi. Supervizorli oʻrgatish algoritmlarining orasida eng keng tarqalgani xatoliklarni (toʻlqinlarni) teskari tarqatish algoritmi (error backpropagation) hisoblanadi. Supervizorsiz (o’qituvchisiz) usullarda oʻrgatish toʻplami faqat kirish vektorlari majmaisini oʻz ichiga oladi. Bu holatda qoʻllaniladigan raqobatli oʻrgatish algoritmi (competitive learning) klasterlash masalalarini yechish uchun NTning parametrlarini toʻgʻrilaydi. Oʻrgatish jarayonida tegishli klasterga kiradigan kirish komponenta(neyron)lari va bu klasterni tavsiflaydigan chiqish neyronlari orasidagi bogʻlanishli vaznlarning qiymatlari maksimal darajada koʻpaytiriladi. Shuningdek, chiqish neyronining faol boʻlmagan kirish neyronlari bilan bogʻlanishli vaznlar qiymatlari kamaytiriladi. Tasdiqlash bilan oʻrgatish usullari yuqorida keltirilgan ikkita usulning oʻrtasida turadi. Bu usulning asosiy tamoyili tashqi muhitdan (oʻqituvchidan) keladigan “Tasdiqlash-rad qilish” yoki “Ragʻbatlantirish-jazolash” (reward/penalty) signalining mavjudligi boʻladi. Bunday oʻrgatish jarayonida navbatdagi kirish vektori berilganda NTning harakati qoniqarli boʻlsa, u holda tasdiqlash («+1») signal, aks holda - rad qilish («0» yoki «-1») signal orqali bajariladi. Bu holatda to’rda tasdiqlash signallarini olish tezligini oshirishni ta’minlash maqsadida vazn koeffitsiyentining qiymatlarini tegishli ravishda oʻzgartiradi. Bu vazn koeffitsiyentining qiymati maqbul darajasiga yetmaguncha oʻrgatish jarayoni davom etadi. Tuzilmali oʻrgatish usullari endi rivojlana boshladi. Ular murakkab masalalarni yechish uchun moʻljallangan NTni qurishga imkoniyat beradi. Kirishlarga quyiladigan talablar boʻyicha oʻxshashliklarga va yagona buyruqqa asoslangan oʻrgatish usullariga ajratiladi. Bu holatda tadqiq qilinadigan obyektlarni tavsiflaydigan etalon toʻplam shakllanadi. Berilgan etalonga muvofiq NT parametrlari shunday qilib tanlanadiki, kirish belgilarining tegishli qiymatlarida faqat mazkur belgilarga ega boʻlgan chiqish neyronlari faollashishi kerak. NTlarni obyektlarni anglab olishga o’rgatishning umumiy sxemasi. NTlarni obyekt(misol)larni anglab olishga o’rganish uchun obyektlardan iborat o’rgatuvch tanlov zarur bo’ladi. Har bir obyekt kiruvchi parametrlar tasvirlanadi va oldindan ma’lun bo’lgan javoblar bilan beriladi. Masalan, tibbiy tashxislash masalasida kiruvchi parametrlar sifatida bemorning tibbiy xususiyatlaridan foydalanilsa, oldindan ma’lum bo’lgan javob sifatida unga qoyiladigan diagnoz hisoblanadi. NTlarni obyektlarni anglab olishga o’rgatishning umumiy sxemasini qaraymiz . O’rgatuvchi tanlovdan joriy (boshida birinchi) obyekt olinadi va uning kiruvchi parametrlari o’rgatuvchi NTlarning kiruvchi sinapslariga uzatiladi. Odatda obyektning har bir kiruvchi parametri unga mos kiruvchi sinapsga uzatiladi. NT berilgan sondagi taktlarning bajarilishini amalga oshiradi va kiruvchi signallarning vektori neyronlar o’rtasidagi bog’lanishlar bo’yicha tarqaladi (to’g’ri ishlash). Neyronlar yordamida hosil qilingan chiquvchi signallar deb ataluvchi signallar o’lchanadi. Hosil qilingan signallarni izohlash amalga oshiriladi va to’r yordamida obyektda mavjud bo’lgan javobning talab etilayotgan javob bilan farqli tomonlarini xarakterlaydigan baho hisoblanadi. Bu baho mos funksiyalar baholari yordamida hisoblanadi. Baho qancha kichik bo’lsa, u holda to’r yordamida olingan javob talab qilingan javobga shuncha yaqin bo’ladi. Agar baho nolga teng bo’lsa, u holda oldindan ma’lum bo’lgan javobga erishildi deb hisoblanadi. Agar obyekt bahosi nolga teng bo’lsa, u holda hech qanday ish amalga oshirilmaydi. Aks holda baholar asosida aloqalar matritsasining har bir sinaptikli vazni uchun tuzatish koeffitsiyentlari hisoblanadi, undan keyin esa sinaptikl vaznlarni moslashtirish amalga oshiriladi (teskari ishlash amalga oshiriladi). Tarmoqning vaznlarini bunday to’g’rilash esa-tarmoqni obyektni anglashga o’rgatish deb ataladi. Navbatdagi obyekt olinadi va yoridagi qadamlardagi amallar takrorlanadi. O’rgatuvchu tanlovning birinchi obyektidan oxirgi obyektigacha barcha obyektlarni tekshirish to’rni obyektlarni anglashga o’rgatishning bitta sikli deb ataladi. Siklning bajarilishida har bir obyekt o’zining bahosiga ega bo’ladi. Bundan tashqari o’rgatuvchi tanlovdagi barcha obyektlar to’plamining yig’indi bahosi hisoblanadi. Agarda siklning bir nechta qadamidan keyin obyektlar to’plamining yig’indi bahosi nolga teng bo’lsa, u holda to’r yordamida o’rgatish jarayoni to’xtaydi, aks holda sikllar takrorlanadi. To’liq o’rgatishga erishish uchun o’rgatish sikllarining soni ko’plab faktorlarga bog’liq bo’ladi. Bu faktorlarga o’rgatuvchi tanlovning hajmi, kiruvchi parametrlarning soni, obyektning ko’rinishi, NTlar turi va parametrlari hamda tarmoq nomlanganda ushbu tarmoqda vaznlarning tavakkal joylashishi kiradi. NTlarni obyektlarni anglashga o’rgatishning uslubiy jihatlari. Ba’zi hollarda shunday holatlar uchraydiki, bunda to’r obyektni anglashga o’rgata olmaydi. Bu shunday holatda ro’y beradiki, qachonki o’rgatishning qandaydir pog’onasida o’gatuvchi parametrlar va natijalar o’rtasidagi qonuniylikni bundan keyin izlash imkoniyatlari mumkin bo’lmay qoladi. Masalan. oddiy holatda to’rga bir hil parametrlarga ega bo’lgan turli sinflarga tegishli ikkta obyekt yoki turli javov qiymatiga ega bo’lgan ikkita obyekt berilishi mumkin. Korinib turibdiki, bu holda ikkita obyekt fazoning bitta nuqtasiga tushadi, shuning uchun ularni bir- biridan ajratish mumkin bo’lmaydi va o’rgatish jarayoni to’xtaydi. NTlarni boshqaruvchi dastur o’rgatish jarayonining to’xtaganligi haqida signal beradi va bundan keyin o’rgatish jarayoni mumkin emasligini ko’rsatadi. Bu holatda NTlarni obyektlarni anglab olishga o’rgatuvchi mutaxassisning vazifasi bunday holatlarning oldini olishdan iborat, ya’ni bunday holat ro’y bermasligi uchun u masalani qat’iy qo’yishi va o’rgatuvchi tanlovni sinchkovlik bilan nazorat qilishi talab etiladi [8-14]. NTlarni obyektlarni anglab olishga o’rgatishda yana bir muhim jihatni e’tiborga olish zarur. O’rgatish yutug’i umuman ko’p hollarda tarmoqdagi neyronlar soniga yoki aniqrog’i tarmoq soniga bog’liq. Chunonchi, tamoqlardagi “tajriba” tarmoqning vaznli koeffitsiyentlarida saqlanadi. Nazariy jihatdan neyronlar va tarmoq sonini cheksiz ko’paytirish natijasida hammavaqt berilgan o’rgatuvchi tanlovda NTlarni to’liq o’rgatishga erishish mumkin. Bu holda eng muhim masala o’rgatuvchi NTlarning nafaqat o’rgatuvchi tanlovdagi obyektlarni, balkim o’rgatuvchi tanlovga kirmagan yangi obyektlarni ham yaxshi anglab olishi eng muhim masala hisoblanadi. O’qituvchisiz o’rgatuvchi neyronli tarmoqlar Yuqorida keltirilgan tarmoqlar o’qituvchili o’rgatuvchi tarmoqlarga kiradi. Ularni muvaffaqiyatli qo’llash uchun exspertning ishtiroki zarur. O’qituvchisiz o’rgatuvchi tarmoqlarda o’rgatish jarayonida tarmoqlarning vaznlari to’g’rilanib (uzatilib) boriladi. Bunda tarmoqlarni to’g’rilab borish neyronlardagi mavjud vaznli koeffitsiyentlar asosida olib boriladi. Ushbu prinsip asosida ishlashdigan Xebba neyron tarmog’ini keltiramiz. Sinflash algoritmi. 14.2 б-rasmda keltirilgan bitta neyronlar qatlamidan iborat NT kirishiga x vektor uzatiladi. Minimal javobni beradigan neyron tartib raqami x vektor qarashli bo’lgan sinf raqami hisoblanadi. O’rgatish algoritmi. Barcha tarmoqlardagi tuzatishlarni nolga teng deb hisoblaymiz. to’plamdagi har bir nuqta uchun quyidagi protseduralarni bajaramiz. 2.1.Tarmoqda sinflash uchun nuqtani (obyektni) olamiz. 2.2. Aytaylik sinflashda nuqta l-sinfga tegishli degan javob olingan bo’lsin. U holda tarmoqning teskari ishlashi uchun Δ vektor uzatilgan bo’lsin va uning koordinatalari quyidagi qoida bo’yicha aniqlansin: . 2.3. Ushbu nuqtalar uchun hisoblangan tuzatmalar oldingi hisoblanganlarga qo’shiladi. Har bir neyron uchun quyidagi prorseduralarni amalga oshiramiz. 3.1. Agar oxirgi sinaps bilan hisoblangan tuzatma 0 ga teng bo’lsa, u holda NTdan olib tashlanadi. 3.2. Aytaylik, o’rgatish parameteri qiymati-oxirgi sinaps yordamida hisoblangan tuzatmaga teskari qiymatga teng bo’lsin. 3.3. Birinchi n ta sinapslarda to’plangan tuzatmalarning kvadratlar yig’indisini hisoblaymiz va (-2) ga bo’lib, oxirgi sinapsning tuzatmasiga kiritamiz. 3.4. parametrlar bilan o’rgatish qadamini bajaramiz. Agar yana hisoblangan sinaptikli vaznlar oldingi qadamda olingan vaznlardan farq qilsa, u holda algoritmning birinch qdamiga o’tamiz. Algoritmning ikkinchi va uchinchi qadamlari tushuntirishlarni talab qiladi. 12.30 v -rasmdan ko’rinadi, algoritmning 2.2-qadamida hisoblangan tuzatmalar minimal signal bergan neyronlardan tashqari barcha neyronlar uchun nolga teng bo’ladi. Minimal signal bergan neyronning birinchi n ta tuzatmalari anglab olinuvchi x nuqtalar koordinatalariga teng, oxirgi sinapsning tuzatmalari esa birga temg bo’ladi. Algoritm ikkinchi qadamining tugashidan keyin i-neyronning oxirgi sinapsidagi tyzatma i-sinfga talluqli nuqtalar soniga teng bo’ladi, ushbu neyronning qolgan tarmoqlaridagi tuzatmalar esa - i-sinfning barcha nuqtalarining mos koordinatalari yig’indisiga teng bo’ladi. To’g’ri vaznlarni olish uchun birinchi n ta tarmoqlarning barcha tuzatmalarini oxirgi sinapsning tuzatmasiga bo’lish, oxirgi sinaps qiymatini olingan qiymatlar kvadratlari yi’g’indisiga teng deb olish va qolgan sinapslarning qiymatlarini esa- ushbu sinapslar uchun olingan tuzatmalarni (-2) ko’paytirish natijasida olingan qiymatlarga teng deb olinadi.Algoritmning uchinch qadamida ham xuddi shu jarayon bajariladi. Koxonen algoritmi bo’yicha o’rgatishda hisoblash jarayonini qisqrtirish maqsadida kiruvchi obyektlar va ularning vaznli koeffitsiyentlarining qiymatlari quyidagicha normallashtiriladii: , bu yerda xi - kiruvchi obyektlar yoki vaznli koeffitsiyentlarining i- komponentasi; n -obyektlarning o’lchovi. Ba'zi bir neyronlarning (aksonlarning) chiqishi, navbatdagi neyronlarning kirish signallar(dendritlar) bo’lgan holatlarni ko'rib chiqamiz. Sun'iy NTlarining turlari. Biz yuqorida sun'iy neyronning tuzilishini aniqladik. Sun'iy neyron tarmoq(NT)lari neyronlarning bir-biriga ko'p bog'lanishidan iborat. Shu paytgacha biz kirish ma'lumotlarini neyronlarning kirishiga berilgan variantini ko'rib chiqdik. Ko'pgina NTlarida kirish signallari kirish qatlamideb nomlanadi. Kirish qatlami hech qanday hisob-kitoblarni amalga oshirmaydi, u faqat kirish signallarini neyronlar o'rtasida taqsimlash masalasini bajaradi. Kirish qatlamidan signal oladigan neyronlar guruhiga yashirin qatlam deyiladi. Yashirin qatlamlar bir nechta bo'lishi mumkin. Ma'lumotlarni hisoblaydigan neyronlar guruhi (tarmoq javoblari) chiqish qatlami deb ataladi. Keltirilgan qatlamlarni 14.3-rasmdagidek tasvirlash mumkin: NTlarining bu tuzilishi biologik miyaning ko'p qatlamli tuzilishini takrorlaydi. Biz hozirgacha bir qatlamli NTlar bilan shug’ullandik. Ko’p qatlamli NTlari bir qatlamliga qaraganda ancha katta imkoniyatlarga ega.Eng kamida bitta yashirin qatlamga ega bo’lgan NTlar bir qatlamli NTlarga nisbatan ancha ko’p imkoniyatlarga ega bo’ladi. Ko'p qatlamli tarmoqlarning afzalliklari. Mantiqiy algebra haqida bir oz to’xtalamiz. Mantiqiy OR (YOKI) operatsiyasi ko'pincha mantiqiy qo'shish deb nomlanadi. Bu erda qoidalar oddiy qo'shishdagidek 2 emas, balki 1 + 1 = 1 bundan mustasno. Mantiqiy AND (VA) ning ishlashi mantiqiy ko’paytma deb nomlanadi va bu erda hamma amllar odatdagi ko'paytirish kabi bajariladi. Yana bir keng tarqalgan mantiqiy amal – bu NOT (inkor) amali. Uning nomidan kelib chiqadiki, uning maqsadi qiymatlarni teskari yo'naltirishdir. Agar signal qiymati 0 ga teng bo'lsa, mantiqiy inkorni qo’llash natijasida 0 signal 1 ga teng bo'ladi. Agar bizga “yokini inkori”ni matematik mantiqdagi chinlik jadvalaidan foydalanib echsak, u holda quyidagicha bo’ladi. Demak biz buni matematik mantiqdan foydalanib natijalarni hosil qildik. Endi buni NT ga qanday o'tkazish mumkinligini ko’rib chiqamiz. Agar NTda bitta neyronga shartli ravishda , boshqasiga bersak va chiqindagi qiymatlarni jamlasak, u holda cjiqishda natijani hosil qilamiz. Endi har bir neyron o’rganish jarayonida qandaydir tarzda harakatlarni bizning yordamimissiz o'z-o'zidan avtomatik ravishda bajarishga o’tishi kerak. Ushbu turdagi NT uchta qatlamdan iborat bo'lib, sun'iy NTlarida eng keng tarqalgan. Bunday Ntlarda asosiy hisoblashlashlar aynan yashirin qatlamlarda amalga oshiriladi. Teskari tarqalishli aloqa usuli (TTA) nima? Shunday qilib, biz sizning neyron tarmog'ingiz to'g'ri o'rganishi va to'g'ri qaror qabul qilishi uchun qanday qilib ishonch hosil qilishni muhokama qilish nuqtasiga keldik. Endi har bir bosqichni batafsil ko'rib chiqamiz. Yuqorida biz to’g’ri tarqalishli aloqani ko'rib chiqqan edik. Bunda biz ketma-ket ma'lumotlarni kirish neyronlaridan chiqish neyronlariga uzatamiz. Shundan so'ng, biz xatoni hisoblab chiqamiz va unga asoslanib, orqaga qaytish qilamiz, bu neyron tarmog'ining vaznini ketma-ket o'zgartirish neyronning chiqish vaznidan boshlanadi. Vaznlar qiymatlari eng yaxshi natija beradigan teskari yo'nalish bo’yicha o'zgaradi. Bunda deltani topish usulidan foydalanish qulay, chunki bu eng sodda va tushunarli usul. Vaznlarni yangilashning stoxastik usulidan ham foydalanish mumkin (buni keyinroq ko’rib chiqamiz). Biz yuqorida NT to’g’ri tarqalishi natijasini va uning xatosini hisoblab chiqqanimiz uchun darhol teskari tarqalishli NTga o'tishimiz mumkin. Avval aytib o'tganimdek, algoritm har doim chiqish neyronidan boshlanadi. Bu holda, (14.3) formuladan foydalanib, uning uchun δ (delta) qiymatini hisoblaymiz. (14.3) Chiqish neyronida chiquvchi sinapslar bo'lmaganligi sababli biz birinchi formuladan foydalanamiz (δ chiqish), shuning uchun yashirin neyronlar uchun biz allaqachon ikkinchi formulani (δ yashirin) olamiz. Bu erda biz kerakli va olingan natija o'rtasidagi farqni hisoblaymiz va uni berilgan neyronning kirish qiymatidagi faollashuv funksiyasining hosilasiga ko'paytiramiz. Hisoblashlarni boshlashdan oldin, e'tiborni hosilaga qaratamiz. Birinchidan, teskari tarqalishli aloqalarda faqat differensiallash mumkin bo'lgan faollashtirish funksiyalaridan foydalanish kerak. Ikkinchidan, ortiqcha hisoblashlarni amalga oshirmaslik uchun, hosila formulasi shaklini yanada sodda formulasi bilan almashtirish mumkin: (14.4) Shunday qilib, O1 nuqta bo'yicha hisoblashlar quyidagicha bo'ladi. Echim. O1 neyron uchun hisoblashlar yakunlanadi. Ta’kidlaymizki, neyronning delta qiymatini hisoblab chiqqandan so'ng, ushbu neyrondan chiqadigan barcha sinapslarining vaznlarini zudlik bilan yangilash kerak bo’ladi. Ular O1da bo'lmaganligi sababli, yashirin darajadagi neyronlarga o’tiladi va xuddi shu jarayon amalga oshiriladi. Faqat bunda deltani hisoblash uchun (14.4) formuladan foydalaniladi. Uning mohiyati quyidagicha: neyronning kirishdagi qiymatining faollashuv funksiyasini hosilasini ushbu neyron bilan bog’langan barcha chiqishdagi vaznlar va deltalarga ko’paytmalarining yig’indisiga ko’paytirishdan iborat. Ta’kidalymizki, teskari tarqalishli aloqalarning mohiyati chiqishlardagi neyronlarning xatosini neyron tarmog'ining barcha oldingi vaznlariga tarqatishdan iboratdir. Xatolik faqat neronning chiqishida (delta miqdor) hisoblanadi. Binobarin, endi xatolik o'rniga neyrondan neyronga o'tadigan deltadan foydalaniladi. Bunday holda H1 uchun deltani topamiz. Echim. Endi har bir chiquvchi sinaps uchun gradientni topishimiz kerak Bu erda A nuqta sinaps boshidagi nuqta, B nuqta esa sinaps oxiridagi nuqta. Shunday qilib, w5 gradyanini quyidagicha hisoblashimiz mumkin: Echim. Endi bizda w5 vaznini yangilash uchun barcha kerakli ma'lumotlar mavjud va biz buni teskari tarqalishli aloqa funksiyasi tufayli amalga oshiramiz, bu esa u yoki bu vaznni o'zgartirish zarur bo'lgan miqdorni hisoblab chiqadi va quyidagicha amalga oshiriladi: Bu erda biz gradiyent tushish algoritmini ko'rib chiqishda qaralgan ikkita konstantani ko'ramiz: E (epsilon) - o'rganish tezligi, a (alfa) - moment. Formula quyidagi ma’noga ega: sinaps vaznining o'zgarishi - bu o'rganish tezligini (E) ushbu vazn gradientiga (GRAD w) ko’paytmasi va ushbu vaznning oldingi o’garishlarini (1-iteratsiyada 0 ga teng) momentga ko’paytmasini qo’shilganiga teng. Bu holda w5 vaznning o'zgarishini hisoblab chiqamiz va unga Δw5 qo'shib uning qiymatini yangilaymiz. Echim. Shunday qilib, algoritmni qo'llaganimizdan so'ng, vazn 0,063 ga oshdi. Endi H2 uchun xuddi shunday jarayon amalga oshiriladi. Echim. Albatta, I1 va I2 neyronlarning vazn sinapslari ham bor, ularni ham yangilash kerak. Lekin kirish neyronlari uchun deltalarni topish shart emas, chunki ularda kirish sinapslari mavjud emas. Echim. NTning chiqishi faqat yangilangan vaznlar bilan hisoblanadi. Teskari tarqalishli xatolikning bir marta takrorlanishidan so'ng, xatolikni 0,04 (6%) ga kamaytirishga muvaffaq bo'lindi. Endi buni xatolik etarlicha kichik bo'lguncha takrorlash kerak. Xatoliklaarni teskari tarqalishi. Chiqishdagi xatolikni qanday topishni ko’rib chiqqan edik: E = - (Y - y). Ammo yashirin qatlamlardagi xatolikni qanday topish mumkin? Chiqish bilan bog'liq xatolikni qanday qilib orqaga qaytarish kerak? Barcha ulanishlar uchun bitta chiqishdagi xatolik qiymatidan foydalanish noto’g’ri hisoblanadi. Xatolikning kattaligi bitta emas, balki barcha ulanishdagi neyronlarning hissalari bilan belgilanadi. Shunday qilib, biz qandaydir tarzda, ushbu xatolikni barcha tugunlar orasida, ularning qo'shgan hissalariga mutanosib ravishda taqsimlashimiz kerak. Ya'ni, xatolikning katta qismi ko'proq vaznga ega bo'lgan neyronlarga tegishli bo’ladi, chunki ular chishdagi xatolik miqdoriga ko'proq ta'sir qiladi. Bunday holda, chiqish neyronidagi signal ikkita oldinda turgan neyronlar tomonidan hosil bo'ladi. Ularning vaznlari mos ravishda 1 va 3 ga teng. Agar chiqishdagi xatolikni oldinda turgan neyronlarning vaznlarini hisobga olib ular ortasida mutanosib ravishda taqsimlaydigan bo'lsak, u holda kichikroq vaznga ega bo’lgan (w1,1=1) neyronni yangilash (to’g’rilash) uchun chiqishdagi xatolik qiymatining 1/4 qismini va katta vaznga ega bo’lganini (w1,2=3) yangilash uchun chiqishdagi xatolikning 3/4 qismi ta’minlash kerak bo’ladi. Agar biz tarmoqning chiqish neyroniga o'xshash tarzda bog'langan ming yoki undan ortiq neyronlarga ega ekanligini tasavvur qilsak, chiqadigan xatolikni ushbu ulanishlardagi neyronlar o'rtasida ularning ulushlariga mos keladigan vaznlarning kattaligi mutanosib ravishda taqsimlaymiz. Endi chiqishda neyronlar ko’p bo’lganda chiqishdagi xatoliklarni teskari tarqalish holatini ko'rib chiqamiz . Ko'rib turganimizdek, vaznlarni yangilash uchun o’quv jarayonida barcha neyronlarning chiqishidagi xatoliklar haqida ma'lumot kerak bo’ladi. Xuddi yuqoridagidek (14.8-rasm) chiqishdagi xatolik oldindagi tegishli neyronlarning vazn koeffitsientlariga mutanosib ravishda ko'paytiriladi. Bu holat NT bir nechta chishlardan iborat bo’lganda ham xuddi bitta chiqish bo’lgan holatdagidek amalga oshiriladi. Shunday qilib, e1 xatolik w1,1 va w1,2 ulanishlarga va e2 xatolik w2,1 va w2,2 ulanishlarga mutanosib ravishda taqsimlanadi (14.8-rasm). Matematik shaklda xatolik qiymatlari ulanishlar bo'yicha qanday taqsimlanganligini keltiramiz. Ushbu ifodalardan ko’rinadiki, chiqishdagi xatolikga ko'proq hissa qo'shgan neyronlar bu haqda ko'proq ulush olishini va aksincha, kichikroq hissa qo'shgan neyronlar kamroq ulush olishini bildiradi. Masalan, w1,1 = 1 va w1,2 = 3 vaznlarga ega bo'lsa, u holda w1,1 uchun e1 xatolikning ulushi: e1 =1/(1 + 3) = 1/4, boshqa w1,2 vazn uchun esa e1 =3/(1 + 3) = 3/4 bo’ladi. Qatlamlar orasidagi xatoni ko'paytirish. Agar ko'proq qatlamlar bo'lsa, chiqishdan kirishgacha harakat qilib, biz yuqoridagi amallarni har bir qatlam (qator) uchun takrorlaymiz.Kirish signallari oldinga yo'nalishda, yashirin qatlam neyronlarida tarqalganda, barcha signallarning yig'indisi va faollashtirish funksiyasidan so'ng boshqa ulanishlarning vaznlari bilan ko'paytirish natijasida bitta chiqish signali hosil bo'ladi. Xatoliklarni teskari tarqalishida yashirin qatlam neyronlaridagi xatoliklarni qanday aniqlash mumkin? Biz chiqishdagi xatolikni qanday aniqlashni bilamiz – bu maqsad va chiqish qiymatlari o'rtasidagi farqdan iborat bo’ladi. Yashirin qatlamda maqsad yoki kerakli chiqish qiymatlari mavjud bo’lmaydi. Ammo biz yashirin qatlamdagi neyronning barcha chiqadigan ulanishlari bo'yicha xatoliklarni jamlasak, uning umumiy qiymatini olamiz. Yuqoridagilardan w1,1 va w2,1 ulanish xatolarining yig'indisini e1ck deb olsak, u holda quyidagicha yozilish mumkin: Keling, xatolardan birining tarqalishini kuzataylik. Chiqish qatlamining birinchi neyronini olaylik. e1 xatolikning w1,1=1 va w1,2 = 2 vaznlari bilan ulanishlari orasidagi mos ravishda 0,23 va 0,47 ga teng qismlarini ko'ramiz. Buni quyidagicha hisoblaymiz: e1 * (w1,1 / (w1,1 + w1,2) = 0,7 * (1/(1 + 2)) = 0,23 e1 * (w1,2 /( w1,1 + w1,2) = 0,7 * (2/(1 + 2)) = 0,47 U holda yashirin qatlamning birinchi neyronidagi birlashtirilgan xatolik - bu taqsimlangan xatoliklar yig'indisi, bu holda 0,23 + 0,21 = 0,44. Ushbu usulni qo'llagan holda biz barcha neyronlar va qatlamlar uchun xatolikni bilib olamiz, bu esa barcha ulanishlarning vaznlarini kerakli nisbatda yangilashga imkon beradi. Matritsa shaklidagi xatoliklarning teskari tarqalish usuli. Teskari tarqalishli hisob- kitoblarini ancha soddalashtish mumkin. Signallarning to'g'ridan-to'g'ri tarqalishidagi kabi teskari tarqalishli hisob-kitoblarda ham matritsalardan foydalanish mumkin. Ushbu jarayonni tavsiflashga harakat qilaylik. Chiqishdagi xatolik quyidagicha ifodalanishi mumkin: Endi biz yashirin qatlamdagi xatolik matritsasini yaratishimiz kerak. Yashirin qatlamning birinchi neyronining xatoligi ikkita signal yig'indisidan hosil bo'ladi. Ushbu signallar: e1 * (w1,1 / (w1,1 + w1,2) va e2 * (w2,1 /( w2,1 + w2,2). Xuddi shunday yashirin qatlamning ikkinchi neyronining xatoligi ikkita signal yig'indisidan hosil bo'ladi. Ushbu signallar: e1 * (w1,2 / (w1,2 + w1,1) va e2 * (w2,2 /( w2,12+ w2,1) Endi biz ushbu amallarni matritsalarni ko'paytirish shaklida yozishimiz mumkin: Keyinchalik samarali hisoblash uchun biz ushbu jarayonni yanada soddalashtira olamiz. Agar biz ushbu ifodani to’g’ri tarqalishli signal shakldagi kabi qayta yozishga muvaffaq bo'lsak, faqat bunda xatolar signallar ko'rinishida paydo bo'ladi va teskari yo'nalishda ketadi, u holda biz katta afzalliklarga ega bo'lamiz. Buni qanday qilish kerak? Agar yuqoridagi ifodaga nazar tashlasangiz, siz xatolarning tarqalish kattaligida eng katta rolni e * wij chiqish xatoliklari va ular bilan bog'liq bo'lgan vaznlar ko’paytmasi o'ynayotganini sezasiz. Vazn qanchalik katta bo'lsa, xatolik ulushining qiymati shunchalik yashirin qatlamga uzatiladi. Shuning uchun, agar biz vaznlar matritsasi elementlaridagi maxrajni e'tiborsiz qoldirsak, unda umuman biz uchun juda muhim bo'lgan ulanish qiymatlaridan xatolik tarqalishining mutanosibligi saqlanib qoladi, biz faqat mashtalashni yo’qotamiz - bu esa unchalik qo'rqinchli emas. Shunday qilib, vazn matritsasining birinchi elementi misolida e1*(w1,1 / (w1,1+w1,2)) ifodasini e1*w1,1 ga soddalashtirish mumkin. Natijada biz quyidagi ifodani olamiz: Aslida, biz ilgari qurgan vaznlar matritsasini oldik, ammo endi u teskari. Yuqoridagi o'ng element pastki chapga aylanadi va aksincha. Agar siz ushbu matritsaga transponirlashni qo'llasangiz, unda hamma narsa o'z joyiga tushadi. Endi biz o'z maqsadimizga erishdik. Endi xatolikni orqaga qaytarish uchun matritsali yondashuvni qo'llashimiz mumkin: NEYRAL TARMOQLAR TASNIFI NEYRAL TARMOQLAR TANIFI Bosh sahifa Analitik hal qiluvchi maʼlumotlarni onlayn qazib olish. YordamData MiningClassify Kirish Sun'iy neyron tarmoqlar - bu miyaning neyron tuzilishiga asoslangan neyronlarning nisbatan qo'pol elektron tarmoqlari. Ular bir vaqtning o'zida yozuvlarni qayta ishlaydilar va yozuvning tasnifini (ya'ni, asosan o'zboshimchalik bilan) yozuvning ma'lum haqiqiy tasnifi bilan solishtirish orqali o'rganadilar. Birinchi yozuvning dastlabki tasnifidagi xatolar tarmoqqa qaytariladi va keyingi iteratsiyalar uchun tarmoqlar algoritmini o'zgartirish uchun ishlatiladi. Sun'iy neyron tarmog'idagi neyron 1. Kirish qiymatlari to'plami (xi) va tegishli og'irliklar (wi). 2. Og‘irliklarni yig‘uvchi va natijalarni (y) natijaga keltiruvchi funksiya (g). Neyronlar qatlamlarga bo'lingan: kirish, yashirin va chiqish. Kirish qatlami to'liq neyronlardan iborat emas, balki oddiygina neyronlarning keyingi qatlamiga kirish bo'lgan yozuv qiymatlaridan iborat. Keyingi qatlam yashirin qatlamdir. Bitta neyron tarmog'ida bir nechta yashirin qatlamlar mavjud bo'lishi mumkin. Yakuniy qatlam chiqish qatlami bo'lib, bu erda har bir sinf uchun bitta tugun mavjud. Tarmoq bo'ylab bir marta oldinga siljish natijasida har bir chiqish tuguniga qiymat tayinlanadi va yozuv eng yuqori qiymatga ega bo'lgan sinf tuguniga tayinlanadi. Sun'iy neyron tarmog'ini o'rgatish Trening bosqichida har bir yozuv uchun to'g'ri sinf ma'lum (nazorat ostidagi trening deb ataladi) va chiqish tugunlariga to'g'ri qiymatlar berilishi mumkin -- to'g'ri sinfga mos keladigan tugun uchun 1, qolganlari uchun 0. (Amalda, mos ravishda 0,9 va 0,1 qiymatlari yordamida yaxshiroq natijalar topildi.) Shunday qilib, tarmoqning chiqish tugunlari uchun hisoblangan qiymatlarini ushbu to'g'ri qiymatlar bilan solishtirish va har bir tugun uchun xato muddatini hisoblash mumkin (Delta qoidasi). ). Keyinchalik bu xato atamalar yashirin qatlamlardagi og'irliklarni sozlash uchun ishlatiladi, umid qilamanki, keyingi iteratsiya paytida chiqish qiymatlari to'g'ri qiymatlarga yaqinroq bo'ladi. Ansambl usullari XLMiner V2015 Neyron tarmoqlari bilan foydalanish uchun ikkita kuchli ansambl usulini taklif qiladi: yuklash (bootstrap yig'ish) va kuchaytirish. Neyron tarmog'i algoritmi o'z-o'zidan yangi ma'lumotlarning yaxshi tasniflanishiga olib keladigan bitta modelni topish uchun ishlatilishi mumkin. Bizning modelimiz ma'lumotlarga mos keladimi yoki yo'qligini bilish uchun joriy tasniflagichning statistik ma'lumotlari va chalkashlik matritsalarini ko'rishimiz mumkin, ammo topilishini kutayotgan yaxshiroq tasniflagich bor yoki yo'qligini qanday bilamiz? Javob shundaki, biz yaxshiroq tasniflagich mavjudligini bilmaymiz. Biroq, ansambl usullari bizga bir nechta zaif neyron tarmoq tasniflash modellarini birlashtirishga imkon beradi, ular birgalikda qabul qilinganda yangi, aniqroq kuchli tasniflash modelini tashkil qiladi. Ushbu usullar turli xil tasniflash modellarini yaratish, asl ma'lumotlar to'plamining turli namunalarini olish va keyin ularning natijalarini birlashtirish orqali ishlaydi. (Chiqishlar bir nechta usullar bilan birlashtirilishi mumkin, masalan, tasniflash uchun ko'pchilik ovoz va regressiya uchun o'rtacha.) Modellarning bu kombinatsiyasi kuchli modeldagi tafovutni samarali ravishda kamaytiradi. XLMiner-da taklif qilingan ikki xil ansambl usullari (to'plash va kuchaytirish) uchta moddada farqlanadi: 1) har bir tasniflagich yoki zaif model uchun o'quv ma'lumotlarini tanlash; 2) zaif modellar qanday yaratiladi; va 3) natijalar qanday birlashtirilganligi. Har uch usulda har bir zaif model ma'lumotlar to'plamining ma'lum bir qismida malakali bo'lish uchun butun Trening to'plamida o'qitiladi. Bagging (bootstrap aggregating) yoziladigan birinchi ansambl algoritmlaridan biri edi. Bu oddiy algoritm, lekin juda samarali. Bagging almashtirish bilan tasodifiy tanlab olish (bootstrap sampling) yordamida bir nechta Trening to'plamlarini yaratadi, har bir ma'lumotlar to'plamiga tasniflash algoritmini qo'llaydi, so'ngra yangi ma'lumotlar tasnifini aniqlash uchun modellar orasida ko'pchilik ovoz oladi. Qoplashning eng katta afzalligi algoritmni parallellashtirishning nisbiy qulayligidir, bu uni juda katta ma'lumotlar to'plamlari uchun yaxshiroq tanlash imkonini beradi. Boosting oldingi modellardagi noto'g'ri tasniflangan yozuvlarga e'tibor qaratish uchun modellarni ketma-ket o'rgatish orqali kuchli modelni yaratadi. Tugallangandan so'ng, barcha tasniflagichlar ko'pchilik ovoz bilan birlashtiriladi. XLMiner AdaBoost algoritmi (hozirgi kunda qo'llaniladigan eng mashhur ansambl algoritmlaridan biri) tomonidan amalga oshirilgan kuchaytirishning uch xil variantini taklif qiladi: M1 (Freund), M1 (Breiman) va SAMME (Ko'p sinfli eksponensial yordamida bosqichli qo'shimcha modellashtirish). Adaboost.M1 birinchi navbatda har bir yozuv yoki kuzatuv uchun vazn (wb(i)) belgilaydi. Ushbu vazn dastlab 1/n ga o'rnatiladi va algoritmning har bir iteratsiyasida yangilanadi. Ushbu birinchi o'quv majmuasi (Tb) yordamida original tasniflash modeli yaratiladi va xatolik quyidagicha hisoblanadi: Adaboost formulasi Bu erda I() funksiyasi rost bo'lsa 1 ni, bo'lmasa 0 ni qaytaradi. b- iteratsiyadagi tasniflash modelining xatosi ?b doimiysini hisoblash uchun ishlatiladi. Bu konstanta vaznni yangilash uchun ishlatiladi (wb(i). AdaBoo-da Chuqur o‘qitish (Deep learning) sun‟iy neyron tarmoqlarga asoslangan mashinani o„qitish usullarining kengroq oilasining bir qismidir. Chuqur o„qitishda kompyuter modelida to„g„ridan-to„g„ri tasvirlar, matn yoki tovushdan tasniflash vazifalarini bajarishni o„rganadi[5]. Chuqur o„qitish modellari eng zamonaviy aniqlikka erishishi mumkin, ba‟zan esa inson darajasidan oshib ketadi. Modellar etiketli ma‟lumotlarning katta to„plami va ko„plab qatlamlarni o„z ichiga olgan neyron tarmoq arxitekturasi yordamida o„qitiladi. Ba‟zi manbaalar ta‟kidlashicha, Frank Rosenblatt bugungi kundagi chuqur o„qitish tizimlarining barcha asosiy tarkibiy qismlarini ishlab chiqqan va o„rgangan[7]. U buni 1962 yilda Kornell universiteti tomonidan nashr etilgan "Neyrodinamika tamoyillari: Perseptronlar va miya mexanizmlari nazariyasi" kitobida tasvirlab bergan[2]. Chuqur neyron tarmoqlari bu Deep Learning modellarida ishlatiladigan asosiy texnologik arxitekturani tashkil etuvchi tushuncha. Ushbu tuzilmalarni sun'iy aql uchun asos bo'lgan sun'iy neyron tarmoqlarining umumiy g'oyasini tushunmasdan tushunib bo'lmaydi. Neyron tarmoqlari ming narsada ishlatiladi: davlat raqamlarini, qo'shiqlarini, yuzlarini, ovozini yoki hatto oshxonamizning mevalarini tanib olish. Ular, ayniqsa, foydali texnologiya bo'lib, ular yaqinda amaliy bo'lgan bo'lsa-da, ular insoniyat kelajagini tashkil qiladi. Keyingi keling, sun'iy neyron tarmoqlari g'oyasini chuqur ko'rib chiqaylik, ular qanday ishlashini, qanday o'qitilganligini va ularni tashkil etuvchi turli neyronlarning o'zaro ta'siri qanday bo'lishini tushunish. Regressiya — (matematikada) biror (u) tasodifiy miqdor oʻrta qiymatining boshqa bir tasodifiy miqdoriga bogʻlikligi. Funksional bogʻlanishda miqdorning har bir qiymatiga u miqdorning bitta qiymati mos kelsa, regressiv bogʻlanishda x ning x qiymatiga turli hollarda turli qiymatlar mos keladi. R. tushunchasi faqat tasodifiy miqdorlar uchun emas, tasodifiy vektorlarga nisbatan ham kiritiladi. R. terminini ingliz olimi F.Galton kiritgan (1886). R. tabiat va jamiyat hodisalarini oʻrganishda muhim matematik vosita hisoblanadi. Korrelyatsiya – bu lotincha so'z bo'lib aloqadorlik, bog’liqlik degan ma'noni anglatadi. Xodisa va belgilar orasidagi bog’lanish funktsional va korrelyatsion bo'lishi mumkin. Funktsional bog’lanish – xodisalar o'rtasidagi g’at'iy bog’lanish bo'lib, bir belgining o’zgarishi bilan unga bog’liq ikkinchi belgining majburan ma'lum bir kattalikka o’zgarishiga olib keladi. Masalan: aylanani radiusi o’zgarsa, uning maydoni ham o’zgaradi. Korrelyatsion bog’lanish – o'rganilgan belgining ma'lum bir kattaligiga u bilan bog’liq ikkinchi bir belgining bir necha kattaliklarini mos kelishidir. Tana og’irligi va bo'y uzinligi bog’liqligi korrelyatsion bog’lanishga misol bo'la oladi. Agarda bo'yi bir xil bo'lgan bolalarni tana vaznini o'lchasak, u har xil bo'ladi va ma'lum bir amplitudada tebranadi. Chunki, tana vazniga faqat bo'yi emas balki, ovqatlanish, salomatlik va asab-ruhiy xolat ham ta'sir etadi. Xodisa va belgilarning uzviy bog’liqligini o'lchash va baholash haqida tasavvurini berish uchun korrelyatsiya koeffitsienti hisoblanadi. Regressiya tenglamasi va regressiya chizig‘iKorrelyatsion bog‘liqlik ta’rifini aniqlashtiramiz, buning uchun shartli о‘rtacha qiymat tushunchasini kiritamiz. Shartli о‘rtacha qiymat deb, Y tasodifiy miqdorning X=x qiymatiga mos qiymatlarining arifmetik о‘rtacha qiymatiga aytiladi. Masalan, X miqdorning x1=2 qiymatiga Y miqdorning y1=3, y2=5, y3=6, y4=10 qiymatlari mos kelsin. f(x) va funksiyalar- regressiya funksiyalari, ularning grafiklari esa regressiya chizig‘i deyiladi. Korrelyatsion nazariyasining asosiy masalalaridan biri korrelyatsion bog‘lanish shaklini aniqlash, ya’ni uning regressiya funksiyasi kо‘rinishini (chiziqli, kvadratik, kо‘rsatkichli va hokozo) topishdan iborat. Regressiya funksiyalari kо‘p hollarda chiziqli bо‘ladi. Ikkinchi masala korrelyatsion bog‘lanishning zichligi (kuchi)ni aniqlash. Logistik regressiya tushunchasi va ularning mashinali o'qitishda qo'llanilishi Logistik regression (logistik regression) - ob'ektlarning sinflarga tegishli bo'lgan havoriy (апостериорные) ehtimolligini baholashga imkon beruvchi chiziqli tasnifni (классификатор) yaratish usuli. n-sonli belgilar bilan tasvirlansin Unda ob'ektlarning xarakterli tavsiflari maydoni . Y — sinflarning son-sanoqsiz sonlari (nomlari, teglari) bo'lsin. "Ob'ekt, javob" juftligini o'qitish namunasi berilsin Logistik regressiyasi maqsadli o'zgaruvchining ehtimolligini taxmin qilish uchun ishlatiladigan nazorat ostida o'quv tasnifi algoritmidir. Maqsad yoki qaram o'zgaruvchining tabiyati dixotomikdir, ya'ni faqat ikkita mumkin bo'lgan sinf bo'ladi. Qisqacha aytganda, qaram o'zgarmaydigan ikkilik xususiyatga ega va (muvaffaqiyat / ha degan ma'noni anglatadi) yoki 0 (rad etish / yo'q degan ma'noni anglatadi) sifatida kodlangan ma'lumotlarga ega. Matematik tarzda, logistik regressiyasi modeli p (Y = 1) ni x funktsiyasi sifatida bashorat qiladi, bu spamni aniqlash, diabetni prognoz qilish, saratonni aniqlash va h. K. kabi turli xil tasniflash vazifalari uchun ishlatilishi mumkin bo'lgan eng oddiy ML algoritmlaridan biridir. Logistika regressiyasi – bu o'zgaruvchilar o'rtasidagi bog'liqlikni aniqlashning bir u suli bo'lib, ulardan biri qat'iy qaram va boshqalar mustaqildir. Buning uchun logistika funktsiyasi (qayta ishlaydigan logistika taqsimoti) qo'llaniladi. Logistika regressiyasining amaliy ahamiyati shundaki, u bir yoki bir nechta mustaqil o'zgaruvchini o'z ichiga olgan voqealarni bashorat qilishning kuchli statist ik usuli hisoblanadi. Bu quyidagi hollarda talab qilinadi: Logistik regressiyasi turlari . Odatda, logistika regressiyasi ikkilik maqsadli parametrlarga ega bo'lgan ikkilik logistika regressiyasini anglatadi, ammo maqsadli o'zgaruvchilarning yana ikkita toifasi tomonidan prognoz qilinishi mumkin. Ushbu toifadagi toifalarga asoslanib, logistik regressiya quyidagi turlarga bo'linishi mumkin Ikkilik yoki binomial Ushbu turdagi tasniflashda qaram o'zgaruvchining faqat ikkita turi mavjud: 1 va 0. Misol uchun, bu o'zgaruvchilar muvaffaqiyat yoki muvaffaqiyatsizlikni, ha yoki yo'q, g'alaba yoki yo'qotishni va boshqalarni ifodalaydi. Polinomial Ushbu tasniflash shaklida qaram o'zgarmaydigan 3 yoki undan ko'p sonli tartibsiz t urlarga yoki miqdoriy ahamiyatga ega bo'lmagan turlarga ega bo'lishi mumkin. Misol uchun, bu o'zgaruvchilar "a turi" yoki "b turi" yoki "C turi"ni ifodalaydi. Tartib Ushbu tasniflash shaklida qaram o'zgarmaydigan 3 yoki undan ko'p buyurtma turlari yoki miqdoriy ahamiyatga ega bo'lgan turlarga ega bo'lishi mumkin. Misol uchun, bu o'zgaruvchilar "yomon" yoki "yaxshi", "juda yaxshi", "yaxshi" va har bir toifadagi 0,1,2,3 kabi ballar bo'lishi mumkin. Ikki tomonlama logistik regressiyasi modeli. Logistika regressiyasining eng oddiy shakli ikkilik yoki binomial logistika regressiyasi bo'lib, unda maqsadli yoki qaram o'zgaruvchining faqat 2 turi bo'li- shi mumkin: 1 yoki 0. Logistik regressiyasining yana bir foydali shakli-maqsad yoki qaram o'zgaruvchining 3 yoki undan ko'p tartibsiz turlarga, ya'ni miqdoriy ahamiyatga ega bo'lmagan turlarga ega bo'lishi mumkin bo'lgan polinomial logistik regressiyasi. Logistik regressiya bu o'zgaruvchilardan o'zaro bog'liqlikni aniqlash usulidir, ulardan biri qat'iyan bog'liq, boshqalari esa mustaqil. Buning uchun logistik funksiyadan (akkumulyativ logistik taqsimot) foydalaniladi. Logistik regressiyaning amaliy qiymati shundaki, u bir yoki bir nechta mustaqil o'zgaruvchini o'z ichiga olgan voqealarni bashorat qilishning kuchli statistik usuli hisoblanadi. Xulosa Sun'iy neyron tarmog'i (ANN) - bu inson miyasini axborotni tahlil qilish va qayta ishlash usulini taqlid qilishga mo'ljallangan hisoblash tizimining bir qismi. Bu sun'iy intellekt (AI) ning asosidir va inson yoki statistik standartlar tomonidan imkonsiz yoki qiyin bo'lishi mumkin bo'lgan muammolarni hal qiladi. ANN-lar o'z-o'zini o'rganish qobiliyatiga ega, bu esa ko'proq ma'lumot paydo bo'lishi bilan yanada yaxshi natijalarga erishish imkonini beradi. Foydalanilgan adabiyotlar 1. Горбань А.Н. Обучение нейронных сетей. М.: изд-во СССР-США СП “ParaGraph”, 1990. 160 с. 2. Розенблатт, Ф. Принципы нейродинамики: Перцептроны и теория механизмов мозга = Principlesof Neurodynamic: Perceptron sand the Theory of Brain Mechanisms. -М.: Мир, 1965. -480 с. 3. Hopfield J.J. Neural networks and physical systems with emergent collective computational abilities // Proc. Nat. Acad. Sci. USA. 1982. Vol. 79. P.2554-2558. 4. Башмаков А.И., Башмаков И.А.Интеллектуальные информatsiонные технологии: Учеб.пособие. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2005. - 304 с : ил. - (Информатика в техническом университете). ISBN 5-7038-2544-Х. 5. Галушкин А.И. Теория нейронных сетей. Кн. 1: Учебное пособие для вузов.-М.: ИПРЖР, 2000. -416 с. 6. Комарцова Л.Г., Максимов А.В. Нейрокомпьютеры: Учеб. пособие для вузов. -М.: Изд-во МГТУ им. Н.Э. Баумана, 2002. -320 с. 7. Компьютеры и мозг [Электронный ресурс] / А.А. Ежов, С.А. Шумский. - Электрон, текстовые дан. (416768 байт). -М.: Компания «НейрОКИнтелсофт», 1999. -Режим доступа: http: //www.neurok.ru/pub/archive/cb.zip. 8. Уоссерман Ф. Нейрокомпьютерная техника. -М.: Мир, 1992. 9. Галушкин А.И. Нейрокомпьютеры. Кн. 3: Учебное пособие для вузов. - М.:ИПЖР, 2000. -528 с. 10. Галушкин А.И. Теория нейронных сетей. Кн. 1: Учебное пособие для вузов. -М.: ИПРЖР, 2000. -416 с. Download 0.55 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling