14-bo‘lim
Halol baholash
Manba bo'yicha bo'lish, 100% dan 50% ga tushish, degenerat yechim va sun'iy ma'lumotning chegarasi.
Ushbu bo‘lim mundarijasi
13-bo'limda model test to'plamida 100% oldi, lekin yangi jumlalarda yiqildi. Bu bo'limda sababni o'lchab isbotlaymiz.
Tajriba #
To'plamga har jumlaning shablon nomini yozib qo'yamiz, keyin ikki xil bo'lishni solishtiramiz:
| Usul | Qanday bo'linadi | Test nimani sinaydi |
|---|---|---|
| 1. Tasodifiy | Jumlalar aralashtiriladi | Ko'rilgan shablonning yangi namunasi |
| 2. Shablon bo'yicha | 8 shablon o'quvga, 4 tasi testga | Butunlay yangi tuzilish |
test_shab = {"C1", "C2", "F1", "F2"}
oq = [d for d in data if d["shablon"] not in test_shab]
te = [d for d in data if d["shablon"] in test_shab]
Ikkala holatda ham bir xil model, bir xil sozlamalar, bir xil urug'.
Natija #
=== USUL 1: tasodifiy bo'lish (shablonlar aralashadi) ===
tasodifiy bo'lish test aniqligi: 100.00%
=== USUL 2: shablon bo'yicha bo'lish (test shablonlari ko'rilmagan) ===
o'quv: 397 (8 shablon) | test: 298 (4 shablon - ko'rilmagan)
shablon bo'yicha bo'lish test aniqligi: 50.34%
100.00% va 50.34%.
Ikkinchi son tasodifiy taxmin darajasi (50%). Ya'ni to'g'ri bo'lganda model hech nima o'rganmagani ma'lum bo'ldi.
Hech narsa o'zgarmadi - model ham, ma'lumot ham, sozlamalar ham o'sha. Faqat bo'lish chegarasi ko'chdi.
Agar biz birinchi o'lchov bilan to'xtaganimizda, hisobotga «100% aniqlik» deb yozardik va model ishlab chiqarishga chiqardi. U yerda esa u darhol yiqilardi.
Modelingiz haqida bilgan hamma narsangiz - baholash usulingiz qanchalik halol bo'lsa, shunchalik haqiqatga yaqin.
Qo'lda yozilgan sinov #
Uchinchi o'lchov - shablondan umuman bog'liq bo'lmagan, qo'lda yozilgan 10 ta jumla:
tasodifiy bo'lish modeli 6/10 to'g'ri
shablon bo'yicha modeli 5/10 to'g'ri
Ikkalasi ham tasodif darajasida. Endi javoblarga qaraymiz:
OK Bu darslik juda zo'r! -> IJOBIY (97%)
XATO Menga umuman yoqmadi. -> IJOBIY (86%)
OK Mahsulot sifatli chiqdi, tavsiya qilaman. -> IJOBIY (100%)
XATO Pul isrofi bo'ldi, afsus. -> IJOBIY (99%)
OK Narxi baland, ammo sifati joyida. -> IJOBIY (100%)
XATO Ko'rinishi chiroyli, lekin tez buzildi. -> IJOBIY (99%)
OK Yetkazib berish tez bo'ldi, rahmat. -> IJOBIY (78%)
XATO Bir hafta kutdim, hech narsa kelmadi. -> IJOBIY (98%)
OK Yomon emas, kutganimdan yaxshiroq. -> IJOBIY (99%)
XATO Yaxshi deb o'ylagandim, adashibman. -> IJOBIY (100%)
Hamma javob IJOBIY. Model 5 tasini to'g'ri topgandek ko'rinadi - lekin faqat shuning uchunki ularning yarmi haqiqatan ijobiy edi.
Bu PyTorch darsligining 18-bo'limidagi «dangasa model» ning o'zi: hamma narsani bitta sinfga tashlash.
50% muvozanatli to'plamda bu aynan 50% beradi. Model buni «o'rganmadi» - u shunchaki eng oson yechimni topdi, chunki ma'lumot unga boshqa hech narsa o'rgatmadi.
Alomat: aniqlik sinf ulushiga teng va ishonch hamma joyda yuqori.
Nega sun'iy ma'lumot yetmadi #
Bizning to'plam 12 ta shablondan 695 ta jumla yasadi. Ko'rinishdan xilma-xil, aslida esa juda tor:
| Nima bor | Nima yo'q |
|---|---|
| 12 ta jumla tuzilishi | Odamlar yozadigan cheksiz variantlar |
| 8 ta ijobiy, 8 ta salbiy sifat | Kinoya, shevalar, qisqartmalar |
| Toza yozuv | Xato yozilgan so'zlar, emoji, aralash til |
| Bitta soha | Turli mavzular |
Model 8 shablonni o'rgandi, 4 tasini esa hech qachon ko'rmadi - va ularni tushunolmadi.
Sun'iy to'plam quvurni sinash uchun juda foydali: kod ishlayaptimi, shakl to'g'rimi, o'qitish yurayaptimi.
Lekin model undan til haqida hech nima o'rganmaydi. U shablonni o'rganadi - chunki o'rganadigan boshqa narsa yo'q.
Haqiqiy natija uchun haqiqiy matn kerak: to'plangan sharhlar, yorliq qo'yilgan hujjatlar, foydalanuvchi xabarlari. Kamida bir necha ming namuna, va ular turli manbalardan bo'lishi kerak.
Bo'lish qoidasi #
| Ma'lumot turi | Bo'lish chegarasi |
|---|---|
| Shablondan yasalgan | Shablon bo'yicha |
| Foydalanuvchi sharhlari | Foydalanuvchi bo'yicha |
| Maqoladan olingan jumlalar | Maqola bo'yicha |
| Vaqtga bog'liq (narx, ob-havo) | Sana bo'yicha - kelajak testga |
| Bemor yozuvlari | Bemor bo'yicha |
Qoida bitta: bir manbadan chiqqan namunalar ikkala to'plamga tushmasin.
Keyin nima qilish kerak #
Kayfiyat tahlili uchun yechim bitta: haqiqiy, yorliqlangan ma'lumot to'plash. Qisqa yo'l yo'q.
Lekin bu barcha masalalarga tegishli emas. Ba'zi masalalar - masalan qidiruv va o'xshashlik - tayyor modelning ma'no vektorlari bilan o'qitishsiz yechiladi. Keyingi bo'limda shu vektorlarni o'rganamiz va ular nimani yecha olishini, nimani yecholmasligini o'lchab ko'ramiz.
- Sizda kamida bir necha ming haqiqiy, yorliqlangan namuna bor.
- Ular turli manbalardan yig'ilgan.
- Masala tor va aniq (masalan, tibbiy hujjatlarni turkumlash).
- Sizda baholash uchun alohida, ishonchli to'plam bor.
Shartlarning biri bajarilmasa - avval embedding yondashuvini sinang.
- To'plamingizdagi har namunaga manba belgisini qo'shing.
- Tasodifiy bo'lish bilan model o'qitib, aniqlikni yozing.
- Manba bo'yicha bo'lib, xuddi shu modelni qayta o'qiting.
- Ikki natijani solishtirib, farqni izohlang.
- Qo'lda 10 ta yangi jumla yozib, modelni sinang.
- Model hamma narsani bitta sinfga tashlayaptimi - tekshiring.
- Degenerat yechimning ikkita alomatini ayting.
- To'plamingizda nechta turli tuzilish borligini sanang.
- O'z masalangiz uchun to'g'ri bo'lish chegarasini tanlang va asoslang.
- Sun'iy ma'lumot qaysi maqsadda foydali ekanini yozing.
Xulosa #
- Bir xil model va ma'lumotda bo'lish usuli natijani 100% dan 50.34% ga tushirdi.
- Ikkinchi son tasodif darajasi - demak model umumlashtira oladigan hech nima o'rganmagan.
- Qo'lda yozilgan 10 ta jumlada model hammasini «ijobiy» dedi.
- Bu degenerat yechim: eng oson javobni tanlash.
- Alomati - aniqlik sinf ulushiga teng, ishonch esa hamma joyda yuqori.
- Sabab: 695 ta jumla atigi 12 ta shablondan yasalgan edi.
- Sun'iy ma'lumot quvurni sinash uchun yaxshi, til o'rgatish uchun emas.
- Bo'lish chegarasi namuna bo'yicha emas, manba bo'yicha o'tkaziladi.
- Foydalanuvchi, maqola, sana yoki bemor - masalaga qarab tanlanadi.
- Ma'lumot kam bo'lsa, fine-tuning o'rniga tayyor ma'no vektorlarini sinang.
Keyingi bo'limda o'qitishsiz ishlaydigan yondashuvga - embedding vektorlariga o'tamiz.
O‘qish tarixini saqlamoqchimisiz?
Tizimga kirsangiz, tugatgan bo‘limlaringiz saqlanadi va qoldirgan joyingizdan davom etasiz.
Xatolik topdingizmi?
Imlo xatosi, ishlamaydigan kod yoki noto‘g‘ri ma‘lumotni ko‘rsangiz - bizga xabar bering. Har bir xabar administrator tomonidan ko‘rib chiqiladi.