Sigmoid
Sigmoid fonksiyonunun makine öğrenimindeki rolünü keşfet. Bu aktivasyon fonksiyonunun Ultralytics YOLO26 gibi modellerde ikili sınıflandırmayı nasıl sağladığını öğren.
Sigmoid fonksiyonu, machine learning (ML) ve deep learning (DL) alanlarında yaygın olarak kullanılan temel bir matematiksel bileşendir. Genellikle bir "sıkıştırma fonksiyonu" olarak anılır, girdi olarak herhangi bir reel sayı alır ve bunu 0 ile 1 arasındaki bir değere eşler. Bu karakteristik "S" şeklindeki eğri, ham model çıktılarını yorumlanabilir olasılıklara dönüştürmeyi inanılmaz derecede faydalı kılar. Bir neural network (NN) bağlamında Sigmoid fonksiyonu bir activation function görevi görerek modellerin basit doğrusal ilişkilerin ötesinde karmaşık örüntüleri öğrenmesini sağlayan doğrusal olmayan bir yapı sunar. Derin gizli katmanlarda büyük ölçüde diğer fonksiyonlarla değiştirilmiş olsa da, ikili sınıflandırma görevlerindeki çıktı katmanları için standart bir seçim olmaya devam etmektedir.
Yapay Zekada Sigmoid'in Mekanikleri#
Temelde Sigmoid fonksiyonu, genellikle logit olarak adlandırılan girdi verilerini normalleştirilmiş bir aralığa dönüştürür. Bu dönüşüm, hedefin bir olayın gerçekleşme olasılığını tahmin etmek olduğu görevler için kritiktir. Çıktıyı 0 ile 1 arasında sınırlayarak fonksiyon, net bir olasılık puanı sağlar.
- Logistic Regression: Geleneksel istatistiksel modellemede Sigmoid, lojistik regresyonun arkasındaki motordur. Veri bilimcilerin, bir müşterinin ayrılacak mı yoksa kalacak mı olduğu gibi ikili bir sonucun olasılığını tahmin etmesini sağlar.
- Binary Classification: İki sınıfı (ör. "kedi" ve "köpek") ayırt etmek için tasarlanmış sinir ağları için son katman genellikle bir Sigmoid aktivasyonu kullanır. Çıktı bir eşikten (genellikle 0,5) büyükse model pozitif sınıfı tahmin eder.
- Multi-Label Classification: Sınıfların birbirini dışladığı çok sınıflı problemlerin aksine, çok etiketli görevler bir görselin veya metnin aynı anda birden fazla kategoriye ait olmasına izin verir. Burada Sigmoid, her bir çıktı düğümüne bağımsız olarak uygulanarak bir modelin çakışma olmadan aynı sahnede bir "araba" ve bir "kişi" algılamasını sağlar.
Diğer Aktivasyon Fonksiyonlarından Temel Farklar#
Sigmoid bir zamanlar tüm katmanlar için varsayılan olsa da araştırmacılar, gradyanların derin ağlarda ağırlıkları etkili bir şekilde güncellemek için çok küçük hale geldiği vanishing gradient sorunu gibi sınırlamalar keşfettiler. Bu durum, gizli katmanlar için alternatiflerin benimsenmesine yol açtı.
- Sigmoid ve ReLU (Rectified Linear Unit): ReLU hesaplama açısından daha hızlıdır ve girdiyi pozitifse doğrudan, aksi takdirde sıfır olarak vererek vanishing gradient sorununu önler. YOLO26 gibi modern mimarilerde gizli katmanlar için tercih edilen seçimdir, Sigmoid ise belirli görevlerde nihai çıktı katmanı için ayrılmıştır.
- Sigmoid ve Softmax: Her ikisi de çıktıları 0-1 aralığına eşler ancak farklı amaçlara hizmet ederler. Sigmoid her çıktıyı bağımsız olarak ele alarak ikili veya çok etiketli görevler için ideal hale getirir. Softmax, tüm çıktıların toplamını 1 olmaya zorlayarak yalnızca tek bir sınıfın doğru olduğu multi-class classification için kullanılan bir olasılık dağılımı oluşturur.
Gerçek Dünya Uygulamaları#
Sigmoid fonksiyonunun faydası, olasılık tahmininin gerekli olduğu çeşitli endüstrilere uzanır.
-
Medical Diagnosis: medical image analysis alanında kullanılan yapay zeka modelleri, bir röntgen veya MR taramasında bir hastalığın bulunma olasılığını tahmin etmek için sıklıkla Sigmoid çıktılarını kullanır. Örneğin bir model, %85 tümör olasılığını belirten 0,85 çıktısı vererek doktorlara erken teşhiste yardımcı olabilir.
-
Spam Detection: E-posta filtreleme sistemleri, gelen bir mesajın "spam" olup olmadığını belirlemek için Sigmoid sınıflandırıcılarına sahip natural language processing (NLP) modellerini kullanır. Model, anahtar kelimeleri ve meta verileri analiz ederek e-postanın gelen kutusuna mı yoksa istenmeyen e-posta klasörüne mi gideceğini belirleyen bir puan üretir.
Pratik Uygulama#
Derin öğrenme modelleri oluşturmak için popüler bir kütüphane olan PyTorch kullanarak Sigmoid'in verileri nasıl dönüştürdüğünü gözlemleyebilirsin. Bu basit örnek, girdi değerleri aralığı üzerindeki "sıkıştırma" etkisini gösterir.
import torch
import torch.nn as nn
# Create a Sigmoid layer
sigmoid = nn.Sigmoid()
# Define input data (logits) ranging from negative to positive
input_data = torch.tensor([-5.0, -1.0, 0.0, 1.0, 5.0])
# Apply Sigmoid to squash values between 0 and 1
output = sigmoid(input_data)
print(f"Input: {input_data}")
print(f"Output: {output}")
# Output values near 0 for negative inputs, 0.5 for 0, and near 1 for positive inputsDüşük seviyeli kod yazmadan bu kavramları kullanan modelleri eğitmek isteyenler için Ultralytics Platform, veri kümelerini yönetmek ve YOLO26 gibi son teknoloji modelleri eğitmek için sezgisel bir arayüz sunar. Mimari karmaşıklıkları otomatik olarak ele alarak kullanıcıların belirli computer vision uygulamaları için yüksek kaliteli training data toplamaya odaklanmasını sağlar.






