2. Regulyarizatsiya uchun ishlatiladigan ba'zi usullar
Download 23.06 Kb.
|
1 2
Bog'liqO\'qitish jarayonida regulyarizatsiyalash
O'qitish jarayonida regulyarizatsiyalash Reja: 1. Regulyarizatsiyalash tushunchasi. 2. Regulyarizatsiya uchun ishlatiladigan ba'zi usullar. 3. Neyron tarmoqlarni regulyarizatsiyalash. 4. Logistik regressiya va uni tartibga solish. 5. Foydalanilgan adabiyotlar. Regulyarizatsiya (англ. regularization) (tartibga solish)- statistikada, mashinani o'rganishda, teskari vazifalar nazariyasida-noto'g'ri vazifani hal qilish yoki qayta o'qitishni oldini olish uchun vaziyatga qo'shimcha cheklovlar qo'shish usuli. Ko'pincha, bu ma'lumot modelning murakkabligi uchun jarima shakliga ega. Regulyarizatsiya shuningdek, neyron tarmoqlarda ham juda katta tarmoq og'irliklari va qayta o'qitish bilan kurashish uchun ishlatiladi. Biroq, bu holda, L1-regulyator yordamida koeffitsientlarni nollash chiziqli modellarda bo'lgani kabi, "belgilarni tanlash" ma'nosini ham o'z ichiga olmaydi. Afsuski, regulyarizatsiya parametrlarning sonini kamaytirmaydi va tarmoq tuzilishini soddalashtirmaydi. Neyron tarmog'i uchun ampirik xavfga nisbatan jazo muddatini qo'shib qo'yishdan tashqari, qayta o'qitishga qarshi kurashning yana bir usuli — tarmoqni yupatish (ingliz tili. xato funktsiyasi o'zgarmaydi bo'lsa, tarmoq yanada soddalashtirish mumkin — qoida asosida, tarmoq soddalashtirish qaysi davomida dropout). Regulyarizatsiya qayta jihozlashni kamaytirish orqali modellarni yanada foydali qilishi mumkin. Regulyarizatsiya sizning neyron tarmoqingizning ish faoliyatini sezilarli darajada oshirishi, qayta jihozlashni kamaytirish mumkin. Qayta o'qitish-bu neyron tarmoq umumiy qo'llaniladigan principlarni o'rganish o'rniga ta'lim ma'lumotlarining noyob xususiyatlarini (masalan, o'quv ma'lumotlarining shovqini) yodlashni boshlaydigan bir hodisa. "Qayta o'qitish" modeli o'quv ma'lumotlarida yuqori ko'rsatkichlarga ega bo'ladi, ammo sinovdan o'tgan ma'lumotlarning yomon ishlashi, ya'ni bu model haqiqiy dunyoda foydali bo'lmaydi, chunki u hech qachon ko'rmagan ma'lumotlarga yaxshi ishlamaydi oldin. Neyron tarmoq modellarining butun nuqtasi yangi ma'lumotlar bilan haqiqiy muammolarni hal qilishdir, chunki biz deyarli foydali modelni olish uchun qayta jihozlashdan qochmoqchimiz. Sinflash vazifasida qayta jihozlash misoli: Ushbu sinflash vazifasida biz qizil nuqtalarni ko'kdan ajratib turadigan chiziqni o'rganishni istaymiz. Qora chiziq kosmosdagi ko'k va qizil nuqtalarning joylashuvining umumiy tamoyilini aks ettiradigan yaxshi tasniflovchi hisoblanadi. Yashil chiziq qizil va ko'k nuqtalarning aniq o'quv to'plamiga juda xos bo'lganligi sababli, qayta jihozlashdan ta'sirlangan tasnifni ifodalaydi. Yashil klassifikator chizig'i ko'zga ko'rinmas testlar to'plamida qanchalik yomon ishlayotganiga e'tibor bering, hatto ko'zga ko'rinmas testlar to'plami ko'k va qizil nuqtalarning umumiy joylashuvi sxemasiga mos keladi. Shuni ham ta'kidlash kerakki, hech qanday qoplamaga ega bo'lmagan qora chiziq hali ham sinov to'plamida yaxshi ishlaydi: Qayta jihozlashning eng haddan tashqari versiyasi qachon sodir bo'ladi neyron tarmoqbuning barcha mashg'ulotlariga mos keladi. Bu neyron tarmoq juda ko'p parametrlarga ega bo'lganda va juda uzoq vaqt davomida o'qitilganda sodir bo'lishi mumkin. Regulyarizatsiya ta'lim algoritmiga barqarorlikni qo'shib, ma'lumotlar va o'quv jarayonlariga nisbatan kamroq sezgir bo'ladi. Bizning baholash funktsiyamizni taqqoslash uchun biz foydalana oladigan haqiqiy xususiyatni bilmasligimiz yoki bilmasligimiz sababli, eng yaxshi strategiya o'quv ma'lumotlariga (qayta jihozlash) juda yaxshi mos keladigan juda murakkab modelni yaratish va uni tartibga solishdir. Tartibga solishdan foydalanib, biz umumlashma xatosini kamaytirishga harakat qilamiz va bu jarayonda o'rganish xatosining oshishiga olib kelishi mumkin va bu odatiy holdir, chunki biz modelning qanchalik yaxshi umumlashtirilishiga qiziqamiz. Regularizatsiya yordamida biz juda murakkab modelni qaytarib olishga harakat qilmoqdamiz, bu esa yaxshi modelga qayta moslashishga, ofsetlarni oshirishga va farqni kamaytirishga olib keladi. Bu murakkab modeldagi katta parametrlarga ega bo'lgan va oddiy model kichik parametrlarga ega bo'lgan taxminga asoslanadi. Regulyarizatsiya-qayta jihozlashni bartaraf etishning samarali usuli. Haqiqiy ma'lumot taqsimotini bilmasligimiz sababli, ampirik taqsimotga asoslangan ampirik xavf qayta o'qitishga moyil. Shunday qilib, eng yaxshi strategiya, albatta, ta'lim ma'lumotlariga juda mos keladi va keyin modelni yaxshi umumlashtirishi uchun Regulyarizatsiya usulini qo'llaydi. L2 parametrini tartibga solish, Dropout bilan birga, mashinani o'rganishda eng ko'p ishlatiladigan regulyarizatsiya usullari hisoblanadi. 2. Regulyarizatsiya uchun ishlatiladigan ba'zi usullar L2 parametrini regulyarizatsiya: shuningdek, vazn yo'qotish sifatida ham tanilgan, bu usul L2 me'yorini og'irlik stavkalarini boshlang'ich nuqtaga olib kelish uchun maqsadli funkciyaga qo'shib qo'yadi. Bu usul noldan bir xil nisbatda barcha og'irliklari kesadi-da; ammo, bu aniq nol bo'lishi uchun hech qanday vazn bor hech qachon. L1 (Lasso) parametrini regulyarizatsiya: bu funktsiyani tanlash usuli sifatida qaralishi mumkin, chunki; l2ni tartibga solishdan farqli o'laroq, ba'zi og'irliklar aslida nolga teng bo'ladi. L1 me'yorini maqsadli funktsiyaga qo'shib, barcha og'irliklarni bir xil miqdorda kamaytiradi. Chiqish: otpusk qoplarga qadoqlash texnikasi bir yondashuv sifatida qaralishi mumkin. Har bir yinelemede tasodifiy ravishda har bir qatlamda ba'zi neyronlarni o'chirib qo'yamiz va bu neyronlarni to'g'ridan-to'g'ri va teskari tarqatishda ishlatmaymiz. Bu neyron tarmog'ini og'irliklarni taqsimlashga va muayyan neyronlarga e'tibor bermaslikka olib keladi, chunki u har bir iteratsiyada qaysi neyronlarning paydo bo'lishini hech qachon bilmaydi. Shunday qilib, bu har bir iteratsiya bo'yicha turli modellarni o'qitish sifatida qaralishi mumkin. Bundan tashqari, biz har bir iteratsiya bo'yicha bir nechta neyronlarni olib tashlaganimiz sababli, bu tarmoqning pasayishiga olib keladi, bu esa o'z navbatida tarmoqni soddalashtirishni anglatadi. Kattalashtirish: ta'lim misollarini ishlatib, noto'g'ri ma'lumotlarni qo'shing va tasvirni tanib olishda o'lchovni o'zgartirish va tasvirni aylantirish kabi buzilishlarni qo'shing. Fikr, yaxshi ishlashga erishish uchun modelni ko'proq ma'lumotlarga o'rgatish har doim ham yaxshi. Shuni esda tutingki, ilg'or misollar modelga mustaqil misollar sifatida juda ko'p ma'lumot qo'shmaydi, ammo bu ko'proq ma'lumotni yig'ish mumkin bo'lmaganda hali ham to'g'ri alternativ. Erta to'xtash: bu usul xarajat funkciyasini optimallashtirishga va uni tartibga solishga harakat qiladi, shuning uchun u kamroq umumlashma xatosiga ega. Bu har bir iteraciya bo'yicha tasdiqlash xatosini yozib olish uchun ishlaydi. Tekshirish xatosi yaxshilansa, biz parametrlarning nusxasini saqlaymiz va optimallashtirish algoritmi tugamaguncha davom etamiz. Hisoblash vaqti va resurslari biz uchun muammo bo'lsa, bu yaxshi usul. Biz L2 parametrlarini tartibga solishni ko'rib chiqamiz. L2 parametrini regulyarizatsiyalash. Odatda biz ofsetlarni tartibga solmaymiz va faqat og'irliklarni tuzatmaymiz. Hessen matritsasidan va o'z qadriyatlaridan va o'z vektorlaridan vazn yo'qotishining sezuvchanligini ko'rish uchun foydalanishimiz mumkin. Wi ning og'irligi (λi / λi + α) bilan o'zgartiriladi, bu erda λi (o'z qiymati) bu yo'nalishda Gessian matritsasining sezuvchanligini (o'z vektori) va a tartibga soluvchi giperparametrni o'lchaydi. Shuning uchun, Agar λi ≫ α a qiymati funktsiyasi bu yo'nalishda juda sezgir bo'lsa va tegishli og'irlik xarajatlarni sezilarli darajada kamaytirsa - juda kam (qisqaradi). Agar λi≪ α a qiymati funktsiyasi bu yo'nalishda sezgir bo'lmasa va tegishli og'irlik qiymatning sezilarli pasayishiga olib kelmasa, u nolga kamayadi (kamayadi). Keyin maqsadli funktsiya (ikkilik o'zaro faoliyat entropiya) o'zgaradi: Uchun: Bundan tashqari, yangi gradyanlar va yangilanish tengligi bo'ladi: Shuni esda tutingki, bu erda a-o'rganish tezligi va λ -tartibga soluvchi giperparametr. λ oshgani sayin, quyidagi ekstremal holatlar bilan ofset kuchayadi (va model kamroq moslashuvchan bo'ladi) (qarang: shakl 2): λ = 0, tartibga solinmagan holda. λ → ∞, model juda oddiy bo'lib, barcha og'irliklar aslida nolga teng. Regressiya holatida biz faqat maqsadli o'zgaruvchining o'rtacha qiymatiga teng bo'lgan ushlashni olamiz. Ba'zan L2 parametrining regulyatsiyasi normal tenglama yordamida qanday ishlashini ko'rish foydali bo'ladi. Oddiy talab: Bu degani: Dispersiyaga λ qo'shilishi vazni kamaytiradi X ^ TX qayta tiklanmasa ham, har bir funktsiyaga λ qo'shilishi uni to'liq darajadagi matritsaga aylantiradi. Regulyarizatsiyabizni umumlashma xatosini kamaytirishga qanday yordam berishini ko'rsatish uchun cats_vs_dogs ma'lumotlar to'plamidan foydalanamiz. Ma'lumotlar to'plamida mushuk va itlar uchun tasvirlar mavjud. Rasmda mushuk yoki it borligini sinflash uchun neyron tarmoqni yaratishga harakat qilamiz. Har bir tasvir RGB o'lchamida 64 x 64 pikselga ega. Biz yozgan xususiyatlardan foydalanamiz "neyron kodlash tarmog'i - to'g'ridan- to'g'ri tarqatish va teskari tarqatish" parametrlarni ishga tushirish, to'g'ridan-to'g'ri tarqatishni hisoblash, o'zaro faoliyat entropiya, gradyanlar va boshqalar. Keling, ma'lumotlarni import qilaylik va shaklni, shuningdek, o'quv to'plamidan mushukning namunasini ko'rib chiqaylik. O‘qitish ma’lumotlar o‘lchamlari: O‘lcham X: (12288, 209), o‘lcham Y: (1, 209) Test ma’lumotlar o‘lchamlari: Hajmi X: (12288, 50), hajmi Y: (1, 50) O'quv to'plamida 209 ta misol va test to'plamida 50 ta misol mavjud. Keling, ko'p qatlamli neyron tarmoqni yozishga yordam beradigan barcha yordamchi funktsiyalarni yozamiz. L2 va L1 parametrlarini regulyarizatsiya kabi regulyarizatsiya usullarining bevosita taxminlaridan biri parametrlarning qiymati nolga teng bo'lishi va barcha parametrlarni nolga kamaytirishga harakat qilishdir. Bu shuni anglatadiki, ta'lim ma'lumotlariga juda yaxshi amal qilishdan qochish kerak, bu esa o'quv algoritmini ko'rinmas ma'lumotlarga nisbatan foydasiz bo'lgan ba'zi shovqinlarni ta'kidlashga olib keladi. Neyron tarmoqlarni regulyarizatsiyalash Birinchidan, tartibga solinmagan holda neyron tarmoqni quramiz, keyin regulyarizatsiyabilan, qaysi biri kamroq umumlashma xatosiga ega ekanligini ko'rishimiz mumkin. λ eng yaxshi natijalarni olish uchun moslashtirilishi kerakligini unutmang, lekin bu erda kontseptsiyani ko'rsatish uchun o'zboshimchalik bilan qiymatni tanlaymiz. Har ikki neyron tarmoqlari bo'ladi 2 har bir yashirin qatlami bor qaerda yashirin qatlamlari 5 ta. # Qatlam ulchamlarini sozlash layer_dims=X_train. shape0,5,5,1 # poezd NN parametrlar = model_with_regularization (X_train, Y_train, layer_dims, learning_rate=0,03, num_epochs=2500, print_cost =True, hidden_layers_activation_fn="tanh", lambd=0) print (« O‘qitishning aniqlik darajasi: {}». format (aniqlik (X_train, parametrlar, Y_train, «tanh»)-7:)) print («Testning aniqlik darajasi: {}». format (aniqlik (X_test, parametrlar, Y_test, «tanh») -7:)) Narxi 100 iteratsiyadan so‘ng: 0.6555634398145331 Narxi 200 iteratsiyadan so‘ng: 0,6467746423961933 Narxi 300 iteratsiyadan so‘ng:0.6446638811282552 Narxi 400 iteratsiyadan so‘ng: 0.6441400737542232 O‘qitishning aniqlik koeffitsienti: 82,30%. Testning aniqligi:78,00%. Treningning aniqligi 82,30%, sinov aniqligi esa 78%. Ta'lim va test aniqligi o'rtasidagi farq juda katta emas, ya'ni bizda juda ko'p narsa yo'q. Shuning uchun, kichik Regulyarizatsiyayordam berishi mumkin, masalan λ = 0,02. Amaliyotlarni tavsiya etadigan ls qiymatlari: 0,02, 0,04, 0,08, 0,16, 0,32, 0,64, 1,28, 2,56, 5,12, 10,24. #Poezd NN s regulyarizatsiey parametrlar = model_with_regularization (X_train, Y_train,layer_dims,learning_rate=0,03,num_epochs=2500,print_cost = True, hidden_layers_activation_fn = "tanh", lambd = 0,02)print («O‘qitishning aniqlik darajasi: {}». format (aniqlik (X_train, parametrlar,Y_train,«tanh»)-7:)) print («Testning aniqlik darajasi: {}». format (aniqlik (X_test,parametrlar,Y_test,«tanh») -7:)) Narxi 100 iteratsiyadan so‘ng: 0.6558634554205135 O‘qitishning aniqligi: 65,55%. Testning aniqligi: 80,00%. Yuqorida keltirilgan natijalar shuni ko'rsatadiki, biz 78% dan 80% gacha bo'lgan sinov aniqligini oshirib, umumlashma xatosini yaxshiladik. Boshqa tomondan, ta'limning aniqligi 82,30% dan 65,55% gacha kamaydi. 4. Logistik regressiya va uni tartibga solish Logistik regressiya - bu taxminiy o'zgaruvchilar asosida ikkilik javob o'zgaruvchisini modellashtirish uchun ishlatiladigan statistik usul. Dastlab ikki sinfli yoki ikkilik javob muammolari uchun ishlab chiqilgan bo'lsa-da, bu usulni ko'p sinfli masalalar uchun umumlashtirish mumkin. Shunga qaramay, bizning misolimizdagi o'sma namunalari ma'lumotlari ikkitomonlama javob yoki ikki sinfli muammodir. Logistik regressiya kontseptsiya sifatida chiziqli regressiyaga juda o'xshaydi va biz uni qiziqishning statistik taqsimotidan namuna olinadigan kuzatiladigan ma'lumotlarning ehtimolligini maksimal darajaga ko'taradigan statistik parametrlarni topishga harakat qiladigan "maksimal ehtimollarni baholash" muammosi deb hisoblashimiz mumkin. Bu, shuningdek, biz boshqariladigan mashinalarni o'rganish algoritmlarida ko'riladigan umumiy xarajatlar / zararlar funktsiyasi yondashuvi bilan juda bog'liq. Ikkilik javob o'zgaruvchilari bo'lsa, oddiy chiziqli regressiya modeli, masalan y men ∼β0+β1x , bu noto'g'ri tanlov bo'ladi, chunki u osongina tashqarida qadriyatlarni yaratishi mumkin 0 dan 1 chegara. Bizga kerak bo'lgan narsa - bashoratning pastki chegarasini nolga, yuqori chegarasini cheklaydigan model 1. Ushbu talabga birinchi navbatda muammoni boshqacha shakllantirish kerak. Agar y men faqat bo'lishi mumkin 0 yoki 1 , biz shakllantirishimiz mumkin y men ehtimolliklar bilan bitta va nol qiymatlarni qabul qila oladigan tasodifiy o'zgaruvchini amalga oshirish sifatida p men va 1- p navbati bilan. Ushbu tasodifiy o'zgaruvchi Bernulli taqsimotiga amal qiladi va ikkilik o'zgaruvchini bashorat qilish o'rniga biz muammoni quyidagicha shakllantirishimiz mumkin p men ∼0+β1x . Biroq, bizning boshlang'ich muammomiz hanuzgacha davom etmoqda, oddiy chiziqli regressiya hali ham yuqori qiymatlarga olib keladi 0 va 1 chegaralar. Chegaraviy talabni qondiradigan model quyida keltirilgan logistik tenglama hisoblanadi. p men = e(β0+β1x ) va 1+e(β0+β1x) Ushbu tenglamani quyidagi transformatsiya bilan chiziqlash mumkin Logit (p ) = ln (p1-p) = β0+β1x Chap tomon logit deb ataladi, ya'ni "logistika birligi" degan ma'noni anglatadi. Bundan tashqari, log stavkalari deb ham ataladi. Bunday holda, bizning modelimiz log miqyosida qiymatlarni hosil qiladi va yuqoridagi logistik tenglama bilan biz qiymatlarni 0 va 1 oralig'ida olamiz. Endi savol qoladi: "Bizning o'quv to'plamimiz uchun eng yaxshi parametrlarning taxminlari qanday". Biz maksimal ehtimollik doirasi bo'yicha eng yaxshi parametrlarni baholash statistik modelning haqiqatan ham kuzatilgan ma'lumotlarni ishlab chiqarish ehtimolini maksimal darajaga ko'tarishdir. Siz ushbu moslamani kuzatilgan ma'lumotlar to'plamiga ehtimollik taqsimoti deb o'ylashingiz mumkin. Ehtimollarni taqsimlash parametrlari kuzatilayotgan ma'lumotlarning ushbu taqsimotdan kelib chiqish ehtimolini maksimal darajada oshirishi kerak. Agar biz Gauss taqsimotidan foydalangan bo'lsak, kuzatilgan ma'lumotlar ushbu Gauss taqsimotidan olinishi yanada aniqroq bo'lguncha o'rtacha va dispersiya parametrlarini o'zgartirgan bo'lar edik. Logistik regressiyada javob o'zgaruvchisi binomial taqsimot yoki uning maxsus holati Bernulli taqsimoti bilan modellashtirilgan. Har bir javob o'zgaruvchining qiymati, y , 0 yoki 1 ga teng va biz parametrni aniqlashimiz kerak p 0 va 1 sonlarning bunday taqsimlanishini yaratishi mumkin bo'lgan qiymatlar. Agar biz eng yaxshisini topa olsak p men har bir o'sma namunasi uchun qiymatlar men , biz kuzatilgan ma'lumotlarga qaraganda modelning jurnalga kirish ehtimolligini maksimal darajaga ko'targan bo'lardik. Ikkilik javob o'zgaruvchisi uchun maksimal jurnalga o'xshashlik funktsiyasi tenglama sifatida ko'rsatilgan ln(L)=N∑=1[ln(1-p)+y ln(p1-p)] Ushbu tenglamani maksimal darajaga ko'tarish uchun biz tegmaslikni topishimiz kerak p parametrlarga bog'liq bo'lgan qiymatlar β0 va β1 shuningdek, taxminiy o'zgaruvchilar qiymatlariga bog'liq x . Tenglamani almashtirishni qayta tuzishimiz mumkin p logistik tenglama bilan. Bundan tashqari, ko'plab optimallash funktsiyalari maksimal darajaga emas, balki minimallashtirishga imkon beradi. Shuning uchun biz salbiy jurnal ehtimolidan foydalanamiz, bu "log yo'qotish" yoki "logistik yo'qotish" funktsiyasi deb ham ataladi. Quyidagi funktsiya "jurnalni yo'qotish" funktsiyasidir. Biz almashtirdir p logistik tenglama bilan va ifodani soddalashtirdi. Keling, bu amalda qanday ishlashini ko'rib chiqaylik. Birinchidan, yuqoridagi misolda bo'lgani kabi, biz o'simta namunalarini "CIMP" va "no CIMP" subtiplariga tasniflash uchun bitta genning ekspressioni, bitta taxminiy o'zgaruvchidan foydalanamiz. Biz tasodifiy o'rmon modelidagi eng muhim o'zgaruvchilardan biri bo'lgan PDPN gen ekspressionidan foydalanamiz. Biz karetada formulalar interfeysidan foydalanamiz, bu erda javoblarning nomlarini va formulada taxminiy o'zgaruvchilarni taqdim etamiz. Bunday holda, biz stats to'plamidan yadroli R funktsiyasidan foydalanamiz, glm(). "Glm" umumlashtirilgan chiziqli modellarni anglatadi va u R ning har xil turdagi regressiyalari uchun asosiy interfeys hisoblanadi. # mos logistik regressiya modeli # usul a O'ziga mos kelmaslik uchun tartibni tartibga solish Agar biz modelning egiluvchanligini cheklay olsak, bu ko'rinmaydigan, yangi ma'lumotlar to'plamidagi ishlashga yordam beradi. Download 23.06 Kb. Do'stlaringiz bilan baham: |
1 2
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling