1.MAKİNE ÖĞRENMESİ
Yapay zekanın alt dalı olan makine öğrenmesi (machine learning) karmaşık örüntüleri anlama, verilerden anlam çıkararak ilerleyen deneyimlerden öğrenen bir sistemdir. Bilgisayarların insan gibi düşünüp verilen probleme en doğru çözüm yolunu bulmayı amaçlamaktadır.
Bu süreçte alt kategorilere ayrılmış çözüm yöntemlerinden oluşmaktadır. Bunlar;
Kısaca bu öğrenme yöntemlerine de değinelim.
GÖZETİMLİ (SUPERVISED) ÖĞRENME
Girdi ve çıktılardan oluşan, her girdiye ve çıktıya ait fonksiyonların olduğu makine öğrenmesi yöntemleridir. Gözetimli öğrenme yöntemi eğitimli etiketlerden oluşur ve bu etiketler neticesinde sonuç üretmeye yarar. En sık kullanılan gözetimli öğrenme algoritmaları; Karar Ağaçları, Lineer Regresyon, Destek Vektör Makineleri ve Lojistik Regresyondur.
GÖZETİMSİZ(UNSUPERVISED)ÖĞRENME
Bu öğrenme yönteminde ise etiket olmaksızın veri üzerinde öngörülemeyen bir mimariyi tahmin etmek için algoritma kullanan bir makine öğrenmesi tekniğidir. Verileri işaretleme olmadan birbirleriyle ilişkilerini kullanarak sonuç üretir. Sonuç olarak hiçbir dış müdahale olmadan verilerin kendi kendine öğrenmesi beklenir.
TAKVİYELİ(REINFORCEMENT) ÖĞRENME
Bulunduğu ortamı anlayıp ona göre hareket eden kendi başına karar alabilen bir sistemdir. Bu sistemde ajan diye adlandırdığımız bir yapı vardır. Bu yapıdan deneme yanılma yoluyla en doğru çözümün bulunması beklenir. Kısacası öğrenirken bir eğitim verisi olmaz. Dışardan gelen tepkilerle öğrenip sonuçlar üreten makine öğrenmesi yöntemlerinden biridir.
Makine Öğrenmesinin kullanım alanlarına da örnek verecek olursak;
2.DERİN ÖĞRENME
Derin Öğrenme Nedir?
Makine öğrenmesinin alt dalı olan derin öğrenme, yapay sinir ağlarıyla beyin işlevini model alarak geliştirilen, makinelerin öğrenme ve kavrama yeteneğidir. Makinelerin insan denetimine ihtiyaç duymadan, kendi kendine öğrenmesini amaçlar.
Derin Öğrenme Kullanım Alanları;
Derin öğrenme pek çok alanda kullanılır. Başlıcaları şunlardır:
Derin Öğrenme Algoritmaları Nelerdir?
Derin öğrenme algoritmaları, yapay sinir ağları sayesinde verilerin doğruluğunu insana ihtiyaç duymadan kendi başlarına öğrenirler.
Derin öğrenme temeli oluşturulurken, kullanılan algoritma çok önemlidir. Bunlar veri türüne, boyutu ve hacmine göre değişiklikler gösterir. Evrişimsel Sinir Ağları (ESAConvolutional Neural Network — CNN), Tekrarlayan Sinir Ağı (Recurrent Neural Network-RNN), Kısıtlı Boltzmann Makineleri (Restricted Boltzmann Machines-RBM) ve Derin İnanç Ağları (Deep Belief Nets-DBN) başlıca algoritmalardır.
Derin Öğrenme Modeli Nasıl Oluşturulur?
Derin öğrenme, yapay sinir ağları kullanılarak gerçekleştirilir. Yapay sinir ağları, birçok gizli katmanı olan bir tür makine öğrenimi modelidir ve insan beyninin yapısından esinlenirler. Bu gizli katmanlar, veri üzerinde birçok işleme geçirilerek, önceden öğrenilen kalıpları tespit etmeyi ve öğrenmeyi amaçlar.
Derin Öğrenme Nasıl Çalışır?
Derin öğrenme sinir ağlarında verileri işleyerek çalışır. Derin öğrenme algoritmasında faydalanılan sinir ağları, aynı beyin gibi çalışır. Yapar sinir ağları beyinle yakın bir mantıkta veriyi işleme kısmında kategorilere ayırır. Bu sayede insanların çözüm üretemediği noktada tüm işlemleri eksiksiz tamamlar.
Yapay Sinir Ağları (Neural Neworks Anns)
İnsan beyninin bilgi türetebilme özelliği ilham alınarak tasarlanan, sinir sisteminin çalışma prensibi model alınarak oluşturulan çoklu işlem birimidir. Amaç, problem çözebilen, yorum yapabilen ve karar verebilme yeteneğine sahip olan makineler meydana getirmektir.
Üç aşamalıdır:
YAPAY ZEKA TEKNİKLERİ NELERDİR?
YAPAY ZEKA ALGORİTMALARI
Yapay zeka algoritmaları, bilgisayar sistemlerine insana benzer düşünme ve problem çözme yetenekleri kazandırmak için tasarlanmış matematiksel ve istatiksel yönü olan yöntemlerdir. Bu algoritmalar, karmaşık veri setlerini analiz edebilir, örüntüleri tanımlayabilir ve tahminlerde bulunabilir.
Bir yapay zeka algoritması genellikle bir öğrenme sürecini içerir. Yaygın öğrenme yöntemlerinden bahsedecek olursak bunlar: denetimli öğrenme,denetimsiz öğrenme ve takviyeli öğrenme. Denetimli öğrenme, etiketli veriye dayanarak bir modelin eğitildiği bir süreçtir. Örneğin, bir görüntünün üzerindeki nesneleri tanımlayan bir yapay zeka modeli eğitmek isterseniz, binlerce görüntü ile etiketlenmiş nesne verilerine ihtiyacınız olacaktır.
Denetimsiz öğrenme ise etiketlenmemiş veri kullanarak modelin örüntüleri kendiliğinden bulmasını sağlar. Bu tür bir öğrenme yöntemi, büyük veri kümeleri üzerinde yapılan kümeleme veya boyut azaltma gibi işlemler için kullanılabilir.
Yapay zeka algoritmalarının bir diğer önemli kategorisi ise derin öğrenmedir. Derin öğrenme, yapay sinir ağları adı verilen matematiksel ve istatiksel modeller kullanarak veri üzerinde otomatik öğrenme yapmayı sağlar. Bu ağlar, biyolojik sinir sistemlerinden ilham alır ve çok katmanlı yapılardan oluşur. Derin öğrenme, ses veya görüntü tanıma gibi karmaşık problemleri çözmek için oldukça etkili olabilir.
Yapay zeka algoritmalarının birçok farklı türü bulunmaktadır, örneğin destek vektör makineleri, karar ağaçları, rasgele ormanlar, yapay sinir ağları, derin öğrenme ağları ve genetik algoritmalar gibi. Her bir algoritmanın farklı güçlü ve zayıf yönleri vardır ve uygulanacak probleme bağlı olarak en uygun olanı seçilmelidir.
Yapay zeka alanında birçok farklı algoritma bulunmaktadır. İşte yaygın olarak kullanılan bazı yapay zeka algoritmalarının birkaç örneği:
Kısaca SVM algoritmasını anlatalım.
SVM, sınıflandırma ve regresyon için kullanılan bir makine öğrenimi algoritmasıdır. Temel fikir, veri noktalarını sınıflandırma yaparken en iyi şekilde ayıran bir hiper düzlem bulmaktır. SVM, veri noktalarını sınıflarına göre bölmek için destek vektörlerini kullanır.
Sınıflandırma için SVM, veri noktalarını bir özellik uzayına haritalar ve bu uzayda en iyi ayrıştırıcı hiper düzlemi bulmaya çalışır. Bu hiper düzlem, sınıflar arasındaki en büyük marjinal boşluğa (maksimum marjinal) sahip olacak şekilde seçilir. Destek vektörleri, sınıflar arasındaki sınırlayıcı örneklerdir ve hiper düzleme en yakın olan veri noktalarıdır.
Şimdi, SVM algoritmasını kullanarak bir sınıflandırma problemi çözmek için basit bir örnek kod parçasına bakalım:
from sklearn import svm
import numpy as np
# Örnek veri seti
X = np.array([[1, 2], [1.5, 1.8], [5, 8], [8, 8], [1, 0.6], [9, 11]])
y = np.array([0, 0, 1, 1, 0, 1]) # Sınıf etiketleri
# SVM sınıflandırıcısını oluşturma
clf = svm.SVC(kernel='linear')
# Modeli eğitme
clf.fit(X, y)
# Tahmin yapma
x_test = np.array([[3, 4]])
y_pred = clf.predict(x_test)
print("Tahmin: ", y_pred)
Bu kod parçasında, örnek veri seti X ve ona karşılık gelen sınıf etiketleri Y olarak tanımlanır. SVC sınıfından bir SVM sınıflandırıcısı oluşturulur ve kernel parametresiyle çekirdek fonksiyonu belirlenir (bu örnekte lineer çekirdek kullanılmıştır).
Model, fit yöntemi kullanılarak eğitilir. Sonra, tahmin yapmak istediğimiz yeni bir veri noktası x_test tanımlanır ve predict yöntemi kullanılarak sınıf tahmini yapılır.
Son olarak, tahmin sonucu y_pred yazdırılır.
Bu örnek, SVM algoritmasını kullanarak basit bir sınıflandırma problemi çözmek için bir başlangıç noktası olabilir. Ancak, gerçek dünyadaki uygulamalar için daha karmaşık veri setleri, hiper parametre ayarlamaları ve veri ön işleme adımları gerekebilir.