Makine Öğrenmesi Üzerine Teknik İnceleme

Makine Öğrenmesi ile ilgili ilerleyen konuların daha iyi anlaşılabilmesi için Makine Öğrenmesi algoritmaları hakkında bazı teknik bilgilere değinmek istiyorum. Başlangıç olarak, algoritmaların neler olduğunu ve nasıl çalıştıklarını anlatmaya başlamadan önce Makine Öğrenmesinin alt başlıklarını görebileceğiniz, aşağıdaki şekli incelemenizi tavsiye ederim. (Kaynak : http://www.isaziconsulting.co.za/machinelearning.html)

Makine Öğrenmesi problemleri, çözülmek istenen problemin karakteristik özelliklerine göre 3 ana kategori altında toplanabilir. Bu kategoriler Eğitimli Öğrenme (Supervised Learning), Eğitimsiz Öğrenme (Unsupervised Learning) ve Reinforcement Learning.

Eğitimli Öğrenme Yöntemleri, kullanılacak dataset içerisindeki örneklerin ne olduğu hakkında bilgi sahibi olduğumuz problemelerdir. Her örneğin bir etiketi, yani sahip olduğu bir sınıfı vardır. Örneğin; bir sepet içerisinde 3 adet elma, 2 adet armut var ise “elma” ve “armut” sepet içerisindeki örneklerin ait oldukları sınıfları ifade eder. 

Eğitimli Öğrenme Yöntemleri genel olarak iki alt kategoriden oluşur. Bunlar; Sınıflandırma (Classification) ve Regresyon (Regression) problemleridir. Sınıflandırma Problemlerinde elimizdeki datasetteki örnekler birbirlerinden farklı sınıf bilgisiyle etiketlenmiştir. Algoritma çıktısı test etmek istediğimiz çıktının hangi sınıfa ait olduğunu bulabilmektir. Verikümesi içerisindeki örneklerin birbirlerin farklı sınıflarla etiketlenmesi durumunda, yani elimizde continious veri var ise bu tip problemler de Regresyon problemleri olarak adlandırılır. Sınıflandırma problemleri ile regresyon problemleri arasındaki fark, sınıflandırma problemlerinde ayrık sınıf etiketleri kullanılırkeni regresyon veri kümelerinde continuous değerleri kullanılır.

Eğitimsiz Öğrenme Problemleri, datasette bulunan örnekler hakkında sınıf bilgisine sahip olmadığımız problemlerde kullanılır. Bu tarz problemlerde, dataset içerisindeki örneklerin birbirlerine olan benzerliklerine göre bir araya toplanması, yani kümelenmesi sıklıkla kullanılır. Bu işlem için sınıf bilgisi kullanılmaz verileri, sahip olduğu özellik değerleri karşılaştırılarak birbirlerine benzer olan örnekler bir araya toplanır. Eğitimsiz Öğrenme Teknikleri; Kümeleme (Clustering) ve Boyut Azaltma (Dimensionality Reduction)  olmak üzere iki ana başlık altında toplanabilir.

Eğitimli Öğrenme Yöntemleri ile Eğitimsiz Öğrenme Yöntemleri arasında en önemli fark; Eğitimli Öğrenme Yöntemlerinde sınıf bilgisinin kullanılması ve Eğitimsiz Yöntemlerde bu sınıf bilgisinin olmamasıdır.

Takviyeli Öğrenme (Reinforcement Learning),Machine Learning’in bir alanı olup davranış psikolojisinden yola çıkılarak keşfedilen aynı zamanda yapay zekada da kullanılan bir öğrenme yöntemidir. Daha çok amaca odaklı bir öğrenme yöntemi olduğu için Machine Learning’in diğer yaklaşımlarından ayrılıyor. Asıl amaç agent’in (öğrenen etkenimiz) çevreyle etkileşerek çevreden geri bildirim alıp -bu geri bildirime reward (ödül) diyoruz- ödülleri maksimuma çıkartarak optimum policy’i(hareket tarzı) bulmasıdır.
Öğrenme dediğimizde aklımıza ilk gelen elbette bulunduğumuz çevreyle olan etkileşimimiz sayesinde elde ettiğimiz neden-sonuç ilişkisidir. Henüz öğrenme çağındaki bir bebeği düşündüğümüzde sıcak bir çaya dokunduğunda elinin yanmasıyla bir daha çaya dokunmak istemeyecektir.Bu durumda öğrenme bebeğin çevresiyle olan etkileşimi ve çevreden geribildirim almasıyla -bu durumda negative reward(ödül) diyebiliriz- gerçekleşir.

Genel olarak, eğitim aşamasında kullanılan veri kümesinin kalitesi, yüksek doğruluk oranı için en önemli etkenlerden birisidir. Modelimiz tamamlandığında, sınıf bilgisini bilmediğimiz test örnekleri işlenebilecektir.

Makine Öğrenme uygulamaları birbirinden bağımsız iki aşamanın gerçeklenmesi ile ortaya çıkar. Bu aşamalardan ilki Eğitim Aşamasıdır, diğeri ise Test Aşaması. Eğitim aşaması, sistemin problemin çözümünü öğrendiği aşamadır. Bu aşamada bir makine öğrenmesi algoritması, bir veri kümesi üzerinde koşturulur. Veri kümesi hangi probleme yönelik ise o problem sistem tarafından öğrenilerek bir model oluşturulur. Model sistemin karar mekanizmasıdır ve çözülmek istenen problemi tanımlar.

Test aşamasında, sistemin öğrenmiş olduğu model test edilir. Böylece modelimizin ne kadar başarılı olduğunu analiz edebiliriz. Test sonuçlarına göre tasarlanan sistemin problem çözümünde ne kadar başarılı olduğu üzerine değerlendirmeler yapılır.

Son olarak, makine öğrenmesi ile problemlerde öğrenme işlemi tek seferde (Batch Learning) yapılabileceği gibi sürekli (Incremental Learning)bir şekilde de yapılır. Siber güvenlik alanında çalışılan makine öğrenmesi konuları hakkında genel bir sınıflandırma aşağıda verilmiştir. Konular, grafikte üzerine sık çalışılan yöntemlere göre konumlandırılmıştır. Tasarlanacak sisteme bağlı olarak konuların grafikte yerleri değişebilir.

Add a Comment

Your email address will not be published. Required fields are marked *