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:
- 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.
- 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.
- 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-, 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
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