Günümüzde veriler, belirli problem türlerini çözmek için kullanılabilecek çok sayıda bilgi içeriyor. Geleneksel veri analizi yaklaşımlarında, verileri manuel olarak inceleyen bir kişi bulunur veya insan analizini otomatikleştiren özel bir bilgisayar programı kullanılıyor olabilir. Ama bu yaklaşımlar, analiz edilecek veri miktarı büyüdüğünde veya sorun karmaşıklaştığında çözülebilecek sınırları aşacaktır.
Makine öğrenimi (ML), verilerdeki kalıpları tanımlamak için “modeller” olarak da bilinen algoritmaları kullanır. Modelin bu kalıpları verilerden öğrendiği sürece ise “model eğitimi” denir.
Bir model eğitildikten sonra, tahminlerde bulunmak için kullanılabilir. Modele yeni veriler sunulduğunda, geçmiş verilerden öğrendiği kalıplara göre tahminler veya kararlar almaya çalışır.
Makine Öğrenimi modelleri üç temel sınıfa ayrılabilir:
- Denetimli Öğrenme(Supervised Learning),
- Denetimsiz Öğrenme(Unsupervised Learning),
- Pekiştirmeli Öğrenme(Reinforcement Learning).
En yaygın kullanılan makine öğrenimi türü Denetimli Öğrenme‘dir. Denetimli Öğrenmede, giriş verileri ve doğru çıktının ne olduğu bir insan(Supervisor) tarafından sağlanır.
Model; girdi verileri ile doğru çıktı arasındaki ilişkileri ve bağımlılıkları belirlemeye çalışır. Bu tür öğrenme, Regresyon ve Sınıflandırma olmak üzere iki tür modelden oluşur.
Regresyon modelleri; sayısal (veya “gerçek”) bir değeri tahmin etmek için kullanılır. Örneğin; coğrafi konum, boyut, yatak odası sayısı ve satış fiyatı gibi ev satışları hakkında geçmiş bilgiler verilirse, benzer özelliklere sahip diğer evler için tahmini satış fiyatını tahmin etmek için bir model eğitebilirsiniz.
Sınıflandırma modelleri; bazı bilgilerin veya verilerin bir kategoriye (veya “sınıfa”) ait olup olmadığını tahmin etmek için kullanılır. Örneğin, bir dizi e-posta için spam olarak kabul edilip edilmeyeceklerini belirleyerek sınıflandırabilirsiniz. Ve böylece, daha sonra alınan e-postaların istenmeyen olup olmadığını tanımlamak için bir algoritma eğitebilirsiniz.
Denetimsiz Öğrenmede, veriler bir insan tarafından etiketlenmez. Modeller verileri analiz etmeli ve özelliklerine göre veriler içindeki kalıpları ve yapıları belirlemeye çalışmalıdır. Kümeleme bu öğrenme stilinin bir örneğidir. Kümeleme modelleri, bir veri kümesinin her kaydını benzer olanları gruplayacak şekilde gruplara ayırmak için kullanılır. Kümeleme modeline bir örnek, üyenin geçmiş alışveriş davranışlarına ve alışveriş sepetlerinin içeriğine dayalı olarak satın alma önerileri sağlamak olabilir.
Başka bir örnek ise, sahte kredi kartı işlemleri veya şüpheli çevrimiçi oturum açma girişimleri gibi bir veri kümesindeki aykırı değerleri tanımlayan anormallik tespitidir. Bu örnekte kullanıcı web sitesine ya da uygulamaya girerken sürekli aynı cihazı kullanıyorken, bu kez tanınmayan bir cihazdan giriş yapılmaya çalışılıyor olabilir. Ya da sürekli aynı şehirden giriş yapıyorken, farklı bir şehirden giriş yapmaya çalışıyor olabilir. Ya da banka uygulamasında sürekli aynı miktarda para transferleri gerçekleştiriyorken, birden çok yüksek miktarda para transferi gerçekleştirmeye çalışıyor olabilir. Bunlar alışılagelmedik anormal davranışlar olarak görülür ve tespit edilirler.
Üçüncü öğrenme türü olan Pekiştirmeli Öğrenme ise, insanların ve diğer organizmaların öğrenme biçimine dayanır. Örneğin, bir labirentteki fareyi düşünün. Fare labirentin sonuna gelirse, bir parça peynir alır. Bu, bir görevi tamamlamanın “ödülü”dür. Fare, olabildiğince fazla peynir almak için labirentten nasıl geçileceğini deneme yanılma yoluyla öğrenir. Başlangıçta farklı yolları dener, ancak bu denemeler sonrasında bulduğu doğru yol üzerinden bir kaç kez geçerek pekiştirdikten sonra, her seferinde direkt olarak doğru yola yönelir ve diğer yollara sapmadan hızlıca hedefine ulaşır.
Benzer şekilde pekiştirmeli öğrenme modeli, mevcut bir ortam verildiğinde, zaman içinde en fazla ödülü almak için yapılacak en iyi hareketleri öğrenir. Bu tür bir öğrenme, son zamanlarda Go, satranç ve popüler strateji video oyunları gibi oyunlarda en iyi insan oyuncuları yenmede çok başarılı oldu.
Derin öğrenme(Deep Learning), özel bir makine öğrenimi türüdür. İnsan beyninin çok çeşitli problemleri çözme şeklini taklit eden genel bir model ve teknik setini ifade eder. Genellikle doğal dili (hem konuşma hem de metin); görüntüleri, ses ve videoyu analiz etmek, zaman serisi verilerini tahmin etmek ve çok daha fazlasını analiz etmek için kullanılır.
Derin öğrenme son zamanlarda bu ve diğer alanlarda çok başarılı olmuştur ve bu nedenle veri bilimi için giderek daha popüler ve önemli bir araç haline gelmektedir. Bir modeli eğitmek için etiketlenmiş büyük veri kümeleri ve yoğun hesaplama işlemleri gerektirir. Bu nedenle, kabul edilebilir eğitim sürelerine ulaşmak için genellikle özel amaçlı donanım gerektirir.
Artık sıfırdan özel bir Derin Öğrenme modeli oluşturabilir veya kamuya açık model depolarından önceden eğitilmiş olan hazır modelleri kullanabilirsiniz.
Derin Öğrenme modelleri TensorFlow, PyTorch ve Keras gibi popüler yazılım çerçeveleri kullanılarak uygulanır. Bu öğrenme çerçeveleri kullanmanız için bir Python API sağlar ve birçoğu C ++ ve JavaScript gibi diğer programlama dillerini de destekler.
Önceden eğitilmiş modelleri, ilginç bir isimlendirmeye sahip olan ve genellikle “model zoo”(model hayvanat bahçesi) olarak adlandırılan online kaynaklardan indirebilirsiniz. Popüler model hayvanat bahçeleri; TensorFlow, PyTorch, Keras ve ONNX tarafından sağlanan modelleri içerir. Modeller ayrıca akademik ve ticari araştırma grupları tarafından da yayınlanmaktadır.
Bir örnek kullanarak, bir model oluşturmada yer alan üst seviye görevleri kısaca özetleyelim;
Varsayalım ki; derin öğrenme modelini eğiterek, uygulamamızın verilen resimlerdeki nesneleri tanımasını sağlamak istiyoruz.
İlk olarak, modeli eğitmek için kullanılacak verileri toplar ve hazırlarız. Veri hazırlama zaman alıcı ve yoğun emek isteyen bir süreç olabilir. Verilen resimlerdeki nesneleri algılamak üzere bir modeli eğitmek için, ham eğitim verilerini etiketlemeniz gerekir. Örneğin, nesnelerin etrafına sınırlayıcı kutular çizebilir ve bunları etiketleyebilirsiniz.
Ardından, sıfırdan bir model oluşturursunuz veya genel ya da özel bir kaynaktan görev için uygun olabilecek mevcut bir modeli seçersiniz.
Daha sonra modeli hazırladığınız veriler ile eğitebilirsiniz. Eğitim sırasında, modeliniz etiketli olan veriler ile bu görüntüdeki nesnelerin nasıl tanımlanacağını öğrenir.
Veri Hazırlama, Model Oluşturma, Model Eğitme adımları istenen sonuca ulaşana kadar tekrar eden bir süreçtir. İşinizin bu bölümü; veri, uzmanlık, zaman ve kaynak gerektirir. Eğitim başladıktan sonra, eğitim sonuçlarını analiz eder ve eğitimli model performansı gereksinimlerinizi karşılayana kadar süreci tekrarlarsınız.
Eğitilmiş model istediğiniz gibi performans gösterdiğinde, son adım olarak onu uygulamalarınızın kullanımına sunacak şekilde yayınlarsınız.
İlgili Yazılar
1 Comments
Comments are closed.
[…] Bir önceki konuda da bahsettiğimiz gibi bir modeli sıfırdan eğitmek için gereken görevler büyük miktarda veri, emek, zaman ve kaynak gerektirir. Bu nedenle, istediğiniz sonuca ulaşma süresi oldukça uzun olabilir. Bu süreyi azaltmak için, belirli sorun türleri için önceden eğitilmiş modellerden yararlanmak, bir çözüm yolu olabilir. Bu önceden eğitilmiş makine öğrenimi modelleri hemen kullanıma hazır olabilir, veya eğitilmesi daha az zaman alabilir. […]