MAKİNE ÖĞRENMESİ

Kadriye Aksakal
3 min readNov 19, 2020

Makine Öğrenmesi (Machine Learning), matematiksel ve istatistiksel yöntemler kullanarak mevcut verilerden çıkarımlar yapan, bu çıkarımlarla bilinmeyene dair tahminlerde bulunan yöntem paradigmasıdır. Bir problemi, probleme ait ortamdan edinilen veriye göre modelleyen bilgisayar algoritmalarını barındırır. Günümüzde üzerinde yoğun olarak çalışılan bir konu olduğu için önerilen bir sürü algoritma vardır. Yüz tanıma, belge sınıflandırma, spam tespiti, istatistik, olasılık kuramı, veri madenciliği, örüntü tanıma ve yapay zeka gibi birçok alanda makine öğrenmesini kullanabiliriz.

Makine öğrenmesi temel olarak, otomatik öğrenme ve geliştirme ilkesine dayandırılır. Çeşitli algoritmalar ve yöntemler ile veride bazı kalıpları arar ve bu kalıplara karşılık gelen etiketlere bakarak öğrenir daha sonra (öğrendiklerine benzer durumla karşılaştığında) deneyimlerinden yararlanarak çıkarım yapabilen sistemler geliştirmeye imkan sağlar. Bu imkanı, çeşitli matematiksel ve istatistiksel yöntemlerin kullandığı birçok algoritma ile sağlamaktadır. Bu yöntem ve algoritmaların bir veya bir kaçı bir arada kullanılarak model(ler) oluşturulur ve bu model(ler), tahmin edilmesi istenilen şeyi, en verimli, en kesin en hızlı biçimde tahminlemeyi amaçlamalıdır.

Teknolojinin ilerlemesi ile birlikte yapay zekanın yeteneklerini geliştirebilecek birçok yeni teknoloji kullanılmaya başlandı. Doğal dil işleme, konuşma algılama gibi teknolojiler yapay zekanın öğrenme yeteneklerinin geliştirilmesini sağladı. İşte bu teknolojilerin birleşimini kapsayan “Makine Öğrenmesi” , sembolik öğrenmenin yerini almaya başladı. Makine öğrenmesi, elindeki verileri inceleyerek insan zekasının yapabileceği algılamaları gerçekleştirebilme ve bunu sonraki işlemler için veri olarak kullanabilme yeteneğinin kazandırılması olarak tanımlanabilir.

Peki makine öğrenmesi ile nasıl uygulama geliştirebiliriz? Bunun için öncelikle geliştirme yapmayı istediğiniz dili seçmelisiniz. Daha sonra da bu dile özel makine öğrenmesinde kullanabileceğiniz kütüphaneleri incelemelisiniz. Kütüphaneleri inceledikten sonra hangi geliştirme ortamı (IDE) kullanılmalı onu bulmalısınız. Bu adımları tamamladıktan sonra artık makine öğrenmesiyle kendi uygulamanızı geliştirebilirsiniz. Bununla birlikte makine öğrenmesinin avantajları olduğu kadar dezavantajları da vardır. Makine öğrenmesi kimi zaman çok faydalı olabilmektedir ancak farklı algoritmalar, farklı özellikler, farklı veriler ile çok sayıda deneme yanılma girişimiyle model oluşturma sabrı gerektirir.

Makine öğreniminde birkaç yöntem kullanılır bunlardan en önemli iki tanesi ise denetimli ve denetimsiz öğrenme yöntemleridir.

Öğrenme Yöntemleri

Denetimli Öğrenme (Supervised Learning)

Bu öğrenme türünde elimizde bir takım eğitim veri seti bulunur (Training Dataset). Bu veri seti labeled olarak oluşturulmuştur. Her bir label, o verinin çıktısı olması gereken sonuçtur. Örneğin spam filtrelerini eğitirken kullanılacak veri setinin labelları “1” ve “0” olarak adlandırılır. Bazı girdiler spam (1) bazıları ise spam değil (0) olarak işaretlenir. Kurgulanan yapay zeka, bu eğitim verisinin üzerinden bir çok defa geçerek kendi içinde bir öğrenme algoritması oluşturur. Bu formül daha sonra gelen veri üzerinde uygulanarak yeni verinin kategorisi tahmin edilmeye çalışılır. Supervised Learning içinde farklı tanımlar da bulunur. Bunlar classification (sınıflandırma) ve regression (regresyon) olarak adlandırılır. Daha önceki örnekte bahsedilen spam filtresi gelen verinin hangi kategoriye ait olduğunu bulmaya çalıştığımız bir classification problemiydi. Regression’da ise, süreklilik gösteren verileri yakınsayan en uygun geometrik formülü bulmaya çalışırız. Bu formülde verilerin uzaklılıkları 0 veya 0’a yakın olması beklenir. Bu şekilde daha sonra gelecek verilerin bu geometrik formüle uygun veya bu formüle yakın değerler alması beklenir.

Denetimsiz Öğrenme (Unsupervised Learning)

Supervised Learning’de, elimizde daha önceden çıktılarını bildiğimiz veriler bulunurdu ve bu verileri öğrenmek için kullanılırdı. Unsupervised Learning’de ise bilinmeyen yapıda veriler üzerinde çalışılır. Bu öğrenmede, önce veriler arasında anlamlı bir ilişki kurmak gerekir, bu ilişki ışığında bir algoritma geliştirilir ve eklenen veriler ile öğrenme devam ettirilir.

--

--