Connect with us

Excel Eğitmeni -Yazar Ömer BAĞCI | Blog

Makina Öğrenmesi Nedir?

Eğitim

Makina Öğrenmesi Nedir?

Makina öğrenmesi (machine learning), yapay zekânın bir alt dalıdır ve bilgisayar sistemlerinin açıkça programlanmadan, verilerden öğrenerek görevleri yerine getirmesini sağlayan bir yöntemdir. Yani, bir makina öğrenmesi sistemi, verilere bakarak örüntüler (patterns) bulur, bu örüntülerden genellemeler yapar ve gelecekteki durumlar için tahminlerde bulunur veya kararlar alır. İnsan beyninin öğrenme sürecinden esinlenilmiştir, ancak tamamen matematiksel ve istatistiksel yöntemlere dayanır.

Makina öğrenmesi genellikle şu şekilde çalışır:

  • Veri Toplama: Sisteme öğrenmesi için bir veri seti verilir (örneğin, resimler, metinler, sayılar).
  • Model Eğitimi: Bir algoritma, bu verilerden örüntüleri çıkarmak için kullanılır. Bu süreçte model, verilerdeki ilişkileri anlamaya çalışır.
  • Tahmin veya Karar: Eğitilen model, yeni ve görülmemiş verilerle karşılaştığında tahmin yapar veya bir görev gerçekleştirir.

Örnek: Bir e-posta filtresi, hangi mesajların spam olduğunu öğrenmek için geçmiş e-postaları analiz eder. Zamanla, spam ve normal e-postalar arasındaki farkları tanır.

Makina öğrenmesi türleri şunlardır:

  • Denetimli Öğrenme (Supervised Learning): Etiketlenmiş veriyle çalışır (örneğin, “kedi” veya “köpek” diye sınıflandırılmış resimler).
  • Denetimsiz Öğrenme (Unsupervised Learning): Etiketsiz verilerden örüntü çıkarır (örneğin, müşteri segmentasyonu).
  • Pekiştirmeli Öğrenme (Reinforcement Learning): Bir ajan, ödül ve ceza sistemiyle deneme-yanılma yoluyla öğrenir (örneğin, bir robotun engellerden kaçınmayı öğrenmesi).

2. Bir Makina Nasıl Öğrenir?

Bir makina, “öğrenme” sürecini matematiksel modeller ve algoritmalar aracılığıyla gerçekleştirir. Bu süreç şu adımları içerir:

a) Veri Girişi

Makina öğrenmesi, büyük miktarda veriyle beslenir. Bu veriler, makinanın “deneyim” kaynağıdır. Örneğin, bir yüz tanıma sistemi binlerce yüz fotoğrafıyla eğitilir.

b) Algoritma Seçimi

Bir makina öğrenmesi algoritması, verilerdeki ilişkileri bulmak için kullanılır. Yaygın algoritmalar:

  • Karar Ağaçları (Decision Trees)
  • Yapay Sinir Ağları (Neural Networks)
  • Destek Vektör Makineleri (Support Vector Machines) Bu algoritmalar, verilerdeki örüntüleri bulmak için matematiksel optimizasyon tekniklerini kullanır.

c) Eğitim Süreci

Eğitim sırasında, algoritma verilere bakar ve bir “model” oluşturur. Bu model, girdiler (örneğin, bir fotoğraf) ve çıktılar (örneğin, “kedi”) arasındaki ilişkiyi temsil eder. Eğitimde genellikle bir “kayıp fonksiyonu” (loss function) kullanılır; bu, modelin hatalarını ölçer ve algoritma bu hataları en aza indirmek için kendini ayarlar.

d) Optimizasyon

Model, “gradyan inişi” (gradient descent) gibi tekniklerle sürekli iyileştirilir. Yani, hatalarını azaltmak için parametrelerini (ağırlıklarını) günceller.

e) Test ve Uygulama

Eğitim tamamlandıktan sonra, model yeni verilerle test edilir. Eğer başarılıysa, gerçek dünyada kullanılabilir hale gelir.

Örnek: Bir çeviri programı, milyonlarca cümleyi analiz ederek Türkçe-İngilizce çeviri yapmayı öğrenir. Zamanla, hangi kelimelerin hangi bağlamda kullanıldığını “anlar”.


3. Bir Fabrikada İnternete Bağlı Bir Makina Neden Öğrenmez?

Bu soru, makina öğrenmesi ile sıradan bir makina arasındaki farkı anlamak için çok önemli. Bir fabrikanın internete bağlı bir makinası (örneğin, bir CNC tezgahı veya bir konveyör bandı) genellikle “öğrenmez” çünkü:

a) Tasarım Amacı Farklıdır

Fabrikadaki makineler, belirli bir görevi yerine getirmek için programlanmıştır (örneğin, metal kesmek, ürün taşımak). Bu makineler, sabit talimatlara (kodlara) göre çalışır ve kendi kendine yeni şeyler öğrenmek için tasarlanmamıştır. Makina öğrenmesi ise, verilerden genelleme yapmayı ve adapte olmayı gerektirir.

b) Öğrenme Algoritması Yoktur

İnternete bağlı bir fabrika makinası, genellikle bir kontrol sistemi (PLC – Programmable Logic Controller) ile çalışır. Bu sistem, önceden tanımlı kurallara göre işler. Makina öğrenmesi için gerekli olan dinamik algoritmalar (örneğin, sinir ağları) bu makinelerde bulunmaz.

c) Veri Kullanımı Eksiktir

Makina öğrenmesi, büyük miktarda veriyi analiz ederek öğrenir. Fabrikadaki bir makina, internete bağlı olsa bile, genellikle sadece sensör verilerini toplar ve bu verilerle ne yapacağını bilmez. Örneğin, bir makina sıcaklık veya hız verisi toplayabilir, ama bu verilerden “Bu parçayı daha iyi nasıl keserim?” diye bir çıkarım yapamaz, çünkü böyle bir yeteneği yoktur.

d) Adaptasyon Yeteneği Yoktur

Fabrika makineleri, değişen koşullara uyum sağlamak yerine, belirli bir iş akışını takip eder. Makina öğrenmesi ise, yeni verilere göre kendini güncelleyebilir. Örneğin, bir fabrika makinası arızalanırsa, bunu “öğrenip” gelecekte önlemek için bir şey yapmaz; bu tür bir analiz ancak bir insan veya ayrı bir makina öğrenmesi sistemi tarafından yapılabilir.

e) İnternetin Rolü

İnternete bağlı olması, makina öğrenmesi için yeterli değildir. İnternet, veri alışverişini sağlar ama öğrenme süreci için gerekli yazılım, donanım ve amaç eksikse, makina sadece “akıllı bir araç” olarak kalır, öğrenen bir sistem haline gelmez.

Örnek: Bir fabrikanın internete bağlı bir robot kolu, belirli bir parçayı kaynatmak için programlanmıştır. Eğer parça boyutu değişirse, robot bunu algılayıp kendi kendine adapte olamaz; bir mühendisin programı güncellemesi gerekir. Oysa makina öğrenmesi kullanan bir sistem, farklı parça boyutlarını analiz ederek kendini ayarlayabilir.


Özet

  • Makina öğrenmesi, verilerden örüntü çıkararak bir sistemin kendini geliştirmesidir.
  • Bir makina öğrenmesi süreci, veri, algoritma ve optimizasyonla çalışır; adeta bir “deneyimle öğrenme” simülasyonudur.
  • Fabrikadaki internete bağlı makina öğrenmez, çünkü öğrenme yeteneği için tasarlanmamıştır; sabit talimatlarla çalışır ve adapte olma kapasitesi yoktur.

Eğer bu konuda daha fazla detay istersen (örneğin, belirli bir algoritmanın nasıl çalıştığı veya fabrika makinelerine makina öğrenmesi nasıl entegre edilir), sormaktan çekinme!

1. Karar Ağaçları (Decision Trees)

Nedir?

Karar ağaçları, bir problemi çözmek veya bir tahminde bulunmak için ağaç benzeri bir yapı kullanan bir makina öğrenmesi algoritmasıdır. Adından da anlaşılacağı gibi, bir dizi “karar” (düğüm) ve bu kararların sonuçlarından (dallar) oluşur. İnsanların karar verme sürecine benzer bir mantıkla çalışır: bir soruya cevap vererek bir sonraki adıma geçer.

Nasıl Çalışır?

  • Kök Düğüm (Root Node): Verinin tamamıyla başlar. Örneğin, “Hava yağmurlu mu?” gibi bir soruyla.
  • Dallar (Branches): Her soru, veriyi iki veya daha fazla gruba ayırır (örneğin, “Evet” ve “Hayır”).
  • Yaprak Düğüm (Leaf Node): Sonuçlara ulaşılır; bu, bir sınıf (örneğin, “Şemsiye al”) veya bir değer olabilir.

Algoritma, veriyi en iyi şekilde ayıran soruları (özellikleri) seçmek için matematiksel kriterler kullanır (örneğin, Gini impurity veya entropy gibi).

Örnek

Bir banka, bir müşteriye kredi verip vermemeye karar vermek için karar ağacı kullanabilir:

  • Soru 1: “Maaşı 50.000 TL’den fazla mı?” → Evet/Hayır
  • Soru 2 (Evet için): “Kredi borcu var mı?” → Evet/Hayır
  • Sonuç: “Evet” ve “Hayır” dallarına göre “Kredi ver” veya “Verme”.

Avantajları

  • Anlaşılması ve görselleştirilmesi kolaydır.
  • Hem sınıflandırma (classification) hem de regresyon (regression) için kullanılabilir.

Dezavantajları

  • Karmaşık verilerde aşırı öğrenme (overfitting) yapabilir.
  • Büyük veri setlerinde yavaş çalışabilir.

2. Yapay Sinir Ağları (Neural Networks)

Nedir?

Yapay sinir ağları, insan beynindeki nöronların çalışma prensibinden esinlenerek tasarlanmış bir makina öğrenmesi algoritmasıdır. Birbirine bağlı “nöron”lardan (düğümlerden) oluşan katmanlar içerir ve özellikle karmaşık problemler (örneğin, görüntü tanıma, doğal dil işleme) için kullanılır.

Nasıl Çalışır?

  • Giriş Katmanı (Input Layer): Veriler (örneğin, bir resmin pikselleri) buradan girer.
  • Gizli Katmanlar (Hidden Layers): Veriler burada işlenir. Her nöron, girdileri toplar, bir ağırlık (weight) ve önyargı (bias) ile çarpar, ardından bir aktivasyon fonksiyonundan (örneğin, ReLU, Sigmoid) geçirir.
  • Çıkış Katmanı (Output Layer): Sonuç üretilir (örneğin, “Bu bir kedi”).

Eğitim sürecinde, ağın hataları (kayıp fonksiyonu) “geri yayılım” (backpropagation) ile minimize edilir ve ağırlıklar güncellenir.

Örnek

Bir yapay sinir ağı, el yazısı rakamlarını tanımak için kullanılabilir:

  • Giriş: Bir “5” rakamının piksel değerleri.
  • Gizli Katmanlar: Piksel örüntülerini analiz eder.
  • Çıkış: “Bu bir 5” tahmini.

Avantajları

  • Çok karmaşık ve büyük verilerle başa çıkabilir (örneğin, derin öğrenme – deep learning).
  • Görüntü, ses ve metin gibi farklı veri türlerinde etkilidir.

Dezavantajları

  • Eğitim için çok fazla veri ve hesaplama gücü gerekir.
  • “Kara kutu” gibi çalışır; neden bir sonuç verdiğini anlamak zor olabilir.

3. Destek Vektör Makineleri (Support Vector Machines – SVM)

Nedir?

Destek vektör makineleri, verileri sınıflandırmak (veya regresyon yapmak) için kullanılan bir algoritmadır. Temel mantığı, farklı sınıfları ayıran “en iyi” çizgiyi (veya hiper düzlemi) bulmaktır. Bu çizgi, sınıflar arasındaki mesafeyi (marjini) maksimize eder.

Nasıl Çalışır?

  • Hiper Düzlem: Verileri ayıran bir sınır çizer (örneğin, 2 boyutlu bir düzlemde bir doğru).
  • Destek Vektörleri: Sınıra en yakın veri noktalarıdır. Algoritma, bu noktaları kullanarak marjini en geniş tutar.
  • Kernel Trick: Veriler doğrusal olarak ayrılamıyorsa (örneğin, dairesel bir dağılım), veriyi daha yüksek bir boyuta taşır ve orada bir hiper düzlem bulur.

Örnek

Bir SVM, e-postaları “spam” ve “normal” olarak sınıflandırmak için kullanılabilir:

  • Özellikler: E-postadaki kelime sıklığı, gönderici adresi vb.
  • SVM: Bu özelliklere göre bir sınır çizer ve yeni e-postaları bu sınıra göre ayırır.

Avantajları

  • Küçük ve orta ölçekli veri setlerinde çok etkilidir.
  • Aşırı öğrenmeye karşı dirençlidir (doğru ayarlarla).

Dezavantajları

  • Büyük veri setlerinde yavaş çalışır.
  • Karmaşık hiperparametre ayarları gerektirir (örneğin, kernel seçimi).

Karşılaştırma ve Kullanım Alanları

AlgoritmaNe Zaman Kullanılır?Örnek Kullanım
Karar AğaçlarıBasit, yorumlanabilir modeller gerektiğindeMüşteri kredi risk analizi
Yapay Sinir AğlarıKarmaşık, büyük veri setleri içinGörüntü tanıma, sesli asistanlar
Destek Vektör MakineleriOrta ölçekli, iyi ayrılabilir veriler içinMetin sınıflandırma, yüz tanıma

Özet

  • Karar Ağaçları: Soru-cevap mantığıyla veriyi dallara ayırır; basit ve sezgiseldir.
  • Yapay Sinir Ağları: Beyinden ilham alır, karmaşık problemleri derinlemesine çözer.
  • Destek Vektör Makineleri: Sınıflar arası en geniş marjini bulur, hassas sınıflandırma yapar.

Eğer bu algoritmalardan biriyle ilgili daha fazla örnek veya matematiksel detay istersen, sormaktan çekinme! Hangi kısmı daha çok merak ettiğini belirtirsen, ona göre derinleşebilirim.

Devamını Oku

Eğitim

To Top