Yapay Zeka ve Makine Öğrenmesi Algoritmaları


Herkese yeniden merhaba sevgili okuyucularımız,
Bu yazımızda, çoğunlukla algoritmalar olmak üzere, günümüzde yapay zekanın öneminden bahsedeceğiz.
Artificial intelligence (AI), Türkçe “yapay zeka” , internet tarafından mümkün kılınan ve yakında günlük yaşamlarımız üzerinde önemli etkileri olabilecek hızla ilerleyen bir teknolojidir. Yapay zeka geleneksel olarak doğal dili öğrenebilen, akıllandırabilen, planlayabilen, algılayabilen veya işleyebilen insan benzeri zekanın yapay bir şekilde bilgisayar sistemleri üzerinde oluşturulmasını ifade eder. Daha basit manada anlatacak olursak, yapay zekanın amacı,  aslında insanı taklit ederek, insan zekasına benzer bir yapıyla üretimler geliştirmek, sorunlara çözümler üretmek ve gelişimler elde etmektir. Bilgisayar sistemleri bizden farklı olarak büyük verileri analiz etme, analitik hesaplamaları hızlı bir şekilde yapma ve hafıza konusunda güçlü bir yapıya sahip olma özelliklerine sahiptir. Bu nedenle, veri analizinde hızlı bir şekilde ilerleme, geleceğe yönelik analitik tahminlerde, girdi olarak verilen verilerin çıktısını tahmin edebilme konusunda oldukça önemli rol oynarlar. Tüm bunlar yapılırken, model oluşturmak amacıyla birçok algoritmaya ihtiyaç duyulur. Şimdi algoritma nedir, ne işe yarar gibi sorulara cevap bulmak amacıyla bir açıklama yapalım.

Algoritma


Algoritmalar, bir sorunu çözmek için kullanılan talimatlar dizisidir. Programcılar tarafından bilgisayarları yeni görevlerde eğitmek için geliştirilen algoritmalar, bugün gördüğümüz gelişmiş dijital dünyanın yapı taşlarıdır. Bilgisayar algoritmaları, belirli talimatlara ve kurallara dayanarak çok miktarda veriyi analiz ederek bilgi ve hizmetleri organize eder. Anlamak önemli bir kavramdır, çünkü makine öğrenmesinde, bilgisayar programcıları değil, öğrenme algoritmaları kuralları oluşturur. Bu yaklaşım, bilgisayarı her adımda programlamak yerine, verilerden öğrenmesini sağlayarak bilgisayara talimatları verir. Bu, bilgisayarların manuel olarak programlanmadan, yeni ve karmaşık görevler için kullanılabileceği anlamına gelir. Görme engelliler için fotoğraf tanıma uygulamaları veya resimleri konuşmaya dönüştürme gibi şeyler buna örnek olarak verilebilir.
Makine öğrenmesinin temel süreci öncelikle eğitim verilerini bir öğrenme algoritmasına vermektir. Öğrenme algoritması daha sonra verilerden çıkarımlara dayanan yeni kurallar dizisi oluşturur. Bu aslında resmen makine öğrenimi modeli olarak adlandırılan yeni bir algoritma üretmektedir. Farklı eğitim verileri kullanılarak, aynı öğrenme algoritması farklı modeller oluşturmak için kullanılabilir.
Verilerden yeni talimatlar çıkarmak, makine öğreniminin temel gücüdür. Ayrıca verilerin kritik rolünü de vurgular: algoritmayı eğitmek için ne kadar çok veri mevcut olursa o kadar çok öğrenim sağlar. Aslında, yapay zekadaki son gelişmelerin çoğu, öğrenme algoritmalarındaki radikal yeniliklerden değil, internetin sağladığı büyük miktarda veri sayesinde oluşmuştur.
Bir makine öğrenme modeli farklı tekniklerin bir karışımını uygulasa da öğrenme yöntemleri tipik olarak dört genel tip olarak kategorize edilebilir:
  •        Denetimli Öğrenme
  •        Denetimsiz Öğrenme
  •        Yarı Denetimli Öğrenme
  •        Takviyeli Öğrenme

Sinir ağları gibi, alana yeni bir ilgi uyandıran öğrenme algoritmalarının çoğu, onlarca yıllık araştırmalara dayanmaktadır. Yapay Zeka ve makine öğrenimindeki mevcut büyüme üç önemli alandaki gelişmelere bağlıdır:
  1. Veri kullanılabilirliği: Tahmini 17 milyar bağlı cihaz veya sensörlerle 3 milyardan fazla insan çevrimiçidir. Bu, veri depolama maliyetlerinin azalmasıyla birlikte kolayca kullanılabilen büyük miktarda veri üretir. Makine öğrenimi, giderek karmaşıklaşan görevleri yerine getirmek için yeni kurallar geliştirebilir.
  2. Hesaplama gücü: Güçlü bilgisayarlar ve uzaktan işlem gücünü internet üzerinden bağlama yeteneği, çok fazla miktarda veri işleyen makine öğrenimi tekniklerini mümkün kılar.
  3. Algoritmik yenilik: Özellikle “derin öğrenme” olarak da bilinen katmanlı sinir ağlarında yeni makine öğrenimi teknikleri yeni hizmetlere ilham vermiştir, ancak aynı zamanda alanın diğer kısımlarına da yatırım ve araştırmaları teşvik etmektedir. 

Denetimli Öğrenme

Denetimli öğrenmenin açıklamasını bir önceki yazımızda sizlerle paylaşmıştık. Denetimli öğrenmedeki amaç, yeni giriş verileri olduğunda çıkış verilerini otomatik olarak tahmin edebilmektir. Algoritma kabul edilebilir bir performans seviyesine ulaştığında öğrenme durur. Denetimli öğrenme problemleri ayrıca regresyon ve sınıflandırma olarak gruplandırılabilir.
  • Sınıflandırma: Bir sınıflandırma, çıktı değişkeninin “kırmızı” veya “mavi” veya “hastalık” ve “hastalık yok” gibi bir kategori olması durumudur.
  •  Regresyon: Regresyon, çıktı değişkeninin “ağırlık” gibi gerçek bir değer olduğu durumudur.

Sınıflandırma ve regresyon üzerine inşa edilen bazı yaygın problem türleri sırasıyla tavsiye ve zaman serisi tahminini içerir.
Denetimli makine öğrenme algoritmalarının bazı popüler örnekleri şunlardır:
  • Random Forests Sınıflandırma ve regresyon 
  • Destek Vektör Makinesi Algoritması Sınıflandırma
  •  Decision Trees Sınıflandırma ve regresyon 
  •  Lojistik Regresyon Sınıflandırma
  •  Naive Bayes Sınıflandırıcı Algoritması
  •  K-Nearest Neighbours
  • Doğrusal Regresyon

Denetimsiz Öğrenme


Denetimsiz öğrenme, yalnızca giriş verilerinizin (X) olduğu ve karşılık gelen çıkış değişkenlerinin olmadığı yerdir. Denetimsiz öğrenmenin amacı, veriler hakkında daha fazla bilgi edinmek için verilerin temelini oluşturan yapıyı veya dağılımı modellemektir. Bunlara denetimsiz öğrenme denir, çünkü yukarıdaki denetimli öğrenmenin aksine doğru cevaplar ve öğretmen yoktur. Algoritmalar, verilerdeki ilginç yapıyı keşfetmek ve sunmak için kendi cihazlarına bırakılmıştır. Denetimsiz öğrenme ayrıca kümeleme ve ilişkilendirme olarak gruplandırılabilir.
  • Kümeleme: Kümeleme, satın alma davranışı yoluyla müşterileri gruplama gibi verilerdeki doğal gruplamaları keşfetmek istediğiniz yerdir.
  • İlişki: İlişkilendirme kuralı, verilerinizin büyük bölümlerini tanımlayan kuralları keşfetmek istediğiniz yerdir.

Denetimsiz öğrenme algoritmalarının bazı popüler örnekleri şunlardır:
  • K-Means Algoritması -  Kümeleme için
  • Apriori algoritması - İlişkilendirme için

Yarı Denetimli Öğrenme

Büyük miktarda giriş verisine (X) sahip olduğunuz ve sadece bazı verilerin (Y) olarak etiketlendiği sorunlara yarı denetimli öğrenme sorunları denir. Yarı denetimli makine öğrenme algoritmaları, denetimli ve denetimsiz öğrenme arasında bir yere düşer, çünkü eğitim için hem etiketli hem de etiketsiz verileri kullanırlar- tipik olarak az miktarda etiketli veri ve büyük miktarda etiketlenmemiş veri. Bu yöntemi kullanan sistemler öğrenme doğruluğunu önemli ölçüde geliştirebilir.

Takviyeli Öğrenme

Takviyeli öğrenme algoritmaları, eylemler üreterek çevresi ile etkileşime giren ve hataları veya ödülleri keşfeden bir öğrenme yöntemidir. Deneme, hata arama ve gecikmiş ödül, takviyeli öğrenmenin en önemli özellikleridir. Bu yöntem, makinelerin ve yazılım araçlarının performansını en üst düzeye çıkarmak için belirli bir bağlamdaki ideal davranışı otomatik olarak belirlemelerini sağlar. Belirli bir durumda alması gereken mümkün olan en iyi davranışı veya yolu bulmak için çeşitli yazılım ve makineler tarafından kullanılır.

Şimdi bu kullanılan algoritmaları detaylıca inceleyelim. 

1) Doğrusal Regresyon
Sürekli değişkenlere dayalı gerçek değerleri (evlerin maliyeti, arama sayısı, toplam satışlar vb.) Tahmin etmek için kullanılır. Burada bağımsız ve bağımlı değişkenler arasında en iyi çizgiyi yerleştirerek ilişki kurarız. Bu en uygun çizgi, regresyon çizgisi olarak bilinir ve             
Y = a * X + b doğrusal denklemiyle temsil edilir.
Bu denklemde:
Y = Bağımlı Değişken         a = Eğim         X = Bağımsız değişken        b = Kesişme


Doğrusal Regresyon temel olarak iki tiptir: basit doğrusal regresyon ve çoklu doğrusal regresyon. Basit Doğrusal Regresyon, bir bağımsız değişken ile karakterizedir ve Çoklu Doğrusal Regresyon (adından da anlaşılacağı gibi), birden fazla bağımsız değişken ile karakterizedir.

2) Lojistik Regresyon

Bu bir regresyon algoritması değil bir sınıflandırmadır. Verilen bağımsız değişkenler kümesine dayanarak ayrık değerleri (0/1, evet / hayır, doğru / yanlış gibi ikili değerler) tahmin etmek için kullanılır. Olasılığı tahmin ettiğinden, çıktı değerleri 0 ile 1 arasındadır (beklendiği gibi).
3) Decision Trees

Genellikle sınıflandırma problemleri için kullanılan bir tür denetimli öğrenme algoritmasıdır. Hem kategorik hem de sürekli bağımlı değişkenler için çalışır. Bu algoritmada, popülasyon iki veya daha fazla homojen kümeye bölünür. Bu, mümkün olduğunca farklı gruplar yapmak için en önemli özelliklere / bağımsız değişkenlere dayanarak yapılır.
Yukarıdaki görüntüde, popülasyonun 'oynayıp oynamayacaklarını' tanımlamak için birden çok özelliğe göre dört farklı grupta sınıflandırıldığını görebilirsiniz. Popülasyonu farklı heterojen gruplara ayırmak için Information Gain, Chi-square, entropy gibi çeşitli teknikler kullanır.

4) Destek Vektör Makinesi Algoritması
Destek vektör makinesi algoritmaları, kategorize etme ve tepki incelemesi için kullanılan bilgileri inceleyen denetimi sağlanan öğrenme türleridir. Bu algoritmada, her veri öğesini n-boyutlu uzayda bir nokta olarak çizeriz (burada n sahip olduğunuz özellik sayısıdır), her özelliğin değeri belirli bir koordinatın değeridir.
Örneğin, bir bireyin yüksekliği ve saç uzunluğu gibi yalnızca iki özelliğimiz olsaydı, önce bu iki değişkeni, her noktanın iki koordinatının bulunduğu iki boyutlu uzayda çizerdik (bu koordinatlar destek Vektörleri olarak bilinir).
5) Naive Bayes Sınıflandırıcı Algoritması

Tahminciler arasında bağımsızlık varsayımı ile Bayes teoremine dayanan bir sınıflandırma tekniğidir. Basit bir ifadeyle, Naive Bayes sınıflandırıcısı, bir sınıftaki belirli bir özelliğin varlığının, başka herhangi bir özelliğin varlığıyla ilgisiz olduğunu varsayar. Naive Bayesian modelin oluşturulması kolaydır ve özellikle çok büyük veri kümeleri için kullanışlıdır. Basitliğin yanı sıra, Naive Bayes'in son derece sofistike sınıflandırma yöntemlerinden bile daha iyi performans gösterdiği bilinmektedir.
6) kNN (k- Nearest Neighbors) Algoritması
Hem sınıflandırma hem de regresyon problemleri için kullanılabilir. Bir veri noktasının bir grubun veya başka birinin üyesi olma ihtimalini tahmin eder. Aslında hangi grupta olduğunu belirlemek için tek bir veri noktasının etrafındaki veri noktalarına bakar. Ancak, sektördeki sınıflandırma problemlerinde daha yaygın olarak kullanılmaktadır.
7) K-Means Algoritması
Kümeleme sorununu çözen bir tür denetimsiz algoritmadır. Prosedürü, belirli bir veri kümesini belirli sayıda kümede sınıflandırmak için basit ve kolay bir yol izler (k kümeleri varsayalım). Bir küme içindeki veri noktaları eş gruplara göre homojen ve heterojendir. 

K-means kümeleri nasıl oluşturur?
  • K-, sentroid olarak bilinen her küme için k sayısını alır.
  • Her veri noktası en yakın sentroidleri olan bir küme oluşturur, yani k kümeleri.
  • Mevcut küme üyelerini temel alarak her kümenin sentroidini bulur.
  • Yeni sentroidlerimiz olduğu için 2. ve 3. adımları tekrarlar. Yeni sentroidlerden her veri noktası için en yakın mesafeyi bulur ve yeni k-kümeleriyle ilişkilendirir. Yakınsama oluşana kadar yani sentroidler değişene kadar bu işlemi tekrarlar.

8) Random Forests Algoritması

Random Forests veya Random Decision Forests; sınıflandırma, regresyon ve diğer görevler için daha iyi sonuçlar üretmek üzere birden fazla algoritmayı birleştiren bir topluluk öğrenme yöntemidir. Her bir sınıflandırıcı zayıf, ancak başkalarıyla birleştiğinde, mükemmel sonuçlar üretebilir. Algoritma bir “Random Forests” ile başlar (ağaç benzeri bir grafik veya karar modeli) ve en üste bir girdi girilir. Daha sonra ağaçtan aşağı doğru hareket eder, veriler belirli değişkenlere bağlı olarak daha küçük kümelere bölünür.

     Kaynaklar

1) Investors are backing more AI startups than ever before, Sam Shead, Technology Reporter, Business Insider
2) Supervised and Unsupervised Machine Learning Algorithms, by Jason Brownlee , March 16, 2016 in Machine Learning Algorithms
3) Marketing & AI: Key Takeaways You Need to Know, by Mindy Weinstein, August 14, 2019








Yorumlar

  1. Türkiye Yapay Zeka Platformu, 6 Kasım 2020 tarihinde İstanbul/Kağıthane’de kurulmuştur. Kurucusu Yapay Zeka Mühendisliği Öğrencisi Emirhan BULUT, yüksek ve benzersiz inovasyon fikri ile platformu dünyaya sunmuştur. İnsanların derin öğrenme ve makine öğrenimi üzerinde çalışmaları günümüzde oldukça arttı. Artan bu çalışmalar yapay zekanın kısa sürede oldukça gelişmesine sebep oldu. Türkiye’de bu anlamda çalışmalarımızı sürdürme gayretindeyiz. Dünya’da bağımsız olarak hızla gelişen teknoloji artık yapay zeka dünyasında büyük bir ivme ile kendini göstermektedir. Türkiye’de yapay zeka alanında gelişimin önemli boyutlarda olması nedeniyle Türkiye Yapay Zeka (Turkey Artificial Intelligence) hızla çalışmaktadır. Platformumuzun amacı, dünyada bulunan insanların yapay zeka alanında refahını artırmak ve insan hayatını kolaylaştırmaktır. Bu amaç doğrultusunda platformumuz çalışmalarını dik duruşuyla devam ettirmektedir. Platformumuzun bir diğer kuruluş amacı ise, dünyada iyiliği artırmak, yapay zekanın kullanımını insanların hayatını kolaylaştırmak ve refahını artırmak için benzersiz projeler üretmektir. Yapay Zeka Mühendisliği Sıralama adı altında kurulan ilk ve tek yapay zeka platformudur. Yapay zekayı insan yararına geliştirmeyi teşvik etmektedir.

    YanıtlaSil

Yorum Gönder

Bu blogdaki popüler yayınlar

NCBI ve BLAST ' a Giriş

İnsan Genom Projesi

Biyoinformatikte Veri Tabanları