Ana içeriğe atla

Makine öğrenmesi algoritmaları

Makine öğrenmesinin arkasındaki matematik ve mantığa giriş.

Makine öğrenmesi algoritmaları nelerdir?

Makine öğrenmesi algoritmaları, kişilerin, karmaşık veri kümelerini keşfetmesi, analiz etmesi ve bunlarda anlam bulmasına yardımcı olan kod parçacıklardır. Her algoritma, bir makinenin belirli bir hedefi gerçekleştirmek için izleyebileceği sınırlı ve belirli, adım adım ilerleyen yönerge kümesidir. Makine öğrenmesi modelinin hedefi, kişilerin tahmin yapmak veya bilgileri kategorilere ayırmak için kullanabileceği desenler oluşturmak veya keşfetmektir. Makine öğrenmesi nedir?

Makine öğrenmesi algoritmaları, büyük kümeyi temsil eden, eğitim verilerini temel alan parametreleri kullanır. Eğitim verileri, dünyayı daha gerçekçi bir şekilde temsil etmek için genişledikçe, algoritma daha doğru sonuçlar hesaplar.

Farklı algoritmalar, verileri farklı şekilde analiz eder. Bunlar, denetimli öğrenme, denetimsiz öğrenme ve pekiştirmeye dayalı öğrenme gibi, kullanıldıkları makine öğrenmesi teknikleri ile gruplandırılır. En yaygın olarak kullanılan algoritmalar, hedef kategorileri tahmin etmek, olağandışı veri noktalarını bulmak, değerleri tahmin etmek ve benzerlikleri bulmak için regresyon ve sınıflandırmayı kullanır.

Makine öğrenmesi teknikleri

Makine öğrenmesi algoritmaları hakkında daha fazla bilgi edindikçe, bunların genellikle üç makine öğrenmesi tekniğinden birine girdiğini göreceksiniz:


Denetimli öğrenme

Denetimli öğrenmede algoritmalar, sağladığınız etiketli örnekleri temel alarak tahmin yapar. Bu teknik, sonucun nasıl görüneceğini bildiğiniz durumlarda faydalıdır.
 

Örneğin, son 100 yıla göre şehirlerin nüfuslarını içeren bir küme sağlayıp, dört yıl sonra belirli bir şehrin nüfusunun ne olacağını öğrenmek istediğinizi varsayalım. Sonuç, veri kümelerinde mevcut olan, nüfus, şehir ve yıl etiketlerini kullanır.
 

Denetimsiz öğrenme

Denetimsiz öğrenmede veri noktaları etiketlenmez. Algoritma, verileri düzenleyerek veya bunların yapısını açıklayarak veri noktalarını sizin için etiketler. Bu teknik, sonucun nasıl görüneceğini bilmediğiniz durumlarda faydalıdır.

 

Örneğin, müşteri verilerini sağlayıp, benzer ürünlerden hoşlanan müşterilerin bölümlerini oluşturmak istediğinizi varsayalım. Sağladığınız veriler etiketlenmez ve sonuçtaki etiketler, veri noktalarında keşfedilen benzerlikler temel alınarak oluşturulur.

 

Pekiştirmeye dayalı öğrenme

Pekiştirmeye dayalı öğrenme, sonuçlardan öğrenen ve gerçekleştirilecek eylemi kararlaştıran algoritmaları kullanır. Algoritma, her eylemden sonra seçeneğin doğru mu, nötr mü yoksa yanlış mı olduğunu belirlemeye yardımcı olan geri bildirim alır. İnsan kılavuzluğu olmadan birçok küçük kararlar alması gereken otomatikleştirilmiş sistemler için kullanılabilecek iyi bir tekniktir.

 

Örneğin, sürücüsüz bir araç tasarlıyor ve bu aracın yasalara uyduğundan ve insan güvenliğini sağladığından emin olmak istiyor olun. Araç, deneyim ve pekiştirme geçmişi kazandıkça şeritte kalmayı, hız limitini aşmamayı ve yayaları görünce fren yapmayı öğrenir.

Makine öğrenmesi ile yapabilecekleriniz

Makine öğrenmesi algoritmaları, el ile yapılan analiz yoluyla yanıtlanması çok karmaşık olan soruları yanıtlamanıza yardımcı olur. Makine öğrenmesi algoritmalarının birçok farklı türü vardır; ancak, bu algoritmaların kullanım örnekleri genelde bu kategorilerden birinin kapsamındadır.

Hedef kategorisini tahmin etme

İki sınıf (ikili) sınıflandırma algoritmaları verileri iki kategoriye böler. Bunlar, evet/hayır soruları da dahil olmak üzere, karşılıklı olarak birbirini dışlayan ve yalnızca olası iki yanıtı bulunan sorular için kullanışlıdır. Örneğin:

  • Bu lastik sonraki 1.600 kilometrede patlar mı: evet mi hayır mı?
  • Hangisi daha fazla yönlendirilen müşteri getirir: 10 USD değerinde kredi mi yoksa %15 indirim mi?

 

Çoklu sınıflı (çok terimli) sınıflandırma algoritmaları verileri üç veya daha fazla kategoriye böler. Bunlar, karşılıklı olarak birbirini dışlayan üç veya daha fazla olası yanıtı bulunan sorular için kullanışlıdır. Örneğin:

  • Seyahat eden kişilerin büyük çoğunluğu uçak biletlerini hangi ay satın alıyor?
  • Bu fotoğraftaki kişi hangi duyguyu yansıtıyor?

Olağan dışı veri noktalarını bulma

Anomali algılama algoritmaları nelerin “normal” olduğunu tanımlayan parametrelerin dışında kalan veri noktalarını tanımlar. Örneğin, aşağıda verilenler gibi soruları yanıtlamak için anomali algılama algoritmaları kullanılır:

  • Bu toplu işteki kusurlu parçalar nerelerdir?
  • Kredi kartıyla yapılan hangi alışverişler dolandırıcılık amaçlı olabilir?

Değerleri tahmin etme

Regresyon algoritmaları geçmiş verileri temel alarak yeni bir veri noktasının değerini tahmin eder. Şunlar soruları yanıtlamanıza yardımcı olurlar:

  • Oturduğum şehirde iki yatak odalı bir evin ortalama fiyatı ne olacak?
  • Salı günü kliniği kaç hasta ziyaret edecek?

Değerlerin zaman içinde nasıl değiştiğini görme

Zaman serisi algoritmaları verilen bir değerin zaman içinde nasıl değiştiğini gösterir. Zaman serisi analizi ve zaman serisi tahminiyle veriler, zaman içinde düzenli aralıklarla toplanır ve tahminler yapmak, eğilimleri, mevsimselliği, döngüselliği ve düzensizliği belirlemek için kullanılır. Zaman serisi algoritmaları şunlar gibi soruları yanıtlamak için kullanılır:

  • Verilen bir hisse senedinin fiyatı önümüzdeki yıl artacak mı yoksa düşecek mi?
  • Gelecek yıl harcamalarım ne kadar olacak?

Benzerlikleri bulma

Kümeleme algoritmaları veri noktaları arasındaki benzerlik düzeyini belirleyerek verileri birden fazla gruba böler. Kümeleme algoritmaları şunlar gibi sorular için uygundur:

  • Hangi izleyiciler aynı tür filmleri izlemekten hoşlanıyor?
  • Hangi yazıcı modelleri aynı şekilde hatayla karşılaşıyor?

Sınıflandırma

Sınıflandırma algoritmaları verileri önceden ayarlanmış kategorilere atamak için tahmine dayalı hesaplamalar kullanır. Sınıflandırma algoritmaları giriş verileriyle eğitilir ve şunlar gibi soruları yanıtlamak için kullanılır:

  • Bu bir istenmeyen e-posta mı?
  • Verilen bir metnin duygusu (olumlu, olumsuz veya tarafsız) nedir?

Doğrusal regresyon algoritmaları, verilere, sürekli devam eden düz bir çizgi ekleyerek, iki değişken veya faktör arasındaki ilişkiyi gösterir ya da tahmin eder. Bu çizgi genelde Kare Hata Maliyeti işlevi kullanılarak hesaplanır. Lineer regresyon, en popüler regresyon analizi türlerinden biridir.

Lojistik regresyon algoritmaları, verilere, sürekli devam eden S şeklinde bir eğri yerleştirir. Lojistik regresyon, bir diğer popüler regresyon analizi türüdür.

Naïve Bayes algoritmaları, ilgili bir olayın oluşumunu temel alarak bir olayın oluşma olasılığını hesaplar.

Destek Vektörü Makineleri birbirine en yakın olan veri noktaları arasında bir hiper düzlem çizer. Bu, sınıfları marjinalleştirir ve aralarındaki mesafeleri daha net bir şekilde ayırt etmek için en üst düzeye çıkarır.

Karar ağacı algoritmaları verileri iki veya daha fazla homojen kümeye böler. Veri noktaları arasındaki en önemli fark yaratan öğeye dayalı olarak verileri ayırmak için if-then kurallarını kullanırlar.

K-En yakın komşu algoritmaları, kullanılabilen mevcut tüm veri noktalarını depolayıp her yeni veri noktasını, bir uzaklık fonksiyonu ile ölçüldüğü gibi, kendisine en yakın olan veri noktalarına göre sınıflandırır.

Karar ağaçlarını temel alan Rastgele orman algoritmaları, bir ağaç oluşturmak yerine bir orman oluşturup bu ormandaki ağaçları rastgele düzenlerler. Ardından, test nesnesinin son sınıfını belirlemek için farklı rastgele karar ağacı biçimlerinden alınan oyları toplarlar.

Gradyan artırma algoritmaları, modelin genel performansını geliştiren birleştirme işlemi ile zayıf tahmin modellerini (genellikle karar ağaçlarını) bir araya getiren bir tahmin modeli oluşturur.

K-Ortalamalar algoritmaları, verileri kümeler halinde sınıflandırır ve K değeri kümelerin sayısına eşit olur. Her kümenin içinde yer alan veri noktaları homojendir. Bunlar, diğer kümelerdeki veri noktalarına karşı heterojen olma özelliği taşır.

Makine öğrenmesi kitaplıkları nedir?

Bir makine öğrenmesi kitaplığı, verilen dilde yazılmış bir işlev, çerçeve, modül ve yordam kümesidir. Geliştiriciler, makine öğrenmesi kitaplıklarındaki kodu, karmaşık görevler gerçekleştirebilecek makine öğrenmesi çözümleri oluştururken yapı taşları olarak kullanır. Geliştiriciler, bir makine öğrenmesi çözümündeki her algoritmayı ve formülü el ile kodlamak zorunda kalmadan, sağlanan birçok ML kitaplığında ihtiyaçları olan işlevleri ve modülleri bularak ihtiyaçlarını karşılayacak bir çözüm oluşturmak için bunları kullanabilir.

Azure Machine Learning ile denemeler yapmaya başlayın

Azure Machine Learning’i kullanarak, kendi makine öğrenmesi modelinizi oluşturup dağıtarak, farklı algoritmaların verileri nasıl analiz ettiğini öğrenin.