Veri Bilimi Uygulamaları - Final Sınavı Çözüm Seti⌗
Bu belge, sınav sorularının titiz ve soyut tanımlara dayalı çözümlerini içerir. Açıklamalar, genelden özele indirgeme (dedüktiyon) prensibiyle hazırlanmıştır.
Bölüm I: Yazılım Mühendisliği Temelleri ve Veri İşleme⌗
1. Soru: Versiyon Kontrol Senkronizasyonu⌗
Cevap: (c) git push
Analiz: Git mimarisinde yerel depo (local repository) ile uzak depo (remote repository) arasındaki yönlü graf akışı şöyledir:
pull: Uzak $\to$ Yerel (Fetch + Merge)push: Yerel $\to$ Uzakcommit: Çalışma Dizini $\to$ Yerel Depoclone: Uzak $\to$ Yeni Yerel
Yerel durumun $S_{local}$ uzak duruma $S_{remote}$ aktarılması işlemi idempotent olmayan push operasyonudur.
2. Soru: TDD Döngüsü (Red-Green-Refactor)⌗
Cevap: (b) Başarısız test yaz $\rightarrow$ Kodu yaz $\rightarrow$ İyileştir.
Prensip: Test Güdümlü Geliştirme (TDD), yazılımın doğruluğunu aksiyomatik olarak testlerle tanımlar.
- Red: $\exists$ Test $T$, henüz $C$ kodu yokken başarısız olmalı (False Positive kontrolü).
- Green: $C$ kodunu, $T$‘yi geçecek minimal karmaşıklıkta yaz.
- Refactor: davranışı koruyarak ($T$ hala başarılı), $C$‘nin yapısal optimizasyonu.
3. Soru: Eksik Veri Tamamlama ve Aykırı Değerler⌗
Cevap: (b) Medyan (Median) ile doldurma.
İspat: Bir $X$ örneklemi için merkezi eğilim ölçüleri incelendiğinde:
- Ortalama (Mean): $L^2$ normunu minimize eder ($\sum (x_i - \mu)^2$). Uç değerlerin karesiyle büyüyen hata fonksiyonu nedeniyle aykırı değerlere hassastır.
- Medyan (Median): $L^1$ normunu minimize eder ($\sum |x_i - m|$). Türevi sabit olduğundan, aykırı değerlerin büyüklüğü sonucu değiştirmez (Robustness).
4. Soru: Nominal Veri Kodlama⌗
Cevap: (b) One-Hot Encoding.
Tanım: Kategorik uzay $K = {k_1, \dots, k_n}$ olsun.
- Eğer $K$ üzerinde bir sıralama bağıntısı ($<$) tanımlı değilse (Nominal), bu uzayı $\mathbb{R}^1$‘e izomorfik eşlemek (Label Encoding) yapay bir sıra ($0 < 1 < 2$) empoze eder. Bu, modelin yanlış ilişki öğrenmesine yol açar.
- Doğru dönüşüm, her elemanı $\mathbb{R}^n$ uzayında ortogonal bir baz vektörüne eşleyen One-Hot dönüşümüdür: $k_i \to e_i = (0, \dots, 1, \dots, 0)$.
5. Soru: Dağılım Karşılaştırma Hipotez Testi⌗
Cevap: (c) Kolmogorov-Smirnov (K-S) Testi.
Teorem: İki olasılık dağılımı $P$ ve $Q$‘nun eşitliği ($H_0: P = Q$) test edilirken:
- T-Testi: Sadece birinci momentleri (beklenen değer/ortalama, $\mu$) karşılaştırır. $\mu_P = \mu_Q$ olması $P=Q$ olduğunu gerektirmez (Örn: $N(0,1)$ ve Uniform$[-1,1]$).
- K-S Testi: Kümülatif dağılım fonksiyonları (CDF) arasındaki supremum (en büyük) mesafeye bakar: $D = \sup_x |F_P(x) - F_Q(x)|$. Bu metrik, dağılımın şekli, varyansı ve konumu dahil tüm özelliklerine duyarlıdır.
6. Soru: Veri Sızıntısı (Data Leakage) ve Ölçeklendirme⌗
Cevap: (c) Veriyi ayırdıktan sonra, sadece eğitim verisine göre (fit) uygulanmalıdır.
Aksiyom: Test kümesi $D_{test}$, model eğitimi sırasında “görülmeyen” evreni temsil eder. Ölçeklendirme fonksiyonu $\phi(x) = \frac{x - \mu}{\sigma}$ parametreleri ($\mu, \sigma$), dağılımın özellikleridir. Eğer bu parametreler $D_{train} \cup D_{test}$ üzerinden hesaplanırsa, $D_{test}$ bilgisi modele sızmış olur. $\mu$ ve $\sigma$ sadece $D_{train}$ üzerinden hesaplanmalı, $D_{test}$ bu sabitlerle dönüştürülmelidir.
Bölüm II: MLOps ve LLM Mimarisi⌗
7. Soru: MLflow Kullanım Amacı⌗
Cevap: (b) Deneyleri, parametreleri ve metrikleri izlemek.
Açıklama: Deterministik yazılımın aksine, ML stokastik ve deneyseldir. MLflow Tracking bileşeni, hiperparametre uzayındaki $(h_1, \dots, h_k) \to M_{metric}$ fonksiyonunun kaydını tutarak tekrarlanabilirliği sağlar.
8. Soru: Sürekli Entegrasyon (CI)⌗
Cevap: (b) Kod değişikliklerini sık sık ve otomatik olarak birleştirip test etmek.
Amaç: Entropiyi düşürmek. Farklı branchlerdeki kodların birbirinden uzaklaşma (divergence) süresini minimize ederek entegrasyon maliyetini logaritmik düzeyde tutmak.
9. Soru: Üretim Dağılım Değişimi⌗
Cevap: (b) Data Drift (Veri Kayması).
Tanım: Eğitim anındaki girdi dağılımı $P_{train}(X)$ ile üretim anındaki $P_{prod}(X)$ arasındaki Klullback-Leibler ayrışımıdır ($D_{KL}(P_{prod} || P_{train}) > \epsilon$). Modelin koşullu olasılığı $P(Y|X)$ değişmese bile, $P(X)$ değişimi performansı düşürür (Covariate Shift).
10. Soru: Metin Sayısallaştırma⌗
Cevap: (b) Tokenization.
İşlem: Sürekli karakter dizisi uzayının $\Sigma^*$, sonlu ve ayrık bir tamsayı uzayına $\mathbb{Z}^n$ (token IDs) indirgenmesi işlemidir. Embedding (a) ise bu ayrık uzayın sürekli vektör uzayına ($\mathbb{R}^d$) gömülmesidir. Soru “ilk dönüşümü” (sayısal parçalar) sormaktadır.
11. Soru: Örnekli Prompting⌗
Cevap: (b) Few-Shot Prompting.
Tanım: Modelin ağırlıklarını güncellemeden ($\Delta W = 0$), bağlam penceresi (context window) içine $S = {(x_1, y_1), \dots, (x_k, y_k)}$ kümesini vererek, modelin $P(y|x, S)$ olasılığını maksimize etmesini sağlamaktır.
12. Soru: Temperature (Sıcaklık) Parametresi⌗
Cevap: (b) Daha deterministik, tutarlı ve odaklı olur.
Matematiksel Temel: Softmax fonksiyonunda $\sigma(z_i) = \frac{e^{z_i/T}}{\sum e^{z_j/T}}$ kullanılır.
- $T \to 0$ limiti alındığında, dağılım bir Dirac deltası gibi davranır ve sadece en yüksek logit ($max(z_i)$) 1 olasılığına yaklaşır. Bu da deterministik (Greedy) sonuç üretir.
- $T \to \infty$ durumunda dağılım Uniform dağılıma yaklaşır.
13. Soru: Güncel Bilgi ve Eğitimsiz Yanıt⌗
Cevap: (b) RAG (Retrieval-Augmented Generation).
Mekanizma: Parametrik hafıza (Ağırlıklar) statiktir. Non-parametrik hafıza (Vektör Veritabanı) dinamiktir. RAG, soruyu ($q$) bir sorgu vektörüne çevirip, veritabanından en yakın dokümanları ($d$) getirir ve modele bağlam $(q, d)$ olarak sunar.
14. Soru: Anlamsal Vektör Dönüşümü⌗
Cevap: (b) Embedding Modeli.
Özellik: Kelimeler arasındaki semantik benzerliğin, vektör uzayındaki geometrik yakınlığa (Cosine Similarity) izometrik olmasa da topolojik olarak korunduğu dönüşümdür.
15. Soru: Function Calling⌗
Cevap: (b) Yapılandırılmış çıktı (JSON) üretmesi.
Amaç: Olasılıksal (probabilistic) bir sistemin, deterministik (deterministic) API’lar ile konuşabilmesi için gereken arayüzdür. LLM kodu çalıştırmaz; sadece çalıştırılacak fonksiyonun imzasını (JSON Schema) doldurur.