Sigmoid · Güven · Çapraz Entropi · Softmax
Hafta 4'ün perceptronu yalnız “evet / hayır” diyordu. Basamağın yerine σ koyunca nöron ne kadar emin olduğunu da söyler; doğru hata ölçüsüyle (çapraz entropi) kural yine yalın kalır. Kapsam: hâlâ tek nöron / tek katman.
y = σ(λ·net): diklik λ, güven = ‖w‖, y'yi olasılık gibi okumak.
MSE mi, çapraz entropi mi? CE'yi olabilirlikten türetmek.
Δw = η(d − y)x: f′ sadeleşir. Hata yüzeyi, adım adım AND.
XOR'da “bilmiyorum”, Iris, softmax ile çok sınıf, lojistik regresyon.
🗺️ H3–H5 tek katman → H6 çok katmanlı ağ → H7 geri yayılım. Bugünkü nöron tek katmanın en çok kullanılan hâli: istatistikte ve tıpta her gün karşımıza çıkan lojistik nöron.
y = sgn(net), Δw = η(d − y)x: türevsiz, doğruysa durur. Ama çıktı yalnız ±1 (ne kadar emin?) ve ayrılamazsa hiç durmaz: cep (pocket) gerekti.
y = σ(net), Δw = η(d − y)·y(1 − y)·x: hatayı küçültür, ayrılamaz veride de bir en iyisi var. Ama f′ ≈ 0 iken doyar: emin ama yanlış örnekte öğrenme durur.
H4'ün sonunda söz vermiştik: “ikisinin iyi yanlarını birleştiren sürekli perceptron”. Köprü, hata ölçüsünü değiştirmek: MSE → çapraz entropi. Neden işe yaradığını türeteceğiz (Slayt 12).
🔈 okunuş: σ “sigma”·λ “lambda”: diklik·e “e sayısı” ≈ 2.718
y ≥ 0.5 ⇔ net ≥ 0. Sınır H4'teki gibi wᵀx + b = 0: geometri aynı, yalnız çıktı yumuşadı.
λ büyüdükçe σ basamağa yaklaşır; λ → ∞ ayrık perceptron (H4). λ küçükse çıktı hep 0.5 civarında kalır.
f = 2σ(λnet) − 1 = tanh(λnet/2), çıktı (−1, 1); f′ = ½λ(1 − y²). MSE ile kural: Δw = ½ηλ(d − y)(1 − y²)x.
| ayrık perceptron (H4) | sürekli perceptron (bu hafta) | |
|---|---|---|
| f | sgn / basamak | σ (unipolar) / tanh (bipolar) |
| y değerleri | {−1, +1} ya da {0, 1} | (0, 1) ya da (−1, 1): arası da var |
| f′ | 0 (net = 0 dışında her yerde) | λy(1 − y) > 0 |
| y bize ne söyler? | yalnız karar | karar + güven |
Zurada, J. M. (1992). Introduction to Artificial Neural Systems. West Publishing (“continuous perceptron”).
mavi → y ≈ 1 · kırmızı → y ≈ 0 · koyu bant = kararsız · sarı = net = 0 · kesikli = y = 0.1 / 0.9
AND nöronu: w = [2, 2], b = −3. Dene: λ'yı 10'a çıkar → bant incelir, çıktılar 0/1'e yapışır: ayrık perceptron. λ = 0.2 → her yer ≈ 0.5: karar aynı, güven yok. Sarı doğru hiç kıpırdamaz.
AND, aynı doğru: 2x₁ + 2x₂ − 3 = 0. İkinci nöronda w ve b'nin hepsi 3 ile çarpıldı: 6x₁ + 6x₂ − 9 = 0.
| x | d | net (w = [2, 2], b = −3) | y | net (× 3) | y (× 3) | karar |
|---|---|---|---|---|---|---|
| (0, 0) | 0 | −3 | 0.0474 | −9 | 0.0001 | 0 · 0 |
| (0, 1) | 0 | −1 | 0.2689 | −3 | 0.0474 | 0 · 0 |
| (1, 0) | 0 | −1 | 0.2689 | −3 | 0.0474 | 0 · 0 |
| (1, 1) | 1 | 1 | 0.7311 | 3 | 0.9526 | 1 · 1 |
| ortalama çapraz entropi (Slayt 9) | 0.2471 | 0.0365 | ||||
Sınır ve kararlar (0, 0, 0, 1) birebir aynı: “y ≥ 0.5” de sgn gibi ölçeğe bakmaz.
σ ise ölçeğe bakar: ‖w‖ büyüdükçe net'ler büyür, çıktılar 0/1'e kayar: güven artar.
σ(λ·(wᵀx + b)) = σ((λw)ᵀx + λb): λ'yı öğrenilen w zaten içerir. Bundan sonra λ = 1.
🔈 okunuş: odds “ods”: bahis oranı, “kaça kaç”·ln “doğal logaritma” (e tabanı)·logit “lojit”: odds'un ln'i
| net | y = σ(net) | odds = enet | okuma |
|---|---|---|---|
| −4 | 0.018 | 0.018 | neredeyse kesin “hayır” |
| −2 | 0.119 | 0.135 | “hayır” lehine 7.4 : 1 |
| −1 | 0.269 | 0.368 | “hayır” lehine 2.7 : 1 |
| 0 | 0.5 | 1 | yazı-tura |
| 1 | 0.731 | 2.718 | “evet” lehine 2.7 : 1 |
| 2 | 0.881 | 7.389 | “evet” lehine 7.4 : 1 |
| 4 | 0.982 | 54.6 | neredeyse kesin “evet” |
H2'de nöronumuzun çıktısını (0.366) “%37 ihtimalle evet” diye okumuştuk; işte hesabı. Net'e 1 eklemek odds'u e ≈ 2.72 ile çarpar; y ≥ 0.9 için net ≥ ln 9 ≈ 2.20 gerekir.
Belçikalı matematikçi. Nüfus artışı: önce üstel büyüme, kaynak sınırına yaklaşınca yavaşlama. 1845'te eğriye “logistique” adını verdi.
Mayo Clinic'te hekim ve biyoistatistikçi. Doz–yanıt (biyolojik test) verisi için “logit” terimini önerdi.
İkili (0/1) sonuçlar için regresyon: lojistik regresyon. Bugünkü nöronun istatistikteki adı (Slayt 27).
Geri yayılım: türevli olduğu için σ'yı çok katmanlı ağların her nöronunda kullandılar H7
“Softmax” adı ve ağ çıktılarının olasılık olarak yorumu (Slayt 22).
Aynı eğri üç alanda iş başında: nüfus bilimi, tıp / istatistik, yapay sinir ağları. Ortak ihtiyaç: 0 ile 1 arasında kalan, yumuşak bir eşik.
Verhulst, P.-F. (1845). Recherches mathématiques sur la loi d'accroissement de la population. · Berkson, J. (1944). Application of the logistic function to bio-assay. JASA, 39, 357–365. · Cox, D. R. (1958). The regression analysis of binary sequences. JRSS B, 20(2), 215–242.
🔈 okunuş: CE “çapraz entropi” (cross-entropy, log-loss)·d = 1 ise ECE = −ln y, d = 0 ise −ln(1 − y)
| hedef d = 1, nöron der ki… | MSE | CE | |
|---|---|---|---|
| y = 0.99 | “kesin 1” ✓ | 0.0001 | 0.0101 |
| y = 0.9 | “büyük ihtimalle 1” ✓ | 0.0050 | 0.1054 |
| y = 0.5 | “bilmiyorum” | 0.1250 | 0.6931 |
| y = 0.1 | “büyük ihtimalle 0” ✗ | 0.4050 | 2.3026 |
| y = 0.01 | “kesin 0” ✗✗ | 0.4900 | 4.6052 |
En kötü cevap bile en fazla 0.5 ceza alır: “kesin 0” ile “büyük ihtimalle 0” hemen hemen aynı cezalı.
y → 0 iken −ln y → ∞. Emin ama yanlış cevap çok pahalı: 0.1 → 0.01 cezayı 2 katına çıkarır (MSE'de 1.2 katı). d = 0 ise ayna görüntüsü: y → 1 iken patlar.
🔈 okunuş: P(d | x) “x verildiğinde d'nin olasılığı”·∏ “çarpım” (Σ'nın çarpma hâli)·L “olabilirlik” (likelihood)
y'yi “1 olma olasılığı” say: d = 1 için olasılık y, d = 0 için 1 − y. İkisi tek formülde: yd(1 − y)1−d.
Örnekler bağımsızsa olasılıklar çarpılır. ln çarpımı toplama çevirir; minik sayıların çarpımı da sıfıra “erimez”.
L'yi büyütmek = −ln L'yi küçültmek. En çok olabilirlik (MLE) = en küçük çapraz entropi.
AND nöronu (Slayt 6) doğru etiketlere 0.953, 0.731, 0.731, 0.731 olasılık veriyor → L = 0.372 → −ln L / 4 = 0.247: tablodaki ortalama CE.
turuncu = MSE + σ · camgöbeği = CE + σ · kırmızı bölge: net < −2, “emin ama yanlış” · hedef d = 1
| net | MSE |∂E/∂net| | CE |∂E/∂net| | CE / MSE |
|---|---|---|---|
| −8 | 0.00034 | 0.99966 | 2983× |
| −6 | 0.00246 | 0.99753 | 405× |
| −4 | 0.01735 | 0.98201 | 56.6× |
| −2 | 0.09248 | 0.88080 | 9.5× |
| 0 | 0.125 | 0.5 | 4× |
Adımın boyu gradyanın boyuyla orantılı. MSE'de y(1 − y) çarpanı (σ′) en çok yanıldığı yerde gradyanı söndürür: doyma (H3). CE'de gradyan d − y: ne kadar yanlışsa o kadar iter.
| hata ölçüsü | δ = −∂E/∂net | Δw | emin ama yanlış (d = 1, y → 0) |
|---|---|---|---|
| MSE + σ (Delta, H3) | (d − y)·y(1 − y) | η·δ·x | δ → 0: doyar |
| CE + σ (bu hafta) | d − y | η(d − y)x | δ → 1: tam adım |
Perceptron η(d − sgn(net))x, Widrow–Hoff η(d − net)x, sürekli η(d − σ(net))x. Hep η·(hedef − çıktı)·girdi.
σ + CE, doğrusal + MSE, softmax + CE (Slayt 22): her çift aynı biçimi verir. İstatistikte “kanonik” eşleşme denir.
x = (1, 1), d = 1, w = [−1, −1], b = 0.5, η = 1 → net = −1.5, y = σ(−1.5) = 0.1824: %82 emin “0” diyor, ama cevap 1.
| kural | r | yeni w = [w₁, w₂, b] | yeni net → yeni y |
|---|---|---|---|
| MSE: r = (d − y)·y(1 − y) | 0.8176 · 0.1824 · 0.8176 = 0.1219 | [−0.878, −0.878, 0.622] | −1.134 → 0.2434 ✗ |
| CE: r = d − y | 1 − 0.1824 = 0.8176 | [−0.182, −0.182, 1.318] | 0.953 → 0.7217 ✓ |
y(1 − y) = 0.149 çarpanı adımı küçülttü: y yalnız 0.18 → 0.24 oldu. Hâlâ yanlış.
Aynı yön, 6.7 kat büyük adım (1 / 0.149): tek adımda kararı düzeltti (0.18 → 0.72).
İkisinde de Δw ∝ x; fark yalnız adımın boyunda. CE'de boy, yanılma miktarı (d − y) kadar.
yatay: w · dikey: b (−6…6) · koyu = düşük hata · ★ = minimum · beyaz = yol. Yüzeye tıkla: oradan başlat.
Tek girdili veri: x = −3, −2, −1, 1, 2, 3 → d = 0, 0, 1, 0, 1, 1 (ayrılamaz, en iyisi 4/6). Toplu gradyan inişi, η = 2. (−4, 3)'ten MSE düz bir platoda takılır (500 epoch sonra E = 0.333, 2/6 doğru); CE 10 epoch'ta dibe yaklaşır. CE yüzeyi dışbükey: tek çukur.
Aynı AND, aynı başlangıç (Hafta 2'nin nöronu), örnek örnek güncelleme. Güven = en zayıf örnekte doğru sınıfa verilen olasılık.
| kural | η | ilk 4/4 doğru | hepsi ≥ 0.9 güven | 50. epoch w = [w₁, w₂, b] | 50. epoch güven |
|---|---|---|---|---|---|
| Delta (MSE) | 2 | 3. epoch | 207. epoch | [2.90, 2.83, −4.28] | 0.80 |
| Sürekli (CE) | 2 | 6. epoch | 22. epoch | [6.32, 6.21, −9.39] | 0.96 |
| Sürekli (CE) | 0.5 | 4. epoch | 107. epoch | [3.36, 3.26, −5.01] | 0.83 |
İlk doğru karar MSE'de daha erken (3 ↔ 6). CE için η = 2 büyük: ilk epoch'ta ortalama CE 0.77 → 0.99 arttı, sonra hızla düştü.
Dört örneğin hepsinde ≥ 0.9: CE 22, MSE 207 epoch. CE, η = 0.5 ile bile MSE'nin η = 2'sinden ~2 kat hızlı.
σ + CE dışbükey: yerel minimum ve plato yok. Ayrılamaz veride tek bir dip var (Slayt 14).
CE = olabilirlik: eğitilen y olasılık gibi okunabilir. Klinik risk modelleri de böyle eğitilir (Slayt 27).
w = küçük_rastgele() # ya da Hafta 2'nin nöronu
for epoch in range(max_epoch):
for x, d in veri: # x'in sonunda 1 → bias dahil
y = sigmoid(w @ x) # 0 ile 1 arası: "güven"
w = w + eta * (d - y) * x # her örnekte, yanıldığı kadar
E = ortalama_CE(veri)
if E < eps: break # ya da: doğrulama hatası artınca (H8)
y hiçbir zaman tam 0 ya da 1 değil → d − y ≠ 0: her örnek biraz iter. Perceptron'daki “hatasız tur → DUR” yok.
E < ε, max_epoch ya da ayrı bir doğrulama kümesinde hata artmaya başlayınca (erken durdurma H8).
Varsayılan: y ≥ 0.5 → 1. Hastalığı kaçırmak pahalıysa eşik düşürülür (0.3 gibi): duyarlılık ↑, kesinlik ↓.
● hedef 1 · ○ hedef 0 · etiket = y · sarı halka = sıradaki · kırmızı halka = yanlış · kesikli = önceki doğru ve y = 0.1 / 0.9
Varsayılan: AND, CE, η = 2, başlangıç Hafta 2'nin nöronu (H3'teki Delta demosuyla aynı). 50. epoch'ta w = [6.32, 6.21, −9.39]: kod slaytıyla aynı (Slayt 24). MSE'ye geç: aynı 50 epoch'ta [2.90, 2.83, −4.28], H3'teki sayı.
AND, CE, η = 2, Hafta 2'nin nöronundan · koyu bant = kararsız bölge · kesikli = y = 0.1 / 0.9
AND ayrılabilir: w büyüdükçe CE hep biraz daha düşer → ‖w‖ hiç durmaz (her 10 kat epoch'ta ≈ +5…6). L2 freni (ağırlık sönümü): w ← w + η(d − y)x − ηα·w (bias hariç). α = 0.01 ile ‖w‖ = 5.64'te durur; α = 0.1 fazla: model yanlışa razı olur. Ayrıntısı H8
Toplu (batch) CE gradyan inişi, η = 0.5, başlangıç Hafta 2'nin nöronu. Unipolar XOR: d = 0, 1, 1, 0.
| epoch | w = [w₁, w₂, b] | y: (0,0) · (0,1) · (1,0) · (1,1) | ortalama CE |
|---|---|---|---|
| 0 | [0.5, −0.25, 0.2] | 0.550 · 0.488 · 0.668 · 0.611 | 0.7158 |
| 10 | [0.291, −0.258, 0.019] | 0.505 · 0.441 · 0.577 · 0.513 | 0.6980 |
| 100 | [0.016, −0.015, −0.001] | 0.500 · 0.496 · 0.504 · 0.500 | 0.6932 |
| 1000 | [0, 0, 0] | 0.5 · 0.5 · 0.5 · 0.5 | 0.6931 = ln 2 |
Her yerde y = 0.5: “bilmiyorum”. CE dışbükey olduğu için tek doğruyla bundan iyisi yok: bu, en iyi çözüm.
Perceptron XOR'da her 4 adımda w = 0'a dönüp sonsuz döngüye giriyordu. Burada w = 0 bir denge: gradyan sıfır, orada durulur.
Online güncellemede w, sıfırın çevresinde küçük bir döngüde kalır: epoch sonunda [−0.57, −0.29, 0.29], CE 0.708. Canlısı: Slayt 17, XOR + η = 0.5.
○ versicolor (0) · ● virginica (1) · camgöbeği = sürekli (renk: y) · sarı = ayrık perceptron · yeşil kesikli = en iyi doğru (3 hata) · kırmızı halka = süreklinin yanlışı
H4'teki ayar: versicolor / virginica, petal ölçüleri, dönüşümlü sıra, standart ölçek, η = 0.1, w₀ = 0. Perceptron epoch sonunda 5 ile 6 hata arasında gidip gelir; sürekli perceptron 6 hatada durulur, w yerine oturur. En iyi doğru 3 hata yapıyor: sürekli onu neden bulmuyor? →
| Iris, 100 çiçek | hata | ortalama CE |
|---|---|---|
| en iyi doğru (kaba kuvvet) | 3 | ≥ 0.134 |
| ayrık perceptron, cep | 5 | — |
| sürekli perceptron (= sklearn) | 6 | 0.103 (en küçük) |
Süreklinin 6 yanlışı ve verdiği olasılık:
| petal (cm) | gerçek tür | p(virginica) |
|---|---|---|
| (4.5, 1.7) | virginica | 0.164 |
| (5.0, 1.5) | virginica | 0.308 |
| (5.1, 1.5) | virginica | 0.443 |
| (5.1, 1.6) | versicolor | 0.692 |
| (4.8, 1.8) | versicolor | 0.759 |
| (5.0, 1.7) | versicolor | 0.780 |
Hata sayısı (0–1 kaybı) basamak gibidir: türevi 0 (H3), gradyanla küçültülemez. CE onun türevli vekili.
3 hatalı doğrunun CE'si, w'yi hangi ölçekte seçersen seç ≥ 0.134. Sürekli perceptron 3 fazla hata yapıyor ama tüm çiçeklere verdiği olasılıklar toplamda daha iyi: 0.103.
(4.8, 1.8) ölçüsünde 3 çiçek var: 1 versicolor, 2 virginica. Model 0.76 diyor, yani ≈ 2/3. Hiçbir doğru üçünü birden bilemez.
🔈 okunuş: softmax “soft-maks”: yumuşak argmax·tk: doğru sınıfta 1, diğerlerinde 0·pd: doğru sınıfın olasılığı
| sınıf k | netk | exp(netk) | pk = exp(netk) / 11.213 | hedef tk | tk − pk |
|---|---|---|---|---|---|
| 0 (doğru sınıf) | 2.0 | 7.389 | 0.659 | 1 | +0.341 |
| 1 | 1.0 | 2.718 | 0.242 | 0 | −0.242 |
| 2 | 0.1 | 1.105 | 0.099 | 0 | −0.099 |
| E = −ln 0.659 = 0.417 · p'lerin toplamı 1 · karar: argmax = 0 ✓ | |||||
p₁ = σ(net₁ − net₂): sürekli perceptron, softmax'ın 2 sınıflı hâli.
Karar hâlâ argmax (H4); ama her sınıfın bir olasılığı da var.
Doğru sınıf x'e yaklaşır, diğerleri uzaklaşır: her örnekte, yanıldığı kadar.
Bridle, J. S. (1990). Probabilistic interpretation of feedforward classification network outputs… Neurocomputing, NATO ASI F68, 227–236.
● setosa · ● versicolor · ● virginica · renk karışımı = p · kırmızı halka = yanlış · ✚ = tıkladığın nokta
150 çiçek, petal uzunluğu ve genişliği (standart), 3 × (w₁, w₂, b), W₀ = 0, η = 0.1, örnek örnek. 1 epoch'ta 142/150; 20 epoch'ta 144/150 (%96), CE 0.095. Tuvale tıkla: o ölçüdeki bir çiçek için üç olasılık.
import torch
import torch.nn.functional as F
X = torch.tensor([[0., 0.], [0., 1.], [1., 0.], [1., 1.]])
d = torch.tensor([0., 0., 0., 1.]) # AND
w, b, eta = torch.tensor([0.5, -0.25]), torch.tensor(0.2), 2.0 # Hafta 2'nin nöronu
for epoch in range(1, 51):
for x, t in zip(X, d): # örnek örnek (online)
y = torch.sigmoid(w @ x + b)
w = w + eta * (t - y) * x # Δw = η(d − y)x : f′ yok!
b = b + eta * (t - y)
if epoch in (1, 10, 50):
E = F.binary_cross_entropy(torch.sigmoid(X @ w + b), d) # ortalama CE
print(epoch, round(E.item(), 4))
# 1 0.988
# 10 0.1233
# 50 0.0322
print(w, b) # tensor([6.3183, 6.2145]) tensor(-9.3882)
torch.sigmoid(X @ w + b) # tensor([8.3698e-05, 4.0167e-02, 4.4365e-02, 9.5869e-01])
H3'teki Delta kodundan farkı güncellemede (9–10. satırlar): δ = (t − y)·y(1 − y) yerine yalnız (t − y). Canlı demonun (Slayt 17) varsayılanıyla aynı sayılar. İlk epoch'ta E 0.77'den 0.99'a çıktı (η = 2 büyük), sonra hızla düştü.
import torch
import torch.nn.functional as F
z, t = torch.tensor([-120.]), torch.tensor([1.]) # çok emin ve yanlış: net = −120, d = 1
torch.sigmoid(z) # tensor([0.]) → ln 0 = −∞ !
F.binary_cross_entropy(torch.sigmoid(z), t) # tensor(100.) ← ln, −100'de kırpılır
F.binary_cross_entropy_with_logits(z, t) # tensor(120.) ← doğru: −ln σ(−120) ≈ 120
net = torch.tensor([2.0, 1.0, 0.1]) # 3 sınıfın net'leri (logit)
torch.softmax(net, dim=0) # tensor([0.6590, 0.2424, 0.0986])
F.cross_entropy(net.unsqueeze(0), torch.tensor([0])) # tensor(0.4170) = −ln 0.659
σ(−120) bilgisayarda tam 0 olur; ln 0 = −∞. PyTorch ln'i −100'de kırpar: kayıp yanlış çıkar (100 ≠ 120).
*_with_logits ve cross_entropy, σ / softmax'ı içeride kararlı hesaplar. Eğitimde kayba net'i (logit) ver; olasılık gerekince σ'yı sonra uygula.
Bu hafta biz türettik: d − y. Çok katmanda elle türetmek zorlaşır → otomatik türev (autograd) H7
| Perceptron (H4) | Widrow–Hoff (H3) | Delta, MSE (H3) | Sürekli, CE (H5) | |
|---|---|---|---|---|
| Çıktı y | sgn(net): ±1 | net | σ(net) ∈ (0, 1) | σ(net) ∈ (0, 1) |
| Hata ölçüsü | (yanlış sayısı) | ½(d − net)² | ½(d − y)² | −[d ln y + (1 − d) ln(1 − y)] |
| r (Δw = η·r·x) | d − y | d − net | (d − y)·y(1 − y) | d − y |
| Emin ama yanlışta | tam adım | büyük adım | doyar (f′ ≈ 0) | tam adım |
| Doğruyken | durur (r = 0) | iter (d − net ≠ 0) | az iter | az iter; ‖w‖ yavaşça büyür |
| Ayrılamaz veride | durmaz → cep | en küçük kareler çözümü | bir minimum (plato riski) | tek minimum (dışbükey) |
| y'nin anlamı | karar | sayı | 0–1 arası skor | olasılık gibi |
H4'teki söz tutuldu: perceptronun yalın kuralı (d − y) + Delta'nın türevli, ayrılamaz veride de anlamlı hedefi. Bedeli: kendiliğinden durmaz, ayrılabilir veride ‖w‖ büyür (Slayt 18).
| YSA dili | istatistik dili |
|---|---|
| sürekli perceptron | lojistik regresyon (Cox, 1958) |
| net = wᵀx + b | doğrusal öngörücü = log-odds |
| w, b | katsayılar β₁, β₂ ve sabit β₀ |
| CE'yi küçültmek | olabilirliği büyütmek (MLE) |
| exp(wⱼ) | odds oranı (OR) |
Ham ölçekte (cm): petal genişliği 1 mm artınca virginica olma odds'u × 2.84, uzunluğu 1 mm artınca × 1.78. Tıp makalelerinde raporlanan “OR” tam olarak bu sayı.
İstatistik katsayıları yorumlar (güven aralığı, p-değeri). YSA'da bu nöron, çok katmanlı ağın yapı taşı olur H6
| Iris versicolor / virginica, standart ölçek | w₁, w₂, b | ortalama CE | hata |
|---|---|---|---|
| bizim döngü (online, η = 0.1, 200 epoch) | 4.753, 4.383, 0.474 | 0.1028 | 6 |
| sklearn LogisticRegression(penalty=None) | 4.727, 4.415, 0.468 | 0.1028 | 6 |
✅ Model: y = σ(wᵀx + b); karar yine net = 0
doğrusu, y ise güven
✅ λ ya da ‖w‖ = diklik = güven; λ → ∞: basamak, yani ayrık perceptron
✅ y olasılık gibi okunur: odds = enet, logit(y) = net
✅ Çapraz entropi = −ln(olabilirlik): Bernoulli'den türedi
✅ Kural: Δw = η(d − y)x: f′ sadeleşir,
emin-yanlışta doyma yok
✅ σ + CE dışbükey: plato yok; MSE + σ platoda takılabilir
✅ Ayrılabilirse ‖w‖ → ∞ (L2 frenler); XOR'da w → 0, y = 0.5
✅ Softmax + CE: çok sınıf, aynı kural; istatistikte lojistik regresyon
🗺️ Tek katmanın son durağı. XOR hâlâ çözülmedi: H6'da gizli katman ekliyoruz.
1 · OR'u elle çalıştır. Unipolar OR, w₀ = 0, η = 1, CE kuralı. İlk epoch'un 4 adımını hesapla: sonunda w ≈ [0.63, 0.78, 0.75] çıkmalı. Kaçıncı epoch'ta 4/4 doğru? (cevap: 7)
2 · MSE–CE yarışı. Kod slaytındaki (Slayt 24) kuralı MSE'ye çevir. Dört örneğin hepsi ≥ 0.9 güvene kaçıncı epoch'ta ulaşıyor? (CE 22, MSE 207)
3 · XOR'da w → 0. Kodu XOR'a uyarla; toplu (batch) güncellemeyle 1000 epoch çalıştır. w ve y ne oluyor? Örnek örnek güncellemede ne değişiyor?
4 · Iris +
sklearn. Versicolor / virginica (petal, standart) için sürekli perceptronu yaz;
LogisticRegression(penalty=None) ile karşılaştır: aynı w, aynı 6 hata mı?
İpucu (toplu güncelleme):
w = w + eta * (d - torch.sigmoid(Xb @ w)) @ Xb / len(d), burada Xb = [X | 1].
Tek doğru XOR'u ayıramıyordu. Araya bir gizli katman koyalım: gizli nöronlar yeni öznitelikleri kendileri üretir (H4'teki x₁x₂ fikrinin öğrenilen hâli). Her gizli nöron, bugünkü sürekli perceptron. Peki gizli katmanın ağırlıklarını kim eğitecek? → H7.