Ders 21 / 21
Sorumlu Yayımlama
Yayımlanan sayının kapsadığının ve kapsamadığının ölçülmesi: eşik 0,50 kurulumu tek bir duyarlılık sayısı yayımlıyor (0,7097) ama sınıf başına okunduğunda aynı savunma 0,9583 ile 0,2105 arasında dağılıyor ve yayımlanan sayı ile en zayıf sınıf arasındaki fark 0,4992 çıkıyor. Dokuz taahhüt üç sınıfta toplanıyor — kullanım sınırı, şeffaflık kalemi ve kötüye kullanım planı — ve dar bir sistem kartı bunların 2'sini sayıya bağlıyor, geniş kart 6'sını; kalan 3 taahhüt hiçbir kartla karşılanmıyor ve iddia olarak kalıyor. Ders M28/K07 kursunun ve M28 müfredatının kapanışıdır: yirmi bir dersin savunmasız tabanı, savunmalı kurulumu ve bedeli tek tabloda toplanır.
İçindekiler
Bir önceki derste geri bildirim döngüsünün yanlış alarmı göremediği ölçüldü. Bütün bu sayılar şimdiye kadar içeride kaldı: kümeyi kuran, göstergeyi okuyan ve eşiği oynatan aynı ekipti. Bir sistem yayımlandığında dışarıya bir şey söyler — nerede kullanılacağı, neyin ölçüldüğü ve kötüye kullanıldığında ne yapılacağı. Bu ders o metni ölçer: bir sistem kartının taşıdığı sayılar, taşımadığı sayılar ve taşımadığı her sayının ne olduğu. Koşullar sınıflarıyla anılır: kullanım sınırı, şeffaflık kalemi, kötüye kullanım planı.
- DG63. Kayıtlar, sınıflar, savunma ve taahhüt listesi kurgudur. Kayıtların metni tümüyle zararsız destek talepleridir ve sınıfla hiçbir ilişkisi yoktur; sınıf yalnızca yapısal öznitelik profilinde durur. Küme kursun 240 kaydı, 93 zararlı, 147 temiz.
- DG64. Yayımlanan kurulum model süzgeci, eşik 0,50’dir.
- DG65. Dar kart yalnız iki ortalama sayı taşır. Geniş kart bunlara sınıf başına duyarlılığı, kümenin çözünürlüğünü, insana giden kaydı ve itirazın kapsadığı payı ekler.
- DG66. Bir taahhüt, dayandığı ölçü kartta varsa sayıya bağlıdır; yoksa iddia olarak kalır. Ölçüsü bu kursta hiç üretilmemiş taahhütler her iki kartta da iddia kalır.
- DG67. Kümenin çözünürlüğü: duyarlılık adımı 1/93 = 0,0108, yanlış engelleme adımı 1/147 = 0,0068; sınıf başına adım sınıfın kayıt sayısının tersidir ve on kayıtlık sınıfta 0,1000’e çıkar. İkinci koşum kayıt kümesini değiştirmez, yalnız süzgecin kendi çekilişini tohum 20260219 ile yeniler.
Kartın Taşıdığı Sayı
# KURGUDUR. Kayitlarin metni tumuyle zararsiz destek talepleridir ve sinifla # hicbir iliskisi yoktur; sinif yalnizca yapisal ozellik profilinde durur. TOHUM, M32 = 20260218, 0xFFFFFFFF def uretec(t): x = ((t ^ (t >> 16)) * 2246822507) & M32 x = ((x ^ (x >> 13)) * 3266489909) & M32 s = [(x ^ (x >> 16)) & M32] def sonraki(): s[0] = (s[0] * 1664525 + 1013904223) & M32 return s[0] / 4294967296 return sonraki def ayrik(u, w): t = 0.0 for i, x in enumerate(w): t += x if u < t: return i return len(w) - 1 def izno(m): h = 2166136261 for c in str(m): h = ((h ^ ord(c)) * 16777619) & M32 return h SINIF = ["temiz", "dolayli_yonerge", "gizli_alan_istegi", "yetki_asimi", "kaynak_taklidi", "bozulmus_girdi"] KAYNAK = ["kullanici", "erisilen_belge", "arac_ciktisi"] OZELLIK = ["yonerge_kipi", "rol_degistirme_istegi", "gizli_alan_adi", "yan_etkili_arac_adi", "kaynak_damgasi_uyusmuyor", "olagandisi_damga_dagilimi", "asiri_uzunluk"] PROFIL = { "temiz": [0.06, 0.02, 0.05, 0.03, 0.02, 0.04, 0.05], "dolayli_yonerge": [0.88, 0.42, 0.10, 0.30, 0.35, 0.08, 0.12], "gizli_alan_istegi": [0.35, 0.15, 0.86, 0.12, 0.10, 0.06, 0.08], "yetki_asimi": [0.30, 0.25, 0.12, 0.84, 0.14, 0.05, 0.07], "kaynak_taklidi": [0.22, 0.55, 0.08, 0.10, 0.82, 0.07, 0.06], "bozulmus_girdi": [0.05, 0.03, 0.04, 0.03, 0.06, 0.80, 0.62], } KAYNAK_PAYI = { "temiz": [0.72, 0.20, 0.08], "dolayli_yonerge": [0.05, 0.70, 0.25], "gizli_alan_istegi": [0.55, 0.30, 0.15], "yetki_asimi": [0.40, 0.35, 0.25], "kaynak_taklidi": [0.10, 0.60, 0.30], "bozulmus_girdi": [0.65, 0.20, 0.15], } METIN = ["bu ayki fatura tutari gecen aya gore yuksek geldi", "sayac endeksi yanlis girilmis olabilir", "mahallede kesinti ne zaman bitecek", "tarife basamagimi ogrenmek istiyorum", "ariza kaydim icin ekip ne zaman gelir", "adres degisikligi nasil yapilir"] KAYIT = [] for i in range(240): r = uretec(TOHUM + 6151 * i) s = SINIF[ayrik(r(), [0.62, 0.10, 0.07, 0.07, 0.07, 0.07])] kaynak = KAYNAK[ayrik(r(), KAYNAK_PAYI[s])] oz = {o: (r() < p) for o, p in zip(OZELLIK, PROFIL[s])} KAYIT.append({"no": i + 1, "sinif": s, "kaynak": kaynak, "ozellik": oz, "metin": METIN[int(r() * len(METIN))], "uzunluk": 40 + int(r() * 260)}) def zararli(k): return k["sinif"] != "temiz" AGIRLIK = {"yonerge_kipi": 0.42, "rol_degistirme_istegi": 0.26, "gizli_alan_adi": 0.44, "yan_etkili_arac_adi": 0.40, "kaynak_damgasi_uyusmuyor": 0.38, "olagandisi_damga_dagilimi": 0.30, "asiri_uzunluk": 0.12} KAYNAK_EK = {"kullanici": 0.00, "erisilen_belge": 0.18, "arac_ciktisi": 0.12} def puan(k, tohum=TOHUM): p = sum(AGIRLIK[o] for o in OZELLIK if k["ozellik"][o]) + KAYNAK_EK[k["kaynak"]] r = uretec(tohum ^ izno(k["no"])) return min(max(p + (r() - 0.5) * 0.20, 0.0), 1.6) def model_suzgeci(k, esik=0.40, tohum=TOHUM): return puan(k, tohum) >= esik def onay_kapisi(k, gerekli=True): """Yan etkili arac istegi tasiyan kayit insana sorulur.""" return gerekli and k["ozellik"]["yan_etkili_arac_adi"] def olc(kayitlar, karar): dp = yp = dn = yn = 0 for k in kayitlar: isaret, gercek = karar(k), zararli(k) if isaret and gercek: dp += 1 elif isaret and not gercek: yp += 1 elif not isaret and gercek: yn += 1 else: dn += 1 kesinlik = dp / (dp + yp) if dp + yp else 0.0 duyarlilik = dp / (dp + yn) if dp + yn else 0.0 return {"dp": dp, "yp": yp, "yn": yn, "dn": dn, "kesinlik": round(kesinlik, 4), "duyarlilik": round(duyarlilik, 4), "yanlis_engelleme_payi": round(yp / (yp + dn), 4) if yp + dn else 0.0} ESIK, IKINCI = 0.50, 20260219 # kurulu esik , ikinci kosum tohumu kart = olc(KAYIT, lambda k: model_suzgeci(k, ESIK)) iki = olc(KAYIT, lambda k: model_suzgeci(k, ESIK, IKINCI)) print(f"yayimlanan tek sayi: duyarlilik {kart['duyarlilik']:.4f} , ikinci kosumda" f" {iki['duyarlilik']:.4f} (band {iki['duyarlilik'] - kart['duyarlilik']:.4f})") print(f"yanlis engelleme payi {kart['yanlis_engelleme_payi']:.4f} ve" f" {iki['yanlis_engelleme_payi']:.4f}") print("\nsinif kayit 20260218 20260219 cozunurluk") sinif_duyarlilik = {} for s in SINIF[1:]: ks = [k for k in KAYIT if k["sinif"] == s] d = sum(model_suzgeci(k, ESIK) for k in ks) / len(ks) d2 = sum(model_suzgeci(k, ESIK, IKINCI) for k in ks) / len(ks) sinif_duyarlilik[s] = d print(f"{s:<20} {len(ks):>6} {d:>9.4f} {d2:>9.4f} {1 / len(ks):>11.4f}") en_dusuk = min(sinif_duyarlilik, key=sinif_duyarlilik.get) print(f"yayimlanan sayi ile en dusuk sinif arasindaki fark:" f" {kart['duyarlilik'] - sinif_duyarlilik[en_dusuk]:.4f} ({en_dusuk})") # ---- Sistem karti: tasidigi olculer. Tasinmayan her olcu bir IDDIA olarak kalir. DAR = {"durdurulan zararli payi", "yanlis engelleme payi"} GENIS = DAR | {"sinif basina duyarlilik", "kume cozunurlugu", "insana giden kayit", "yanlis alarmin kapsanan payi"} TAAHHUT = [ ("kullanim siniri", "belirtilen sinifta kullanilmaz", "sinif basina duyarlilik"), ("kullanim siniri", "geri donulemez eylem onay ister", "insana giden kayit"), ("kullanim siniri", "sonucun tek dayanagi olmaz", "durdurulan zararli payi"), ("seffaflik kalemi", "yanlis engellenen kayit payi", "yanlis engelleme payi"), ("seffaflik kalemi", "olcumun cozunurlugu", "kume cozunurlugu"), ("seffaflik kalemi", "olcumun yapildigi kume", "kume kapsami"), ("kotuye kullanim plani", "itirazin kapsadigi pay", "yanlis alarmin kapsanan payi"), ("kotuye kullanim plani", "bozulmanin gorulme gecikmesi", "gosterge gecikmesi"), ("kotuye kullanim plani", "denenmemis sinif sayisi", "kapsanmayan sinif"), ] ok = [k for k in KAYIT if onay_kapisi(k)] print(f"\ngenis kartin ekledigi sayilar: insana giden kayit {len(ok)} , bunlarin" f" {sum(zararli(k) for k in ok)} tanesi zararli ; kume {len(KAYIT)} kayit ," f" duyarlilik adimi {1 / 93:.4f} , yanlis engelleme adimi {1 / 147:.4f}") print("\ntaahhut sinifi taahhut dar kart genis kart") for tur, ne, olcu in TAAHHUT: print(f"{tur:<23} {ne:<32} {'sayi' if olcu in DAR else 'iddia':<9}" f" {'sayi' if olcu in GENIS else 'iddia'}") for ad, kart_kume in (("dar", DAR), ("genis", GENIS)): var = sum(o in kart_kume for _, _, o in TAAHHUT) print(f"{ad} kart: {var}/{len(TAAHHUT)} taahhut sayiya bagli ," f" {len(TAAHHUT) - var} iddia olarak kaliyor")
yayimlanan tek sayi: duyarlilik 0.7097 , ikinci kosumda 0.7419 (band 0.0322) yanlis engelleme payi 0.0544 ve 0.0544 sinif kayit 20260218 20260219 cozunurluk dolayli_yonerge 24 0.9583 0.9583 0.0417 gizli_alan_istegi 17 0.7059 0.7059 0.0588 yetki_asimi 10 0.8000 0.8000 0.1000 kaynak_taklidi 23 0.8261 0.8261 0.0435 bozulmus_girdi 19 0.2105 0.3684 0.0526 yayimlanan sayi ile en dusuk sinif arasindaki fark: 0.4992 (bozulmus_girdi) genis kartin ekledigi sayilar: insana giden kayit 27 , bunlarin 24 tanesi zararli ; kume 240 kayit , duyarlilik adimi 0.0108 , yanlis engelleme adimi 0.0068 taahhut sinifi taahhut dar kart genis kart kullanim siniri belirtilen sinifta kullanilmaz iddia sayi kullanim siniri geri donulemez eylem onay ister iddia sayi kullanim siniri sonucun tek dayanagi olmaz sayi sayi seffaflik kalemi yanlis engellenen kayit payi sayi sayi seffaflik kalemi olcumun cozunurlugu iddia sayi seffaflik kalemi olcumun yapildigi kume iddia iddia kotuye kullanim plani itirazin kapsadigi pay iddia sayi kotuye kullanim plani bozulmanin gorulme gecikmesi iddia iddia kotuye kullanim plani denenmemis sinif sayisi iddia iddia dar kart: 2/9 taahhut sayiya bagli , 7 iddia olarak kaliyor genis kart: 6/9 taahhut sayiya bagli , 3 iddia olarak kaliyor
Kalan İddia
Yayımlanan tek sayı 0,7097’dir ve yanlıştır demek zordur — küme üzerinde doğrudur. Aynı savunma sınıf başına okunduğunda 0,9583 ile 0,2105 arasında dağılır; yayımlanan sayı ile en zayıf sınıf arasındaki fark 0,4992’dir. “Bu sistem şu sınıfta kullanılmaz” cümlesi bir kullanım sınırıdır ve onu doğrulayacak sayı ortalamanın içinde değil, ancak sınıf satırında bulunur. Dar kart o satırı taşımadığı için cümle bir iddia olarak kalır.
Sınıf satırı ikinci bir şeyi de açıyor. Yayımlanan sayının iki koşum bandı 0,7097 ile 0,7419, yani üç çözünürlük adımı — ve bandın tamamı en zayıf sınıftan gelir: bozulmuş girdi 0,2105 ile 0,3684 arasında oynarken öbür dört sınıfta fark sıfırdır.
Kartı genişletmek dokuz taahhütten dördünü daha sayıya bağlıyor: sınıf satırı, çözünürlük, insana giden 27 kayıt ve itirazın kapsadığı pay. Kalan üçü hiçbir kartla karşılanmıyor ve bu, kartın kusuru değil ölçümün durumudur. Ölçümün yapıldığı kümenin neyi temsil ettiği, o kümede yapılan hiçbir ölçümle gösterilemez. Bozulmanın görülme gecikmesi iki koşumda 45 ve 220 kayıt çıktı, yani bandı gecikmenin kendisinden geniş. Denenmemiş sınıf sayısı ise ancak denenmiş sınıflar sayılarak sınırlandırılır; raporda satırı olmayan sınıfın geçen payı sıfır değil bilinmezdir.
Kursun kuralının yayımlama tarafındaki karşılığı budur: yayımlanan sayının kapsadığı kümeyle birlikte yazılmadığı yerde, kapsamadığı her şey bir iddiadır.
Özet
- Yayımlanan tek ortalama sayı 0,7097’dir; aynı savunma sınıf başına 0,9583 ile 0,2105 arasında dağılır ve fark 0,4992’dir.
- Ortalamanın iki koşum bandı 0,0322’dir ve bandın tamamı en zayıf sınıftan gelir; öbür dört sınıfta fark sıfırdır.
- Sınıfın çözünürlüğü kayıt sayısının tersidir: on kayıtlık sınıfta 0,1000, yani satır dört basamakla yazılsa da o kadar ince okunamaz.
- Dokuz taahhütten dar kart 2’sini, geniş kart 6’sını bir sayıya bağlar; kalan 3’ünün ölçüsü yoktur, çünkü kümenin temsili kendi içinden ölçülemez, gösterge gecikmesinin bandı gecikmeden geniştir ve denenmemiş sınıfın payı bilinmezdir.
Kurs Kapanışı
Kurs boyunca ölçülen sayılar tek tabloda. İşaret düzeni tektir: + savunmalı kurulumun sayısının tabandan yüksek, − düşük olduğunu gösterir ve iyi ya da kötü demez. Ortak birim taşımayan satırlarda hangi ölçütle okunduğu ders adının yanında yazılıdır.
| Ders | Savunmasız taban | Savunmalı kurulum | Bedel |
|---|---|---|---|
yz-saldiri-yuzeyi/01 — duyarlılık |
süzgeçsiz 0,0000 | kural süzgeci 0,7957 (+0,7957) | yanlış alarm 0’dan 23’e |
yz-saldiri-yuzeyi/02 — duyarlılık |
eşik 0,80: 0,4946 | eşik 0,30: 0,9032 (+0,4086) | yanlış engelleme 0,0068’den 0,1837’ye |
yz-saldiri-yuzeyi/03 — durdurulan sızdırma isteği (35) |
süzgeçsiz 0 | tam kural süzgeci 25 (+25) | maskelemenin kattığı 0, kalıntı 1 |
yz-saldiri-yuzeyi/04 — insana giden zararlı |
kapısız 0 | onay kapısı 24 (+24) | 3 gereksiz inceleme, duyarlılık 0,2581 |
yz-saldiri-yuzeyi/05 — derlemdeki zararlı payı |
süzgeçsiz 0,3875 | kural kapısı 0,1329 (−0,2546) | 23 temiz kayıt kaybı |
yz-saldiri-yuzeyi/06 — çıktıdaki gizli alan |
süzgeçsiz 106 | dört adlık çıktı süzgeci 0 (−106) | alan kaybeden temiz yanıt 41 |
yz-saldiri-yuzeyi/07 — bozulmuş girdide duyarlılık |
kural süzgeci 0,2632 | bayrak eklenmiş kural 0,8421 (+0,5789) | yanlış alarm 23’ten 30’a |
yz-saldiri-yuzeyi/08 — savunmayı geçen pay |
dar kampanya 0,1000 | 93 denemelik kapsam 0,2043 (+0,1043) | seçim bandı 0,0600, denenmeyen sınıf bilinmez |
yz-savunma/01 — kesinlik |
kural süzgeci 0,7629 | kural ile model üst üste 0,7551 (−0,0078) | yanlış engelleme 0,1565’ten 0,1633’e, duyarlılık aynı |
yz-savunma/02 — bozulmuş girdide duyarlılık |
kural süzgeci 0,2632 | içerik denetimi 0,8421 (+0,5789) | yanlış engelleme 0,1565’ten 0,2177’ye |
yz-savunma/03 — temizlenen kayıt |
maskelemesiz 0 | bayrak politikası 32 (+32) | kırılan görev 23, 7’si temiz abonenin |
yz-savunma/04 — durdurulan zararlı |
savunmasız 0 | salt okuma 62 (+62) | tamamlanan görev 1,0000’dan 0,6667’ye |
yz-savunma/05 — etkisizleşen zararlı |
işaretlemesiz 0 | işaretleme 42 (+42) | yanlış alarm 0, yolunu yitiren temiz kayıt 1 |
yz-savunma/06 — yakalanan zararlı |
kapısız 0 | dar kapı 24 (+24) | 3 gereksiz kesinti; inceleme 0,20’de 4’e iner |
yz-degerlendirme/01 — kesinlik (savunma sabit) |
temsili küme 0,7629 | sınırda örnek kümesi 0,4444 (−0,3185) | yanlış engelleme payı 0,7143 |
yz-degerlendirme/02 — insan etiketiyle uyum |
ölçüt temelli 0,8250 | model hakem 0,8833 (+0,0583) | 0 çağrıdan 246 çağrıya, 10779 belirteç |
yz-degerlendirme/03 — değerlendiriciler arası uyum |
üç değerli ölçek 0,7583 | örnekli yönerge 0,9306 (+0,1723) | oybirliğinin doğruluğu 0,9126’dan 0,8744’e |
yz-degerlendirme/04 — hakemin duyarlılığı |
biçim kısıtı yerinde 0,9570 | kısıt kaldırılmış 0,7742 (−0,1828) | çağrı 246’dan 330’a, okunamayan yanıt 0’dan 31’e; yanlış engelleme farkı tam 0,0000 |
yz-degerlendirme/05 — bozulmanın görülme gecikmesi |
göstergesiz bildirilmez | vekil 20 kayıt sonra bildirir | 300 kayıtta 32 inceleme; etiketli gösterge 45 ve 220 |
yz-degerlendirme/06 — yanlış alarmın kapsanan payı |
kanal kapalı 0,0000 | dar itiraz kanalı 0,3750 (+0,3750) | beş turda yanlış alarm 8’den 27’ye |
yz-degerlendirme/07 — sayıya bağlı taahhüt (9) |
dar kart 2 | geniş kart 6 (+4) | 3 taahhüt iddia olarak kalıyor |
Kursun kuralı tabloda satır satır yazılıdır: durdurduğu pay ile yanlışlıkla durdurduğu pay birlikte yazılmayan savunma ölçülmemiş sayılır. Bedel sütunu boş bırakılsa her satır bir başarı gibi okunurdu; okunmaması onu yazdığımız içindir.
İkinci iddia da aynı tablodan okunur: eklenen savunma işi kötüleştirebilir. Adıyla yazan satırlar
şunlardır: yz-savunma/01 (katman yeni zararlı yakalamadan bir temiz kaydı fazladan engeller),
yz-saldiri-yuzeyi/03 (maskelemenin tam kural süzgecine kattığı 0, bedeli dokuz silinen alan),
/04 (kaynakla genişleyen kapı dokuz zararlı için kırk dört temiz inceleme alır, kesinlik 0,5586),
/05 (kaynak kapısı ölçülemez bir 0,0054 için temiz kayıt kaybını 23’ten 66’ya çıkarır),
yz-savunma/02 (dolaylı yönergede etiket dokuz temiz kayda düşer, savunma taban altında kalır),
/03 (her kaydı maskeleyen politika 169 görev kırar), /04 (eklenen on sekiz kaydın yalnız dördü
zararlı, yanlış engelleme 0,2517), /06 (kapıyı genişletmek yakalananı 24’ten 17’ye, kesintiyi
23’e taşır) ve yz-degerlendirme/06 (döngü yeni zararlı yakalamadan yanlış alarmı 3,4 katına
çıkarır). Dokuz yerde eklenen katman, eklendiği için ödetti.
Çözünürlüğün altında kalan farklar da adıyla yazılır ve bulgu sayılmazlar:
yz-saldiri-yuzeyi/02‘de eşik 0,30’daki bir kayıtlık fark, /03’te ikinci koşumda sıfıra inen
kalıntı, /05‘te 0,0106’lık adımın altındaki 0,0054, /07’de sınıf içi 0,4737 ile 0,4211 farkı,
yz-savunma/05’te tam bir adımlık 0,0068, /06‘da genişletilmiş kapıların 22, 22, 23 sayıları,
yz-degerlendirme/02‘de 0,0068’lik yanlış engelleme farkı ile 0,0588’lik sınıf farkı, ve /05’te
bandı gecikmesinden geniş çıkan gösterge. Hiçbiri sıfır, hiçbiri ölçülmüş değildir.
Bu kapanış aynı zamanda M28 Yapay Zekâ Mühendisliği müfredatının kapanışıdır. Yedi kursun ölçü ekseni tek bir cümlede toplanır: yüzey → istem → çağrı → erişim → döngü → sözleşme → savunma. Her kurs bir öncekinin bıraktığı yerden başladı ve eklediği katmanın bedelini yazdı. Müfredatın kuralı son kez: bir yapay zekâ sisteminin sayısı modelin sayısı değil düzeneğin sayısıdır; bedeli yazılmayan düzenek ölçülmemiş sayılır.
Yüz otuz iki derste düzenek modelin çevresine kuruldu ve her birinin bedeli yazıldı. Bir şey hiç sorulmadı: bu düzeneği besleyen veri hattının kendisi. Kayıt kümesi ders içinde üretildi, belge dağarcığı elle yazıldı, iz kaydı bellekte tutuldu. Bu verinin nereden geldiği, hangi hattan aktığı, üretimde nasıl çalışır tutulduğu ve hattın bir yerinde bozulduğunda kimin haberi olacağı sorulmadı. Sonraki müfredat, Veri Mühendisliği ve MLOps, düzeneğin altındaki bu hattı kurar ve onun da bedelini sayar.
İlerlemeni kaydetmek ve not almak için Giriş yap
Notlarım
Not almak için giriş yapmalısın.