Blog
Veri analizi, veri işleme, büyük veri, yapay zeka ve benzeri konular için kaynak niteliğinde olan yazılar

Yapay Öğrenme (Machine Learning) Tam Olarak Nedir?

Yapay öğrenme ile ilgili kaynaklardaki birçok bilgi teknik olduğundan daha çok veri bilimcilerine ya da geliştiricilere yönelik oluşturulmuştur. Bu yazıda yapay öğrenmeyi teknik olmayan bir kişi tarafından da anlaşılabilir halde sunmaya çalışacağız.

En basit tanımı ile:

Yapay öğrenme “…bilgisayarların, kendi deneyimlerine dayalı olarak performanslarını artıracak yolları keşfetmelerini hedefleyen yapay zekanın bir koludur”. Kaynak: Berkeley

Yapay öğrenme-machine learning

İşe bazı temel kavramları irdeleyerek başlayalım ve olabildiğince terimlerin altında yatan gerçek farkları anlamaya çalışalım.

Yapay Zekanın Kolu: Yapay zeka, insan aklının gerekli olduğu görevlerin bilgisayar tarafından başarıyla yerine getirilmesini sağlayan yeteneklerin bilgisayara kazandırılabilmesi için yapılan çalışma ve geliştirmelerdir. Yani, söz konusu olan görevi yerine getirmesi için bilgisayarı eğittiğimiz teknoloji ve süreçtir.

Yolları Keşfetme: Yapay öğrenme teknikleri halen gelişmekte ve farklı yöntem ve araçlar ortaya çıkmaktadır. Bilgisayarı eğitmek için çeşitli modeller halihazırda bulunmakta ve kullanılmaktadır. Ancak zamanla daha ileri modellerin geliştirilmesi de beklenmektedir. Burada hatırlanacak olan fikir, bir bilgisayarı eğitirken farklı modellerin kullanılabileceğidir. Unutulmamalıdır ki farklı iş problemleri için farklı modeller gerekir.  

Bilgisayarın Performansını Arttırmak: Bir bilgisayarın Yapay Zeka ile herhangi bir görevi başarı ile yerine getirebilmesi için pratik yapması ve uyarlanması gerekir. Yapay öğrenme modelinin birçok veri ve yaşanmış durumlar kullanılarak küçük de olsa insan yardımı ile eğitilmesi gerekmektedir.

Tecrübe: Deneyimli bir Yapay Zeka sunmak demek, gereken tüm verinin ve olay tecrübelerinin sağlanması demektir. Sisteme daha fazla veri girildikçe, bilgisayar gelecekte karşılaşacağı verilere ve durumlara daha doğru bir şekilde cevap verebilecektir. Verileri daha doğru bir şekilde anlamak, verilen görevi başarılı bir şekilde yerine getirme ve öngörülebilir durum sunarken de güven derecesini artırma anlamına gelir.

Örnek:

  1. Giriş verileri, girdi koşulları ile birlikte seçilir ve hazırlanılır (örneğin, kredi kartı işlemleri).
  2. Yapay öğrenme algoritması, belirli bir görevi gerçekleştirmek için oluşturulmuştur ve eğitilmiştir (örneğin, dolandırıcılık işlemlerini tespit etme).
  3. Eğitim verileri, istenilen çıktı bilgileri ile artırılmıştır (örneğin, bu işlemler sahte görünüyor, bunlar görünmüyor).

Yapay zeka

Image by Gerd Altmann from Pixabay

Yapay öğrenme nasıl çalışır?

Yapay öğrenme genellikle mucizevi ya da kara kutu olarak atfedilmiştir:

Verileri gir → sihirli kara kutu→ Görev tamamlandı

Yapay öğrenmenin verilerle nasıl değer yaratabileceğini daha iyi bir şekilde anlamak için eğitim sürecine bir göz atalım.

Toplama: Yapay öğrenme, verilere bağlıdır. Bu işin ilk adımı, çözmeye çalıştığınız problem ile ilişkili olan doğru verilere sahip olduğunuzdan emin olmaktır. Toplama yeteneğinizi, veri kaynağını, gereken formatı ve benzerlerini dikkate alın.

Temizleme: Veriler, farklı dosya formatlarında ve farklı dillerde ifade edilen kaynaklar tarafından üretilebilir. Bazı örnekler istenmeyen ve ilgisiz girişler içerebilirken, bazıları da eksik olabilir, veri kümenize bilgi eklemeniz ya da kümenizden bilgi çıkarmanız gerekebilir. Bu hazırlıklar yapay zekanın kullanılabilirliğini ve sonucun güvenilirliğini etkileyecektir.

Ayırma: Veri kümenizin boyutuna da bağlı olarak sadece bir kısım veri gerekebilir. Buna genellikle örneklem denir. Seçili örnekten, sizin verileriniz iki gruba ayrılmalıdır: biri algoritmayı eğitmek, diğeri de onu değerlendirmek.

Eğitim: Aslında bu aşama, seçilen hedefi doğru bir şekilde gerçekleştirecek olan matematiksel işlevi bulmayı amaçlar. Eğitim, kullanılan modelin türüne bağlı olarak farklı şekillerde gerçekleşir. Bir çizginin basit bir doğrusal regresyon modeline yerleştirilmesi, eğitim olarak görülebilir; bir Rastgele Orman Algoritması için karar şeması üretmek de eğitimdir; bir karar şemasındaki soruları değiştirmek, modelin parametrelerini etkili bir şekilde ayarlar.

Her şeyi basit tutmak amacıyla, nöral ağlarına odaklanalım. Öncelikli olarak, veri kümenizin bir kısmını kullanarak, algoritma sonucu tutarlı bir şekilde yeterli güvenilirlikle üretebilene kadar, verileri işlemeyi, kendi performansını ölçmeyi ve parametrelerini otomatik olarak ayarlamayı (geri yayılımlı (backpropagation) olarak da adlandırılır) dener.

Değerlendirme: Algoritma, eğitim verilerinde iyi performans gösterdiğinde, performansı henüz görmediği verilerle yeniden ölçülür. Gerektiği zaman, ek ayarlamalar yapılır. Bu işlem, öğrenme algoritmasının sadece sizin eğitim verilerinizle iyi bir performans gösterip göstermediğini test etmenizi sağlar.

Analitik çözümler
Image by xresch from Pixabay

Farklı yapay öğrenme türleri var mıdır?

Yapay öğrenmede kullanılabilen birçok farklı model vardır, ancak bunlar genel anlamda üç farklı öğrenme türüne ayrılır: gözetimli (supervised), gözetimsiz (unsupervised) ve pekiştirmeli (reinforcement). Tamamlanacak olan göreve bağlı olarak, bazı modeller diğerlerine göre daha uygundur ve daha iyi performans gösterir.

Gözetimli öğrenme (Supervised learning): Bu öğrenme türünde model eğitilirken her bir veri noktasındaki doğru sonuç açık bir şekilde etiketlenir. Bu, veri okunurken zaten öğrenme algoritmasına cevap verildiği anlamına gelir. Cevap bulmaktan ziyade, veriler arasındaki ilişkinin bulunması amaçlanır. Bu sayede atanmamış veri göstergeleri ile karşılaşıldığında, bunlar doğru bir şekilde sınıflandırılabilir ya da tahmin edilebilir.

Öğrenme algoritması, sınıflandırma kapsamında her biri güvenli ya da şüpheli olarak etiketlenmiş eski kredi kartı işlemleriyle beslenebilir. Bu iki sınıflandırma arasındaki ilişkiyi öğrenebilir ve sonrasında sınıflandırma parametrelerine göre yeni işlemleri uygun bir şekilde etiketleyebilir (örneğin satın alma yeri, işlemler arasındaki süre, vb.).

Veri göstergelerinin birbiri ile sürekli bağlantılı olduğu bir bağlamda, bir hisse senedinin zaman içerisindeki fiyatı gibi, bir regresyon öğrenme algoritması veri göstergesini tahmin etmek için kullanılabilir.

Gözetimsiz öğrenme (Unsupervised learning): Bu modelde eğitim esnasında öğrenme algoritmasına cevap verilmez. Amaç veri göstergeleri arasındaki anlamlı ilişkileri bulmaktır. Bu öğrenme şeklinin önemi desenleri (pattern) ve veriler arasındaki bağlantıları keşfetmekte yatıyor. Örneğin, tavsiye sistemelerindeki kümeleme modeli gözetimsiz öğrenme modeline iyi bir örnektir (Örneğin, bunu tanıyan bunu da tanıyabilir gibi).

Pekiştirmeli öğrenme (Reinforcement learning): Bu öğrenme türü, gözetimli ve gözetimsiz öğrenmenin bir karışımıdır. Genellikle daha karmaşık problemleri çözmek için kullanılır ve bir çevre ile etkileşim halinde olması gerekir. Veriler çevre tarafından sağlanır ve algoritmanın cevap vermesi ve öğrenmesi sağlanır. Pratikte bu öğrenme modelinin kullanımı, en verimli motor kombinasyonunu bulmak için robotik kolların kontrol edilmesinden robot navigasyonununa kadar uzanır (Örneğin, engellere çarpması sonucu elde edilecek negatif geri bildirimler ile çarpmalardan uzak durma davranışının öğrenilmesi). Mantık oyunları, geleneksel olarak bir kararlar dizisi olarak tanımlandıkları için Pekiştirmeli Öğrenmeye çok uygundur: poker, tavla ve Go gibi oyunlar. Pekiştirmeli Öğrenmenin diğer uygulamaları genel olarak lojistik, programlama ve görevlerin taktiksel planlanması konularında yaygındır.