YAZILIM

Makine Öğrenmesi: Makineler Verilerden Nasıl Öğrenir?

Makine Öğrenmesi: Makineler Verilerden Nasıl Öğrenir? yazısının kapak görseli

Bir önceki yazıda makine öğrenmesinin yapay zeka içerisindeki yerini ele aldık. Şimdi ise biraz daha derine inip bugün yapay zeka olarak adlandırdığımız teknolojilerin büyük bölümünün temelinde bulunan makine öğrenmesi fikrine bakalım.

Eski yöntem: Her kuralı elle yazmak

Bir bilgisayar programının fotoğraflardaki kedileri ve köpekleri birbirinden ayırt etmesini istediğimizi düşünelim. Geleneksel yöntemde bilgisayarın hangi durumda ne yapacağını bizim belirlememiz gerekir.

Örneğin şöyle kurallar yazabiliriz:

  • Kulaklar sivriyse kedi olma ihtimali daha yüksek.
  • Burun uzunsa köpek olma ihtimali daha yüksek.
  • Bıyıklar belirgin ve yüz daha yuvarlaksa muhtemelen kedi.

İlk bakışta oldukça mantıklı görünüyor. Fakat kısa sürede bir sorunla karşılaşıyoruz.

Sivri kulaklı bir köpek ne olacak? Arkasından çekilmiş bir kedi fotoğrafını nasıl sınıflandıracağız? Karanlıkta çekilmiş bulanık bir görüntüye ne yapacağız?

Gerçek dünya bu tür istisnalarla dolu. Bir insanın karşılaşılabilecek her durumu önceden düşünüp bilgisayara bunun için ayrı bir kural yazması mümkün değil. Kural kural ilerleyen geleneksel yaklaşımın en büyük problemi de tam olarak burada ortaya çıkıyor.

Yeni yöntem: Örneklerden öğrenmek

Makine öğrenmesi bu süreci tersine çeviriyor.

Kuralları tek tek bizim yazmamız yerine bilgisayara çok sayıda örnek gösteriyoruz. Örneğin binlerce kedi ve köpek fotoğrafını sisteme verip her fotoğrafın hangi hayvana ait olduğunu belirtiyoruz.

Sistem bu örnekleri inceleyerek aralarındaki ortak özellikleri ve kalıpları kendisi bulmaya çalışıyor.

Bunu bir çocuğun öğrenme sürecine benzetebiliriz. Küçük bir çocuğa köpeğin resmi bir tanımını verip ezberletmeyiz. Bir köpeği gösterir ve bunun köpek olduğunu söyleriz. Sonra başka bir köpek gösteririz. Farklı boyutlarda, renklerde ve şekillerde köpeklerle karşılaştıkça çocuk zamanla ortak özellikleri kendisi fark etmeye başlar.

Makine öğrenmesi de benzer bir mantıkla çalışır.

Kuralları tek tek öğretmek yerine örnekler üzerinden öğrenmesini sağlarız.

“Öğrenmek” burada gerçekten ne anlama geliyor?

Makinenin yaptığı şey kulağa geldiği kadar gizemli değil. Sistemin arka plandaki çalışma sürecini basitleştirerek birkaç adımda düşünebiliriz.

1. Bir tahmin yapar.

Model kendisine verilen örneği inceler ve bir sonuç tahmin eder.

2. Hatasını kontrol eder.

Yaptığı tahmini doğru cevapla karşılaştırır. Ne kadar yanıldığını hesaplar.

3. Kendini ayarlar.

Model, bir sonraki tahmininde daha iyi sonuç verebilmek için içerisindeki parametreleri küçük miktarlarda değiştirir.

4. Süreci tekrarlar.

Aynı işlemi çok büyük miktarda veri üzerinde defalarca gerçekleştirir. Zamanla tahminleri daha isabetli hale gelir.

Makine öğrenmesinin temelindeki döngü aslında bundan ibarettir:

Tahmin et, hatayı ölç, ayarla ve tekrar et.

Elbette gerçek sistemler bu basit anlatımdan çok daha karmaşıktır. Ancak temel mantığı anlamak için bu döngü yeterli bir başlangıç noktasıdır.

Bu neden önemli?

Makine öğrenmesini güçlü kılan en önemli özelliklerden biri, sabit kurallara bağlı kalmak yerine örüntüleri öğrenebilmesidir.

Bu sayede daha önce programlanmamış durumlarla da başa çıkabilir. Örneğin iyi eğitilmiş bir sistem, eğitim sırasında yalnızca birkaç örneğini gördüğü bir kedi türünü tanıyabilir. Benzer şekilde bir finans sistemi, daha önce karşılaşmadığı ancak normal işlemlerden farklı davranan bir işlemi şüpheli olarak işaretleyebilir.

Buradaki önemli nokta, bilgisayarın her ihtimali önceden bilmek zorunda olmamasıdır. Sistem yeterli sayıda ve doğru hazırlanmış örnekten yararlanarak verilerdeki kalıpları öğrenebilir.

İşte bu esneklik makine öğrenmesini bu kadar güçlü hale getiriyor. Günümüzde kullandığımız yapay zeka araçlarının çok büyük bir bölümü bu yaklaşımın farklı biçimlerine dayanıyor.

Ancak makinelerin öğrenmesi her zaman aynı şekilde gerçekleşmiyor. Bazen sisteme doğru cevapları gösteriyoruz. Bazen ortada bir cevap anahtarı bulunmuyor. Bazen de makine yaptığı seçimlerin sonuçlarına bakarak deneme yanılma yoluyla öğreniyor.

Makine öğrenmesindeki bu üç temel yaklaşım, sistemlerin nasıl eğitildiğini anlamak için oldukça önemli.

Web ve mobil teknolojilere ilgi duyuyorum. Yaklaşık 14 yıldır web geliştirme ve internet reklamcılığı üzerinde çalışıyorum. Web yazılım teknolojileri ve yönetimi konusunda uzmanım. Birçok şirkete teknoloji ve reklamcılık danışmanlığı verdim. Hâlâ bazılarına destek vermeye devam ediyorum. Kendi projelerimle ilgili bazı çalışmalarım var. Çoğu içerik üreticiliği ile ilgili. Projelerimin hepsi Gündüz Medya markası altında toplanmıştır.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir