Otomatik makine öğrenimi

**Otomatik makine öğrenimi (AutoML)**, makine öğrenimini gerçek dünya sorunlarına uygulanmasını otomatikleştirme sürecidir.

AutoML, potansiyelinde ham bir veri kümesiyle başlangıçtan dağıtıma hazır bir makine öğrenimi modeli oluşturmaya kadar her adımı içerir. AutoML, makine öğreniminin uygulanmasıyla ilgili giderek artan zorluklara karşı önerilen yapay zeka tabanlı bir çözümdür. AutoML'deki yüksek derecede otomasyon, uzman olmayan kişilerin makine öğrenimi modellerini ve tekniklerini kullanmalarına olanak sağlama amacını taşır ve onların makine öğrenimi konusunda uzman olmalarını gerektirmez. Makine öğrenimini uygulama sürecinin baştan sona otomatikleştirilmesi ayrıca daha basit çözümler üretme, bu çözümlerin daha hızlı oluşturulması ve genellikle elle tasarlanmış modellerden daha iyi performans gösteren modeller gibi avantajlar sunar.

AutoML'de kullanılan yaygın teknikler arasında hiperparametre optimizasyonu, meta-öğrenme ve sinir mimarisi araması bulunmaktadır.

## Standart yaklaşımla karşılaştırma
Tipik bir makine öğrenimi uygulamasında, uygulayıcılar eğitim için kullanılacak bir dizi giriş veri noktasına sahiptir. Ham veriler tüm algoritmaların uygulanabileceği biçimde olmayabilir. Veriyi makine öğrenimine uygun hale getirmek için bir uzmanın uygun veri ön işleme, özellik mühendisliği, özellik çıkarma ve özellik seçme yöntemlerini uygulaması gerekebilir. Bu adımlardan sonra uygulayıcılar, modellerinin tahmin performansını maksimize etmek için algoritma seçimi ve hiperparametre optimizasyonu gerçekleştirmelidir. Derin öğrenme kullanılacaksa sinir ağının mimarisinin de makine öğrenimi uzmanı tarafından seçilmesi gerekir.

Bu adımların her biri, makine öğrenimini kullanılma konusunda önemli engellere yol açabilecek zorluklar içerebilir. AutoML, uzman olmayanlar için bu adımları basitleştirmeyi, makine öğrenimi tekniklerini doğru ve etkili bir şekilde kullanmalarını kolaylaştırmayı amaçlamaktadır.

AutoML, veri mühendisliği, veri keşfi, model yorumlama ve tahmin gibi zorlu görevler de içeren veri bilimini otomatikleştirmeye yönelik daha geniş bir yaklaşım içerisinde önemli bir rol oynar.

## Otomasyonun hedefleri

Otomatik makine öğrenimi, makine öğrenimi sürecinin çeşitli aşamalarını hedefleyebilir. Otomasyon için adımlar şunlardır:

* Veri hazırlama ve alma (ham verilerden ve çeşitli formatlardan)
**Sütun tipi tespiti; örneğin boolean, ayrık sayısal, sürekli sayısal veya metin
**Sütun amacı tespiti; örneğin hedef/etiket, sınıflandırma alanı, sayısal özellik, kategorik metin özelliği veya serbest metin özelliği
**Görev tespiti; örneğin ikili sınıflandırma, regresyon, kümeleme veya derecelendirme
*Özellik mühendisliği
**Öznitelik Seçimi
**Özellik çıkarma
**Meta-öğrenme ve transfer öğrenimi
**Çarpık verilerin ve/veya eksik değerlerin tespiti ve işlenmesi
*Model seçimi - genellikle birden fazla rakip yazılım uygulaması dahil olmak üzere hangi makine öğrenimi algoritmasının kullanılacağını seçme
*Birleştirme - birden fazla model kullanmanın genellikle tek bir modelden daha iyi sonuçlar verdiği bir fikir birliği biçimi
*Öğrenme algoritmasının ve özelliğinin hiperparametre optimizasyonu
*Zaman, bellek ve karmaşıklık kısıtlamaları altında işlem hattı seçimi
*Değerlendirme metriklerinin ve doğrulama prosedürlerinin seçimi
*Sorun kontrolü
**Sızıntı tespiti
**Yanlış yapılandırma tespiti
*Elde edilen sonuçların analizi
*Kullanıcı arayüzleri ve görselleştirmeler oluşturma

## Zorluklar ve Sınırlamalar
Otomatik makine öğrenimi etrafında ele alınan bir dizi önemli zorluk bulunmaktadır. Bu alandaki büyük bir sorun, "ev endüstrisi olarak geliştirme" olarak adlandırılan bir durumu içermektedir. Bu ifade, makine öğreniminde gelişmenin uzmanların manuel kararlarına ve önyargılarına dayanmasına atıfta bulunur. Bu durum, makine öğreniminin amacıyla çelişir; çünkü amaç, sistemlerin kendi kullanımlarından ve verinin analizinden öğrenip gelişmesine izin veren sistemler oluşturmaktır. Temelde, uzmanların sistemlerin öğrenmelerine ne kadar müdahil olmaları gerektiği ile makinelerin ne kadar özgürlüğe sahip olmaları gerektiği arasındaki bir mücadeleyi yansıtmaktadır. Ancak uzmanlar ve geliştiriciler, bu makineleri kendileri öğrenmeleri için hazırlamak ve yönlendirmek konusunda yardımcı olmalıdır. Bu sistemleri oluşturmak için, makine öğrenimi algoritmaları ve sistem tasarımı bilgisine dayalı yoğun emek gerektiren bir çalışma gerekir.

Ek olarak, diğer zorluklar arasında meta-öğrenme zorlukları ve hesaplamalı kaynak tahsisi bulunmaktadır.

## Kaynakça

## Konuyla ilgili yayınlar

* 
* Ferreira, Luís, et al. "A comparison of AutoML tools for machine learning, deep learning and XGBoost." 2021 International Joint Conference on Neural Networks (IJCNN). IEEE, 2021. https://repositorium.sdum.uminho.pt/bitstream/1822/74125/1/automl_ijcnn.pdf
* Feurer, M., Klein, A., Eggensperger, K., Springenberg, J., Blum, M., & Hutter, F. (2015). Efficient and robust automated machine learning. *Advances in neural information processing systems*, *28*. https://proceedings.neurips.cc/paper_files/paper/2015/file/11d0e6287202fced83f79975ec59a3a6-Paper.pdf