İnternetin tüm Dünya’yı sardığı bu zamanda, web uygulamalarında da makine öğrenme tabanlı alt yapı çalışmaları yapılmaktadır. Özellikle büyük hizmetler veren sosyal ağlar, arama motorları, medya içeriklerine sahip uygulamalar makine öğrenme altyapısını hayata geçirmişlerdir.
Yapay zeka ve makine öğrenmenin bu kadar yaygınlaşmasıyla pek çok büyük firma (Google, Amazon gibi), konu ile ilgili yatırım yaptılar. Metin tanıma, yüz belirleme, yer işaretlerini öğrenme gibi konularda apiler geliştirerek makine öğrenme ile ilgili uygulamaları desteklemeye başladılar.
Hangi Web Uygulamalarında Kullanılır?
Kontrol edilemeyecek büyüklükteki verilerin sınıflandırılması esnasında machine learning kullanılır. Sosyal ağlarda yüz belirleme bunlara bir örnek, fotoğraftaki kişiye göre kime ait olduğunun sınıflandırılması makine öğrenme algoritmaları tarafından yapılır, ya da izlediğiniz videolara göre sıradakinin tercih edebileceğiniz bir video olması, pek çok kişinin de o videoyu tercih etmesinden kaynaklanmaktadır.
Machine learning geliştirmeleri için en çok kullanılan araçlar;
Tensorflow
Tensorflow bilindik bir ML kütüphanesidir. Javascript tabanlıdır. Google takımı tarafından geliştirilmiştir. Tamamen ücretsizdir.
Google Cloud ML Engine
Google Cloud ML Engine’i bir hizmet olarak düşünebilirsiniz. Bir merkez tarafından host edilir ve kullanıcı bu servisi kullanarak optimum bir ML motoruna sahip olur. Ücretli bir servistir.
Amazon Machine Learning
Amazon Machine Learning cloud-based geliştirilmiş bir servistir. Hem mobil hem de web uygulamalarında kullanıla bilinir. Görsel grafikler ve wizardları vardır. Ücretli bir servistir.
Accord.net
.Net ile geliştirilmiş bir ML aracıdır. İmaj dosyaları ve ses işleme konusunda özelleşmiştir.
Apache Mahout
Matematik, istatistik ve data bilimi konusunda uzman bir araçtır. Ücretsizdir.
Shogun
C++ ile geliştirilmiş bir araçtır. Python, Java, Octane, C#, Ruby, Lua gibi dilleri desteklemekte ve Linux/Unix, MacOs ve Windows platformlarında çalışabilmektedir. Ücretsizdir.
Oryx 2
Büyük ölçekli ve gerçek zamanlı işlemlerde optimum bir şekilde çalışabilmektedir. Uçtan uca uygulamalarda filtre, paket ve kümleme işlemlerini yapabilmektedir.
Apache Singa
İmage recognition (resim tanıma) ve natural language processing konularında ön plana çıkmaktadır.
Apache Spark MLlib
Büyük ölçekli projeler için geliştirilmiştir. Birden fazla datasource tarafından veri beslemesine izin verir. Java, Scala, Python, R ve Sql dilleri ile uyumludur. Hadoop, Apache Mesos, Kubernetes platformlarda veya Cloud tabanlı olarak çalışabilmektedir.
Google ML Kit for Mobile
Geliştirici mobil uygulama üstünde face detection, text recognition, landmark detection gibi işlemler gerçekleştirmek istiyorsa Google ML Kit for Mobile’ı kullanabilir. Uygulama üstünde ya da cloud olarak hizmet verebilmektedir.
Apple Core ML
Apple Core ML mobil uygulamanın içine entegre edilmek üzere geliştirilmiştir. Böylece GPU ve CPU üzerinde tam yetkiye sahip olabilme gibi bir avantaja sahiptir. Temel bazı kütüphaneleri içinde barındırmaktadır (analyzing image, natural language processing, speech to text vs.).
Sonuç
Pek çok firmanın geliştirmiş olduğu bu araçlar web ve mobil uygulamalar üzerinde kullanılmaktadır. Buradaki önemli olan nokta geliştirici için (bütçe ve fonksiyonlar) en doğru aracı bulmasıdır. Bunun için geliştirme öncesinde araçların özelliklerini fiyatlar detaylı bir şekilde incelenmelidir.
