Merhabalar,
Yazılım Köyündeki ilk yazımı paylaşmanın mutluluğunu yaşıyorum. Yazılarım genellikle yapay zeka ile ilgili olacak fakat zaman zaman kullandığım teknolojiler ile ilgili de yazılar hazırlamaya çalışacağım. İlk yazımda ise sizlere makine öğrenmesi nedir, ne tür öğrenme yöntemleri kullanılmaktadır gibi makine öğrenmesine genel bir bakış tadında yazı hazırladım. Keyifle okumanız dileklerimle..
Makine öğrenmesinin tanımını yaparak başlamak istiyorum. Makine öğrenmesi, bilgisayarların programlama yapmadan sisteme verilen bilgiler ışığında programın insan gibi davranmasını, öğrenmesini sağlayan yapay zekanın alt dalıdır. Makine öğrenmesi aslında şuna benziyor: Çok küçük yaşlarda çevremizdeki çoğu nesneyi tanımıyoruz. Örneğin, bir kalemden yola çıkacak olursak, yazı yazmaya başladığımız çocukluk dönemlerimizde çevremizdeki insanların bak bu kalem bununla yazı yazabilirsin dedikleri olmuştur. Daha sonra farklı yerlerde farklı türden kalemler görmeye başlarız. Örneğin, ilk gördüğümüz kaleme göre daha uzun kalem görürüz, daha kısa olanı görürüz veya daha kalın olanı görürüz ve bu bize aslında tek çeşit bir kalem olmadığını aslında farklı türlerde kalemlerin olduğunu ve aynı amaca hizmet ettiğini zamanla öğretir. Makine öğrenmesi de tam olarak böyle çalışıyor diyebiliriz. Siz ilk başta bazı nesneleri sisteme veri olarak veriyorsunuz. Sistem bu verilerden öğreniyor ve yeni veri geldiği zaman eski verilerden öğrendikleri doğrultusunda gerekli işlemleri yapıyor.
Makine öğrenmesini 4 ana başlık altında toplayabiliriz. Bunlar sırasıyla, Supervised Learning, Unsupervised Learning, Semi-supervised Learning, Reinforcement Learning. Sırasıyla detaylı olarak bu başlıkları inceleyelim.
Supervised Learning
Supervised Learning algoritması bilinen bir girdi verisi seti ve verilere bilinen yanıtları alır, ardından yeni verilere yanıt için makul tahminler oluşturmak üzere bir modeli eğitir. Tahmin etmeye çalıştığınız çıktı için bilinen verileriniz varsa denetimli öğrenmeyi kullanabilirsiniz. Örnek verecek olursak, elimizde elmanın mevsimlerine göre fiyat listesinin olduğunu ve bu fiyatları belirlerken duruma etki eden bazı faktörler olduğunu düşünelim (nem, sıcaklık, yağmur gibi). Biz bu faktörleri düşünerek gelecek ayda ki elma fiyatının ne kadar olacağını tahmin edecek bir program yazmak istiyorsak supervised learning kullanabiliriz.
Supervised Learning, Regression ve Classification olmak üzere 2 ana başlıkta toplayabiliriz. Yukarda verdiğim örnek Regression için güzel bir örnekti. Classification için ise şöyle bir örnek verebilirim: Diyelim ki sosyal bir deney yapmak istiyorsunuz. Sosyal deneyde kişilerin eğitim durumu, yaşları, kaç yabancı dil bildikleri gibi bazı parametreler içeriyor ve siz bu kişilerden aldığınız cevaplara göre sınıflandırma yapmak istiyorsanız supervised learning kullanabilirsiniz.
Unsupervised Learning
Unsupervised Learning, modeli denetlemenize gerek olmayan bir makine öğrenme tekniğidir. Bunun yerine, modelin bilgileri keşfetmek için kendi başına çalışmasına izin verilir. Unsupervised learning sisteme labeller üzerinde bir öğretme işlemi yapılmıyor, sistem verilerden kendisi öğreniyor. Bu tarz öğrenme algoritmasına verilecek en yaygın örnek Clustering (Kümeleme) dir. Clustering algoritmaları, kategorize edilmemiş verilerden oluşan bir koleksiyonda bir yapı veya model bulma ile ilgilenir. Clustering algoritmaları verilerinizi işler ve verilerde varsa doğal kümeleri bulur.
Semi-supervised Learning
Semi-supervised Learning, genellikle çok sayıda etiketlenmemiş veri ve biraz etiketlenmiş veriden oluşmaktadır. Örnek olarak, bir platforma aileniz ile birlikte çekilmiş bir sürü fotoğraf yüklüyorsunuz ve daha sonra yeni bir fotoğraf yüklediğiniz zaman sistem eski fotoğraflar ile yeni yüklenen fotograflardaki benzer kişileri buluyor ve size etiketleme yapmak için kolaylık sağlıyor. Bu tarz bir program yapmak istiyorsanız semi-supervised learning algoritmalarını kullanabilirsiniz.
Reinforcement Learning
Pekiştirmeli öğrenme, makine öğrenmesinin alt kollarından biri olup, tamamen amaca yönelik hareket etmektedir. Oluşturulan tüm agentlarının birer açık hedefleri vardır. Bulundukları ortamları keşfedebilir ve ortam için uygulanabilecek en doğru eylemi seçebilirler.
Agent, Environment’a göre bir action gerçekleştirir (policy) ve buna karşılık olarak Environment tarafından bir tepki bekler. Ortaya çıkan tepkiler daha öncesinde belirlenmiş bir ödül sistemine tabi tutulmaktadır. Kazanılan bu rewardler ile agent eğitilmeye başlar ve yaptığı her hareketin doğru ve yanlış olduğunu anlamlaştırır. Eğitimini tamamlayabilmesi için çeşitli eylemler gerçekleştirmeli ve bunları birçok kez uygulaması gerekmektedir.
Makine öğrenmesi temelleri üzerine yazdığım yazınında sonuna gelmiş oldum. Okuduğunuz için teşekkür ederim. Umarım keyif almışsınızdır..