2. Regulyarizatsiya uchun ishlatiladigan ba'zi usullar



Download 0,5 Mb.
bet4/5
Sana30.12.2022
Hajmi0,5 Mb.
#897197
1   2   3   4   5
Bog'liq
asatullayev 4

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
Narxi 500 iteratsiyadan so‘ng: 0.6440063101787575
Narxi 600 iteratsiyadan so‘ng: 0,6439697872317176
Narxi 700 iteratsiyadan so‘ng:0,6439570623358253
Narxi 800 iteratsiyadan so‘ng: 0.6439491872993496
Narxi 900 iteratsiyadan so‘ng: 0,6439407592837082
Narxi 1000 iteratsiyadan so‘ng: 0.6439294591543208
Narxi 1100 iteratsiyadan so‘ng: 0.6439131091764411
Narxi 1200 iteratsiyadan so‘ng: 0.6438883396380859
Narxi 1300 iteratsiyadan so‘ng: 0,6438489715870495
Narxi 1400 iteratsiyadan so‘ng: 0,6437825798034876
Narxi 1500 iteratsiyadan so‘ng: 0.6436617691190204
Narxi 1600 iteratsiyadan so‘ng: 0.6434191397054715
Narxi 1700 iteratsiyadan so‘ng: 0.642864008138056
Narxi 1800 iteratsiyadan so‘ng: 0.6413476000796884
Narxi 1900 iteratsiyadan so‘ng: 0,6360827945885947
Narxi 2000 iteratsiyadan so‘ng: 0.6124050450908987
Narxi 2100 iteratsiyadan so‘ng: 0.511236045905345
Narxi 2200 iteratsiyadan so‘ng: 0.5287658028657057
Narxi 2300 iteratsiyadan so‘ng: 0,43124104856359174
Narxi 2400 iteratsiyadan so‘ng: 0.38213869447364884
Narxi 2500 iteratsiyadan so‘ng: 0.3386708692392079
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
Narxi 200 iteratsiyadan so‘ng: 0.6470807090618383
Narxi 300 iteratsiyadan so‘ng: 0.6449737235917311
Narxi 400 iteratsiyadan so‘ng: 0.6444519406797673
Narxi 500 iteratsiyadan so‘ng: 0.6443191828114609
Narxi 600 iteratsiyadan so‘ng:0.6442831256251426
Narxi 700 iteratsiyadan so‘ng: 0,6442705985766486
Narxi 800 iteratsiyadan so‘ng: 0.6442628048800636
Narxi 900 iteratsiyadan so‘ng: 0.6442544325786784
Narxi 1000 iteratsiyadan so‘ng: 0.6442432311807257
Narxi 1100 iteratsiyadan so‘ng: 0.6442270988055475
Narxi 1200 iteratsiyadan so‘ng: 0.6442027847231018
Narxi 1300 iteratsiyadan so‘ng: 0.6441643410411311
Narxi 1400 iteratsiyadan so‘ng: 0.6440998547029029
Narxi 1500 iteratsiyadan so‘ng: 0,6439832000181198
Narxi 1600 iteratsiyadan so‘ng: 0,6437505375793907
Narxi 1700 iteratsiyadan so‘ng: 0.6432228625403317
Narxi 1800 iteratsiyadan so‘ng: 0,6417982979158361
Narxi 1900 iteratsiyadan so‘ng: 0,6369273437378263
Narxi 2000 iteratsiyadan so‘ng: 0.6152774362019153
Narxi 2100 iteratsiyadan so‘ng: 0.5207828651496548
Narxi 2200 iteratsiyadan so‘ng: 0.5145012356446598
Narxi 2300 iteratsiyadan so‘ng: 0,40757220705507585
Narxi 2400 iteratsiyadan so‘ng: 0,517757346098386
Narxi 2500 iteratsiyadan so‘ng: 0.4574831239241244

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.



  • λ qiymati eng yaxshi umumlashma xatosini olish uchun sozlanishi kerak. Odatda, biz λs uchun qiymatlarni taqqoslashda bir qator tekshiruvlardan foydalanamiz va eng kichik tekshirish xatosiga ega modelni tanlaymiz.

  • Agar model qayta o'qitishdan azob chekayotgan bo'lsa, tartibga solishdan foydalaning, ya'ni xato o'rganish xatosi tekshirish xatosi.

  • Agar regularizatsiyadan foydalangandan so'ng, tasdiqlash xatosi hali ham katta bo'lsa, unda biz etarli darajada muvofiq bo'lmagan hududda bo'lamiz. Boshqacha aytganda, bizning modelimiz hali ham juda oddiy va allaqachon yuqori burchakka ega. Shuning uchun, modelga murakkablik qo'shing va keyin tartibga solishdan foydalaning.

  • Biz hal qilmoqchi bo'lgan vazifalarning aksariyati etarli ma'lumotga ega emasligi sababli (yoki ko'proq ma'lumot to'plash uchun qimmat), neyron tarmoqlarning murakkabligini hisobga olgan holda, chuqur o'rganishda qayta jihozlash yanada keng tarqalgan bo'ladi.

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. Odatda, ko'rilmagan ma'lumotlar to'plamidagi ishlashni yaxshilash uchun o'quv uslubining har qanday modifikatsiyasi muntazamlik deb ataladi. Modelga noaniqlikni kiritish va farqni kamaytirish uchun biz tartibga solinishimiz kerak. Bunga zararni yo'qotish funktsiyasini jarima muddati bilan o'zgartirish orqali erishish mumkin, bu koeffitsientlarning baholarini samarali ravishda qisqartiradi. Shuning uchun regressiya doirasidagi ushbu usullar "qisqarish" yoki "jazolangan regressiya" usullari deb ham ataladi.
Kichrayishni ta'minlashning usullaridan biri bu jazo muddatini qo'shish,, yo'qotish funktsiyasiga. Ushbu jazo muddati L2 normasi yoki L2 jarimasi sifatida ham tanilgan. U kvadrat vektor qiymatlari yig'indisining kvadrat ildizi sifatida hisoblanadi. Ushbu atama regressiya koeffitsientlarini nolga kamaytirishga yordam beradi. Yangi yo'qotish funktsiyasi quyidagicha, qaerda bu modeldagi parametrlar / koeffitsientlar soni va tenglamadagi jurnalni yo'qotish funktsiyasi. Ushbu jarimaga tortilgan yo'qotish funktsiyasi "tizma regressiyasi" deb nomlanadi (Hoerl va Kennard 1970). Penalti qo'shganda, optimallashtirish protsedurasi umumiy yo'qotish funktsiyasini minimal darajada ushlab turishning yagona usuli bu koeffitsientlarga kichikroq qiymatlarni belgilashdir. The parametr jazo muddatiga qancha ahamiyat berilishini nazorat qiladi. Qanchalik baland bo'lsa qiymati bo'lsa, regressiyadagi koeffitsientlar nolga yaqinlashadi. Biroq, ular hech qachon to'liq nolga teng bo'lmaydi.
Agar model muhim o'zgaruvchilarni tanlashini istasak, bu kerak emas. Jazoning kichik modifikatsiyasi - ning mutlaq qiymatlaridan foydalanish kvadrat qiymatlari o'rniga. Ushbu jazo "L1 normasi" yoki "L1 jarimasi" deb nomlanadi. L1 jazosidan foydalanadigan regressiya usuli "Lasso regressiyasi" (Tibshirani 1996) deb nomlanadi. Biroq, L1 jazosi taxminiy o'zgaruvchilar o'zaro bog'liq bo'lganda tasodifiy bitta o'zgaruvchini tanlashga intiladi. Bunday holda, o'zgaruvchilardan biri muhim emas, ammo u hali ham bashorat qilish qobiliyatiga ega bo'lishi mumkin. Boshqa tomondan, Ridge regressiyasi o'zaro bog'liq o'zgaruvchilar koeffitsientlarini bir-biriga nisbatan kamaytiradi va ularning hammasini saqlaydi. Lasso ham, Ridj regressiyasining ham kamchiliklari va afzalliklari borligi ko'rsatilgan (Fridman, Xasti va Tibshirani 2010). Yaqinda ikkala dunyoning eng yaxshisini o'z ichiga olgan "elastik to'r" deb nomlangan usul taklif qilindi (Zou va Xasti 2005). Ushbu usul L1 va L2 jarimalaridan foydalanadi. Quyidagi tenglama ushbu penalti bo'yicha o'zgartirilgan yo'qotish funktsiyasini ko'rsatadi. Ko'rib turganingizdek parametr hali ham penaltiga berilgan og'irlikni boshqaradi. Bu safar qo'shimcha parametr L1 yoki L2 jarimasiga berilgan og'irlikni boshqaradi va bu 0 dan 1 gacha bo'lgan qiymatga teng.Endi biz kontseptsiyani tartibga solish ortida oldik va uning amalda qanday ishlashini ko'rishimiz mumkin. Biz o'simtaning pastki turini bashorat qilish muammosida elastik to'rdan foydalanamiz. Biz o'zaro tekshirishga eng yaxshisini tanlashga ruxsat beramiz parametr at set.seed (17) kutubxona (glmnet)
# bu usul mashg'ulotlar bilan bog'liq hamma narsani nazorat qiladi
# biz faqat 10 marta o'zaro faoliyat tekshiruvni o'rnatamiz
trctrl <- trainControl (usul = "cv", son = 10)
# endi elastik to'r modelini tayyorlaymiz
# harakat qiladi
enetFit <- poezd (pastki turi ~., ma'lumotlar = trening,
usuli = "glmnet",
trControl = trctrl,
# alfa va lambda paramterlari sinab ko'rish uchun
tuneGrid = data.frame (alfa = 0.5,
lambda = seq (0.1,0.7.0.05)))
# o'zaro tekshiruv aniqligi bo'yicha eng yaxshi alfa va lambda qiymatlari
enetFit $ bestTune
## alfa lambda
## 1 0,5 0,1
# sinov aniqligi
class.res = predict (enetFit, test [, - 1])
confusionMatrix (test [, 1], class.res) $ umumiy [1]
## aniqlik
## 0.9814815
Ko'rib turganingizdek, tartibga solish ishlagan, sozlash bosqichi tanlangan λ=1 va biz eng yaxshi model bilan qoniqarli sinov to'plamining aniqligini olishga muvaffaq bo'ldik. O'zgaruvchan ahamiyatga ega mJazolangan regressiyaning o'zgaruvchan ahamiyati, ayniqsa lasso va elastik to'r uchun, qutidan ozmi-ko'pmi tashqarida. Muhokama qilinganidek, ushbu usullar ahamiyatsiz o'zgaruvchilar uchun regressiya koeffitsientlarini nolga o'rnatadi. Bu muhim o'zgaruvchilarni tanlash uchun tizimni taqdim etadi, ammo ularni saralashning bir usuli bo'lishi shart emas. Regressiya koeffitsientlari hajmidan foydalanish - bu taxminiy o'zgaruvchilarni saralashning bir usuli, ammo agar ma'lumotlar normallashtirilmagan bo'lsa, siz har xil o'zgaruvchilar uchun har xil o'lchovlarni olasiz. Bizning holatlarimizda biz ma'lumotlarni normal holatga keltirdik va biz bilamizki, o'zgaruvchilar mashg'ulotga kirishishdan oldin bir xil o'lchovga ega. Biz ushbu faktdan foydalanib, ularni regressiya koeffitsientlari asosida saralashimiz mumkin. Caret :: varImp () funktsiyasi o'zgaruvchanlarni elastik to'r modelidan saralash uchun koeffitsientlardan foydalanadi. Quyida, eng yaxshi 10 ta muhim va uchun kurashmoqchi edik

Download 0,5 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish