Makine Öğrenmesi Nedir?
Veri Bilimi ile alakalı yazımda, verinin önemi ve nasıl kullanılabileceği hakkında sizi kısaca bilgilendirmiştim. Makine Öğrenmesi‘nin Veri Bilimi ile kesiştiği noktalardan birisi de aslında veriye dayalı çalışılan teknikler olması. Hatta iyi bir veri bilimcinin Makine Öğrenmesi tekniklerini iyi seviyede bilmesi her zaman işine yarayacaktır.
Aslında Makine Öğrenmesi nedir sorusunu cevaplamadan önce, ilk önce Yapay Zeka‘nın genel tanımına bakmamız lazım. Çünkü Makine Öğrenmesi ve ilerde hakkında yazılar yazacağım Derin Öğrenme de Yapay Zeka‘nın birbiri içinde alt kümeleri olarak değerlendirilebilir. Yapay Zeka‘nın genel bir tanımını yapmak, Makine Öğrenmesi kavramını anlamamıza yardımcı olacak.
Peki Yapay Zeka nedir? Yapay Zeka, kısaca özetlemek gerekirse, insan zekası içinde var olan proseslerin bilgisayarlar tarafından simule edilmesi ve aynı zamanda toplanan verilerle oluşturulan bu sistemlerin kendini sürekli geliştirmesidir. Aslında Yapay Zeka; Makine Öğrenmesi, Derin Öğrenme ve Yapay Sinir Ağları sistemlerinin en üst tanımıdır. Yapay Zeka sistemlerine genel olarak bir kaç örnek vermek gerekirse:
- Genellikle satış sitelerinde zırt diye karşımıza çıkan chat uygulamaları
- Akıllı telefonlarda bulunan akıllı asistanlar, Siri gibi,
- Video platformlarının bizim zevkimize göre karşımıza video çıkarması
- Otonom araçlar
- V.b….
1- Yapay Zeka/Makine Öğrenmesi/Derin Öğrenme/Yapay Sinir Ağları
Yapay Zeka‘yı zaten şimdiye kadar günlük hayatımızda çok duyduk. Peki nedir bu Makine Öğrenmesi? Makine nedir, Öğrenme nasıl gerçekleşir? Gelin ilk önce Makine Öğrenmesi‘nin genel bir tanımını yapalım. Makine Öğrenmesi; sistemlerin, spesifik olarak programlanmadan, geçmiş verilerden deneyim kazanmasını ve kendini geliştirerek tahminlerde bulunmasını ifade eder. Makine Öğrenmesi‘nde „Makine“ tabiri; bizim oluşturduğumuz program bütünleri veya bazı donanımlara, „Öğrenme“ tabiri ise, tarihsel verileri çeşitli yöntemlerle/tekniklerle analiz ederek, yani onlara bakarak ve onların içindeki ilişkiyi öğrenerek, tahminler yapılmasını ve çıkarımlar yapılmasına denk gelir.
Makine Öğrenmesi tabirini daha iyi anlamak için Geleneksel Progralama ile karşılaştırmak daha iyi olacaktır. Size şöyle bir örnek verebilirim. Örneğin, canımızın istediği bir yemeği yapmak istediğimizde ve onun tarifini tam olarak bilmediğimizde, hemen Google‘da tarifini arayarak, gereken malzemeleri ve nasıl yapılmasını gerektiğini öğreneriz ve ardından yemek yapmaya başlarız. Geleneksel Progralama terimlerine göre konuşacak olursak; malzemeler→ Girdi, tarif→ Program ve yemek→ Çıktı‘dır. Yani elimizde olan Girdi ve yazılmış bir Programla bir Çıktı elde ederiz. Peki Makine Öğrenmesi yemeğe nasıl bakıyor? İnternetimizin veya yemek kitabımızın olmadığını, elimizde sadece şimdiye kadar yapılmış o yemeğin örneklerinin ve malzemelerin var olduğunu düşünelim. İşte Makine Öğrenmesi de, sadece yapılmış yemeklere ve malzemelere bakarak yemeğin tarifini bizim için bulmaya çalışır ve sonra yemeğin hangi tarif ve malzemelerle daha iyi olacağını bizim için tahmin eder. Başka bir deyişle; Çıktı ve Girdi‘ler arasında bağlantı kurarak bize Programı bulmaya çalışır. Ve ardından bulduğu bu Programla, hangi Girdi‘lerle bize nasıl bir Çıktı alacağımızı söyler.
2- Geleneksel Programlama vs. Makine Öğrenmesi
Veri Bilimi‘nde olduğu gibi, eğer bir uygulama yapmak istiyorsak, Makine Öğrenmesi‘nde de adımları/prosesleri sırasıyla takip etmek gerekir. Bu adımları genel olarak şöyle sıralayabiliriz.
- Verinin toplanması
- Verinin hazırlanması
- Uygun modelin seçilmesi
- Modelin eğitilmesi
- Modelin yorumlanması
- Parametrelerin ayarlanması
- Tahmin/Çıkarımlarda bulunmak
Bu adımların dışında, gerçek hayattaki uygulanan sistemler için konuşacak olursak; modelin kullanıma hazır olması (deployment) ve modelin yeni gelen verilerle tekrardan eğitime sokularak, modelin iyileştirilmesi de adım olarak sayılabilir.
Peki Makine Öğrenmesi‘nin çeşitleri nelerdir?
- Denetimli Öğrenme (Supervised Learning)
- Denetimsiz Öğrenme (Unsupervised Learning)
- Takviyeli Öğrenme (Reinforcement Learning)
Bu üç çeşit dışında, kaynaklarda bir de Semi-Supervised Learning türünü de görmüş olabilirsiniz. Yukarıda saydığım adımlar ve çeşitleri ilerleyen zamanlarda detaylı bir şekilde anlatacağım. Hatta, Veri Bilimi, Makine Öğrenmesi ve Derin Öğrenme anlatımlarında kullanılan terimler için ansiklopedi tarzında, kavramları açıklayan yazılar yazmayı düşünüyorum.
Gelecek yazılarımda buluşmak üzere.
Sağlıcakla kalın!
Kaynaklar:
1- https://hevodata.com/learn/data-science-modelling/
2- https://www.avenga.com/magazine/machine-learning-programming/