X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Worldwide (English)Worldwide (English)
X
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Worldwide (English)Worldwide (English)
X

YAPAY ZEKA

AnasayfaYazılarYapay ZekaYAPAY ZEKA

 

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;

  • Gözetimli(Supervised) Öğrenme
  • Gözetimsiz(Unsupervised)Öğrenme
  • Takviyeli(Reinforcement) Öğrenmedir.

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;

  • Doğal Dil İşleme
  • Online Arama
  • Öneri Sistemleri
  • Kişisel Güvenlik
  • Sağlık Hizmetleri
  • Veri Güvenliği
  • Duygu Analizi
  • Görüntü Tanıma
  • Sosyal Medya

 

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:

  • Otomatik sürüş
  • Tıbbı araştırma
  • Havacılık ve savunma
  • Endüstriyel otomasyon
  • Yüz/ses tanıma sistemleri
  • Görüntü iyileştirme

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:

  • Giriş katmanı
  • Gizli katmanlar
  • Çıktı katmanı

YAPAY ZEKA TEKNİKLERİ NELERDİR?

  • Uzman Sistemler (Expert Systems)
  • Bilgisayarlı Görme (Computer Vision)
  • Yapay Sinir Ağları (ANN: Artificial Neural Networks)
  • Bulanık Mantık (Fuzzy Logic)
  • Genetik Algoritmlar (Genetic Algoritma)

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:

  1. Lineer Regresyon: Veri setindeki ilişkileri analiz etmek ve bir çıktıyı tahmin etmek için kullanılan basit bir regresyon algoritmasıdır. Bir giriş değişkenine dayalı olarak bir çıktı değişkenini tahmin etmek için kullanılır. Bilinmeyen veya bağımlı değişkeni ve bilinen veya bağımsız değişkeni doğrusal bir denklem olarak matematiksel olarak modeller. Örneğin, geçen yılki harcamalarınız ve geliriniz hakkında verileriniz olduğunu varsayalım. Doğrusal regresyon teknikleri bu verileri analiz eder ve giderlerinizin gelirinizin yarısı olduğunu belirler. Daha sonra gelecekteki bilinen bir geliri yarıya indirerek bilinmeyen bir gelecekteki gideri hesaplarlar.
  2. Lojistik Regresyon: İki sınıflı (binary) sınıflandırma problemlerinde kullanılan bir algoritmadır. Bir giriş verisi alır ve çıktıyı iki sınıftan birine atar. Lojistik regresyon, iki veri faktörü arasındaki ilişkileri bulmak için matematikten yararlanan bir veri analizi tekniğidir. Lojistik regresyon, daha sonra diğerine dayalı bu faktörlerden birinin değerini tahmin etmek için bu ilişkiyi kullanır. Tahminin genellikle evet ya da hayır gibi sınırlı sayıda sonucu vardır.
  3. Destek Vektör Makineleri (SVM): Sınıflandırma ve regresyon problemleri için kullanılan güçlü bir algoritmadır. İki sınıflı veya çok sınıflı sınıflandırma problemlerini çözmek için kullanılabilir. Böyle bir sisteme iyi bir örnek, daha önce pozitif veya negatif olarak sınıflandırılmış diğer belgelere dayanarak bir dizi yeni belgeyi pozitif veya negatif  olarak  gruplarına göre sınıflandırmaktır. Yada benzer şekilde, mail kutusuna gelen e-postaları, zaten insanlar tarafından spam veya spam olmayan olarak işaretlenmiş büyük bir belge topluluğuna göre spam veya spam olmayan olarak sınıflandırabiliriz.  SVM’ler bu tür durumlar için oldukça kullanışlı algoritmalardır.
  4. Genetik Algoritmalar (Genetic Algorithms): Evrimsel süreçlerden esinlenen genetik algoritmalar, doğal seleksiyon ve genetik çaprazlama prensiplerini kullanarak optimizasyon problemlerini çözmek için kullanılır. Popülasyon tabanlı bir yaklaşımı vardır ve en iyi çözümü bulmak için iteratif olarak evrim geçirirler.
  5. Rasgele Ormanlar (Random Forests): Sınıflandırma ve regresyon problemlerini çözmek için kullanılan bir topluluk öğrenme yöntemidir. Rasgele ormanlar, birçok karar ağacının birleşimini kullanır ve sonuçları bir araya getirerek daha doğru tahminler elde etmeyi amaçlar.
  6. Doğal Dil İşleme Algoritmaları (Natural Language Processing - NLP): Metin ve dil tabanlı verileri analiz etmek için kullanılan algoritmaları içerir. Örneğin, metin sınıflandırma, metin anlama ve duygu analizi gibi NLP problemleri çözülebilir.

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.

 


Top