Logo
σ(net) −ln y d − y softmax λ logit 1838 Iris
Yapay Sinir Ağları · Hafta 05

Sürekli Perceptron

Sigmoid · Güven · Çapraz Entropi · Softmax

▌w ← w + η·(d − y)·x  # y artık σ(net)
Bu Hafta

Kararla Birlikte Güven

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.

📈 1 · Model

y = σ(λ·net): diklik λ, güven = ‖w‖, y'yi olasılık gibi okumak.

📉 2 · Hata ölçüsü

MSE mi, çapraz entropi mi? CE'yi olabilirlikten türetmek.

⚙️ 3 · Kural

Δw = η(d − y)x: f′ sadeleşir. Hata yüzeyi, adım adım AND.

🌸 4 · Ötesi

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.

Hatırla · Hafta 3–4

İki Yarım, Bir Bütün

🧱 H4 · Perceptron

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.

📉 H3 · Delta

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.

\[ \underbrace{y = \sigma(\mathbf{w}^\top\mathbf{x} + b)}_{\text{Delta'dan: sürekli çıktı}} \qquad\qquad \underbrace{\Delta\mathbf{w} = \eta\,(d - y)\,\mathbf{x}}_{\text{Perceptron'dan: yalın kural}} \]

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).

Model

Sürekli Perceptron

\[ y = \sigma(\lambda\,\text{net}) = \frac{1}{1 + e^{-\lambda\,\text{net}}}, \qquad \text{net} = \mathbf{w}^\top\mathbf{x} + b, \qquad \frac{dy}{d\,\text{net}} = \lambda\, y\,(1 - y) \]

🔈 okunuş: σ “sigma”·λ “lambda”: diklik·e “e sayısı” ≈ 2.718

🎯 Karar yine bir doğru

y ≥ 0.5 ⇔ net ≥ 0. Sınır H4'teki gibi wᵀx + b = 0: geometri aynı, yalnız çıktı yumuşadı.

🎚️ λ: diklik

λ büyüdükçe σ basamağa yaklaşır; λ → ∞ ayrık perceptron (H4). λ küçükse çıktı hep 0.5 civarında kalır.

↔️ Bipolar hâli (Zurada)

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)
fsgn / 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 kararkarar + güven

Zurada, J. M. (1992). Introduction to Artificial Neural Systems. West Publishing (“continuous perceptron”).

Etkileşimli · Diklik

λ'yı Çevir, Basamağa Dönüşsün

mavi → y ≈ 1 · kırmızı → y ≈ 0 · koyu bant = kararsız · sarı = net = 0 · kesikli = y = 0.1 / 0.9

çıktı

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.

Sayısal Örnek · Ölçek

Aynı Sınır, Farklı Güven

AND, aynı doğru: 2x₁ + 2x₂ − 3 = 0. İkinci nöronda w ve b'nin hepsi 3 ile çarpıldı: 6x₁ + 6x₂ − 9 = 0.

xdnet (w = [2, 2], b = −3)y net (× 3)y (× 3)karar
(0, 0)0−30.0474−90.00010 · 0
(0, 1)0−10.2689−30.04740 · 0
(1, 0)0−10.2689−30.04740 · 0
(1, 1)110.731130.95261 · 1
ortalama çapraz entropi (Slayt 9)0.24710.0365

📐 Aynı karar

Sınır ve kararlar (0, 0, 0, 1) birebir aynı: “y ≥ 0.5” de sgn gibi ölçeğe bakmaz.

🔍 H4'te “ölçek serbest”ti

σ 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.

🎚️ λ gereksizleşir

σ(λ·(wᵀx + b)) = σ((λw)ᵀx + λb): λ'yı öğrenilen w zaten içerir. Bundan sonra λ = 1.

Yorum · Olasılık

y Bir Olasılık Gibi: Odds ve Logit

\[ \text{odds} = \frac{y}{1 - y} = e^{\text{net}} \qquad\Longleftrightarrow\qquad \text{net} = \ln\frac{y}{1 - y} = \operatorname{logit}(y) \]

🔈 okunuş: odds “ods”: bahis oranı, “kaça kaç”·ln “doğal logaritma” (e tabanı)·logit “lojit”: odds'un ln'i

nety = σ(net)odds = enetokuma
−40.0180.018neredeyse kesin “hayır”
−20.1190.135“hayır” lehine 7.4 : 1
−10.2690.368“hayır” lehine 2.7 : 1
00.51yazı-tura
10.7312.718“evet” lehine 2.7 : 1
20.8817.389“evet” lehine 7.4 : 1
40.98254.6neredeyse 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.

Tarih · 1838 → 1990

S Eğrisinin Yolculuğu

1838 · 1845📈 Verhulst

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.

1944💊 Berkson

Mayo Clinic'te hekim ve biyoistatistikçi. Doz–yanıt (biyolojik test) verisi için “logit” terimini önerdi.

1958📊 Cox

İkili (0/1) sonuçlar için regresyon: lojistik regresyon. Bugünkü nöronun istatistikteki adı (Slayt 27).

1986🧠 Rumelhart vd.

Geri yayılım: türevli olduğu için σ'yı çok katmanlı ağların her nöronunda kullandılar H7

1990🎲 Bridle

“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.

Hata Ölçüsü

Hangi Hata? MSE mi, Çapraz Entropi mi?

\[ E_{\text{MSE}} = \tfrac12\,(d - y)^2 \qquad\qquad E_{\text{CE}} = -\big[\,d\,\ln y + (1 - d)\,\ln(1 - y)\,\big] \]

🔈 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…MSECE
y = 0.99“kesin 1” ✓0.00010.0101
y = 0.9“büyük ihtimalle 1” ✓0.00500.1054
y = 0.5“bilmiyorum”0.12500.6931
y = 0.1“büyük ihtimalle 0” ✗0.40502.3026
y = 0.01“kesin 0” ✗✗0.49004.6052

📏 MSE'nin tavanı ½

En kötü cevap bile en fazla 0.5 ceza alır: “kesin 0” ile “büyük ihtimalle 0” hemen hemen aynı cezalı.

♾️ CE sınırsız

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.

Türetme · Olabilirlik

Çapraz Entropi Nereden Geliyor?

\[ P(d \mid \mathbf{x}) = y^{\,d}\,(1 - y)^{1 - d} \quad\Rightarrow\quad L(\mathbf{w}) = \prod_{i=1}^{N} y_i^{\,d_i}\,(1 - y_i)^{1 - d_i} \] \[ -\ln L(\mathbf{w}) = -\sum_{i=1}^{N} \big[\, d_i \ln y_i + (1 - d_i) \ln(1 - y_i) \,\big] = \sum_{i=1}^{N} E_{\text{CE}}(i) \]

🔈 okunuş: P(d | x) “x verildiğinde d'nin olasılığı”·∏ “çarpım” (Σ'nın çarpma hâli)·L “olabilirlik” (likelihood)

🎲 Bernoulli

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”.

🔄 Eksi işareti

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.

Etkileşimli · Gradyan

Emin Ama Yanlış: Kim Daha Çok İter?

turuncu = MSE + σ · camgöbeği = CE + σ · kırmızı bölge: net < −2, “emin ama yanlış” · hedef d = 1

netMSE |∂E/∂net|CE |∂E/∂net|CE / MSE
−80.000340.999662983×
−60.002460.99753405×
−40.017350.9820156.6×
−20.092480.880809.5×
00.1250.54×

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.

Türetme · Zincir Kuralı

Türevde f′ Sadeleşir

\[ \frac{\partial E}{\partial y} = -\frac{d}{y} + \frac{1 - d}{1 - y} = \frac{y - d}{y\,(1 - y)}, \qquad \frac{\partial y}{\partial\,\text{net}} = y\,(1 - y), \qquad \frac{\partial\,\text{net}}{\partial \mathbf{w}} = \mathbf{x} \] \[ \frac{\partial E}{\partial \mathbf{w}} = \frac{y - d}{\cancel{y\,(1 - y)}} \cdot \cancel{y\,(1 - y)} \cdot \mathbf{x} = (y - d)\,\mathbf{x} \quad\Rightarrow\quad \boxed{\;\Delta\mathbf{w} = -\eta\, \frac{\partial E}{\partial \mathbf{w}} = \eta\,(d - y)\,\mathbf{x}\;} \]
hata ölçüsüδ = −∂E/∂netΔwemin 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

🧩 Üç kural, tek kalıp

Perceptron η(d − sgn(net))x, Widrow–Hoff η(d − net)x, sürekli η(d − σ(net))x. Hep η·(hedef − çıktı)·girdi.

🔗 Tesadüf değil

σ + CE, doğrusal + MSE, softmax + CE (Slayt 22): her çift aynı biçimi verir. İstatistikte “kanonik” eşleşme denir.

Sayısal Örnek

Tek Adım: MSE mi, CE mi?

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.

net = wᵀx → y = σ(net)⟹r → yeni w = w + η·r·x → yeni y
kuralryeni 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 − y1 − 0.1824 = 0.8176[−0.182, −0.182, 1.318]0.953 → 0.7217 ✓

🐢 MSE

y(1 − y) = 0.149 çarpanı adımı küçülttü: y yalnız 0.18 → 0.24 oldu. Hâlâ yanlış.

🚀 CE

Aynı yön, 6.7 kat büyük adım (1 / 0.149): tek adımda kararı düzeltti (0.18 → 0.72).

🧭 Yön aynı

İkisinde de Δw ∝ x; fark yalnız adımın boyunda. CE'de boy, yanılma miktarı (d − y) kadar.

Etkileşimli · Hata Yüzeyi

Çukur mu, Plato mu?

MSE + σ
CE + σ
başlangıç (w, b)

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.

Yan Yana · AND

Neden Çapraz Entropi?

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ğruhepsi ≥ 0.9 güven 50. epoch w = [w₁, w₂, b]50. epoch güven
Delta (MSE)23. epoch207. epoch[2.90, 2.83, −4.28]0.80
Sürekli (CE)26. epoch22. epoch[6.32, 6.21, −9.39]0.96
Sürekli (CE)0.54. epoch107. epoch[3.36, 3.26, −5.01]0.83

⚖️ Dürüst olalım

İ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ü.

🚀 Güvene ~9 kat hızlı

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ı.

🏔️ Plato yok

σ + CE dışbükey: yerel minimum ve plato yok. Ayrılamaz veride tek bir dip var (Slayt 14).

🎲 Anlamlı çıktı

CE = olabilirlik: eğitilen y olasılık gibi okunabilir. Klinik risk modelleri de böyle eğitilir (Slayt 27).

Algoritma

Sürekli Perceptron Eğitimi: Ne Zaman Durur?

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)

♾️ Kendiliğinden durmaz

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.

⏹️ Durma ölçütü bizden

E < ε, max_epoch ya da ayrı bir doğrulama kümesinde hata artmaya başlayınca (erken durdurma H8).

🎚️ Karar eşiği

Varsayılan: y ≥ 0.5 → 1. Hastalığı kaçırmak pahalıysa eşik düşürülür (0.3 gibi): duyarlılık ↑, kesinlik ↓.

Etkileşimli · Sürekli Perceptron

Sürekli Perceptron Adım Adım

● 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

veri hata ölçüsü η

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ı.

Etkileşimli · Ayrılabilir Veri

Ayrılabilir Veride ‖w‖ Hiç Durmaz

AND, CE, η = 2, Hafta 2'nin nöronundan · koyu bant = kararsız bölge · kesikli = y = 0.1 / 0.9

L2 freni α

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

Ayrılamaz Veri · XOR

XOR'da: “Bilmiyorum” Demeyi Öğrenir

Toplu (batch) CE gradyan inişi, η = 0.5, başlangıç Hafta 2'nin nöronu. Unipolar XOR: d = 0, 1, 1, 0.

epochw = [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.6110.7158
10[0.291, −0.258, 0.019]0.505 · 0.441 · 0.577 · 0.5130.6980
100[0.016, −0.015, −0.001]0.500 · 0.496 · 0.504 · 0.5000.6932
1000[0, 0, 0]0.5 · 0.5 · 0.5 · 0.50.6931 = ln 2
\[ \mathbf{w} = \mathbf{0} \text{ iken gradyan: } \sum_i \big(d_i - \tfrac12\big)\,\mathbf{x}_i = \tfrac12\big[-(0,0,1) + (0,1,1) + (1,0,1) - (1,1,1)\big] = (0, 0, 0) \]

🤷 Dürüst cevap

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.

🔁 H4 ile fark

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.

🔀 Örnek örnek ise

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.

Etkileşimli · Gerçek Veri

Iris: Ayrık mı, Sürekli mi?

○ 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? →

Neyi Küçültüyoruz?

Hata Sayısı mı, Olasılık mı?

Iris, 100 çiçekhataortalama CE
en iyi doğru (kaba kuvvet)3≥ 0.134
ayrık perceptron, cep5—
sürekli perceptron (= sklearn)60.103 (en küçük)

Süreklinin 6 yanlışı ve verdiği olasılık:

petal (cm)gerçek türp(virginica)
(4.5, 1.7)virginica0.164
(5.0, 1.5)virginica0.308
(5.1, 1.5)virginica0.443
(5.1, 1.6)versicolor0.692
(4.8, 1.8)versicolor0.759
(5.0, 1.7)versicolor0.780

🎯 CE'yi küçültür, sayıyı değil

Hata sayısı (0–1 kaybı) basamak gibidir: türevi 0 (H3), gradyanla küçültülemez. CE onun türevli vekili.

⚖️ Bedeli

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.

🌸 Dürüst olasılık

(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.

Çok Sınıf

İkiden Fazla Sınıf: Softmax

\[ p_k = \frac{e^{\text{net}_k}}{\sum_{j} e^{\text{net}_j}}, \qquad E = -\ln p_d, \qquad \Delta\mathbf{w}_k = \eta\,(t_k - p_k)\,\mathbf{x} \]

🔈 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 knetkexp(netk)pk = exp(netk) / 11.213hedef tktk − pk
0 (doğru sınıf)2.07.3890.6591+0.341
11.02.7180.2420−0.242
20.11.1050.0990−0.099
E = −ln 0.659 = 0.417 · p'lerin toplamı 1 · karar: argmax = 0 ✓

🔢 2 sınıfta = σ

p₁ = σ(net₁ − net₂): sürekli perceptron, softmax'ın 2 sınıflı hâli.

🧭 Yumuşak argmax

Karar hâlâ argmax (H4); ama her sınıfın bir olasılığı da var.

♻️ Aynı kural

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.

Etkileşimli · 3 Sınıf

Softmax: Üç Iris Türü

● 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.

Koda Dök

Sürekli Perceptron, Sıfırdan

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ü.

PyTorch

Hazır Kayıplar: Logit Ver

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

💥 Sorun

σ(−120) bilgisayarda tam 0 olur; ln 0 = −∞. PyTorch ln'i −100'de kırpar: kayıp yanlış çıkar (100 ≠ 120).

✅ Çözüm: logit ver

*_with_logits ve cross_entropy, σ / softmax'ı içeride kararlı hesaplar. Eğitimde kayba net'i (logit) ver; olasılık gerekince σ'yı sonra uygula.

🤖 Gradyanı kim hesaplıyor?

Bu hafta biz türettik: d − y. Çok katmanda elle türetmek zorlaşır → otomatik türev (autograd) H7

Yan Yana

Dört Kural, Tek Tablo

Perceptron (H4)Widrow–Hoff (H3)Delta, MSE (H3)Sürekli, CE (H5)
Çıktı ysgn(net): ±1netσ(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 − yd − net(d − y)·y(1 − y)d − y
Emin ama yanlıştatam adımbüyük adımdoyar (f′ ≈ 0)tam adım
Doğruykendurur (r = 0)iter (d − net ≠ 0)az iteraz iter; ‖w‖ yavaşça büyür
Ayrılamaz veridedurmaz → cepen küçük kareler çözümübir minimum (plato riski)tek minimum (dışbükey)
y'nin anlamıkararsayı0–1 arası skorolası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).

İstatistikteki Adı

Sürekli Perceptron = Lojistik Regresyon

YSA diliistatistik dili
sürekli perceptronlojistik regresyon (Cox, 1958)
net = wᵀx + bdoğrusal öngörücü = log-odds
w, bkatsayılar β₁, β₂ ve sabit β₀
CE'yi küçültmekolabilirliği büyütmek (MLE)
exp(wⱼ)odds oranı (OR)

🩺 Odds oranı

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ı.

🔭 Bakış farkı

İ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çekw₁, w₂, bortalama CEhata
bizim döngü (online, η = 0.1, 200 epoch)4.753, 4.383, 0.4740.10286
sklearn LogisticRegression(penalty=None)4.727, 4.415, 0.4680.10286
Mini Quiz · Haftayı Yokla

Kendini Test Et

1) Sürekli perceptron y = 0.8 verdi. Ne demek?
2) σ + çapraz entropi ile güncelleme kuralı?
3) d = 1 iken y = 0.01 (emin ama yanlış). Kim daha büyük adım atar?
4) XOR'da toplu CE gradyan inişi nereye varır?
Toparlayalım

Bu Hafta Ne Öğrendik?

✅ 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.

Uygulama · ~40 dk

Sürekli Perceptronu Kendin Kodla

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].

Sonraki Hafta

Hafta 6 — Çok Katmanlı Algılayıcı

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.

\[ y = \sigma\big(\mathbf{w}_2^\top\, \sigma(W_1\mathbf{x} + \mathbf{b}_1) + b_2\big) \]
← Ders Ana Sayfasına Dön