Yapay Zeka Yöntemleri Nelerdir, Ne zaman Hangisi Kullanılabilir ?

Yapay Zeka Yöntemleri Nelerdir, Ne zaman Hangisi Kullanılabilir ?



Yapay zekadaki en son gelişmeler, makine öğrenimini çok büyük veri setlerine uygulayarak elde edilmiştir. Makine öğrenme algoritmaları, algoritmalarla, kodları, komutlarıyla yazılmaz. Algoritmalar (sınıflandırıcılar) veri üzerindeki desenleri algılar. Tahminlerini ve önerilerini veriyi ve/veya deneyimlerini işleyerek öğrenir.

Makine öğrenmesi bize tahmin (prediction) ve yönerge ( prescription ) yetenekleri sağlar

Yeri gelmişken analiz tiplerinden de bahsetmek faydalı olacaktır. Analiz yöntemleri genel olarak üçe ayrılır. Bu ayrımı aşağıdaki grafikten de görebilirsiniz. Bu grafikten de anlaşılacağı üzere sağa doğru gittikçe zorluk da artmaktadır ama kullanımın faydaları ve kazandırdığı değer de aynı oranda artmaktadır.

Analiz türleri

Analiz Tipleri

  • Tanımlayıcı (Descriptive) : Ne olduğunu bize gösterir. Endüstride birçok alanda kullanımı vardır.
  • Önerici (Predictive) : Ne olacağını tahmin eder. Doğal olarak istatistiksel bir yaklaşımdır. Makine öğrenmesi yöntemlerinin çok kullanıldığı bir alandır. Verilere bakarak önemli bir içgörü yaratabilir.
  • Yönerge (Prescriptive) : Ne yapmak gerektiğini söyler. Hedefleriniz vardır ve bunlara ulaşmak için ne yapılması gerektiğine dair bize öneriler sunar. Zorluğundan kaynaklı, çok kısıtlı kullanımı vardır. Makine öğrenmesi ve derin öğrenme yöntemlerinin alanıdır. Google gibi şirketlerin kullandığını biliyoruz.

Yapay zeka yöntemleri

Burada yöntemlerin nasıl çalıştıklarından ziyade hangi türlerde hangi yöntemlerin olduğunu ve neler için kullanılabileceğine dair bir katalog oluşturma düşüncesindeyim. Diğer yazılarda her bir yöntemin detaylarına gireceğim.

yapay-zeka-yontemleri-2

1. Makine Öğrenmesi

Makine öğrenmesi ile ilgili daha detaylı bilgi için Makineler Öğreniyor yazımızı inceleyebilirsiniz.

Üç temel yöntem kullanmaktadır.

1.1. Güdümlü (Supervised) Öğreme

Bir algoritma, verilerin belirli bir çıktıya olan ilişkisini öğrenmek için eğitim verileri ve insanlardan gelen geri bildirimleri kullanır. Etiketlenmiş veriye ihtiyaç duyar.

Genel olarak öncelikle insanlar tarafından veriler etiketlenir. Sonrasında hangi yöntemi kullanacaksak bu yöntemin algoritması bu verileri kullanarak eğitilir. Sonrasında algoritmanın doğruluğunu arttıracak ayarlamalar yapılır ve algoritma yeterince hassas ve doğru olduktan sonra yeni veriler uygulanarak tahminler yaptırılır.

yapay-zeka-yontemleri-3

10 tane temel yöntemi vardır ve aşağıda listelenmiştir.

  • Doğrusal regresyon (Linear regression) : Bağımsız girdi değişkenleri ve bağımlı çıktı değişkenleri (sonsuz sayıda değer içerebilir) arasındaki geçmiş ilişkiyi modeller. Konut satış fiyatının bulunması gibi sorunlar için kullanılabilir.
  • Mantıksal regresyon (Logistic regression) : Doğrusal regresyona çok benzer ama çıktıları sonsuz bir küme değil sınırlıdır. Mesela deri üzerindeki lekenin kanserli olup olmadığı gibi.
  • Doğrusal / ikinci dereceden diskriminant analiz(Linear/quadratic discriminant analysis) : Girdilerin çıktı üzerindeki etkilerinin doğrusal orantılı olmadığı durumlarda kullanılır. Doğrusal regresyonu daha hiperbolik hale getirir. Müşteri kayıp analizinde kullanılabilir.
  • Karar Ağaçları (Decision Tree) : Son karar verilene kadar kadar, karar düğümlerinde veri özellik değerlerine göre dallara ayrılan ağaç üzerinden ilerlendiği yöntemdir. Bir ürünün müşteri tarafından (yaş, cinsiyet, gelir seviyesi ve mesleğine bakarak) satın alınıp alınmayacağına karar vermek için bu yöntemi kullanabilirsiniz.
  • Naive Bayes : Olayı etkileyebilecek faktörlerin bilgisine dayanarak bir olayın olasılığının hesaplanmasına izin veren sınıflandırma tekniği. Mesela spam e-posta fitresi için kullanılabilir. İçinde "para" geçiyorsa spam olma olasılığının yüksek olduğunu belirtir. Birçok parametreye göre bağımlı olsılık hesaplanır.
  • Destek Vektör Makineleri (Support Vector Machine) : Sınıflandırılmış veriler arasında mümkün olduğunca geniş bir ayrım çizer. Doğrusal olmayan problemleri çözmek için de kullanılabilir. Veri ve özelliklerin çok fazla olduğu durumlarda kullanılabilir. Genelde çıktısının siyah-beyaz, hasta-sağlıklı gibi ikili üçlü gibi sınırlı olduğu konularda kullanılabilir. .
  • yapay-zeka-yontemleri-4

  • Random Forest : Birden çok karar ağacı üreterek basit bir karar ağacının doğruluğunu geliştirir. Herbir ağaç bir özellik en tepede olacak şekilde karar ağaçları oluşturur. Karar verirken her ağaçtan gelen sonuçları karşılaştırıp karar verir. Çıktıların sınırlı olduğu ve limitli özellik ile çalıştığı yerlerde başarılıdır.
  • Adaboost : Bir karar çıkartmak için çok sayıda model kullanan sınıflandırma veya regresyon tekniğidir. Ancak bunları tahminindeki doğruluğuna dayanarak tartmaktadır. Kredi kartı sahtekarlıklarını(fraud) yakalamak için kullanılabilir. Resim tanımak için de kullanmak çok basittir ama derin öğrenmeye göre başarısı düşüktür.
  • Eğim arttırıcı ağaçlar (Gradient-boosting trees ) : Her ağacın bir önceki ağaç modelinden gelen hataları düzeltmeye odaklandığı yöntemdir. Tüm ağaçlardan gelen sonuçların kombinasyonunu çıktı olarak üretir. Arz / Talep dengesini tahmin edebilir, stok yönetiminizi buna göre yapabilirsiniz.
  • Basit sinir ağları (Simple neural network) : Yapay nöronların çalıştığı bir modeldir. Bir giriş katmanı, hesaplamaların yapıldığı bir veya daha fazla gizli katman ve bir çıktı tabakasından oluşur. Verileri sınıflandırmak veya değişkenler arasındaki ilişkiyi bulmak için kullanılabilir. Müşterilerin Bir ürünün fiyatını ödeme konusunda istekli olup olmayacaklarını tahmin etmek için kullanılabilir.

yapay-zeka-yontemleri-5

1.2. Güdümsüz (Unsupervised) Öğrenme

Eğer çıktının nasıl birşey olduğu konusunda pek bir fikrimiz yoksa güdümsüz öğrenme kullanılabilir. Müşterilerin demoğrafik verilerinin ayrıştırılması gibi konularda faydalı olacaktır. Verilerin nasıl sınıflandırılacağını bilmediğiniz için sınıflandırmanın ve hangi etiketleri kullanacağına algoritma karar verir.

Algoritma etiketlenmemiş ham veriyi alır. Bu verilerden yapıyı çıkartır ve benzer davranış sergileyen veri gruplarını tanımlar. Örneğin benzer satın alma davranışları sergileyen müşterilerin kümelerini oluşturabilirsiniz.

  • K-ortalama kümeleme (K-means clustering) : Verileri belli sayıdaki (k) kümelere yerleştirir. Kümedeki her eleman benzer çzelliklere sahiptir ama bu kümelerin özelliklerini insanlar değil, model belirler. Bu kümelemeyi yaparken cinsiyet, tuttuğu futbol takımı ya da yaş bilgilerini kullanmış olabilir. Müşteri segmentlerinizi farklı karakteristiklere göre oluşturmak istyebilirsiniz. Bu sayede pazarlama aktivitelerinizi veya müşteri kayıplarınızla mücadeleyi daha etkili yönetebilirsiniz.
  • Gauss karışım modeli(Gaussian mixture model) : K-ortalamaları ile benzer özelliklere sahiptir. Burada kümelerin büyüklüklerine ve şekline müdahale edebilirsiniz.
  • Hiyerarşik kümeleme (Hierarchical clustering) : Kümeleri hiyerarşik bir yapıyla ayırarak ve toplayarak sınıflandırma yapmaya yarar. Bu sayede mesela müşterilerinizi daha küçük segmentlere ayırabilirsiniz.
  • Tavsiye Sistemi (Recommender System) : Bir öneri yapmak için gerekli olan önemli verileri tanımlamak için kullanılabilir. Genelde web sitelerinde gördüğümüz "bunu alan bu ürünlere de baktı" gibi öneriler bu yöntem ile yapılmaktadır.

yapay-zeka-yontemleri-6

1.3. Ödül ile (reinforcement) Öğrenme

Bir görevi, yalnızca eylemleri için aldığı ödülleri en üst düzeye çıkarmaya çalışarak öğrenmeyi öğrenir.

Çok fazla eğitim verisine sahip değilseniz çevreyi öğrenmenin tek yolu onunla etkileşim kurmaktır. Bu durumlarda ödül ile öğrenme kullanılabilir.

Çalışma mantığı çok basittir. Önce bir ödül belirlenir. Mesela bir oyunda en yüksek puanı almak. Sonra algoritma bir hareket yapar ve sonucuna bakar. Bir sonraki deneyiminde farklı bir hareket yapar. Aldığı puanları (ödül) karşılaştırır. Hangi harekette ödüle daha çok yaklaşıyorsa o hareketin doğru olduğunu anlar ve bu şekilde öğrenir.

Örnek olarak aşağıdaki alanlarda kullanılmaktadır.

  • Kendi kendine çalışan otomobillerin sürüş davranışlarını optimize edin
  • Satranç dahil oyunları oynamasını saplayabilirsiniz
  • Değişen talep dönemlerinde elektrik şebekelerinin yükünü dengelemek
  • Bir opsiyon-işlem portföyünün ticaret stratejisini optimize edin
  • Robotları kullanarak ambarlardaki ürün yönetimi

Derin Öğrenme

Derin öğrenme, makine öğrenmesine gör daha geniş bir veri kaynağı aralığını işleyebilir. İnsanlar tarafından daha az veri etiketleme gerektirir ve geleneksel makine öğrenme yaklaşımlarından daha doğru sonuçlar verebilir. Aslında derin öğrenme de bir makine öğrenme türüdür.

yapay-zeka-yontemleri-7

Derin öğrenmede, "nöronlar" olarak bilinen yazılım tabanlı hesap makinelerinin birbirine bağlı katmanları ile bir sinir ağı oluşturur. Ağ, büyük miktarda girdi verilerini toplayabilir. Bu verileri, her katmandaki verilerin giderek karmaşık özelliklerini öğrenen çok katmanlı süreçlerle işler. Ağ, daha sonra verilere ilişkin bir karar varir. Kararlılığının doğru olup olmadığını öğrenir ve yeni veriler hakkında tespitler yapar.

Bu sayede, bir nesnenin neye benzediğini öğrendiğinde, nesneyi yeni bir resimde tanıyabilir.

İki temel yöntemi vardır.

  • 1. Konvolüsyonel Sinir Ağları (Convolutional Neural Network - CNN ) : Çıktıyı belirlemek için her katmandaki verilerin giderek karmaşık özelliklerini ayıklamak için tasarlanmış özel bir mimariye sahip çok tabakalı bir sinir ağıdır. Tıbbi taramalardan sağlık hastalıklarının teşhisinde, görüntü, ses, metin ve video işlemede oldukça yaygın ve başarılı şekilde kullanılmaktadır.
  • 2. Tekrarlayan Sinir Ağları (Recurrent Neural Network - CNN ) : Bağlamsal düğümlerde bilgi depolayabilen, veri dizilerini öğrenmesini sağlayan ve bir sonuç üretmesini sağlayan çok tabakalı bir yapay sinir ağıdır. Diğer sinir ağı mimarileri, tüm girdilerin birbirinden bağımsız olduğunu varsaymaktadır.Fakat bu varsayım, bazı görevler için iyi çalışmaz. Mesela bir chatbot yapacaksanız daha önceden yazılmış olan kelimelerin ve cümlelerin şu anki yazdığı şeylerle bir bağlantısı vardır. Çeviri yaparken, resimler için altyazı oluştururken, kredi kartı sahtekarlıklarını tesbit ederken bu yöntemi kullanabilirsiniz.

  Sen Ne Düşünüyorsun ?