Auto-Sklearn ile Auto ML

Makine öğrenmesi yöntemlerinin en zor ve sinir bozucu kısımı parametre optimizasyonudur. Yapması oldukça zordur ve insan gözü ile arttırımlı bir yaklaşım sergilemekte oldukça güçtür.

Parametre kestirme işini çözmek için öncelikle çeşitli metodlar ortaya atılmıştır: İlk akla gelen elbette Brute Force yaklaşımdır ki yüksek sayıda parametre içeren uzayımızda neredeyse imkansızdır. Birde Random yaklaşım kullanılmıştır ki yani bir şeydir sonuçta. Günümüzde ise Bayesian Optimization yöntemi kullanmaya başlamıştır. Basitçe önceki örneğin etkisi ile çalışan Bayesian Optimization oldukça popülerdir. Hinton insandan daha iyi yakınsama yaptığını söylemiştir.

Auto-Sklearn işte Bayesian Optimization yöntemi ile ve başlangıç yöntemini değiştirerek (başka şeyler de var) optimal parametreleri bulmamızı sağlar. Parametreleri ve Algoritmaları açıkca görebildiğimiz için yeniden kullanmamız oldukça kolay olmaktadır ki belkide elimizdeki bu parametre arkadaşlara tecrübe dersek yanlış da olmaz.

Kullanma aşamasına gelirsek kullanması oldukça kolay:

Evet yukarıdaki kodu kullanarak teoride işlemi gerçekleştirebilirsiniz. Ancak zaman kısıtı ile karşı karşıya olduğunuzda belirtilen şekilde kullanmak hiç mantıklı olmayabilir. Mantıklı bir şekilde düşünecek olursak belli bir süre sonra zaten bayesian optimizationun gereği olarak belli bir bölgede sıkışıp kalacaktır. Hem her bir iterasyonun süresini hemde genel süreyi sınırlandırmamız en azından zaman kısıtı olan ortamlarda kullanılabilir. Kısıtı şu şekilde constructorımıza ekliyoruz:

autocls=autosklearn.classification.AutoSklearnClassifier( time_left_for_this_task=totaltime, per_run_time_limit=perrun)

Belirtilen şekilde işlemin süresini kısaltabilirz.

Gerçek bir problemde işlemi hızlandırmamız gerektiğinde ise auto-sklearnün kendi sitesinde öneriler bize kucak açmaktadır. Öneriler:

1- Preprocessingi kapatma

2- Sadece belli algoritmalar için çalıştırma

AutoML gerçekten son yıllarda kullanımı artan bir alan ve hakkında çalışma yapmak da oldukça cezbedici. Üstelik insanı şu haliyle bile büyük bir yükten kurtarmakta. Auto Machine Learning yaklaşımları Deep Learning’deki Parametre optimizasyonu işlemleri içinde kullanılmakta ve burada da bir şeyler yapılabilir. AutoMl ile şirketler belki 1 çalışan daha az çalıştıracaklar ki gerçekten olası bir durum.

Kaggle yaptığım bir örnek uygulamayı şöyle bırakayım:

Kaynaklar

Feurer, M., Springenberg, J. T., Klein, A., Blum, M., Eggensperger, K., & Hutter, F. (2015). Efficient and Robust Automated Machine Learning. Proceedings of the 28th International Conference on Neural Information Processing Systems, 2755–2763.

Computer Engineer,Sociologist, CSE Master Student

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store