---
title: "Sıfırdan Bir Sinir Ağı İnşa Etmek: XOR Öğreniminin Arkasındaki Matematik"
url: https://blog.edumints.com/sifirdan-bir-sinir-agi-insa-etmek-xor-ogreniminin-arkasindaki
category: "Makine Öğrenmesi"
date: 2026-10-22T15:06:50.966Z
publisher: Edumints Blog
lang: tr-TR
source_name: "dev.to"
source_url: https://dev.to/dev_vaibhav_37/building-a-neural-network-from-scratch-the-mathematics-behind-learning-xor-1o4b
---

# Sıfırdan Bir Sinir Ağı İnşa Etmek: XOR Öğreniminin Arkasındaki Matematik

Modern derin öğrenme kütüphanelerini (PyTorch veya TensorFlow gibi) kullanarak bir sinir ağının tahmin üretmesini sağlamak oldukça kolaydır. Ancak ağın gerçekte **nasıl öğrendiğini** anlamak bambaşka bir mühendislik ve öğrenme zorluğudur. Bir ağ çıktısını nasıl hesaplar? Hatalı bir tahmini nasıl ölçer? Türevler, hangi ağırlıkların (weights) ve sapmaların (biases) değişmesi gerektiğini nasıl belirler?

Otomatik türev alma (automatic differentiation) mekanizmalarının arkasına saklanmadan bu işlemleri temelinden kavramak, her yazılım geliştiricinin yapay zeka mantığını içselleştirmesi için kritik bir adımdır. Bu doğrultuda, yalnızca Python ve NumPy kullanarak, matematiksel işlemleri sıfırdan uygulayan ve XOR fonksiyonunu öğrenen **2 → 3 → 1** mimarisine sahip tamamen eğitilebilir bir sinir ağı inceliyoruz. Küçük boyutuna rağmen bu uygulama; **matris çarpımı**, **aktivasyon fonksiyonları**, **kayıp fonksiyonları**, **zincir kuralı (chain rule)**, **geri yayılım (backpropagation)** ve **gradyan inişi (gradient descent)** gibi temel kavramları bir araya getirir. Amaç sadece çalışan bir sinir ağı kurmak değil, onun nasıl öğrendiğini anlamaktır.

## 1. Neden XOR?

XOR (özel VEYA), iki ikili (binary) girdisi birbirinden farklı olduğunda `1`, aynı olduğunda ise `0` döndüren mantıksal bir işlemdir. Sadece dört olası girdi kombinasyonuna sahip olmasına rağmen, XOR makine öğrenmesi açısından oldukça ilginç bir zorluk sunar.

Tek bir doğrusal sınıflandırıcı (linear classifier), tek bir düz karar sınırı kullanarak iki sınıfı doğru şekilde ayıramaz. Şu hesaplamayı yapan bir nöron düşünün:

`z = w₁x₁ + w₂x₂ + b`

Burada `x₁` ve `x₂` girdi özelliklerini, `w₁` ve `w₂` bunlara karşılık gelen ağırlıkları, `b` ise sapma (bias) değerini temsil eder. Bu ağırlıklı toplama bir eşik değeri uygulamak doğrusal bir karar sınırı üretir. Ancak pozitif XOR örnekleri girdi uzayının zıt köşelerinde yer alır; negatif örnekler için de durum aynıdır. Hiçbir tek düz çizgi her iki sınıfı doğru bir şekilde ayıramaz. Yani **XOR doğrusal olarak ayrıştırılamaz (not linearly separable).**

**Pratik Çıkarım:** Yazılım geliştirme ve model tasarımında doğrusal olmayan (nonlinear) ilişkileri öğrenmek için tek katmanlı yapılar yetersiz kalır. Bu problemi çözmek için doğrusal olmayan aktivasyon fonksiyonlarıyla birleştirilmiş bir **gizli katmana (hidden layer)** sahip bir ağa ihtiyacımız vardır.

## 2. Ağ Mimarisi

XOR problemini çözmek için **2 → 3 → 1** mimarisine sahip küçük, tam bağlantılı (fully connected) ileri beslemeli (feedforward) bir sinir ağı kullanılır. Ağ üç temel katmandan oluşur:

- **Girdi katmanı (Input layer):** İkili XOR girdilerini temsil eden iki girdi özelliği (`x₁` ve `x₂`).
- **Gizli katman (Hidden layer):** Doğrultulmuş Doğrusal Birim (**ReLU**) aktivasyon fonksiyonunu kullanan üç nöron.
- **Çıktı katmanı (Output layer):** `0` ile `1` arasında bir değer üretmek için **sigmoid** aktivasyonu kullanan bir nöron.

Her girdi her gizli nörona bağlanır ve üç gizli nöronun tamamı çıktı nöronuna bağlanır. Her bağlantının eğitilebilir bir ağırlığı (weight) varken, her gizli nöronun ve çıktı nöronunun kendine ait bir sapma (bias) değeri vardır. Toplamda ağ **13 eğitilebilir parametre** içerir:

- **6** gizli katman ağırlığı
- **3** gizli katman sapması (bias)
- **3** çıktı katmanı ağırlığı
- **1** çıktı sapması (bias)

**Pratik Çıkarım:** Bu 13 parametre, ağın girdileri tahminlere nasıl dönüştüreceğini belirler. Eğitim (training) sırasında, tahmin hatasını en aza indirmek için bu parametrelerin değerleri kademeli olarak ayarlanır. Büyük dil modellerinde milyarlarca olan parametre kavramını, bu 13 parametrelik mikro mimari üzerinden takip etmek, hata ayıklama ve optimizasyon mantığını kavramanın en etkili yoludur.

---

**Kaynak:** dev.to (https://dev.to/dev_vaibhav_37/building-a-neural-network-from-scratch-the-mathematics-behind-learning-xor-1o4b)
**Yayıncı:** [Edumints Blog](https://blog.edumints.com) · Alıntılarken bu URL'ye bağlantı verin: https://blog.edumints.com/sifirdan-bir-sinir-agi-insa-etmek-xor-ogreniminin-arkasindaki
