Veri biliminin en çok bilinen ve en gerekli alt alanlarından biri makine öğrenimidir. Makine öğrenimi terimi ilk olarak 1959’da IBM araştırmacısı Arthur Samuel tarafından kullanıldı. O zamandan bu yana makine öğrenimi, özellikle sınıflandırmalarda kullanılması nedeniyle diğerlerinden daha büyük bir ilgi gördü.
Veri biliminin farklı yönlerini öğrenmeye ve bu konuda uzmanlaşmaya başladığınızda, belki de ilk karşınıza çıkan ilk alt alan makine öğrenimidir. Makine öğrenimi çalışırken bile bilgi toplayarak öğrenebilen ve geliştirebilen bir bilgisayar algoritmaları koleksiyonunu tanımlamak için kullanılan addır.
Herhangi bir makine öğrenimi algoritması bazı veriler üzerine kurulur. Başlangıçta, algoritma belirli bir problemi çözme yolu oluşturmak için bazı “deneme verileri” kullanır. Algoritma öğrenme aşamasını geçtikten sonra, edindiği bilgileri farklı veri kümelerine dayalı benzer problemleri çözmek için kullanır. Bir nevi geçmişten ders alır.
Genellikle makine öğrenimi algoritmalarını dört gruba ayırırız:
- Denetimli Algoritmalar: İşlem sırasında geliştirici tarafından denetlenen algoritmalardır. Bunu yapmak için geliştirici, eğitim verilerini etiketler ve algoritmanın izleyeceği katı kurallar ve sınırları belirler.
- Denetimsiz Algoritmalar: Geliştiriciden doğrudan kontrol içermeyen algoritmalardır. Bu durumda, algoritmadan istenen sonuçlar bilinmemektedir ve algoritma tarafından tanımlanmaları gerekir.
- Yarı Denetimli Algoritmalar: Hem denetlenen hem de denetlenmeyen algoritmaların kesiştiği algoritmalardır. Örnek vermek gerekirse, tüm eğitim verileri etiketlenmeyecek ve algoritma başlatılırken tüm kurallar sağlanmayacaktır.
- Takviye Algoritmaları: Bu tür algoritmalarda keşif/sömürü adlı bir teknik kullanılır. Mantığı oldukça basittir. Makine bir eylemde bulunur, sonuçları gözlemler ve ardından sonraki eylemi gerçekleştirirken bu sonuçları dikkate alır ve bu böyle devam eder.
Buradaki tüm seçeneklerin belirli bir amacı vardır; örnek vermek gerekirse denetimli öğrenme, eğitim verilerinin kapsamını ölçeklendirmek ve buna dayalı olarak gelecek ve yeni veriler için tahminler yapmak için tasarlanmıştır. Öte yandan, verileri bir anlam ifade etmesi için düzenlemek ve filtrelemek için denetimsiz algoritmalar kullanılır.
Bu kategorilerin her birinin altında, belirli görevleri gerçekleştirmek için tasarlanmış çeşitli özel algoritmalar bulunur. Algoritma içerisinden algoritma çıkıyor yahu!
Bu makale her veri bilimcisinin makine öğreniminin temellerini kapsamak için bilmesi gereken 5 temel algoritmayı kapsayacaktır.
1. Regresyon
Çok terimsel bir kelime ile başlıyoruz ama olabildiğince basit anlatacağım. Regresyon algoritmaları, bağımsız değişkenlerin bağımlı olanları ne kadar etkilediğini anlamak için farklı değişkenler arasındaki olası ilişkileri bulmak için kullanılan algoritmalardır. Hızlı okuduysan bir daha oku tane tane okuyunca her şey netliğe kavuşacak.
Regresyon analizlerini denklem olarak da düşünebilirsin. Örneğin y = 2x + z denklemine sahipsem, y benim bağımlı değişkenimdir. x ve z ise bağımsız olanlardır. Regresyon analizleri, x ve z’nin y’nin değerini ne kadar etkilediğini bulur.
Aynı mantık, daha gelişmiş ve karmaşık problemler için de geçerlidir. Çeşitli sorunlara uyum sağlamak için birçok tür regresyon algoritması vardır. Şimdi de ilk 5 olarak varsayabileceğimiz regresyonlar:
- Doğrusal Regresyon: En basit regresyon tekniği, bağımlı ve bağımsız değişkenler arasındaki ilişkiyi öne çıkarmak için doğrusal bir yaklaşım kullanılır.
- Lojistik Regresyon: Bu tip regresyonlar, ikili bağımlı değişkenler üzerinde kullanılır. Bu tür gerileme, kategorik verileri analiz etmek için yaygın olarak kullanılmaktadır.
- Sırt Regresyon: İşler karışık hale geldiğinde yani regresyon modeller çok karmaşık hale geldiğinde, sırt regresyon modelin katsayıların boyutunu düzenler.
- Kement Regresyonu: Kement regresyon, değişkenleri seçmek ve düzenlemek için kullanılır.
- Polinom Regresyon: Bu tür regresyonlar doğrusal olmayan veriler için kullanılır. Değişkenler arasındaki ilişki iyi uymuyorsa bu ilişkileri açıklamaya çalışmanın yolu polinom regresyon modelinden geçer.
2. Sınıflandırma
Makine öğreniminde sınıflandırma, öğeleri önceden kategorize edilmiş bir eğitim veri kümesine göre kategorilere ayırma sürecidir. Sınıflandırma, denetimli bir öğrenme algoritması olarak kabul edilir. Bu algoritmalar, yeni bir öğenin tanımlanan kategorilerinden birine girme olasılığını hesaplamak için kullanılır. Sınıflandırma algoritmalarına en basit örnek hepimizin maillerimizde kullandığı spam veya spam değil olarak filtrelemektir.
Farklı sınıflandırma algoritmaları vardır ve bunun ilk dördü:
- K-en yakın komşu algoritması: Bu algoritma bazı veri kümelerinde en yakın k veri noktasını bulmak için eğitim veri kümelerini kullanan bir algoritmadır.
- Karar Ağacı: Her veri noktasını bir seferde iki kategoriye ve ardından her birini ikiye ve daha fazlasına sınıflandıraran bir akış şeması olarak düşünebilirsiniz. Az çok küçüklükteki soy ağaçlarını anımsatmıyor değil.
- Naive Bayes: Bu algoritma, koşullu olasılık kuralını kullanarak bir öğenin belirli bir kategoriye girme olasılığını hesaplar.
- Destek Vektör Makineleri: Bu algoritmada veriler, X ve Y tahminin ötesine geçebilen polarite derecesine göre sınıflandırılır.
3. Birleştirme
Birleştirme algoritmaları, daha doğru sonuçlar üretmek için iki veya daha fazla makine öğrenme algoritmalarının tahminlerini birleştirerek yapılan denetimli algoritmalardır. Bir nevi bilgi paylaşımıdır. Sonuçları birleştirmek, oylama veya sonuçların ortalaması alınarak yapılabilir. Oylama genellikle regresyon sırasında sınıflandırma ve ortalama alma sırasında kullanılır.
Birleştirme algoritmalarının 3 temel türü vardır: Torbalama, güçlendirme ve yığınlama.
- Torbalama: Bu aşamada algoritmalar, hepsi eşit büyüklükteki farklı eğitim setlerinde paralel olarak çalıştırılır. Tüm algoritmalar daha sonra aynı veri seti kullanılarak test edilir ve genel sonuçları belirlemek için oylama kullanılır.
- Güçlendirme: Güçlendirme durumunda, algoritmalar sıralı olarak çalıştırılır. Daha sonra genel sonuçlar oylama ile seçilir.
- Yığınlama: Adından da anlaşılacağı üzere yığınlamanın üst üste yığılmış iki düzeyi vardır. Temel düzey, algoritmaların kombinasyonunun bir sonucudur. Üst düzey ise temel düzey sonuçlarına dayalı bir meta algoritmasıdır.
4. Kümeleme
Kümeleme algoritmaları, veri noktalarını gruplamak için kullanılan denetimsiz algoritmalar grubudur. Aynı küme içindeki noktalar, farklı kümelerdeki noktalardan çok birbirine benzer.
4 tür kümeleme algoritması vardır:
- Küme merkezli kümeleme: Bu kümeleme algoritması, verileri başlangıç koşullarına ve aykırı değerlere göre kümeler halinde düzenler. K-ortalama, en bilgili ve en sık kullanılan küme merkezli kümeleme algoritmasıdır.
- Yoğunluğa bağlı kümeleme: Bu kümeleme türünde türünde, algoritma yüksek yoğunluklu alanları rastgele dağılmış kümelerle bağlar.
- Dağıtım tabanlı kümeleme: Bu kümeleme algoritması, verilerin olasılık dağılımlarından oluştuğunu varsayar ve ardından verileri bu dağıtımın çeşitli varyasyonlarında kümeler.
- Hiyerarşik kümeleme: Bu algoritma, hiyerarşik veri kümelerinden oluşan bir ağaç oluşturur ve küme sayısı, ağaç doğru düzeyde biçimlendirilerek değiştirilebilir.
5. İlişkilendirme
İlişkilendirme algoritmaları, bazı öğelerin belirli bir veri kümesinde birlikte oluşma olasılığını keşfetmek için kullanılan denetimsiz algoritmalardır. Çoğunlukla Pazar sepeti analizlerinde kullanılır.
En çok kullanılan ilişkilendirme algoritması Apriori’dir.
Apriori algoritması, işlemsel veritabanlarında yaygın olarak kullanılan bir madencilik algoritmasıdır. Apriori, sık kullanılan öğe setlerini çıkarmak ve bu öğe setlerinden bazı ilişkilendirme kuralları oluşturmak için kullanılır.
Örnek vermek gerekirse bir kişi markete gittiğinde süt ve ekmek alırsa, muhtemelen biraz da yumurta alır. Bu bilgiler çeşitli müşterilerden sağlanır önceki satın alımlar üzerine oluşturulur. Daha sonra ise bu işlem ne sıklıkla bir araya geldiğine bağlı olarak algoritma tarafından belirlenen bir güven eşiğine göre oluşturulur. İnternetten alışveriş yaparken çıkan reklamların neye göre çıktığını daha iyi anlamış oluyoruz artık.
Son Olarak
Makine öğrenimi, veri biliminin en ünlü, en iyi araştırılmış alt alanlarından biridir. Yeni makine öğrenimi algoritmaları, daha iyi doğruluk ve daha hızlı yürütme sağlamak için her zaman geliştirme aşamasındadır.
Algoritmalardan bağımsız olarak, genel olarak dört kategoriden biri olarak kategorize edebiliriz. Denetimli, denetimsiz, yarı denetimli ve güçlendirilmiş algoritmalar. Bu kategorilerin her biri farklı amaçlar için kullanılan birçok algoritmayı bulundurur. Yani bunları birbirine karıştırmamak gerekir.
Bu makalede, makine öğrenimine yeni başlayanların az çok bilmesi gereken 5 tür denetimli ve denetimsiz algoritmadan dilimin döndüğü kadar bahsettim. Bu algoritmalar iyi incelenmiş ve yaygın olarak kullanılmaktadır. Bunun nasıl uygulanacağını değil nasıl kullanacağını anlamanız yeterlidir. Yani bu işler biraz okumaktan değil deneme yanılma yolundan geçer.
Scikit Learn gibi en ünlü Python makine öğrenimi modülleri, bu algoritmaların tümü olmasa da çoğunun önceden tanımlanmış bir sürümünü içerir ve ücretsizdir. Göz atmanız sizin için yararlı olabilir.
Yani, benim sizlere tavsiyem mekaniği anlayın ve kullanımı konusunda uzmanlaşın yazıyı okuduğunuzda kafanız karışmış olabilir ama pratik yaptığınızda taşlar yerine oturacaktır.
Meriç ÇAPAR
Bunlar da ilginizi çekebilir
C Programlama Dili Öğrenmek Size Nasıl Fayda Sağlayacak?
İçerisinde Gerçek İnsan Olan ve insan Gücüyle Çalışan Bilgisayar Nedir?
Robotlar ve Yapay Zeka Neden Bizi Ürkütüyor?
Yapay Zekâ 10 Farklı Şekilde Bu Şaşırtıcı Yetenekleri Gösterdi!
Yorumlar 6