Yapay Zeka – Araştırma Alanları

Yapay Zeka – Araştırma Alanları

Temel olarak yapay zeka, makinenin insan davranışını taklit etmesini sağlayan tekniktir.

MAKİNE ÖĞRENMESİ

Makine öğrenimi, verilerdeki bir modeli analiz etmek, anlamak ve tanımlamak için şimdiye kadarki en iyi araçtır. Makine öğreniminin arkasındaki ana fikirlerden biri, bilgisayarın bir insan için kapsamlı veya imkansız olacak görevleri otomatikleştirmek için eğitilebilmesidir ve minimum insan müdahalesi ile kararlar alabilmesidir. Makine öğrenimi, girdi ve çıktı arasındaki ilişkiyi anlayabilen bir algoritmayı beslemek için verileri kullanır. Makine öğrenmeyi bitirdiğinde, yeni girdilerin (input) değerini veya sınıfını tahmin edebilir.

Regresyon (Regression) ve Sınıflandırma (Classification) algoritmaları, Denetimli Öğrenme (Supervised Learning) algoritmalarıdır. Her iki algoritma da Makine öğreniminde tahmin için kullanılır. Ancak her ikisi arasındaki fark, farklı makine öğrenimi problemleri için nasıl Sınıflandırma – Regresyon kullanıldıklarıdır.

Sınıflandırma (Classification)

Veri kümesini farklı parametrelere göre sınıflara ayırmaya yardımcı olan bir algoritmadır. Sınıflandırmada, bir bilgisayar programı eğitim veri setine göre eğitilir ve bu eğitime dayanarak verileri farklı sınıflara ayırır. K-NearestNeighbours, SupportVectorMachines (SVM), NaiveBayesmakine öğrenmesi sınıflandırma algoritması türlerine örnektir.

Regresyon (Regression)

Bağımlı ve bağımsız değişkenler arasındaki korelasyonları bulma sürecidir. LinearRegression, PolynomialRegression, DecisionTreesRegresyon algoritmasına örnek olarak verilebilir.

Denetimli Öğrenme ve Denetimsiz Öğrenme

Denetimli Öğrenme (Supervised Learning): Adından da anlaşılacağı gibi, denetimli öğrenme bir öğretmenin gözetiminde gerçekleşir. Bu öğrenme süreci bağımlıdır. Yapay sinir ağının denetimli öğrenmesi sırasında,çıktı vektörü üretecek olan giriş vektörü ağa sunulur. Bu çıktı vektörü, hedef çıktı vektörüyle karşılaştırılır. Gerçek çıktı ile hedef çıktı vektörü arasında bir fark varsa bir hata sinyali üretilir. Bu hata sinyali sayesinde, gerçek çıktı ile hedef çıktı eşleşene kadar ağırlıklar (weight) ayarlanır.

Denetimsiz Öğrenme (Unsupervised Learning): Adından da anlaşılacağı gibi, bu tür öğrenme, bir öğretmenin gözetimi olmadan yapılır.Bu öğrenme süreci bağımsızdır.Yeni bir giriş modeli uygulandığında, sinir ağı, giriş modelinin ait olduğu sınıfı belirten bir çıktı yanıtı verir. Bu aşamada denetimli öğrenmeden farklı olarak, hedef çıktının ne olması gerektiği ve bunun doğru mu yanlış mı olduğu konusunda çevreden herhangi bir geri bildirim almaz. Yani yapay sinir ağları modeli bilgileri keşfetmek için kendi başına çalıştırılır.

Pekiştirmeli Öğrenme: Bu strateji gözlem üzerine inşa edilmiştir. Yapay sinir ağları, çevresini gözlemleyerek bir karar verir. Gözlem olumsuz ise ağ, bir dahaki sefere farklı ağırlık (weight) değerleri kullanılır.

DERİN ÖĞRENME

Derin öğrenme, insan beyninin yapısından ilham alan bir tür makine öğrenmesidir.Yapay zeka diyagramdan da anladığımız gibi, derin öğrenme, yapay zekanın bir alt kümesi olan makine öğreniminin bir alt kümesi olarak tanımlanabilir.Derin öğrenme, beyindeki nöron ağını taklit eden bir bilgisayar yazılımıdır. Derin sinir ağlarından yararlandığı için derin öğrenme olarak adlandırılır

Makine, verileri öğrenmek için farklı katmanlar kullanır. Modelin derinliği, modeldeki katman sayısı ile temsil edilir. Derin öğrenme, yapay zeka açısından teknolojinin yeni halidir.

YAPAY SİNİR AĞLARI

Yapay sinir ağları insan beynini oluşturan biyolojik sinir ağlarından esinlenen bir yapıdır. Yapay sinir ağları aynı zamanda yapay sinir sistemleri, paralel dağıtılmış işlem sistemleri veya bağlantısal sistemler olarak da adlandırılır.

İnsan beyni, nöron adı verilen 100 milyar sinir hücresinden oluşur ve aksonlar ile diğer hücrelere bağlanırlar. Dış çevreden gelen uyarılar veya duyu organlarından gelen girdiler dendritler tarafından kabul edilir. Bu girdiler, sinir ağında hızla hareket eden elektriksel dürtüler yaratır böylelikle nöronlar arasında mesajlar iletilmiş olur.

Düğümler (node) giriş verilerini alabilir ve veriler üzerinde basit işlemler gerçekleştirebilir. Bu işlemlerin sonucu diğer nöronlara aktarılır. Her düğümdeki çıktıya aktivasyon veya düğüm değeri denir.

Her bağlantı ağırlık (weight) ile ilişkilidir. Yapay sinir ağları, ağırlık değerlerini değiştirerek daha iyi öğrenme yeteneği kazanırlar.  

Yapay sinir ağları modelimizde de nöronlar gruplanarak belli katmanlara (layer) ayrılmıştır. Her bir katmandaki nöron, diğer nöronlardan girdi (input) alır ve bir çıktı (output) üretir. Her girdi belli bir ağırlık (weight) ile çarpılır ve sabit (bias) ile eklenir.

Katman

Katmanı (Layer) bir nöronlar topluluğu olarak açıklayabiliriz. Katman başlangıç değerlerini alırsa giriş katmanı (inputlayer), son değerleri üretirse çıktı katmanı (outputlayer) olarak adlandırılır. Giriş ve çıkış katmanı kalan katmanlar ise gizli katmanlar (hiddenlayer) olarak adlandırılır. Basit bir yapay sinir ağı yapısı tek gizli katman içerirken, karmaşık yapıdaki yapay sinir ağlarında birden fazla gizli katman vardır.

Sinir ağı modelinde, ilk katman (inputlayer) aktif olmadığı için katman olarak sayılmaz. Onlar sadece girdilerdir. Örneğin, resimdeki ilk yapay sinir ağı modelinin iki katmanı ve ikinci yapay sinir ağı modelinin beş katmanı vardır. Aktivasyon fonksiyonu, bir düğümün ağırlık (weight) ile çarpılıp önyargı yani belli bir katsayı (bias) ile eklenmesinden sonra aktive edilip edilmeyeceğine karar vermek için kullanılır. Aktivasyon fonksiyonu aslında doğrusallığı önlemek için kullanılmaktadır.

Aşağıda bazı aktivasyon fonksiyonlarının (aralık) değerleri verilmiştir.

Sigmoid aktivasyonu fnc: 0 <x <1

Tanh aktivasyonu fnc: -1 <x <1

ReLU aktivasyonu fnc: 0 <x <∞

softmax aktivasyonu fnc: 0 <x <1,

Yapay sinir ağı modelimizi eğitmek için datayı 3 farklı parçaya ayırmamız gerekir. Bunlar eğitim seti (training set), doğrulama seti (validation set) ve deneme seti (test set) olarak adlandırılır. Eğitim seti, modeli eğitmek için kullanılır. Her bir iterasyonda (epoch) modelimiz, aynı veri setiyle tekrar tekrar eğitilir. Hangi girdilere karşılık hangi çıktıların üretildiği öğretilir.Model, daha sonra kendisine verilen yeni girdilerin (input) ne sonuç (output) verebileceğini, bu adımda ne kadar iyi eğitilmişse o kadar iyi tahmin eder. Modelimiz eğitilirken, belli bir girdi değeri (inputvalue) aldıktan sonra ileri yayılma (forwardpropagation) süreci başlar ve tahmin edilen değer (predictedvalue), çıktı değerini (outputvalue) üretir. İleri yayılmadan sonra, çıktı değerimizi alırız, ardından tahmin edilen değer ile gerçek değer arasındaki hatayı hesaplamak için geriye doğru yayılım (backwardpropagation) uygularız.

Doğrulama setini (validation set), eğitim sırasında modelimizi doğrulamak için kullanırız. Doğrulama partında, yeni hiperparametreler ayarlanır. Aşırı uyum göstermeyi (overfitting) engellemek için farklı eğitim ve doğrulama setleri kullanılır. Modelimiz yeteri kadar eğitildikten sonra test setini kullanılarak yeni tahminler yapılır ve bu tahminlere göre doğruluk (accuracy) hesaplanır.

https://soyleki.com/yapay-zeka-nedir-nasil-calisir-insan-gibi-dusunen-makine/

https://static.javatpoint.com/tutorial/machine-learning/images/regression-vs-classification-in-machine-learning.png

Related Posts

Leave a Reply