Ana içeriğe atla

Makine Öğreniminde Çok Katmanlı Algılayıcılar: Kapsamlı Bir Rehber

Derin öğrenmede çok katmanlı algılayıcıların nasıl çalıştığını öğrenin. Katmanları, aktivasyon fonksiyonlarını, geri yayılımı ve SGD’yi pratik yönlendirmelerle anlayın.
Güncel 22 Nis 2026  · 15 dk. oku

Sinir ağları, modern makine öğrenimi ve yapay zekânın temelinde yer alır. Çok sayıda tür arasında, çok katmanlı algılayıcılar (MLP’ler) derin öğrenme sistemleri için temel bir yapı taşı işlevi görür. Bu eğitim yazısı, yapay sinir ağları kavramını tanıtır, MLP’lerin nasıl çalıştığını açıklar ve geri yayılım ve stokastik gradyan inişi gibi kilit bileşenleri adım adım ele alır.

Bir yapay sinir ağı (ANN), insan beynindeki birbirine bağlı nöron ağının yapı ve işlevinden ilham alan bir makine öğrenimi modelidir. Katmanlar hâlinde düzenlenmiş, yapay nöron adı verilen birbirine bağlı düğümlerden oluşur. Bilgi ağ boyunca akar; her nöron giriş sinyallerini işler ve ağdaki diğer nöronları etkileyen bir çıkış sinyali üretir.

Çok katmanlı algılayıcı (MLP), birden fazla nöron katmanından oluşan bir yapay sinir ağı türüdür. MLP’deki nöronlar genellikle doğrusal olmayan aktivasyon fonksiyonları kullanır; bu sayede ağ, verideki karmaşık örüntüleri öğrenebilir. MLP’ler, veride doğrusal olmayan ilişkileri öğrenebildikleri için sınıflandırma, regresyon ve örüntü tanıma gibi görevlerde güçlü modellerdir. Bu eğitimde, MLP’nin temellerine daha derinlemesine girerek iç işleyişini anlayacağız.

Yapay Zeka Uygulamaları Geliştirin

OpenAI API'sını kullanarak AI uygulamaları oluşturmayı öğrenin.
Ücretsiz olarak beceri geliştirmeye başlayın

Özet

  • Çok katmanlı algılayıcı (MLP), bir veya daha fazla gizli katmana sahip, veride doğrusal olmayan örüntüleri öğrenebilen ileri beslemeli bir sinir ağıdır.
  • MLP’ler; bir giriş katmanı, doğrusal olmayan aktivasyon fonksiyonlarına sahip gizli katmanlar ve bir çıkış katmanından oluşur.
  • Eğitimde, türevleri hesaplamak için geri yayılım ve ağırlıkları yinelemeli olarak güncellemek için stokastik gradyan inişi (SGD) kullanılır.
  • Veri hazırlığı kritiktir: Bir MLP’yi eğitmeden önce verinizi temizleyin, ölçeklendirin ve ayırın.
  • Küçük bir mimariyle başlayın ve karmaşıklığı kademeli olarak artırın; aşırı öğrenmeyi önlemek için düzenlileştirme tekniklerini kullanın.

Sinir Ağlarının Temelleri

Sinir ağları veya yapay sinir ağları, makine öğreniminde temel araçlardır ve bilgisayarlı görü, doğal dil işleme, robotik ve daha birçok alanda en ileri düzey algoritma ve uygulamalara güç verir.

Bir sinir ağı, katmanlar hâlinde düzenlenmiş, nöron adı verilen birbirine bağlı düğümlerden oluşur. Her nöron giriş sinyallerini alır, bunları bir aktivasyon fonksiyonu kullanarak hesaplar ve sonucu ağdaki diğer nöronlara aktarılabilecek bir çıkış sinyaline dönüştürür. Bir aktivasyon fonksiyonu, bir nöronun belirli bir girdi karşısında üreteceği çıktıyı belirler. Bu fonksiyonlar ağa doğrusal olmayanlık katar; böylece ağ, verideki karmaşık örüntüleri öğrenebilir.

Ağ genellikle, verinin sunulduğu giriş katmanıyla başlar; ardından hesaplamaların yapıldığı gizli katmanlar gelir ve son olarak tahminlerin veya kararların üretildiği çıkış katmanı yer alır.

Komşu katmanlardaki nöronlar, sinyalleri bir katmandan diğerine ileten ağırlıklı bağlantılarla birbirine bağlanır. Bu bağlantıların gücü, ağırlıklarla temsil edilir ve bir nöronun çıktısının diğer bir nöronun girdisini ne ölçüde etkilediğini belirler. Eğitim sürecinde, ağ eğitim veri kümesindeki örneklere dayanarak bu ağırlıkları ayarlamayı öğrenir. Ayrıca her nöronun, çıktısının eşik değerini ayarlamasına olanak tanıyan bir yanlılık (bias) terimi bulunur.

Sinir ağları, ileri besleme yayılımı ve geri yayılım adı verilen tekniklerle eğitilir. İleri besleme sırasında, girdi verisi katman katman ağdan geçirilir; her katman aldığı girdilere dayalı bir hesaplama yapar ve sonucu bir sonraki katmana iletir.

Geri yayılım, kayıp fonksiyonunu en aza indirmek amacıyla ağın ağırlık ve yanlılıklarını yinelemeli olarak ayarlayan bir algoritmadır. Bir kayıp fonksiyonu (maliyet fonksiyonu veya amaç fonksiyonu olarak da bilinir), modelin tahminlerinin eğitim verisindeki gerçek hedef değerlerle ne kadar örtüştüğünü ölçer. Kayıp fonksiyonu, modelin tahmini ile gerçek çıktı arasındaki farkı niceliksel olarak ifade ederek eğitim sırasında optimizasyonu yönlendiren bir sinyal sağlar.

Bir sinir ağını eğitmenin amacı, ağırlıkları ve yanlılıkları ayarlayarak bu kayıp fonksiyonunu en aza indirmektir. Bu ayarlamalar, gradyan inişi gibi bir optimizasyon algoritmasıyla yönlendirilir. Bu konuların bazılarına, bu eğitimde ilerleyen bölümlerde yeniden değineceğiz.

Sinir Ağı Türleri

Resim kredisi: Keras Eğitimi: Python’da Derin Öğrenme

Biyolojik nöron vs. yapay sinir ağı (Kaynak: ResearchGate)

Görselin sağ tarafında gösterilen ANN, ‘algılayıcı’ adı verilen basit bir sinir ağıdır. Yalnızca giriş katmanından oluşur; her biri kendi ağırlıklarına sahip birden fazla nöron bulunur ve gizli katman yoktur. Algılayıcı algoritması, giriş sinyalleri için ağırlıkları öğrenerek doğrusal bir karar sınırı çizer.

Buna karşılık, görüntü işleme, bilgisayarlı görü ve doğal dil işleme gibi daha karmaşık, doğrusal olmayan sorunları çözmek için derin sinir ağlarıyla çalışırız.

Derin sinir ağları hakkında daha fazla bilgi edinmek ve Python’da TensorFlow ile Keras kullanarak sıfırdan bir ağ kurmayı öğrenmek için Derin Sinir Ağlarına Giriş eğitimimize göz atın. R dilini tercih ederseniz, R ile Sinir Ağı (NN) Modelleri Kurma yazımız da işinize yarayacaktır.

Belirli görevler ve mimari gereksinimler için tasarlanmış çeşitli ANN türleri vardır. MLP’lere geçmeden önce en yaygın türlerden bazılarını kısaca ele alalım.

İleri Beslemeli Sinir Ağları (FNN)

Bunlar, bilginin girişten çıkışa tek yönde aktığı en basit ANN biçimleridir. Ağ mimarisinde döngü veya çevrim yoktur. Çok katmanlı algılayıcılar (MLP), ileri beslemeli sinir ağlarının bir türüdür.

Yinelemeli Sinir Ağları (RNN)

RNN’lerde, düğümler arasındaki bağlantılar yönlendirilmiş döngüler oluşturur; bu da bilginin zaman içinde kalmasını sağlar. Bu özellik, zaman serisi tahmini, doğal dil işleme ve konuşma tanıma gibi sıralı veri içeren görevler için onları uygun kılar.

Evrişimli Sinir Ağları (CNN)

CNN’ler, görüntüler gibi ızgara biçimli verileri etkili şekilde işlemek üzere tasarlanmıştır. Girdi verisi içindeki özelliklerin hiyerarşik temsillerini öğrenen evrişim filtreleri katmanlarından oluşurlar. CNN’ler, görüntü sınıflandırma, nesne tespiti ve görüntü segmentasyonu gibi görevlerde yaygın olarak kullanılır.

Uzun Kısa Süreli Bellek Ağları (LSTM) ve Kapılı Yinelemeli Birimler (GRU)

Bunlar, geleneksel RNN’lerdeki sönümlenen gradyan sorununu ele almak üzere tasarlanmış özel yinelemeli sinir ağı türleridir. LSTM ve GRU’lar, sıralı veride uzun menzilli bağımlılıkları daha iyi yakalamak için kapılı mekanizmalar içerir ve konuşma tanıma, makine çevirisi ve duygu analizi gibi görevlerde özellikle etkilidir.

Otoenkoder

Gözetimsiz öğrenme için tasarlanmıştır ve girdiyi daha düşük boyutlu bir örtük uzaya sıkıştıran bir kodlayıcı ağ ile örtük temsilden özgün girdiyi yeniden oluşturan bir kodçözücü ağdan oluşur. Otoenkoderler sıklıkla boyut indirgeme, veri gürültü giderme ve üretici modellemede kullanılır.

Üretken Çekişmeli Ağlar (GAN)

GAN’ler, rekabetçi bir düzende eşzamanlı olarak eğitilen bir üretici ve bir ayırt edici olmak üzere iki sinir ağından oluşur. Üretici, gerçek veriden ayırt edilemeyen sentetik örnekler üretmeyi öğrenirken; ayırt edici, gerçek ve sahte örnekleri ayırt etmeyi öğrenir. GAN’ler, gerçekçi görüntüler, videolar ve diğer veri türlerini üretmede yaygın olarak kullanılmaktadır.

Çok Katmanlı Algılayıcı (MLP) Nedir?

Çok katmanlı algılayıcı, doğrusal olmayan türde aktivasyon fonksiyonuna sahip, tamamen bağlı nöronlardan oluşan bir ileri beslemeli sinir ağı türüdür. Doğrusal olarak ayrıştırılamayan verileri ayırt etmek için yaygın şekilde kullanılır.

Bir MLP’nin Bileşenleri

MLP’ler; görüntü tanıma, doğal dil işleme ve konuşma tanıma dâhil birçok alanda yaygın şekilde kullanılmıştır. Mimari esneklikleri ve belirli koşullar altında herhangi bir fonksiyonu yaklaşıklayabilme yetenekleri, onları derin öğrenme ve sinir ağı araştırmalarında temel bir yapı taşı yapar. Şimdi bazı kilit kavramlarına daha yakından bakalım.

Giriş katmanı

Giriş katmanı, ilk girdi verisini alan düğüm veya nöronlardan oluşur. Her nöron, girdi verisinin bir özelliğini veya boyutunu temsil eder. Giriş katmanındaki nöron sayısı, girdi verisinin boyutuna göre belirlenir.

Gizli katman

Giriş ve çıkış katmanları arasında bir veya daha fazla nöron katmanı bulunabilir. Gizli bir katmandaki her nöron, önceki katmandaki tüm nöronlardan (giriş katmanı veya başka bir gizli katman) girdi alır ve çıktısını bir sonraki katmana iletir. Gizli katman sayısı ve her gizli katmandaki nöron sayısı, model tasarım aşamasında belirlenmesi gereken hiperparametrelerdir.

Çıkış katmanı

Bu katman, ağın nihai çıktısını üreten nöronlardan oluşur. Çıkış katmanındaki nöron sayısı, görevin niteliğine bağlıdır. İkili sınıflandırmada, aktivasyon fonksiyonuna bağlı olarak bir sınıfa ait olma olasılığını temsil edecek şekilde bir veya iki nöron olabilir; çok sınıflı sınıflandırma görevlerinde ise çıkış katmanında birden fazla nöron bulunabilir.

Ağırlıklar

Komşu katmanlardaki nöronlar tamamen bağlıdır. Her bağlantının, bağlantının gücünü belirleyen bir ağırlığı vardır. Bu ağırlıklar eğitim sürecinde öğrenilir.

Bias nöronları

Giriş ve gizli nöronlara ek olarak, her katman (giriş katmanı hariç) genellikle bir sonraki katmandaki nöronlara sabit bir giriş sağlayan bir bias nöronu içerir. Bias nöronlarının, eğitim sırasında öğrenilen kendi bağlantı ağırlıkları bulunur.

Bias nöronu, sonraki katmandaki nöronların aktivasyon fonksiyonunu fiilen kaydırarak ağın karar sınırında bir ofset veya yanlılık öğrenmesini sağlar. Bias nöronuna bağlı ağırlıklar ayarlanarak, MLP aktivasyon eşiğini denetlemeyi öğrenebilir ve eğitim verisine daha iyi uyum sağlayabilir.

Not: MLP bağlamında bias, birbiriyle ilişkili ancak farklı iki kavrama karşılık gelebilir: genel makine öğrenimi bağlamındaki önyargı (bias) ve yukarıda tanımlanan bias nöronu. Genel makine öğreniminde bias, gerçek bir dünyasal problemi basitleştirilmiş bir modelle yaklaştırmanın getirdiği hatayı ifade eder. Bias, modelin verideki temel örüntüleri ne kadar iyi yakalayabildiğini ölçer. Yüksek bias, modelin fazla basit olduğunu ve veriyi eksik öğrendiğini (underfit) gösterirken; düşük bias, modelin temel örüntüleri iyi yakaladığını gösterir.

Aktivasyon fonksiyonu

Genellikle gizli katmanlardaki ve çıkış katmanındaki her nöron, ağırlıklı girdi toplamına bir aktivasyon fonksiyonu uygular. Yaygın aktivasyon fonksiyonları arasında sigmoid, tanh, ReLU (Düzeltilmiş Doğrusal Birim) ve softmax bulunur. Bu fonksiyonlar ağa doğrusal olmayanlık katarak, verideki karmaşık örüntülerin öğrenilmesini sağlar.

İleri besleme ve Geri yayılım

MLP’ler, bir kayıp fonksiyonunun model parametrelerine göre gradyanlarını hesaplayan ve kaybı en aza indirmek için parametreleri yinelemeli olarak güncelleyen geri yayılım algoritmasıyla eğitilir.

Çok Katmanlı Algılayıcı Katman Katman Nasıl Çalışır?

İki gizli katmana sahip bir MLP örneği

İki gizli katmanlı bir MLP örneği. Görsel: Yazar

Bir çok katmanlı algılayıcıda, nöronlar bilgiyi adım adım işler; bu süreç, ağırlıklı toplamları ve doğrusal olmayan dönüşümleri içeren hesaplamaları kapsar. İçeride neler olup bittiğini katman katman inceleyelim.

Giriş katmanı

  • Bir MLP’nin giriş katmanı, bir veri kümesindeki örneklerden çıkarılmış özellikler olabilen girdi verisini alır. Giriş katmanındaki her nöron bir özelliği temsil eder.
  • Giriş katmanındaki nöronlar herhangi bir hesaplama yapmaz; giriş değerlerini doğrudan ilk gizli katmandaki nöronlara iletirler.

Gizli katmanlar

  • Bir MLP’nin gizli katmanları, girdi verisi üzerinde hesaplama yapan birbirine bağlı nöronlardan oluşur.
  • Gizli bir katmandaki her nöron, önceki katmandaki tüm nöronlardan girdi alır. Girdiler, w ile gösterilen karşılık gelen ağırlıklarla çarpılır. Ağırlıklar, bir nörondan gelen girdinin diğer nöronun çıktısını ne ölçüde etkilediğini belirler.
  • Ağırlıklara ek olarak, gizli katmandaki her nöronun b ile gösterilen bir bias terimi vardır. Bias, nörona ek bir girdi sağlar ve çıktısının eşiğini ayarlamasına olanak tanır. Ağırlıklar gibi bias terimleri de eğitim sırasında öğrenilir.
  • Gizli veya çıkış katmanındaki her nöron için, girdilerin ağırlıklı toplamı hesaplanır. Bu, her girdinin kendi ağırlığıyla çarpılması, bu çarpımların toplanması ve bias’ın eklenmesini içerir:

Screenshot 2024-02-07 at 19.11.15.png

Burada n, toplam girdi bağlantısı sayısını; wi, i’nci girdi için ağırlığı ve xi ise i’nci girdi değerini ifade eder.

  • Ardından ağırlıklı toplam, f ile gösterilen bir aktivasyon fonksiyonundan geçirilir. Aktivasyon fonksiyonu ağa doğrusal olmayanlık katarak, verideki karmaşık ilişkilerin öğrenilmesini ve temsil edilmesini sağlar. Aktivasyon fonksiyonu, nöronun çıktı aralığını ve farklı giriş değerlerine verdiği tepkiyi belirler. Hangi aktivasyon fonksiyonunun seçileceği, görevin niteliğine ve ağın istenen özelliklerine bağlıdır.

Çıkış katmanı

  • Bir MLP’nin çıkış katmanı, ağın nihai tahminlerini veya çıktıları üretir. Çıkış katmanındaki nöron sayısı, yürütülen göreve (ör. ikili sınıflandırma, çok sınıflı sınıflandırma, regresyon) bağlıdır.
  • Çıkış katmanındaki her nöron, son gizli katmandaki nöronlardan girdi alır ve bir aktivasyon fonksiyonu uygular. Bu aktivasyon fonksiyonu genellikle gizli katmanlarda kullanılanlardan farklıdır ve nihai çıktı değeri veya tahmini üretir.

Eğitim sürecinde, ağ; tahmin edilen çıktılar ile eğitim verisindeki gerçek hedef değerler arasındaki farkı en aza indirmek için her nöronun girdilerine ilişkin ağırlıkları ayarlamayı öğrenir. Ağırlıkları ayarlayarak ve uygun aktivasyon fonksiyonlarını öğrenerek ağ, verideki karmaşık örüntüleri ve ilişkileri yaklaşıklamayı öğrenir ve böylece yeni, görülmemiş örneklerde isabetli tahminler yapabilir.

Bu ayarlamalar, ağırlıklara göre bir kayıp fonksiyonunun gradyanlarını hesaplayan ve ağırlıkları yinelemeli olarak güncelleyen stokastik gradyan inişi (SGD) gibi bir optimizasyon algoritmasıyla yönlendirilir.

Şimdi SGD’nin nasıl çalıştığına daha yakından bakalım.

Stokastik Gradyan İnişi (SGD)

  1. Başlatma: SGD, model parametrelerinin (ağırlıklar ve bias’lar) başlangıç değerleriyle — rastgele veya önceden tanımlı bir yöntemle — başlar.
  2. Yinelemeli optimizasyon: Bu adımın amacı, fonksiyon değerindeki en dik azalma yönünde yinelemeli olarak ilerleyerek bir kayıp fonksiyonunun en küçük değerini bulmaktır. Eğitimin her yinelemesinde (veya döneminde):
    • Modelin her seferinde aynı sıradaki örüntülerden öğrenmesini engellemek için eğitim verisini karıştırın.
    • Eğitim verisini mini yığınlara (küçük veri altkümelerine) ayırın.
    • Her mini yığın için:
      • Kayıp fonksiyonunun, yalnızca o mini yığındaki veri noktalarını kullanarak model parametrelerine göre gradyanını hesaplayın. Bu gradyan kestirimi, gerçek gradyanın stokastik bir yaklaşıklamasıdır.
      • Öğrenme oranıyla ölçeklenmiş şekilde, gradyanın tersi yönde bir adım atarak model parametrelerini güncelleyin:
θₜ₊₁ = θₜ − η ∇J(θₜ)

Burada:

  • θₜ, t yinelemesindeki model parametrelerini (ör. ağırlıklar ve bias’lar) temsil eder

  • ∇J(θₜ), t yinelemesindeki parametrelere göre J kayıp fonksiyonunun gradyanıdır

  • η (eta), optimizasyon sırasında adım boyutunu kontrol eden öğrenme oranıdır

  1. Alçalma yönü: Kayıp fonksiyonunun gradyanı, en dik yükseliş yönünü gösterir. Kayıp fonksiyonunu en aza indirmek için gradyan inişi, bunun ters yönünde, en dik inişe doğru ilerler.
  2. Öğrenme oranı: Gradyan inişinde her yinelemede atılan adımın boyutu, yukarıda n olarak belirtilen öğrenme oranı parametresiyle belirlenir. Bu parametre, minimuma doğru atılan adımların büyüklüğünü kontrol eder. Öğrenme oranı çok küçükse yakınsama yavaş olabilir; çok büyükse algoritma salınım yapabilir veya ıraksayabilir.
  3. Yakınsama: Süreç, sabit sayıda yineleme için veya bir yakınsama ölçütü karşılanana dek (ör. kayıptaki değişimin belirli bir eşik değerin altına inmesi) tekrarlanır.

Stokastik gradyan inişi, model parametrelerini daha küçük veri altkümeleriyle daha sık güncellediği için özellikle büyük veri kümelerinde hesaplama açısından verimlidir. SGD’nin getirdiği rastgelelik, modele düzenlileştirici bir etki yaparak eğitim verisine aşırı uyum sağlamasını (overfitting) engelleyebilir. Ayrıca, yeni verinin kademeli olarak geldiği çevrimiçi öğrenme senaryoları için de uygundur; çünkü her yeni veri noktası veya mini yığınla modeli hızla güncelleyebilir.

Bununla birlikte, SGD; gradyan kestiriminin stokastik doğası nedeniyle artan gürültü ve öğrenme oranı gibi hiperparametreleri ayarlama gereksinimi gibi bazı zorluklara sahiptir. Mini yığınlı stokastik gradyan inişi, momentum ve AdaGrad, RMSProp, Adam gibi uyarlamalı öğrenme oranı yöntemleri gibi çeşitli uzantılar ve uyarlamalar; bu zorlukları ele almak ve yakınsama ile performansı iyileştirmek için geliştirilmiştir.

Çok katmanlı algılayıcının katmanlarının çalışma prensibini ve stokastik gradyan inişini gördünüz; tüm parçaları birleştirmek için son bir konuya daha girmek gerekiyor: geri yayılım.

Geri Yayılım

Geri yayılım, “hataların geriye doğru yayılımı” ifadesinin kısaltmasıdır. Geri yayılım bağlamında SGD, her eğitim veri yığını sırasında hesaplanan gradyanlara dayanarak ağın parametrelerini yinelemeli olarak güncellemeyi içerir. Tüm eğitim veri kümesini kullanarak gradyanları hesaplamak (büyük veri kümeleri için hesaplama açısından pahalı olabileceğinden) yerine, SGD; mini yığın adı verilen küçük, rastgele altkümeler kullanır. İşte geri yayılım algoritmasının nasıl çalıştığına genel bir bakış:

  1. İleri geçiş: İleri geçiş sırasında, girdi verisi sinir ağına beslenir ve ağın çıktısı katman katman hesaplanır. Her nöron, girdilerinin ağırlıklı toplamını hesaplar; sonuca bir aktivasyon fonksiyonu uygular ve çıktıyı bir sonraki katmandaki nöronlara iletir.
  2. Kayıp hesaplama: İleri geçişten sonra, ağın çıktısı gerçek hedef değerlerle karşılaştırılır ve tahmin edilen çıktı ile gerçek çıktı arasındaki farkı ölçmek için bir kayıp fonksiyonu hesaplanır.
  3. Geri geçiş (gradyan hesaplama): Geri geçişte, ağın parametrelerine (ağırlıklar ve bias’lar) göre kayıp fonksiyonunun gradyanları, hesaplamanın zincir kuralı kullanılarak hesaplanır. Gradyanlar, kayıp fonksiyonunun her bir parametreye göre değişim hızını temsil eder ve kaybı azaltmak için parametrelerin nasıl ayarlanacağına ilişkin bilgi sağlar.
  4. Parametre güncelleme: Gradyanlar hesaplandıktan sonra, ağın parametreleri kayıp fonksiyonunu en aza indirmek için gradyanların tersi yönünde güncellenir. Bu güncelleme, genellikle az önce tartıştığımız stokastik gradyan inişi (SGD) gibi bir optimizasyon algoritmasıyla gerçekleştirilir.
  5. Yinelemeli süreç: Adımlar 1-4, sabit sayıda dönem için veya yakınsama ölçütleri karşılanana kadar yinelemeli olarak tekrarlanır. Her yinelemede, geri geçişte hesaplanan gradyanlara dayanarak ağın parametreleri ayarlanır; böylece kayıp kademeli olarak azaltılır ve modelin performansı iyileştirilir.

MLP’ler İçin Veri Hazırlığı

Bir MLP’yi eğitmek için veri hazırlama; temizleme, ön işleme, ölçekleme, ayırma, biçimlendirme ve hatta gerekirse veriyi çoğaltmayı kapsar. Kullanılan aktivasyon fonksiyonlarına ve girdi özelliklerinin ölçeğine bağlı olarak verinin standartlaştırılması veya normalleştirilmesi gerekebilir. Belirli bir veri kümesi ve görev için en uygun yaklaşımı belirlemek amacıyla farklı ön işleme tekniklerini denemek ve bunların model performansına etkisini değerlendirmek çoğu zaman gereklidir.

  • Veri temizleme ve ön işleme
    • Kayıp değerleri ele alın: Veri kümesindeki eksik değerleri kaldırın veya doldurun.
    • Kategorik değişkenleri kodlayın: Kategorik değişkenleri tek-seçenekli kodlama gibi sayısal temsillere dönüştürün.
  • Özellik ölçekleme
    • Standartlaştırma veya normalleştirme: Özellikleri benzer ölçeklere yeniden boyutlandırarak optimizasyon sürecinin verimli yakınsamasını sağlayın.
      • Standartlaştırma (Z-skoru): Her özellikten ortalamayı çıkarın ve standart sapmaya bölün. Veriyi sıfır etrafında merkezler ve birim varyansa ölçekler.
      • Normalleştirme (Min-Maks ölçekleme): Özellikleri, genellikle 0 ile 1 arasında sabit bir aralığa ölçekleyin; minimum değeri çıkarıp aralığa (maks-min) bölün.

Özellik ölçekleme hakkında daha fazla bilgi için Datacamp’in Python ile Makine Öğrenimi için Özellik Mühendisliği kursuna göz atın.

  • Eğitim-doğrulama-test bölmesi
    • Veri kümesini eğitim, doğrulama ve test kümelerine ayırın. Eğitim kümesi modeli eğitmek için; doğrulama kümesi hiperparametreleri ayarlamak ve model performansını izlemek için; test kümesi ise nihai modelin görülmemiş verideki performansını değerlendirmek için kullanılır.
  • Veri biçimlendirme
    • Eğitim için verinin uygun biçimde olduğundan emin olun. Bu, verinin yeniden şekillendirilmesini veya gerekli veri tipine dönüştürülmesini (ör. kategorik değişkenleri sayısala çevirme) içerebilir.
  • İsteğe bağlı veri çoğaltma
    • Görüntü sınıflandırma gibi görevler için döndürme, yansıtma ve ölçekleme gibi veri çoğaltma teknikleri uygulanarak eğitim verisinin çeşitliliği artırılabilir ve modelin genelleme yeteneği iyileştirilebilir.
  • Normalleştirme ve aktivasyon fonksiyonları
    • Standartlaştırma ile normalleştirme arasındaki seçim, MLP’de kullanılan aktivasyon fonksiyonlarına bağlı olabilir. Sigmoid ve tanh gibi fonksiyonlar, girdi ölçeğine duyarlıdır ve standartlaştırmadan fayda görebilir. Öte yandan ReLU gibi fonksiyonlar ölçeğe daha az duyarlıdır ve standartlaştırma gerektirmeyebilir.

Uygulama İpuçları ve En İyi Uygulamalar

Bir MLP’yi uygulamak; veri ön işlemden model eğitimine ve değerlendirmeye uzanan çeşitli adımlar içerir. Bir MLP için katman ve nöron sayısını seçmek, model karmaşıklığı, eğitim süresi ve genelleme performansı arasında denge kurmayı gerektirir. Herkese uyan tek bir yanıt yoktur; en iyi mimari, görevin karmaşıklığı, mevcut veri miktarı ve hesaplama kaynakları gibi etkenlere bağlıdır. Ancak MLP uygularken göz önünde bulundurulabilecek bazı genel ilkeler şunlardır:

1. Model mimarisi

  • Basit bir mimariyle başlayın ve gerekirse karmaşıklığı kademeli olarak artırın. Tek bir gizli katman ve az sayıda nöronla başlayın; gerekirse daha fazla katman ve nöron eklemeyi deneyin.

2. Görev karmaşıklığı

  • Görece basit görevler için (ör. küçük veri kümelerinde ikili sınıflandırma veya regresyon) daha sığ mimariler, daha az katman ve nöron yeterli olabilir.
  • Çok sınıflı sınıflandırma veya yüksek boyutlu veride regresyon gibi daha karmaşık görevler için, verideki karmaşık örüntüleri yakalamak üzere daha derin, daha fazla katman ve nöron içeren mimarilere ihtiyaç duyulabilir.

3. Veri ön işleme

  • Verinizi temizleyin ve ön işleyin; eksik değerleri ele alın, kategorik değişkenleri kodlayın ve sayısal özellikleri ölçekleyin.
  • Model performansını değerlendirmek için verinizi eğitim, doğrulama ve test kümelerine ayırın.

4. Başlatma

  • MLP’nizin ağırlık ve bias’larını uygun şekilde başlatın. Yaygın başlatma teknikleri arasında küçük ağırlıklarla rastgele başlatma veya Xavier/He başlatma bulunur.

5. Deney

  • Sonuçta en iyi yaklaşım, farklı mimarileri deneyerek (katman ve nöron sayısını değiştirerek) performansı ampirik olarak değerlendirmektir.
  • Farklı mimarileri sistematik biçimde keşfetmek ve eldeki görevde en iyi performansı göstereni bulmak için çapraz doğrulama ve hiperparametre ayarlama gibi teknikleri kullanın.

6. Eğitim

  • MLP’nizi eğitim verisiyle eğitin ve doğrulama kümesi üzerindeki performansını izleyin.
  • En uygun eğitim ayarlarını bulmak için farklı yığın boyutları, dönem sayıları ve diğer hiperparametrelerle deney yapın.
  • Yakınsamayı izlemek ve sorunları teşhis etmek için kayıp ve doğruluk gibi metriklerle eğitim ilerlemesini görselleştirin.

7. Optimizasyon algoritması

  • Farklı öğrenme oranlarıyla deney yapın ve öğrenme oranı programları veya uyarlamalı öğrenme oranları gibi teknikleri düşünün.

8. Aşırı öğrenmeden kaçınma

  • Gereksiz karmaşıklık ekleyerek modeli eğitim verisine aşırı uydurmamaya dikkat edin.
  • Aşırı öğrenmeyi önlemek ve genelleme performansını iyileştirmek için düzenlileştirme (ör. L1, L2), bırakma (dropout) ve erken durdurma gibi teknikleri kullanın.
  • Düzenlileştirme gücünü, modelin doğrulama kümesindeki performansına göre ayarlayın.

9. Model değerlendirme

  • Eğitim sırasında, mimarideki değişikliklerin performansı nasıl etkilediğini değerlendirmek için modeli ayrı bir doğrulama kümesi üzerinde izleyin.
  • Eğitilmiş modeli test kümesi üzerinde değerlendirerek genelleme performansını ölçün.
  • Model performansını değerlendirmek ve mimari kararları yönlendirmek için doğruluk, kayıp ve doğrulama hatası gibi metrikleri kullanın.

10. Yineleme ve deney

  • Model performansını artırmak için farklı mimariler, hiperparametreler ve optimizasyon stratejileriyle deney yapın.
  • Eğitim ve değerlendirme sonuçlarından elde edilen içgörüler doğrultusunda uygulamanızı yineleyin.

MLP’lerin Avantajları ve Sınırlamaları

Projeniz için bir MLP seçmeden önce, nerede güçlü olduklarını ve nerede diğer mimarilerin daha uygun olabileceğini anlamak faydalıdır.

Avantajlar

  • Evrensel yaklaşıklama: MLP’ler, yeterli sayıda nöron ve katman verildiğinde herhangi bir sürekli fonksiyonu yaklaşıklayabilir; bu da onları çok çeşitli görevler için son derece esnek kılar.
  • Doğrusal olmayan modelleme: Tek katmanlı algılayıcılardan farklı olarak MLP’ler, gizli katmanları ve doğrusal olmayan aktivasyon fonksiyonları sayesinde doğrusal olmayan ayrılabilir verileri işler.
  • Çok yönlülük: MLP’ler; finans, sağlık ve doğal dil işleme gibi alanlarda sınıflandırma, regresyon ve örüntü tanımada iyi çalışır.
  • Kolay uygulama: Keras, PyTorch ve scikit-learn gibi kütüphaneler, minimum kurulumla kullanıma hazır MLP uygulamaları sunar.

Sınırlamalar

  • Uzamsal veya sıralı veriler için ideal değil: Görüntüler için CNN’ler uzamsal yapıyı kullanarak MLP’lerden daha iyi performans gösterir. Sıralar için RNN’ler ve LSTM’ler zamansal bağımlılıkları daha iyi yakalar.
  • Aşırı öğrenmeye eğilimli: Çok sayıda parametreyle MLP’ler, eğitim verisini ezberleyebilir. Düzenlileştirme, bırakma ve erken durdurma gibi teknikler bu sorunu hafifletmeye yardımcı olur.
  • Hesaplama açısından maliyetli: Tam bağlantılı katmanlar, girdi boyutu arttıkça kötü ölçeklenir; CNN’ler gibi mimarilere kıyasla daha fazla parametre ve eğitim süresi gerektirir.
  • Özellik ölçeklemeye duyarlı: MLP’lerin verimli yakınsama için uygun şekilde ölçeklenmiş girdi özelliklerine ihtiyacı vardır.
  • Kara kutu doğası: Bir MLP’nin ne öğrendiğini yorumlamak, ağaç tabanlı modeller veya doğrusal yöntemlere kıyasla daha zordur.

Sonuç

Çok katmanlı algılayıcılar, makine öğrenimi ve yapay zekânın gelişimine önemli katkıda bulunmuş, temel ve çok yönlü bir yapay sinir ağı sınıfını temsil eder. Birbirine bağlı nöron katmanları ve doğrusal olmayan aktivasyon fonksiyonları sayesinde MLP’ler, verideki karmaşık örüntüleri ve ilişkileri öğrenebilir; bu da onları geniş bir görev yelpazesi için uygun kılar. MLP’lerin tarihi, erken dönem algılayıcı modellerinden bugün birçok en ileri sistemin temelini oluşturan modern derin öğrenme mimarilerine uzanan bir keşif ve yenilik yolculuğunu yansıtır.

Bu yazıda yapay sinir ağlarının temellerini öğrendiniz; çok katmanlı algılayıcılara odaklandınız; stokastik gradyan inişi ve geri yayılımı incelediniz. Konut fiyatlarını tahmin etmek, görüntü ve metinleri modelleyen sinir ağları kurmak gibi gerçek dünya problemlerini çözmek üzere derin öğrenme tekniklerini uygulamalı olarak deneyimlemek istiyorsanız, Datacamp’in Keras araç kutusu öğrenim yolunu takip etmenizi şiddetle öneririz.

Keras ile çalışırken sinir ağlarını, derin öğrenme model iş akışlarını ve modellerinizi nasıl optimize edeceğinizi öğreneceksiniz. Ayrıca Datacamp’in işinize yarayabilecek bir Keras kopya kâğıdı da var!


Sejal Jaiswal's photo
Author
Sejal Jaiswal
LinkedIn

Çeşitli sektörlerde çalıştım ve birden çok rol üstlendim: yazılım geliştirici, makine öğrenimi araştırmacısı, veri bilimci, ürün yöneticisi. Ancak özünde, öğrenmeyi ve bilgiyi paylaşmayı seven bir programcıyım!

Sıkça Sorulan Sorular

Tek katmanlı algılayıcı nedir?

Tek katmanlı bir algılayıcı, en basit sinir ağı biçimidir; gizli katman olmadan yalnızca bir giriş ve bir çıkış katmanından oluşur. Başlıca doğrusal sınıflandırma görevlerinde kullanılır ve giriş sinyallerinin ağırlıklarını ayarlayarak verileri doğrusal bir karar sınırıyla ayırmayı öğrenir.

Algılayıcı ile çok katmanlı algılayıcı arasındaki fark nedir?

Algılayıcı, genellikle doğrusal sınıflandırma görevlerinde kullanılan, tek katmanlı basit bir sinir ağıdır. Gizli katman olmadan bir giriş ve bir çıkış katmanından oluşur. Çok katmanlı algılayıcı (MLP) ise bir veya daha fazla gizli katman dâhil birden çok katmana sahiptir; bu sayede verideki daha karmaşık, doğrusal olmayan ilişkileri öğrenip temsil edebilir.

Algılayıcı öğrenme algoritması nedir?

Algılayıcı öğrenme algoritması, tek katmanlı algılayıcıları eğitmek için kullanılan gözetimli bir öğrenme algoritmasıdır. Tahmin edilen çıktı ile gerçek çıktı arasındaki hataya göre giriş sinyallerinin ağırlıklarını ayarlar; böylece karar sınırını yinelemeli olarak iyileştirir ve eğitim verisini doğru sınıflandırana kadar veya önceden tanımlı bir yineleme sayısına ulaşılana dek devam eder.

ReLU aktivasyon fonksiyonu neden yaygın olarak kullanılır?

ReLU (Düzeltilmiş Doğrusal Birim) basit olduğu ve sigmoid veya tanh ile yaygın görülen sönümlenen gradyan sorununu azaltarak modellerin daha hızlı eğitilmesine yardımcı olduğu için popülerdir.

Gizli katman ve nöron sayısını nasıl seçerim?

Küçük başlayın ve görevin zorluğu ile performansa göre karmaşıklığı artırın. Doğrulama verisini ve denemeleri kullanarak doğru dengeyi bulun.

MLP’ler görüntü veya metin görevlerinde kullanılabilir mi?

Evet, ancak görüntü veya dizi gibi yüksek boyutlu veriler için CNN’ler ve RNN’ler daha iyi performans gösterebilir. MLP’ler daha basit görevler veya daha küçük girdiler için yine de işe yarayabilir.

Geri yayılım ile SGD arasındaki fark nedir?

Geri yayılım, tüm model parametreleri için gradyanları hesaplar. SGD ise bu gradyanlara dayanarak parametreleri güncelleyen optimizasyon tekniğidir.

Konular

Makine Öğrenimi Yolculuğunuza Bugün Başlayın!

Kurs

İş Dünyası için Machine Learning

2 sa
45.3K
Makine öğreniminin temellerini ve iş dünyasında nasıl uygulandığını anlayın.
Ayrıntıları GörRight Arrow
Kursa Başla
Devamını GörRight Arrow