Mülakat Soruları

Makine Öğrenmesi Mühendisi Mülakat Soruları: Teknik ve Teorik Hazırlık Rehberi

CVANALIZ Editör Ekibi 7 dk okuma

Uzman incelemesi: Can Demir

makine öğrenmesi mülakat soruları konulu blog yazısının kapak görseli
Fotoğraf: Tima Miroshnichenko / Pexels

Makine öğrenmesi mühendisi mülakat süreci nasıl işler?

Açıkçası, makine öğrenmesi (ML) mühendisliği, hem güçlü bir matematiksel temel hem de ileri düzey yazılım geliştirme becerileri gerektiren disiplinlerarası bir alandır. Bu nedenle mülakat süreçleri çoğu zaman tek bir aşamadan oluşmaz; adaydan hem teorik derinlik hem de pratik uygulama yeteneği beklenir.

Genelde, tipik bir ML mülakat süreci çoğu zaman şu aşamalardan oluşur:

  • Teknik Tarama: Temel Python/C++ bilgisi, veri yapıları ve algoritmalar üzerine kısa sorular.
  • Teorik Derinlik: İstatistik, lineer cebir ve temel ML algoritmalarının çalışma prensipleri.
  • Kodlama ve Uygulama: Verilen bir veri setiyle model kurma veya mevcut bir algoritmayı sıfırdan implemente etme.
  • Sistem Tasarımı (ML System Design): Bir ML modelini üretim ortamına (production) nasıl taşıyacağınız. Ölçeklenebilirlik ve veri boru hatlarının (pipeline) kurgulanması.
  • Davranışsal Mülakat: Problem çözme yaklaşımınız ve ekip çalışmasına yatkınlığınız.

Mülakat aşamasına gelmeden önce, projelerinizi ve teknik yetkinliklerinizi en güçlü şekilde yansıtan bir Cv oluştur sürecine odaklanmanız kritiktir. İK profesyonelleri ve teknik liderler. Sadece hangi araçları bildiğinize değil, bu araçları hangi problemi çözmek için kullandığınıza bakar.

Temel makine öğrenmesi teorisi: sıkça sorulan sorular

Net konuşmak gerekirse, mülakatların ilk aşamalarında sıklıkla kavramsal anlamanızı ölçen sorular gelir. Burada gaye, kütüphaneleri çağırmayı bilmeniz değil, arka planda dönen matematiği kavramış olmanızdır.

1. Overfitting (Aşırı öğrenme) nedir ve nasıl önlenir?

Overfitting, bir modelin eğitim verilerini ezberlemesi ve görmediği yeni veriler üzerinde düşük performans göstermesi durumudur. Somut olarak, model, verideki gürültüyü (noise) gerçek bir örüntüymüş gibi öğrenir.

Önleme yöntemleri şunlardır:

  • Regularization (Düzenlileştirme): L1 (Lasso) ve L2 (Ridge) yöntemleri ile ağırlıkların aşırı büyümesi engellenir.
  • Cross-Validation: Veri setini değişik parçalara bölerek modelin genelleme yeteneği test edilir.
  • Somut olarak, early Stopping: Eğitim sırasında doğrulama hatası artmaya başladığında eğitimin durdurulması.
  • Dropout: Bilhassa derin öğrenmede, nöronların rastgele devre dışı bırakılmasıyla bağımlılıkların azaltılması.
  • Veri Artırımı (Data Augmentation): Daha fazla ve çeşitli veri ekleyerek modelin genelleme kapasitesini artırmak.

2. Bias-Variance Trade-off (Yanlılık-Varyans Dengesi) Nedir?

Bu kavram, modelin hata kaynağını anlamak için temeldir. Bias (Yanlılık), modelin gerçek ilişkiyi basite indirgemesinden kaynaklanan hatadır (Underfitting). Variance (Varyans) ise modelin eğitim verisindeki ufak dalgalanmalara aşırı tepki vermesinden kaynaklanır (Overfitting).

İdeal model, hem düşük bias hem de düşük varyansa sahip olan modeldir. Fakat birini azaltmaya çalışmak çoğunlukla diğerini artırır. Bu dengeyi kurmak, ML mühendisinin temel görevidir.

3. L1 ve L2 regularization arasındaki ayrım nedir?

Her iki teknik de modelin karmaşıklığını azaltmak için maliyet fonksiyonuna bir ceza terimi ekler. Fakat çalışma biçimleri farklıdır:

  • Gerçekte, L1 Regularization (Lasso): Ağırlıkların mutlak değerinin toplamını ekler. Bazı ağırlıkları tam olarak sıfıra indirgediği için doğal bir özellik seçimi (feature selection) yapar.
  • L2 Regularization (Ridge): Ağırlıkların karelerinin toplamını ekler. Aslına bakılırsa, ağırlıkları sıfıra yaklaştırır ama tam olarak sıfırlamaz; bu şekilde tüm özelliklerin etkisini koruyarak daha dengeli bir model oluşturur.

Denetimli ve denetimsiz öğrenme algoritmaları

Mülakatçılar, hangi problemi hangi algoritma ile çözeceğinizi bilip bilmediğinizi test ederler.

Sınıflandırma ve regresyon soruları

Soru: Logistic Regression bir regresyon algoritması mıdır?
Cevap: Hayır, ismi yanıltıcıdır. Logistic Regression, bir söz gelimi belirli bir sınıfa ait olma olasılığını hesaplayan bir sınıflandırma algoritmasıdır. Çıktı 0 ile 1 arasında bir değerdir ve genellikle bir eşik değer (threshold) kullanılarak sınıflara ayrılır.

Aslına bakılırsa, soru: Random Forest ve Decision Tree arasındaki temel ayrım nedir?
Cevap: Decision Tree (Karar Ağacı). Veriyi belirli kriterlere göre dallara ayıran tek bir ağaçtır ve overfitting'e çok yatkındır. Random Forest ise "Bagging" tekniğini kullanarak çok sayıda karar ağacı oluşturur ve bunların ortalamasını (veya çoğunluk oyunu) alır. Net konuşmak gerekirse, bu sayede varyans azalır ve model daha dayanıklı hale gelir.

Kümeleme ve boyut indirgeme

Soru: K-Means algoritmasında 'K' değeri nasıl belirlenir?
Cevap: En alışılmış teknik "Elbow Method" (Dirsek Yöntemi)dir. Başka K değerleri için küme içi kareler toplamı (WCSS) hesaplanır ve grafiğe dökülür. Grafiğin aniden yavaşladığı, yani "dirsek" oluşturduğu nokta optimum K değeri olarak kabul edilir.

Net konuşmak gerekirse, soru: PCA (Temel Bileşen Analizi) ne işe yarar?
Cevap: PCA, yüksek boyutlu verileri. Verideki varyansın çoğunu koruyarak daha düşük boyutlu bir uzaya indirgeyen doğrusal bir yöntemdir. Bu, hem hesaplama maliyetini düşürür hem de görselleştirmeyi kolaylaştırır.

Derin öğrenme ve sinir ağları

Çoğu durumda, günümüzde ML mühendisliği pozisyonlarının çoğu derin öğrenme bilgisi gerektirmektedir. Bu bölümde daha spesifik mimariler üzerine sorulara odaklanacağız.

Gradyan kaybolması ve patlaması (Vanishing/Exploding gradients)

Çok derin ağlarda, geri yayılım (backpropagation) sırasında türevler zincir kuralı ile çarpılarak geriye gider. Çoğu durumda, eğer türevler 1'den küçükse, katmanlar geriye gittikçe gradyanlar sıfıra yaklaşır (Vanishing) ve ağ öğrenemez. Eğer 1'den büyükse, gradyanlar kontrolsüzce büyür (Exploding).

Çözüm yolları:

  • Çoğu durumda, reLU Aktivasyon Fonksiyonu: Sigmoid yerine ReLU kullanarak pozitif bölgedeki gradyan kaybını önlemek.
  • Batch Normalization: Her katmandan sonra verileri normalize ederek eğitimi stabilize etmek.
  • Weight Initialization: He veya Xavier başlatma yöntemlerini kullanarak ağırlıkları uygun aralıkta başlatmak.
  • Şöyle ki, LSTM/GRU: RNN'lerdeki gradyan sorunlarını çözmek için kapı (gate) mekanizmaları faydalanmak.

CNN ve RNN farkları

Aslına bakılırsa, soru: Hangi durumlarda CNN, hangi durumlarda RNN tercih edilmelidir?
Şöyle ki, cevap: CNN (Convolutional Neural Networks), mekansal (spatial) veriler için uygundur. Görüntü işleme, nesne tanıma ve tıbbi görüntüleme gibi alanlarda kullanılır zira yerel özellikleri yakalama yeteneği yüksektir. RNN (Recurrent Neural Networks) ise ardışık (sequential) veriler için tasarlanmıştır. Somut olarak, zaman serileri, doğal dil işleme (NLP) ve çeviri gibi verinin sırasının kayda değer olduğu durumlarda kullanılır.

Model değerlendirme metrikleri

Bir modelin başarısını sadece "accuracy" (doğruluk) ile ölçmek çoğu zaman hatalıdır. Mülakatlarda bu tuzak sorulara dikkat etmelisiniz.

Karmaşıklık matrisi (Confusion matrix) ve türevleri

Bilhassa dengesiz veri setlerinde (imbalanced datasets) doğruluk oranı yanıltıcı olabilir. Şöyle ki, örneğin, %99'u sağlıklı olan bir popülasyonda herkesi "sağlıklı" olarak tahmin eden model %99 doğruluk verir ne var ki tek bir hastayı bile bulamaz.

Bu noktada şu metrikler devreye girer:

  • Precision (Kesinlik): Pozitif tahmin edilenlerin kaçı gerçekten pozitif? (Yanlış pozitifleri azaltmak istediğimizde kritiktir).
  • Recall (Duyarlılık): Gerçek pozitiflerin kaçı isabetli tahmin edildi? (İsabetsiz negatifleri azaltmak istediğimizde, örn. Kanser teşhisi, kritiktir).
  • F1-Score: Precision ve Recall'un harmonik ortalamasıdır; her iki metriğin dengesini olanak tanır.
  • ROC-AUC: Modelin değişik eşik değerlerinde sınıfları birbirinden ayırma kapasitesini ölçer.

ML sistem tasarımı ve production süreçleri

Kıdemli pozisyonlar için en belirleyici aşama burasıdır. Modelin sadece notebook üzerinde çalışması yetmez; gerçek dünyada nasıl yaşayacağı sorgulanır.

Veri sızıntısı (Data leakage) nedir?

Veri sızıntısı, eğitim setine, modelin tahmin sırasında erişemeyeceği bilgilerin yanlışlıkla dahil edilmesidir. Net konuşmak gerekirse, söz gelimi, hedef değişkenin bir türevinin özellikler (features) arasında yer alması. Bu durum, eğitimde mükemmel sonuçlar verirken canlı sistemde modelin çökmesine neden olur.

Model drift ve monitoring

Canlıya alınan bir model zamanla performans kaybeder. Buna Model Drift denir.

  • Pratikte, concept Drift: Hedef değişken ile özellikler arasındaki ilişkinin değişmesi.
  • Data Drift: Girdi verilerinin istatistiksel dağılımının değişmesi.

Çözüm olarak; sürekli izleme (monitoring) araçları kurulmalı ve belirli periyotlarla model yeniden eğitilmelidir (retraining).

Mülakata hazırlık için stratejik ipuçları

Teknik bilgi kadar, bu bilgiyi nasıl sunduğunuz da gerekir. İşte sürecinizi iyileştirecek bazı öneriler:

Projelerinizi anlatma biçimi (STAR metodu)

Bir projeden bahsederken şu yapıyı tercih edin:

  1. Situation (Durum): Karşılaştığınız problem neydi?
  2. Task (Görev): Sizin sorumluluğunuz neydi, neyi hedeflediniz?
  3. İşin aslı, action (Eylem): Hangi algoritmayı seçtiniz, veriyi nasıl temizlediniz, hangi optimizasyonları yaptınız?
  4. Result (Sonuç): Sonuç ne oldu? İşin aslı, (Örn: Hata oranını %5 düşürdüm, işlem süresini 2 saniyeye indirdim).

Teknik portfolyo ve sunum

GitHub profiliniz, yaptığınız işlerin kanıtıdır. Ancak sadece kod paylaşmak yetmez. İyi bir README dosyası, projenin amacını, kullanılan yöntemleri ve elde edilen sonuçları net bir şekilde açıklamalıdır. Bu belgeler, mülakatçının sizinle konuşacağı konuları belirler.

Bunun yanı sıra, profesyonel bir görünüm için modern bir Cv şablon seçimi yapmanız, bilgilerin hiyerarşik ve okunabilir şekilde sunulmasını kazandırır. Teknik yetkinliklerinizi (Python, PyTorch, TensorFlow, SQL, AWS/GCP) net kategoriler altında toplamak, ilk incelemede artı sağlar.

Özet ve son kontrol listesi

Mülakata girmeden önce kendinize şu soruları sıkıntı:

  • Lineer regresyondan derin sinir ağlarına kadar temel algoritmaların matematiksel mantığını açıklayabiliyor muyum?
  • Overfitting ve Underfitting durumlarında hangi aksiyonları alacağımı biliyor muyum?
  • Veri setindeki dengesizlik (imbalance) durumunu nasıl yönetirim?
  • Aslına bakılırsa, modelimi production ortamına taşırken karşıma çıkabilecek darboğazlar (bottlenecks) nelerdir?
  • Kullandığım kütüphanelerin (Pandas, Scikit-Learn, Keras vb.) temel fonksiyonlarına hakim miyim?

Mülakatçılar her şeyi bilmenizi beklemez; fakat bilmediğiniz bir husus karşısında nasıl mantık yürüttüğünüzü. Nasıl araştırma yaptığınızı ve problem çözme disiplininizi görmek isterler. Teknik hazırlığınızı tamamladıktan sonra, deneyimlerinizi vurgulayan bir Cv analiz süreciyle eksiklerinizi belirleyip, başvurularınızda öne çıkan yönlerinizi vurgulayabilirsiniz.

ATS uyumlu CV'ni dakikalar içinde hazırla.

Ücretsiz Başla
İçindekiler