Mashinani o'rganish
Mashinani o'rganish nima?
Download 299.95 Kb.
|
The Machine Learning Tsunami 1
- Bu sahifa navigatsiya:
- MASHINANI ORGANISH NIMA UCHUN ISHLATILADI
Mashinani o'rganish nima?
Mashinani o'rganish - bu ma'lumotlardan o'rganish uchun kompyuterlarni dasturlash ilmi (va san'ati). Bu erda umumiy ta'rif mavjud. [Mashinani o'rganish] - bu kompyuterlarga aniq dasturlashtirilmagan holda o'rganish qobiliyatini beradigan ilmiy fan. Artur Samuel, 1959 yil Va quyida ko'proq rivojlanishga yo'naltirilgan ta'rif. Kompyuter dasturi, agar P bilan o'lchangan T bo'yicha ishlashi E tajribasi bilan yaxshilansa, ba'zi bir T topshirig'iga nisbatan E tajribasidan va P samaradorligining ba'zi bahosini o'rganishi aytiladi. Tom Mitchell, 1997 yil Aytaylik, sizning spam filtringiz ML dasturi bo'lib, berilgan spam xabarlar misollaridan (ehtimol foydalanuvchilar tomonidan teglangan) va oddiy pochta xabarlari misollaridan (spam emas) spamni belgilashni o'rganishi mumkin. Misollar. tizim o'qitish uchun foydalanadigan o'quv majmuasi deb ataladi. Har bir o'quv misoli o'quv namunasi yoki o'quv namunasi deb ataladi. Ko'rib chiqilayotgan vaziyatda T vazifasi - yangi xabarlar uchun spam belgisi, E tajribasi - o'quv ma'lumotlari va P ish faoliyatini baholashni aniqlash kerak; masalan, siz to'g'ri tasniflangan pochta xabarlarining nisbatini qo'llashingiz mumkin. Ushbu aniq ishlash ko'rsatkichi aniqlik deb ataladi va ko'pincha tasniflash muammolarida qo'llaniladi. Agar siz faqat Vikipediya nusxasini yuklab olsangiz, kompyuteringiz ko'proq ma'lumotga ega bo'ladi, lekin u birdaniga biror narsada yaxshilanmaydi. Demak, bu mashinani o'rganish emas. MASHINANI O'RGANISH NIMA UCHUN ISHLATILADI? An'anaviy dasturlash usullaridan foydalangan holda spam filtrini qanday yozishni ko'rib chiqing (1-1-rasm). 1. Avval siz spam odatda qanday ko'rinishini ko'rib chiqasiz. Xabarning mavzusida juda ko'p ma'lum so'zlar yoki iboralar mavjudligini sezishingiz mumkin. Bundan tashqari, jo'natuvchining nomi, xabar matni va hokazolarda bir nechta boshqa naqshlarni ko'rishingiz mumkin. 2. Siz ko'rgan har bir naqsh uchun aniqlash algoritmini yozasiz va agar shunday naqshlar soni topilsa, dastur xabarlarni spam deb belgilaydi. 3. Siz dasturni sinab ko'rasiz va 1 va 2-bosqichlarni etarlicha yaxshi bo'lguncha takrorlaysiz. Vazifa ahamiyatsiz bo'lmagani uchun, sizning dasturingiz murakkab qoidalarning uzoq ro'yxati bilan yakunlanishi mumkin, ularni saqlash juda qiyin. Ushbu yondashuvdan farqli o'laroq, ML-ga asoslangan spam filtri oddiy xabar misollari bilan solishtirganda spam-xabar namunalarida odatiy bo'lmagan tez-tez so'z shakllarini aniqlash orqali qaysi so'z va iboralar yaxshi spam bashorat qiluvchi ekanligini avtomatik ravishda bilib oladi (1.2-rasm). Dastur ancha qisqaroq, parvarish qilish osonroq va aniqroq bo'lib chiqdi. Bundan tashqari, agar spamerlar, masalan, "4U':" ni o'z ichiga olgan barcha xabarlari bloklanayotganini aniqlasa, ular o'rniga "For U" yozishlari mumkin: An'anaviy dasturlash texnikasi yordamida yaratilgan spam filtri, xabarlarni "For U" bilan belgilash uchun yangilanishi kerak bo'ladi. Agar spamerlar sizning spam filtringizni chetlab o'tishda davom etsa, siz bunga majbur bo'lasiz yangi qoidalarni yozishni davom eting. Aksincha, ML texnikasiga asoslangan spam-filtr avtomatik ravishda “For U” iborasi foydalanuvchilar tomonidan spam sifatida belgilangan xabarlarda odatiy holga aylanganini sezadi va sizning aralashuvingizsiz ularni belgilashni boshlaydi (1.3-rasm). ML ustunlik qiladigan yana bir soha an'anaviy yondashuvlar yordamida hal qilish juda qiyin bo'lgan yoki ularni hal qilish uchun ma'lum algoritmlar mavjud bo'lmagan muammolarni qamrab oladi. Masalan, nutqni aniqlashni oling: deylik, siz oddiy boshlamoqchisiz va “bir” va “ikki” so‘zlarini ajrata oladigan dastur yozmoqchisiz: “Ikki” so‘zi baland tovush (“D”) bilan boshlanganini sezishingiz mumkin. , va shuning uchun baland tovushning intensivligini o'lchaydigan va aytib o'tilgan so'zlarni farqlash uchun qo'llaydigan algoritmni qattiq kodlang. Shubhasiz, bu uslub shovqinli muhitda va o'nlab tillarda millionlab juda xilma-xil odamlar gapiradigan minglab so'zlarni qamrab olmaydi. Eng yaxshi yechim (hech bo'lmaganda hozircha) o'z-o'zidan o'rganadigan algoritm yozishni, har bir so'zning talaffuziga misollar bilan ko'plab ovozli yozuvlarga ega bo'lishni o'z ichiga oladi. Va nihoyat, mashinani o'rganish odamlarga o'rganishga yordam beradi (1.4-rasm): ML algoritmlari ular o'rgangan narsalarni ko'rish uchun tekshirilishi mumkin (ba'zi algoritmlar uchun bu oson bo'lmasligi mumkin). Misol uchun, spam-filtr etarli miqdordagi spam-xabarlarga o'rgatilgandan so'ng, uni eng yaxshi spam prognozlovchisi deb hisoblagan so'zlar va iboralar ro'yxatini aniqlash uchun tekshirish oson. Ba'zida muammoni yaxshiroq tushunishga olib keladigan kutilmagan munosabatlar yoki yangi tendentsiyalarni topish mumkin bo'ladi. Katta hajmdagi ma'lumotlarni o'rganish uchun ML texnikasini qo'llash darhol sezilmagan naqshlarni aniqlashga yordam beradi. Bu ma'lumotni qazib olish yoki ma'lumotlarni qazib olish deb ataladi. Xulosa qilib aytganda, mashinani o'rganish quyidagilar uchun juda yaxshi: • mavjud yechimlari ko'p qo'lda sozlashni yoki qoidalarning uzun ro'yxatini talab qiladigan muammolar - bitta ML algoritmi ko'pincha kodni soddalashtirishga va yaxshiroq ishlashga qodir; • an'anaviy yondashuv umuman yaxshi yechim taklif etmaydigan murakkab muammolar - eng yaxshi ML texnikasi yechimini topishi mumkin; • o'zgaruvchan muhit - MO tizimi yangilarga moslasha oladi ma'lumotlar; • Murakkab vazifalar va katta hajmdagi ma'lumotlar haqida ma'lumot olish. Mashinani o'rganish tizimlarining turlari Mashinani o'rganish tizimlarining juda ko'p turlari mavjudki, ularni quyidagi xususiyatlardan kelib chiqqan holda keng toifalarga guruhlash qulay: • Ular inson nazorati ostida o'rganishadimi (nazorat ostida o'rganish, o'rganish nazoratsiz, yarim nazorat ostida o'rganish va mustahkamlovchi ta'lim); • asta-sekin tez o'rganish mumkinmi (dinamik yoki paketli o'rganish); • ular yangi ma'lumotlar nuqtalarini ma'lum ma'lumotlar nuqtalari bilan taqqoslash orqali ishlaydilarmi yoki buning o'rniga ular o'quv ma'lumotlaridagi naqshlarni topadilar va olimlar qiladigan narsaga o'xshash bashoratli modelni yaratadilar (namuna yoki modelga asoslangan o'rganish). Ro'yxatda keltirilgan mezonlar bir-birini istisno qilmaydi; siz ularni xohlagan tarzda birlashtira olasiz. Misol uchun, zamonaviy spam-filtr spam-xabarlar va oddiy xabarlar misollari yordamida o'rgatilgan chuqur neyron tarmoq modeli yordamida tezda o'rganishga qodir; bu uni dinamik, modelga asoslangan nazorat qilinadigan o'quv tizimiga aylantiradi. Keling, yuqoridagi mezonlarning har birini batafsil ko'rib chiqaylik. Nazorat ostidagi va nazoratsiz o'quv MO tizimlarini mashg'ulotlar davomida duchor bo'ladigan nazorat miqdori va turiga ko'ra tasniflash mumkin. To'rtta asosiy toifa mavjud: nazorat ostida o'rganish, nazoratsiz o'rganish, qisman o'rganish va mustahkamlovchi o'rganish. Nazorat ostidagi trening Nazorat ostidagi treningda siz algoritmga taqdim etayotgan o'quv ma'lumotlari 1-1-rasmda ko'rsatilganidek, teglar deb ataladigan kerakli echimlarni o'z ichiga oladi. o'n besh. Nazorat ostidagi ta'limning odatiy vazifasi tasniflashdir. Spam filtri tasniflashning yaxshi namunasidir: u o'z sinfiga (spam yoki spam bo'lmagan) ko'plab xabarlar misollarini o'rganadi va shuning uchun yangi xabarlarni qanday tasniflashni bilishi kerak. Yana bir tipik muammo - bu bashorat qiluvchilar deb ataladigan xususiyatlar yoki xususiyatlar to'plamini (yurgan masofasi, yoshi, markasi va boshqalar) hisobga olgan holda, avtomobilning narxi kabi maqsadli raqamli qiymatni bashorat qilishdir. Bunday turdagi vazifa 1-regressiya deb ataladi (1.6-rasm). Tizimni o'rgatish uchun siz unga avtomobillarning ko'plab misollarini, jumladan, ularning bashorat qiluvchilari va yorliqlarini (ya'ni narxlarni) taqdim etishingiz kerak. Mashinani o'rganishda atribut ma'lumotlar turidir (masalan, "Milaj"), xususiyat esa kontekstga qarab bir nechta ma'noga ega, lekin ko'p hollarda atribut va uning qiymatini bildiradi (masalan, "Mileage = 15 000"). Biroq, ko'pchilik atribut va xususiyat so'zlarini bir-birining o'rnida ishlatishadi.E'tibor bering, ba'zi regressiya algoritmlari qo'llanilishi mumkin. shuningdek tasniflash uchun va aksincha. Masalan, logistik regressiya odatda tasniflash uchun ishlatiladi, chunki u ma'lum bir sinfga tegishli bo'lish ehtimoliga mos keladigan qiymatni ishlab chiqarishga qodir (masalan, 20% ehtimollik bilan spam). Quyida eng muhim nazorat ostidagi o'rganish algoritmlaridan ba'zilari keltirilgan (ushbu kitobda keltirilgan): • eng yaqin qo'shnilar • chiziqli regressiya • logistik regressiya • vektor mashinasini qo'llab-quvvatlash (Support vektor mashinasi - SVM) • qaror daraxtlari va tasodifiy o'rmonlar • neyron tarmoqlar (neyron tarmoq) Nazoratsiz ta'lim Nazoratsiz ta'limda, siz taxmin qilganingizdek, trening ma'lumotlari yorliqlanmagan (1.7-rasm). Tizim o'qituvchisiz o'rganishga harakat qiladi. Quyida eng muhim nazoratsiz o'rganish algoritmlari ro'yxati keltirilgan (biz o'lchamlarni kamaytirishni 8-bobda ko'rib chiqamiz): • k-vositalar (k-vosita) haqida klasterlash o ierarxik klaster tahlili (Ierarxik klaster tahlili - HCA) o kutishni maksimallashtirish • Vizualizatsiya va o'lchamlarni kamaytirish o Asosiy komponentlar tahlili (PCA) o Yadro PCA o Lokal-chiziqli joylashtirish (LLE) o t-tarqatish (t-tarqatish) bilan stokastik qo'shni joylashtirish Stochastic Neighbor Embedding - t-SNE) • Assotsiatsiya qoidalarini o'rganish Apriori haqida Eclat haqida Misol uchun, sizning foydangizga tashrif buyuruvchilar haqida juda ko'p ma'lumotlaringiz bor deylik. Shu kabi tashrif buyuruvchilar guruhlarini aniqlashga harakat qilish uchun klasterlash algoritmini ishga tushirishingiz mumkin (1.8-rasm). Algoritm sizga tashrif buyuruvchi qaysi guruhga tegishli ekanligini aytishi shart emas: u sizning yordamingizsiz bunday ulanishlarni topadi. Aytaylik, algoritmga ko'ra, tashrif buyuruvchilarning 40 foizi komikslarni yaxshi ko'radigan va sizning kitobingizni kechqurun o'qiydigan erkaklardir. 20% - yosh ilmiy-fantastik ishqibozlar dam olish kunlari tashrif buyurishadi va hokazo. Agar siz ierarxik klasterlash algoritmini qo'llasangiz u har bir guruhni kichikroq guruhlarga ham bo'lishi mumkin. Bu har bir guruhga yaxshi yozuvlarni yo'naltirishga yordam beradi. Vizualizatsiya algoritmlari ham nazoratsiz oʻrganish algoritmlariga yaxshi misol boʻla oladi: siz ularga katta hajmdagi murakkab va yorliqsiz maʼlumotlarni taqdim etasiz va ular maʼlumotlarning 2D yoki 3D koʻrinishidagi tasvirini chiqaradi, ularni chizish oson (1.9-rasm). Bunday algoritmlar iloji boricha strukturani saqlab qolishga harakat qiling (masalan, kirish maydonida alohida klasterlarni ko'rsatishda bir-birining ustiga chiqishga yo'l qo'ymaslikka harakat qiling), shunda siz ma'lumotlar qanday tashkil etilganligini tushunishingiz va ehtimol kutilmagan naqshlarni aniqlashingiz mumkin. Tegishli muammo - bu o'lchamlarni qisqartirish, bu juda ko'p ma'lumotni yo'qotmasdan ma'lumotlarni soddalashtirishga qaratilgan. Buning bir usuli bir nechta bog'liq xususiyatlarni birlashtirishni o'z ichiga oladi. Misol uchun, avtomobilning yurishi uning yoshi bilan chambarchas bog'liq bo'lishi mumkin, shuning uchun o'lchamlarni kamaytirish algoritmi ularni avtomobilning eskirishini ifodalovchi bitta xususiyatga birlashtiradi. Bu xususiyatni chiqarish deb ataladi. Ko'pincha o'quv ma'lumotlarini boshqa ML algoritmiga (masalan, nazorat ostidagi o'rganish algoritmiga) o'tkazishdan oldin o'lchamlarni kamaytirish algoritmidan foydalanib, o'lchovliligini kamaytirishga harakat qilish mantiqiy. Natijada, boshqa ML algoritmi ancha tezlashadi, ma'lumotlar diskda va xotirada kamroq joy egallaydi va ba'zi hollarda u ham samaraliroq bajarilishi mumkin. Nazoratsiz ta'limning yana bir muhim vazifasi - anomaliyalarni aniqlash - masalan, firibgarlikning oldini olish uchun kredit kartalari bo'yicha noodatiy tranzaktsiyalarni aniqlash, ishlab chiqarishdagi nuqsonlarni aniqlash yoki ma'lumotlar to'plamini boshqa o'rganish algoritmiga o'tkazishdan oldin avtomatik ravishda chetlab o'tishni olib tashlash. Tizim oddiy namunalar bo'yicha o'qitildi va u yangi namunani ko'rganda, u normal ko'rinishi yoki anomaliya ekanligi haqida xabar berishi mumkin (1.10-rasm). Va nihoyat, umumiy vazifalar assotsiatsiya qoidalarini o'rganishni o'z ichiga oladi, uning maqsadi katta hajmdagi ma'lumotlarga kirish va atributlar o'rtasidagi qiziqarli bog'liqliklarni aniqlashdir. Masalan, sizda supermarket bor, deylik. Savdo jurnallarida assotsiatsiya qoidasini ishga tushirish, barbekyu sousi va kartoshka chiplarini sotib olgan odamlar biftek sotib olishga moyil ekanligini ko'rsatishi mumkin. Shunday qilib, ushbu mahsulotlarni bir-biriga yaqinroq joylashtirish istagi paydo bo'lishi mumkin. Qisman o'rganish Ba'zi algoritmlar qisman etiketlangan o'quv ma'lumotlari bilan ishlashga qodir, ular odatda juda ko'p etiketlanmagan ma'lumotlarni o'z ichiga oladi. va biroz belgilangan. Jarayon qisman o'rganish deb ataladi (1.1-rasm 1). Google Photos kabi ba'zi foto hosting xizmatlari bunga yaxshi misoldir. Oilaviy suratlaringizni bunday xizmatga yuklaganingizdan so'ng, u avtomatik ravishda 1, 5 va 11-rasmlarda xuddi shu shaxs A, 2, 5 va 7-rasmlarda esa boshqa B shaxsi paydo bo'lishini avtomatik ravishda tan oladi. Algoritmning nazoratsiz qismi shunday ishlaydi. (klasterlash). Endi tizim sizdan bu odamlar kimligini aniqlashi kerak. Xizmat har bir fotosuratda hammaga nom berish imkoniyatiga ega bo'lishi uchun har bir kishi uchun bitta teg kifoya qiladi, bu esa fotosuratlarni qidirish uchun foydalidir. Ko'pgina qisman o'rganish algoritmlari nazoratsiz va boshqariladigan o'rganish algoritmlarining kombinatsiyasidir. Misol uchun, chuqur e'tiqod tarmoqlari (DBN) bir-birining ustiga o'rnatilgan Cheklangan Boltzmann Mashinalari (RVMs) deb nomlangan nazoratsiz o'rganish komponentlariga asoslangan. RVMlar nazoratsiz tartibda ketma-ket o'qitiladi, shundan so'ng butun tizim nazorat ostida o'rganish usullaridan foydalangan holda nozik sozlanadi. Mustahkamlovchi o'rganish Mustahkamlashni o'rganish butunlay boshqa narsa. Shu nuqtai nazardan agent deb ataladigan o'quv tizimi atrof-muhitni kuzatishi, harakatlarni tanlashi va bajarishi, mukofotlar berishi (yoki Shaklda ko'rsatilganidek, salbiy mukofotlar ko'rinishidagi jarimalar. bitta. 12). Keyin u vaqt o'tishi bilan eng katta mukofotni olish uchun siyosat deb ataladigan eng yaxshi strategiya nima ekanligini o'zi aniqlashi kerak. Siyosat agentdan qanday harakatni amalga oshirishi kerakligini belgilaydi ma'lum bir vaziyatda. Misol uchun, ko'plab robotlar yurishni o'rganish uchun mustahkamlashni o'rganish algoritmlarini qo'llaydi. DeepMind tomonidan ishlab chiqilgan AlphaGo dasturi ham mustahkamlovchi oʻrganishning yaxshi namunasidir: bu haqda 2017-yil may oyida Go boʻyicha jahon chempionini magʻlub etganida matbuotda keng eʼlon qilingan edi. Ke Jie. Dastur o'zining g'olib siyosatini tahlil qilish orqali bilib oldi million o'yin va keyin o'ziga qarshi multiplayer. Ta'kidlash joizki, chempion bilan o'yinlarda mashg'ulotlar nogiron bo'lgan; AlphaGo dasturi shunchaki ilgari o'rgangan siyosatni qo'lladi. To'plamli va dinamik o'rganish ML tizimlarini tasniflash uchun foydalaniladigan yana bir mezon tizim kiruvchi ma'lumotlar oqimi asosida bosqichma-bosqich o'rganishi mumkinmi yoki yo'qmi. To'plamli o'rganish To'plamli o'rganishda tizim bosqichma-bosqich o'rganishga qodir emas: u barcha mavjud ma'lumotlardan foydalangan holda o'rganishi kerak. Umuman olganda, jarayon ko'p vaqt va hisoblash resurslarini talab qiladi, shuning uchun u odatda avtonom ishlaydi. Birinchidan, tizim o'qitiladi, so'ngra ishlab chiqarish muhitiga joylashtiriladi va qo'shimcha o'qitishsiz ishlaydi; u shunchaki ilgari o'rgangan narsalarini qo'llaydi. Bu oflayn o'rganish deb ataladi. Agar siz ommaviy ta'lim tizimi yangi ma'lumotlar haqida bilib olishni istasangiz (masalan, spamning yangi turi), keyin siz tizimning yangi versiyasini noldan to'liq ma'lumotlar to'plamida (nafaqat yangi, balki eski ma'lumotlarda ham) o'rgatishingiz kerak bo'ladi, keyin eski tizimni o'chiring va uni yangisi bilan almashtiring. yangisi. Yaxshiyamki, ML tizimini o'rganish, baholash va ishga tushirishning butun jarayoni juda oson avtomatlashtirilishi mumkin (1.3-rasmda ko'rsatilganidek), hatto ommaviy o'qitish tizimi ham o'zgarishlarga moslasha oladi. Faqat ma'lumotlarni yangilang va kerak bo'lganda tizimning yangi versiyasini noldan o'rgating. Bu yechim oddiy va ko'pincha ajoyib ishlaydi, lekin foydalanishni o'rganadi To'liq ma'lumotlar to'plami ko'p soatlarni olishi mumkin, shuning uchun siz odatda har 24 soatda yoki hatto haftada bir marta yangi tizimni o'rgatasiz. Agar sizning tizimingiz tez o'zgaruvchan ma'lumotlarga moslashishi kerak bo'lsa (aytaylik, aktsiyalarning narxini bashorat qilish uchun), unda sizga ko'proq reaktiv yechim kerak. Bundan tashqari, to'liq ma'lumotlar to'plami bo'yicha treninglar hisoblash intensivdir. resurslar (protsessor vaqti, xotira, disk maydoni, disk kiritish-chiqarish, tarmoq kiritish-chiqarish va boshqalar). Kundalik ravishda noldan mashq qilish uchun juda ko'p ma'lumotlar va tizimni avtomatlashtirish bilan siz juda ko'p pul sarflaysiz. Agar ma'lumotlar miqdori juda katta bo'lsa, unda ommaviy o'rganish algoritmini qo'llash hatto imkonsiz bo'lishi mumkin. Va nihoyat, agar sizning tizimingiz avtonom tarzda o'rganish imkoniyatiga ega bo'lishi va cheklangan resurslarga ega bo'lishi kerak bo'lsa (masalan, smartfon ilovasi yoki rover), unda katta hajmdagi o'quv ma'lumotlarini etkazib berish va har kuni soatlab mashq qilish uchun bir nechta resurslarni iste'mol qilish hal qilib bo'lmaydigan muammoga aylanadi. Ammo yuqorida aytib o'tilgan barcha holatlarda yaxshiroq variant bor - bosqichma-bosqich o'rganish imkonini beruvchi algoritmlardan foydalanish. Dinamik ta'lim Dinamik o'rganishda siz tizimni ketma-ket ma'lumotlar namunalarini alohida yoki mini-to'plam deb ataladigan kichik guruhlarda berish orqali asta-sekin o'qitasiz. Har bir o'quv bosqichi tez va arzon, shuning uchun tizim yangi ma'lumotlar bilan tezda tanishishi mumkin (1.13-rasm). Dinamik ta'lim ma'lumotlarni uzluksiz oqimda (aytaylik, aktsiya bahosi) oladigan va o'zgarishlarga tez yoki mustaqil ravishda moslashishi kerak bo'lgan tizimlar uchun juda yaxshi. Bundan tashqari, cheklangan hisoblash resurslari bo'lgan taqdirda dinamik o'rganish yaxshi variant bo'ladi: dinamik o'rganish tizimi yangi ma'lumotlar namunalari haqida bilib olgandan so'ng, ularga endi kerak emas va shuning uchun ularni tashlab yuborishi mumkin. (agar siz avvalgi holatga qaytishni va ma'lumotlarni "qayta o'ynashni" xohlamasangiz). Natijada siz katta hajmdagi joyni tejashingiz mumkin. Dinamik o'rganish algoritmlari bitta mashinaning asosiy xotirasiga to'g'ri kelmaydigan ulkan ma'lumotlar to'plamlarida tizimlarni o'qitish uchun ham ishlatilishi mumkin (tashqi o'rganish (oitof-core learning) deb ataladigan usul). Algoritm ma'lumotlarning bir qismini yuklaydi, ushbu ma'lumotlar bo'yicha o'rganish bosqichini amalga oshiradi va jarayonni hammasi tugaguncha takrorlaydi. ma'lumotlar (1.14-rasm) . Bu butun jarayon odatda oflayn rejimda amalga oshiriladi (ya'ni jonli tizimda emas), shuning uchun "dinamik o'rganish" atamasi chalkash bo'lishi mumkin. Buni bosqichma-bosqich o'rganish (ipcremeptal Learn) deb o'ylang. Dinamik ta'lim tizimlarining muhim parametri ular o'zgaruvchan ma'lumotlarga qanchalik tez moslashishi kerakligi bilan bog'liq: u o'rganish tezligi (o'rganish tezligi) deb ataladi. Agar siz yuqori o'rganish tezligini belgilasangiz, tizimingiz tezda yangi ma'lumotlarga moslashadi, shuningdek, eski ma'lumotlarni tezda unutishga moyil bo'ling (faqat ularga ko'rsatilgan spamning eng so'nggi turlarini belgilovchi spam filtri hech kimni qoniqtirishi dargumon). Aksincha, agar siz past o'rganish tezligini belgilasangiz, tizim yanada inert bo'ladi; bular. u sekinroq mashq qiladi, lekin yangi ma'lumotlar yoki vakili bo'lmagan ma'lumotlar nuqtalarining ketma-ketligidagi shovqinlarga nisbatan kam sezgir bo'ladi. Dinamik o'rganish bilan bog'liq katta muammo shundaki, agar tizimga noto'g'ri ma'lumotlar kiritilsa, uning ishlashi asta-sekin kamayadi. Agar biz jonli tizim haqida gapiradigan bo'lsak, unda sizning mijozlaringiz bunday pasayishni sezadilar. Misol uchun, noto'g'ri ma'lumotlar robotdagi noto'g'ri ishlaydigan sensordan yoki undan kelib chiqishi mumkin qidiruv natijalarida yuqori o'rinni egallash uchun qidiruv tizimiga spam yuborgan kishi. Ushbu xavfni kamaytirish uchun siz tizimni diqqat bilan kuzatib borishingiz kerak va unumdorlikning pasayishini aniqlasangiz, darhol o'rganishni o'chirib qo'ying (va, ehtimol, avvalgi ish holatiga qaytishingiz mumkin). Bundan tashqari, kiritishni kuzatishingiz kerak bo'lishi mumkin ma'lumotlar va anomal ma'lumotlarga javob berish (masalan, algoritm yordamida anomaliyalarni aniqlash). Namuna va modelga asoslangan ta’lim MO tizimlarini turkumlashning yana bir usuli ularning qanday umumlashtirilishi bilan bog'liq. ML vazifalarining aksariyati prognozlash bilan bog'liq. Bu shuni anglatadiki, tizim berilgan sonli o'quv misollarini hech qachon ko'rmagan misollarga umumlashtirishi kerak. avval. Trening ma'lumotlari bo'yicha tegishli samaradorlik o'lchoviga ega bo'lish yaxshi shart, ammo etarli emas; haqiqiy maqsad - yangi dizaynlar ustida maqbul ishlash. Umumlashtirishning ikkita asosiy yondashuvi mavjud: namunaga asoslangan ta'lim va modelga asoslangan ta'lim. Naqshga asoslangan o'rganish, ehtimol, o'rganishning eng ahamiyatsiz shakli shunchaki yodlashdir. Agar siz xuddi shunday tarzda spam filtrini yaratmoqchi bo'lsangiz, keyin u faqat foydalanuvchilar tomonidan belgilangan xabarlarga o'xshash xabarlarni belgilaydi - eng yomoni emas, lekin, albatta, eng yaxshi yechim emas. Faqat ma'lum spam-xabarlarga o'xshash xabarlarni belgilash o'rniga, spam-filtringiz ma'lum spam-xabarlarga juda o'xshash xabarlarni belgilash uchun dasturlashtirilgan bo'lishi mumkin. Bunday vazifa ikkita xabar o'rtasidagi o'xshashlikni o'lchashni talab qiladi. Ikki xabar o'rtasidagi o'xshashlikning elementar o'lchovi bo'lishi mumkin ular baham ko'rgan so'zlar sonini hisoblashni o'z ichiga oladi. Tizim xabarni spam deb belgilaydi, agar unda ma'lum bo'lgan spam xabarida topilgan ko'plab so'zlar bo'lsa. Bu namunaga asoslangan ta'lim deb ataladi: tizim xotiradan misollarni o'rganadi va keyin ularni o'xshashlik o'lchovlari yordamida yangi misollar uchun umumlashtiradi (1 . 1 5-rasm). Modelga asoslangan ta'lim Misollar to'plamini umumlashtirishning yana bir usuli bu misollarning modelini yaratish va undan bashorat qilish uchun foydalanishni o'z ichiga oladi. Bu modelga asoslangan ta'lim deb ataladi (1.1-6-rasm). Aytaylik, sizni pul odamlarni baxtli qiladimi yoki yo'qmi qiziqtiradi, shuning uchun siz Iqtisodiy hamkorlik va taraqqiyot tashkiloti (OECD) veb-saytidan Better Life Index ma'lumotlarini yuklab oldingiz va Xalqaro valyuta jamg'armasi veb-saytidan aholi jon boshiga yalpi ichki mahsulot (YaIM) statistikasi. Keyin siz jadvallarga qo'shilasiz va aholi jon boshiga YaIM bo'yicha tartiblaysiz. Jadvalda. 1.1 siz oladigan narsalarning namunasidir. Tasodifiy tanlangan bir necha mamlakatlar uchun ma’lumotlarni chizamiz (1.17-rasm). Bu erda tendentsiya borga o'xshaydi! Ma'lumotlar shovqinli bo'lsa-da (ya'ni, o'zboshimchalik bilan), hayotdan qoniqish ko'proq yoki kamroq ortib borayotganga o'xshaydi. aholi jon boshiga YaIM ortib borishi bilan kamroq chiziqli. Shunday qilib, siz modellashtirishga qaror qildingiz hayotdan qoniqish jon boshiga YaIMning chiziqli funktsiyasi sifatida. Ushbu bosqich model tanlash deb ataladi: siz faqat bitta xususiyatga ega bo'lgan hayotdan qoniqishning chiziqli modelini tanladingiz, aholi jon boshiga YaIM (1.1 tenglama). Model ikkita model parametriga ega: 80 va 81 5• Ushbu parametrlarni o'zgartirish orqali siz o'zingizning modelingizni rasmda ko'rsatilganidek, istalgan chiziqli funktsiyani aks ettirishingiz mumkin. bitta. o'n sakkiz. Modelni ishlatishdan oldin siz 80 va 81 parametrlari uchun qiymatlarni aniqlashingiz kerak. Modelni yaxshiroq ishlashiga yordam beradigan qiymatlarni qanday bilasiz? Bu savolga javob berish uchun siz ishlash o'lchovini belgilashingiz kerak. Siz modelingiz qanchalik yaxshi ekanligini o'lchaydigan foydali funksiyani (yoki fitnes funksiyasini) yoki model qanchalik yomonligini o'lchaydigan xarajat funktsiyasini yoki xarajat funksiyasini belgilashingiz mumkin. Lineer regressiya muammolari uchun odamlar odatda o'lchaydigan xarajatlar funktsiyasidan foydalanadilar chiziqli modelni bashorat qilish va o'qitish misollari orasidagi masofa; maqsad bu masofani minimallashtirishdir. Bu erda chiziqli regressiya algoritmi o'ynaydi: siz unga o'qitish misollarini berasiz va u chiziqli modelni ma'lumotlarga yaxshiroq moslashtiradigan parametrlarni topadi. Jarayon deyiladi namunaviy trening. Ko'rib chiqilayotgan holatda, algoritm parametrlarning optimal qiymatlari eo = 4,85 va el = 4,91 x 10-5 ekanligini aniqlaydi. Endi model rasmda ko'rsatilganidek, o'quv ma'lumotlariga (chiziqli model uchun) iloji boricha yaqinroq o'rnatiladi. bitta. 19. Siz nihoyat bashorat qilish uchun modelni ishga tushirishga tayyorsiz. Masalan, siz kiprliklar qanchalik baxtli ekanini bilmoqchisiz, deylik, OECD ma’lumotlari esa siz izlayotgan javobni taqdim etmaydi. Yaxshiyamki, yaxshi bashorat qilish uchun siz o'zingizning modelingizdan foydalanishingiz mumkin: siz Kiprning aholi jon boshiga yalpi ichki mahsulotini qidirasiz, 22 587 dollarni topasiz, keyin modelni ishga tushirasiz va hayotdan qoniqish 4,85 + 22,587 x 4,91 x 1 0 -5 = 5,96 atrofida bo'lishi kerakligini topasiz. . Ishtahangizni ochish uchun, 1-misolda. 1 ma'lumotlarni yuklaydigan, uni tayyorlaydigan 6, vizualizatsiya uchun scatterplot yaratadigan Python kodini ko'rsatadi, keyin chiziqli modelni o'rgatadi va bashorat yaratadi Agar siz namunaga asoslangan o'rganish algoritmidan foydalansangiz, Sloveniya aholi jon boshiga YaIMga eng yaqin Kiprga (20 732 dollar) ega ekanligini bilib olasiz. OECD ma'lumotlari bizga qoniqishni aytadi Sloveniyada hayotdan qoniqish darajasi 5,7 ni tashkil qiladi, siz Kipr uchun 5,7 hayotdan qoniqishni taxmin qilishingiz mumkin. Agar siz bir oz kichraytirsangiz va keyingi ikkita bir-biriga yaqin joylashgan mamlakatlarga qarasangiz, hayotdan qoniqish darajasi mos ravishda 5,1 va 6,5 bo'lgan Portugaliya va Ispaniyani topasiz. Ushbu uchta qiymatni o'rtacha hisoblab, siz 5,77 ni olasiz, bu modelga asoslangan prognozga juda yaqin. Bunday oddiy algoritm k eng yaqin qo'shni regressiya deb ataladi (bu misolda k = 3). Oldingi kodda chiziqli regressiya modelini k-eng yaqin qo'shni regressiya modeli bilan almashtirish shunchaki satrni almashtirishdir: model = sklearn. l innear_model. LinearRegres s i on ( ) keyingi qator: model = sklearn. qo'shnilar . NeighboursRegressor (n_neighbors=3 ) Agar hamma narsa yaxshi bo'lsa, sizning modelingiz yaxshi bashoratlarni beradi. Agar yo'q bo'lsa, unda ko'proq atributlarni hisobga olish kerak bo'lishi mumkin. (bandlik darajasi, sog'liq, havo ifloslanishi va boshqalar), ko'proq yoki yaxshiroq ta'lim ma'lumotlarini oling yoki kuchliroq modelni tanlang (aytaylik, polinom regressiya modeli). Yuqoridagilarni umumlashtiramiz: • siz ma'lumotlarni o'rgandingiz; • siz modelni tanlagansiz; • siz modelni o'quv ma'lumotlari bo'yicha o'qidingiz (ya'ni, o'qitish algoritmi xarajatlar funktsiyasini minimallashtiradigan model parametrlari uchun qiymatlarni qidirdi); • Nihoyat, siz modelni yaxshi umumlashtirishga umid qilib, yangi namunalar bo'yicha bashorat qilish uchun modelni qo'lladingiz (chiqarish deb ataladi). Oddiy mashinani o'rganish loyihasi shunday ko'rinadi. 2-bobda siz ushbu turdagi loyihani boshidan oxirigacha bosib o'tish orqali shaxsiy tajribaga ega bo'lasiz. Hozirgacha ko'plab asoslar yoritilgan: endi siz mashinani o'rganish nima ekanligini, nima uchun foydali ekanligini bilasiz. ML tizimlarining eng keng tarqalgan toifalari nima va odatdagi loyihaning ish jarayoni qanday ko'rinishga ega. Mashg'ulotlarda nima noto'g'ri bo'lishi va aniq bashoratlarni ishlab chiqishga to'sqinlik qilishi mumkinligini ko'rish vaqti keldi. Mashinani o'rganishning asosiy muammolari Qisqasi, sizning asosiy vazifangiz o'rganish algoritmini tanlash va uni ma'lum ma'lumotlarga o'rgatish bo'lganligi sababli, ikkita narsa bo'lishi mumkin. unday emas, "yomon algoritm" va "yomon ma'lumotlar": yomon ma'lumotlarga misollar bilan boshlaylik. Trening maʼlumotlari hajmi yetarli emas Farzandingizga olma nima ekanligini o'rgatish uchun siz olmani ko'rsatib, "olma" so'zini aytishingiz kerak (ehtimol, protsedurani bir necha marta takrorlash mumkin). Endi bola barcha rang va shakldagi olmalarni aniqlay oladi. Daho shaxsiyat. Mashinani o'rganish hali ham bundan uzoqdir; Ko'pgina ML algoritmlari to'g'ri ishlashi uchun juda ko'p ma'lumotlarni talab qiladi. Hatto juda oddiy vazifalar uchun ham sizga odatda minglab misollar kerak bo'ladi, lekin tasvir yoki nutqni aniqlash kabi murakkab vazifalar uchun millionlab misollar kerak bo'ladi (agar mavjud modelning qismlarini qayta ishlata olmasangiz). Ma'lumotlarning asossiz samaradorligi 2001 yilda nashr etilgan mashhur maqolada Microsoft tadqiqotchilari Mishel Banquo va Erik Brill mashinani o'rganishning juda xilma-xil algoritmlari, shu jumladan juda oddiylari ham deyarli bir xil ishlashini ko'rsatdi. Ularga yetarlicha ma’lumotlar berilganda tabiiy tilni ajratib ko‘rsatish 8 qiyin vazifani yaxshi bajardi (1.20-rasm). Mualliflarning ta'kidlashicha: "Bunday natijalar bizni vaqtni behuda sarflash va bekor qilish o'rtasidagi kelishuvni qayta ko'rib chiqish vasvasasiga tushishimiz mumkinligini ko'rsatadi. algoritmlarni ishlab chiqish va ularni kümülatif ishlab chiqishga sarflash uchun pul ajratiladi': Murakkab muammolar uchun ma'lumotlar algoritmlardan ko'ra muhimroq degan g'oya Piter Norvig va boshqalar tomonidan "Ma'lumotlarning asossiz samaradorligi" sarlavhali maqolada yanada ommalashgan. (“Unreasonable Data Efficiency”) 2009 yilda chop etilgan 10. Biroq shuni ta’kidlash kerakki, kichik va o‘rta o‘lchamdagi ma’lumotlar to‘plamlari hali ham juda keng tarqalgan va qo‘shimcha o‘quv ma’lumotlarini olish har doim ham oson yoki arzon emas, shuning uchun hozir algoritmlardan voz kechmang. . Vakil bo'lmagan trening ma'lumotlari Muvaffaqiyatli umumlashtirish uchun o'quv ma'lumotlari siz umumlashtirmoqchi bo'lgan yangi misollarni aks ettirishi juda muhimdir. Bu namunaga asoslangan va modelga asoslangan o'rganish uchun ham amal qiladi. Aytaylik, biz ilgari chiziqli modelni o'rgatish uchun foydalangan mamlakatlar to'plami to'liq vakil emas edi; bir qancha davlatlar g'oyib bo'ldi. Shaklda. 1.21-rasmda etishmayotgan mamlakatlar qo'shilgandan keyin ma'lumotlar qanday ko'rinishi ko'rsatilgan. Chiziqli modelni yangi ma'lumotlarga o'rgatish qattiq chiziq hosil qiladi, eski model esa nuqta chiziq bilan ko'rsatiladi. Ko'rib turganingizdek, ilgari yo'qolgan bir nechta mamlakatlarni qo'shish nafaqat modelni sezilarli darajada o'zgartiradi, balki bunday oddiy chiziqli model hech qachon yaxshi ishlamasligini ham aniq ko'rsatadi. Bu odamlarga juda o'xshaydi boy mamlakatlar o'rtacha boy mamlakatlardagi odamlardan baxtli emas (aslida ular baxtsiz ko'rinadi) va aksincha, ba'zi kambag'al mamlakatlardagi odamlar ko'plab boy mamlakatlardagi odamlarga qaraganda baxtliroq ko'rinadi. Vakil bo'lmagan o'quv to'plamidan foydalanib, biz aniq prognozlar berishi dargumon modelni o'rgatganmiz, ayniqsa juda kambag'al va juda boy mamlakatlar uchun. Umumlashtirmoqchi bo'lgan misollarni ifodalovchi o'quv majmuasidan foydalanish juda muhimdir. Ushbu maqsadga erishish ko'pincha tuyulishi mumkin bo'lgandan ko'ra qiyinroq: agar namuna juda kichik bo'lsa, unda siz namuna olish shovqinini (namuna olish shovqinini) olasiz, ya'ni. Tasodifiy natija sifatida vakili bo'lmagan ma'lumotlar, lekin namuna olish usuli noto'g'ri bo'lsa, hatto juda katta namunalar ham vakillik qilmasligi mumkin. Bu namuna olish tarafkashligi (namuna olish tarafkashligi) deb ataladi. Mashhur namunali tarafkashlik misoli Namuna olishning eng mashhur namunasi 1936 yilgi AQSh prezidentlik saylovlarida, Lendon va Ruzvelt to'qnash kelganida yuz berdi: Literary Digest taxminan 10 million kishiga maktublar yuborib, juda katta so'rov o'tkazdi. 2,4 million javob olindi va bu yuqori ehtimollik bilan bashorat qilingan Lendon 57% ovoz oladi. Buning o'rniga Ruzvelt 62% ovoz bilan g'alaba qozondi. Xatolik Literary Digestda qo‘llanilgan namuna olish usulida yashiringan. • Birinchidan, Literary Digest so'rov xatlarini yuborish uchun manzillarni olish uchun telefon ma'lumotnomalari, jurnallar obunachilari ro'yxati, klub a'zolari ro'yxati va shunga o'xshashlardan foydalangan. Belgilangan ro'yxatlar odatda respublikachilarga (shuning uchun Lendon) ovoz berish ehtimoli ko'proq bo'lgan boyroq odamlarni o'z ichiga olgan. • Ikkinchidan, so'rovnoma xatlarini olgan odamlarning 25% dan kamrog'i javob berdi. Bu yana siyosatga unchalik qiziqmaydigan odamlarni, Literary Digestni yoqtirmaydigan odamlarni va boshqa asosiy odamlar guruhlarini istisno qilish orqali tanlov tarafkashligiga olib keladi. Namuna olishning bu alohida turi javobsiz tarafkashlik deb ataladi. Yana bir misol: keling, siz qiziqarli videokliplarni tanib olish tizimini yaratmoqchisiz deylik. Trening to'plamini yaratishning bir usuli - YouTube'da "fank musiqa" ni qidirish va natijada olingan videokliplardan foydalanish. Ammo bu yondashuv taxmin qiladi YouTube qidiruv tizimi YouTube'dagi barcha qiziqarli videokliplarni ifodalovchi videokliplar to'plamini qaytaradi. Haqiqatda, qidiruv natijalari mashhur rassomlar foydasiga bir xil bo'lishi mumkin (va agar siz Agar siz Braziliyada yashasangiz, siz Jeyms Braunga umuman o'xshamaydigan juda ko'p qiziqarli karioka videolarini olasiz). Boshqa tomondan, katta o'quv to'plamini yana qanday qilib olishingiz mumkin? Sifatli nnoxoro ma'lumotlari Shubhasiz, agar sizning mashg'ulotingiz ma'lumotlari xatolar, o'lchovlar va shovqinlarga to'la bo'lsa (masalan, sifatsiz o'lchovlar tufayli), bu tizimning asosiy naqshlarni aniqlashini qiyinlashtiradi va shuning uchun tizim yaxshi ishlaydi. Ko'pincha vaqt ajratishga arziydi ta'lim ma'lumotlarini tozalash uchun. Aslida, ko'pchilik mutaxassislar ma'lumotlar olimlari o'z vaqtlarining katta qismini aynan shu narsaga sarflashadi. Mumkin bo'lgan choralar quyida keltirilgan. • Agar ba'zi misollar shubhasiz o'zgaruvchan bo'lsa, unda oddiygina ularni tashlab yuborish yoki xatolarni qo'lda tuzatishga urinish yordam berishi mumkin. • Agar ba'zi misollarda ba'zi xususiyatlar etishmayotgan bo'lsa (aytaylik, Sizning mijozlaringizning 5% o'z yoshini ko'rsatmagan), keyin nima qilish kerakligini hal qilishingiz kerak bo'ladi: bunday atributlarga e'tibor bermang; etishmayotgan atributlari bo'lgan misollarni e'tiborsiz qoldiring; etishmayotgan qiymatlarni to'ldiring (ehtimol o'rtacha yosh bilan); xususiyatli bitta modelni va funksiyasiz bitta modelni tayyorlash; va hokazo. Ahamiyatsiz belgilar Ular aytganidek, axlat ichkarida - axlat tashqarida. Sizning tizimingiz ta'lim ma'lumotlari etarli miqdordagi muhim xususiyatlarni o'z ichiga olgan holda va juda ko'p muhim bo'lmagan xususiyatlarni o'z ichiga olgan taqdirdagina o'rganishga qodir. ML loyihasi muvaffaqiyatining muhim qismi o'qitish uchun yaxshi xususiyatlar to'plamidan kelib chiqadi. Xususiyat muhandisligi deb ataladigan bu jarayon quyidagilarni o'z ichiga oladi: • xususiyat tanlash - mavjud xususiyatlar bo'yicha o'rganish uchun eng foydali xususiyatlarni tanlash; • xususiyatni ajratib olish (eature ekstraktsiya) - foydaliroq xususiyatni ishlab chiqarish uchun mavjud xususiyatlarning kombinatsiyasi (avval ko'rsatilgandek, o'lchamlarni qisqartirish algoritmi yordam berishi mumkin); • yangi ma'lumotlarni to'plash orqali yangi xususiyatlarni yaratish. Endi yomon ma'lumotlarning ko'plab misollari ko'rsatildi, keling, yomon algoritmlarning bir nechta misollarini ko'rib chiqaylik. Qayta tayyorlash bo'yicha ma'lumotlar Aytaylik, chet elga sayohatingiz paytida taksi haydovchisi sizni o'g'irladi. Siz bu mamlakatdagi barcha taksi haydovchilari o'g'rilar, deb da'vo qilish vasvasasiga tushishingiz mumkin. Haddan tashqari umumlashtirish - bu biz odamlar juda tez-tez qiladigan narsa va afsuski, agar ehtiyot bo'lmasak, mashinalar xuddi shunday tuzoqqa tushishi mumkin. ML kontekstida bu holat overfitting deb ataladi: bu modelning o'quv ma'lumotlari bo'yicha yaxshi ishlashini anglatadi, lekin yaxshi umumlashtirilmaydi. Shaklda. 1.22 daraja uchun yuqori tartibli polinom modelining namunasini ko'rsatadi hayotdan qoniqish, bu erda ta'lim ma'lumotlari haddan tashqari ko'p qayta tayyorlash. Garchi u o'quv ma'lumotlari bo'yicha ancha yaxshi ishlaydi, oddiy chiziqli modeldan ko'ra, siz uning bashoratlariga ishonasizmi? Chuqur neyron tarmoqlar kabi murakkab modellar ma'lumotlardagi nozik naqshlarni aniqlashi mumkin, ammo agar o'quv majmuasi shovqinli yoki juda kichik bo'lsa (namuna olish shovqinini keltirib chiqaradi), u holda model shovqinning o'zida naqshlarni aniqlay oladi. Shubhasiz, bunday naqshlar yangi misollar uchun umumlashtirilmaydi. Faraz qilaylik, siz hayotdan qoniqish uchun modelingizni ko'plab qo'shimcha atributlar, jumladan, mamlakat nomi kabi informatsion bo'lmagan atributlar bilan taqdim qildingiz. Bunday holda, murakkab model o'quv majmuasidagi nomi "c" harfini o'z ichiga olgan barcha mamlakatlar 7 dan yuqori hayotdan qoniqishga ega bo'lishi faktini aniqlay oladi: Yangi Zelandiya (7,3), Norvegiya (7,4), Shvetsiya (7,2) va Shveytsariya (7,5). Mamlakat nomida “c” harfiga ega bo‘lish qoidasi Zimbabve yoki Malavi uchun umumlashtirilishi kerakligiga qanchalik ishonasiz? Ma'lumki, bunday naqsh mashg'ulot ma'lumotlarida tasodifan paydo bo'lgan, ammo model naqsh haqiqiymi yoki shunchaki ma'lumotlardagi shovqin natijasimi, ayta olmaydi. Model o'quv ma'lumotlarining hajmi va shovqini uchun juda murakkab bo'lsa, haddan tashqari moslashish sodir bo'ladi. Mumkin echimlar quyida keltirilgan. • Kamroq parametrli variantni tanlash (masalan, yuqori tartibli polinom modeli o‘rniga chiziqli model), o‘quv ma’lumotlaridagi atributlar sonini kamaytirish yoki modelni cheklash orqali modelni soddalashtirish. • Ko'proq mashg'ulot ma'lumotlarini to'plang. • O'quv ma'lumotlaridagi shovqinni kamaytirish (masalan, ma'lumotlardagi xatolarni to'g'rilash va chetga chiqishlarni yo'q qilish). Modelni soddalashtirish va haddan tashqari o'rnatish xavfini kamaytirish uchun uni cheklash tartibga solish deb ataladi. Misol uchun, biz avval aniqlagan chiziq modeli ikkita parametrga ega, e0 va e1.Bu o'rganish algoritmiga modelni o'quv ma'lumotlariga moslashtirish uchun ikki daraja erkinlik beradi: u chiziq balandligini (e0) va uning qiyaligini (e1) sozlashi mumkin. ). Agar e1 ni 0 ga majburlasak, u holda algoritm faqat bitta erkinlik darajasiga ega bo‘ladi va unga ma’lumotlarni to‘g‘ri joylashtirish ancha qiyin bo‘ladi: u o‘quv namunalariga iloji boricha yaqinlashish uchun faqat chiziqni yuqoriga yoki pastga siljitishi mumkin. , bu o'rtacha atrofida tugaydi. Haqiqatan ham juda oddiy model! Agar biz algoritmga ep parametrini o'zgartirishga ruxsat bersak, lekin uni kichik saqlashga majbur qilsak, keyin o'rganish algoritmi aslida bitta o'rtasida bo'ladi va ikki darajadagi erkinlik. U bilan qaraganda oddiyroq modelni yaratadi ikki darajadagi erkinlik, lekin faqat bittadan ko'ra qiyinroq. Siz erishmoqchimisiz ma'lumotlarga mukammal moslashish va saqlash o'rtasidagi to'g'ri muvozanat Model yaxshi umumlashtirishni ta'minlash uchun etarlicha sodda. Shaklda. 1.23 uchta modelni ko'rsatadi: nuqta chiziq bir nechta etishmayotgan mamlakatlar bilan o'rganilgan asl modelni, nuqta chiziq barcha mamlakatlar bilan o'rganilgan ikkinchi modelni va qattiq chiziq birinchi model bilan bir xil ma'lumotlarga o'rgatilgan chiziqli modelni ifodalaydi, lekin tartibga solish cheklovi. Ko'rib turganingizdek, tartibga solish modelni kichikroq nishabga ega bo'lishga majbur qildi, bu esa uni o'qitilgan o'quv ma'lumotlariga biroz yomonroq moslashtirdi, lekin aslida modelni yangi misollarga yaxshiroq umumlashtirishga imkon beradi. Trening davomida qo'llaniladigan tartibga solish miqdori giperparametr yordamida nazorat qilinishi mumkin. Giperparametr - o'rganish algoritmining parametri (model emas). Aslida, o'rganish algoritmining o'zi unga ta'sir qilmaydi; giperparametr mashg'ulotdan oldin o'rnatilishi va mashg'ulot davomida doimiy bo'lishi kerak. Agar siz tartibga solish giperparametrini juda katta qiymatga o'rnatsangiz, siz deyarli olasiz tekis model (nolga yaqin nishab bilan); ta'lim algoritmi deyarli albatta o'quv ma'lumotlariga to'g'ri kelmaydi, lekin yaxshi yechim topish ehtimoli kamroq. Giperparametrni sozlash muhim ahamiyatga ega ML tizimini qurishning bir qismi (batafsil misol keyingi bobda keltirilgan). Ma'lumotlarga moslashishni o'rgatish Siz taxmin qilganingizdek, kam moslashish ortiqcha moslamaning aksidir: bu sizning modelingiz asosiy ma'lumotlar strukturasini o'rganish uchun juda oddiy bo'lganda sodir bo'ladi. Misol uchun, hayotdan qoniqish uchun chiziqli model past o'rganishga moyil; haqiqat modeldan ko'ra murakkabroq, shuning uchun uning bashoratlari, hatto o'qitish misollarida ham muqarrar ravishda noto'g'ri bo'ladi. Muammoni hal qilishning asosiy variantlari bu erda. • Ko'proq parametrlarga ega kuchliroq modelni tanlash. • O'rganish algoritmini eng yaxshi xususiyatlar bilan ta'minlash (xususiyatlar muhandisligi). • Modeldagi cheklovlarni kamaytirish (masalan, tartibga solish giperparametri qiymatini pasaytirish). Orqaga qadam qo'ying, siz allaqachon mashinani o'rganish haqida ko'p narsalarni bilasiz. Biroq, biz siz qila oladigan juda ko'p tushunchalardan o'tdik bir oz chalkash his, Bas, bir qadam orqaga qilaylik va keling, katta rasmga qaraylik. • Mashinani oʻrganish deganda aniq kodlash qoidalari oʻrniga maʼlumotlardan oʻrganish orqali mashinalarni berilgan vazifani yaxshiroq bajarishini nazarda tutadi. • Mashinani o'rganish tizimlarining ko'p turlari mavjud: nazorat ostida yoki ularsiz, ommaviy yoki dinamik, namunaga asoslangan yoki modelga asoslangan va hokazo. • ML loyihasida siz o'quv majmuasida ma'lumotlarni to'playsiz va taqdim qilasiz uning o'rganish algoritmi. Agar algoritm modellarga asoslangan bo'lsa, u modelni o'quv majmuasiga moslashtirish uchun bir qator parametrlarni sozlaydi (ya'ni, haqiqiy narsa bo'yicha yaxshi bashorat qilish uchun). o'quv to'plami) va keyin algoritm imkoniga ega bo'lishiga umid qilinadi yangi namunalar bo'yicha ham foydali bashoratlarni ishlab chiqish. Agar algoritm namunalarga asoslangan bo'lsa, u namunalarni xotiradan o'rganadi va yangi namunalarga umumlashtirish uchun o'xshashlik o'lchovidan foydalanadi. • Agar o'quv majmuasi juda kichik bo'lsa yoki ma'lumotlar aks ettirilmasa, shovqinli yoki muhim bo'lmagan xususiyatlar bilan ifloslangan bo'lsa (axlat ichkariga - chiqindiga) tizim yaxshi ishlamaydi. Axir, sizning modelingiz juda oddiy bo'lmasligi kerak (va ortiqcha) na keraksiz murakkab (va kam o'qitilgan). Yoritish uchun faqat bitta muhim mavzu qoldi: modelni o'rgatgandan so'ng, siz uni yangi namunalar uchun umumlashtirishga "umid qilishni" xohlamaysiz. Siz buni baholamoqchisiz va agar kerak bo'lsa, uni yaxshi sozlamoqchisiz. Keling, qanday qilib. Sinov va tekshirish Modelning yangi namunalar uchun qanchalik yaxshi umumlashtirilishini bilishning yagona yo'li uni yangi namunalarda sinab ko'rishdir. namunalar. Buning uchun modelni ishlab chiqarish muhitiga joylashtirish va uning ishlashini kuzatish mumkin. Oddiy qabul, lekin agar sizning modelingiz juda yomon bo'lsa, foydalanuvchilar noroziliklarini bildiradilar - bu eng yaxshi reja emas. Eng yaxshi variant - ma'lumotlarni ikkita to'plamga bo'lish: o'quv to'plami va test to'plami. Nomlardan ko'rinib turibdiki, siz o'zingizning modelingizni o'quv to'plamida o'qitasiz va uni test to'plamida sinab ko'rasiz. Yangi namunalardagi xatolik darajasi umumlashtirish xatosi yoki namunadan tashqari xato deb ataladi va test to'plamidagi modelni baholash orqali siz ushbu xatoning taxminiy bahosini olasiz. Olingan qiymat sizga modelning ilgari hech qachon ko'rmagan namunalarda qanchalik yaxshi ishlashini aytadi. Agar mashg'ulot xatosi past bo'lsa (ya'ni, sizning modelingizda bir nechta xatolar mavjud o'quv majmuasida), lekin umumlashtirish xatosi yuqori, ya'ni model o'quv ma'lumotlari bilan haddan tashqari to'ldirilgan. Ma'lumotlarning 80 foizini o'qitish va talab qilish uchun ishlatish odatiy holdir - Sinov uchun 20% ma'lumot. Shunday qilib, modelni baholash juda oddiy: siz faqat test to'plamidan foydalanishingiz kerak. Aytaylik, siz ikkita model (chiziqli va polinom) o'rtasida tebranmoqdasiz: qanday qaror qabul qilasiz? Variantlardan biri ikkalasini ham o'rgatish va ularning test to'plami bilan qanchalik umumlashtirilganligini solishtirishdir. Keyinchalik, chiziqli model yaxshiroq umumlashtiradi, deb tasavvur qiling, lekin oldini olish uchun overfitting siz qandaydir tartibga solishni qo'llamoqchisiz. Savol ichida Regulyatsiya giperparametrining qiymatini qanday tanlaysiz? Ushbu giperparametr uchun 100 xil qiymatdan foydalangan holda 100 xil modelni o'qitish mumkin. Eng kichik umumlashtirish xatosi bo'lgan modelni ishlab chiqaradigan eng yaxshi giperparametr qiymatini topishga imkon bering - atigi 5%. Keyin siz ushbu modelni ishlab chiqarishga kiritasiz, lekin afsuski, u 15% xatolik darajasi bilan kutilgandek ishlamaydi. Nima bo'ldi Muammo shundaki, siz testda umumlashtirish xatosini o'lchagansiz ko'p marta o'rnatildi, shundan so'ng model va giperparametrlar belgilangan to'plam uchun eng yaxshi modelni ishlab chiqarish uchun moslashtirildi. Bu shuni anglatadiki, model yangi ma'lumotlarda ham ishlashi dargumon. Muammoning umumiy yechimi ikkinchi to'plamni tasdiqlash to'plami deb ataladi. Siz o'quv majmuasini qo'llash, eng yaxshi ishlashni ta'minlaydigan model va giperparametrlarni tanlash orqali turli xil giperparametrlarga ega ko'plab modellarni o'rgatasiz. test to'plamida va model qoniqtirilganda, umumlashtirish xatosi taxminini olish uchun test to'plamida yakuniy testni o'tkazing. Juda ko'p mashg'ulotlarni "isrof qilmaslik" uchun tekshirish to'plamlaridagi ma'lumotlar uchun umumiy usul o'zaro tekshirishdan foydalanishdir: o'quv to'plami bir-birini to'ldiruvchi kichik to'plamlarga bo'linadi va har bir model ushbu kichik to'plamlarning boshqa kombinatsiyasi bo'yicha o'qitiladi va qolgan kichik to'plamlarda tasdiqlanadi. Model turi va giperparametrlar tanlab olingandan so‘ng, yakuniy model ushbu giperparametrlar yordamida to‘liq o‘quv majmuasida o‘qitiladi va test majmuasida umumlashtirish xatosi o‘lchanadi. Bepul nonushta teoremasi yo'q Model kuzatishlarning soddalashtirilgan versiyasidir. Soddalashtirish yangi dizaynlar uchun umumlashtirilishi mumkin bo'lmagan ortiqcha tafsilotlarni yo'q qilishni anglatadi. Biroq, qaysi ma'lumotlardan voz kechish va qaysi birini saqlash kerakligini hal qilish uchun siz taxminlar qilishingiz kerak. Masalan, chiziqli model ma'lumotlarning asosan chiziqli ekanligini va namunalar va to'g'ri chiziq orasidagi masofa shunchaki e'tiborsiz qoldirilishi mumkin bo'lgan shovqin ekanligini taxmin qiladi. 1996 yilgi mashhur 11 maqolasida Devid Volpert shuni ko'rsatdiki, agar siz ma'lumotlar haqida mutlaqo hech qanday taxmin qilmasangiz, unda bitta modelni boshqasidan ustun qo'yish uchun hech qanday sabab yo'q. Bu Bepul tushlik yo'q (NFL) teoremasi. Ba'zi ma'lumotlar to'plamlari uchun eng yaxshi model chiziqli, boshqalari uchun esa neyron tarmoq bo'ladi. Apriori yaxshiroq ishlashni kafolatlaydigan model yo'q (teoremaning nomi shuning uchun). Qaysi model yaxshiroq ekanligini ishonchli bilishning yagona yo'li barcha modellarni baholashdir. Bu mumkin emasligi sababli, amalda siz ma'lumotlar haqida ba'zi oqilona taxminlarni qilasiz va faqat bir nechta oqilona modellarni baholaysiz. Masalan, oddiy vazifalar uchun siz turli darajadagi tartibga solishga ega chiziqli modellarni, murakkab vazifalar uchun esa turli neyron tarmoqlarni baholashingiz mumkin. Mashqlar Ushbu bobda mashinani o'rganish bo'yicha eng muhim tushunchalar ko'rib chiqilgan. o'rganish. Keyingi boblarda biz chuqurroq sho'ng'iymiz va ko'proq kod yozamiz, lekin ularga o'tishdan oldin quyidagi savollarga javob berishingiz mumkinligiga ishonch hosil qiling. 1. Mashinani o'rganishni qanday ta'riflagan bo'lardingiz? 2. ML ustunlik qiladigan to'rt turdagi vazifalarni nomlay olasizmi? 3. Belgilangan o'quv majmuasi nima? 4. Nazorat ostidagi eng keng tarqalgan ikkita o'quv vazifasi nima? 5. To'rtta umumiy o'quv topshirig'ini ayta olasizmi? o'qituvchilar? 6. Robotga turli xil aniqlanmagan hududlarni bosib o'tish imkoniyatini yaratish uchun qanday turdagi ML algoritmidan foydalanasiz? 7. Mijozlaringizni bir nechta guruhlarga ajratish uchun qanday turdagi algoritmdan foydalanasiz? 8. Spamni aniqlash vazifasini nazorat ostidagi o'quv vazifasi yoki nazoratsiz o'quv vazifasi sifatida qanday taqdim etasiz? 9. Dinamik ta’lim tizimi nima? 10. Eksterna trening nima? o'n bir. Qanday turdagi o'rganish algoritmi bashorat qilish uchun o'xshashlik o'lchovlariga tayanadi? 12. Model parametri va trening giperparametri o'rtasidagi farq nima algoritm? 13. Modelga asoslangan ta’lim algoritmlari nimani izlaydi? Muvaffaqiyatga erishish uchun ular foydalanadigan eng keng tarqalgan strategiya nima? Qanday qilib ular bashorat qilishadi? 14. Mashinani o'rganishning to'rtta asosiy muammosini ayta olasizmi? 15. Agar sizning modelingiz o'quv ma'lumotlari bo'yicha yaxshi ishlasa, lekin yangi namunalar uchun yaxshi umumlashtirilmasa nima bo'ladi? Ism bera olasizmi uchta mumkin bo'lgan yechim? 16. Test to'plami nima va undan nima uchun foydalanish kerak? 1 7. Test to‘plamining maqsadi nima? 18. Sinov majmuasi yordamida giperparametrlarni sozlashda nima xato bo'lishi mumkin? 19. O'zaro tekshirish nima va nima uchun uni tekshirish to'plamidan afzal ko'rish mumkin? Yuqoridagi mashqlar yechimlari A ilovasida keltirilgan. Download 299.95 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling