Google Colab Üzerinde Keras ile Veri Çoğaltma (Data Augmentation) | Keras

Derin öğrenme yaklaşımlarında genel görüş ne kadar çok veri mevcutsa modelin o kadar iyi öğreneceğidir. Mevcut veri setinden veri üretme işlemine  “Data Augmentation” nedir.  Nesne tanıma problemlerinde genellikle orjinal resmi döndürme (rotation), öteleme (translation), ölçekleme (scaling), resme gürültü (Gauss vb.) ekleme (add noise), resmi belirli bölgeden kırpma (cropping) gibi farklı teknikler uygulanmaktadır.

Yazı da Google Colab üzerinde içinde verileriniz (bu örnekte resimlerin) sırayla alınıp çoğaltılıp klasöre eklenme örneğidir.

Orjinal resimler :

Çoğaltılan resimler:

Bu slayt gösterisi için JavaScript gerekir.

Kodlar: https://gist.github.com/bulentsiyah/5147fc9f090e5f1bad93f400ebd54b36

Google Colab Üzerinde Generative Adversarial Networks (GAN) ile MNIST Data Setinden Veri Üretme | Keras

Generative Adversarial Networks, 2014 yılında Ian Goodfellow ve çalışma grubu tarafından NIPS konferansında tanıtılmıştır. Facebook’un Yapay Zeka Direktörü Yann LeCun’a göre Machine Learning alanında son 10 yılda yapılmış en ilgi çekici fikirdir.

 

 

Keras ile yapılmış basit GAN örneği:

Cpu ile test edildiğinden epoch 1 verilmiştir. Epoch 1 iken yaratılan 49 resim:

Google Colab ile üretilirken epoch 5 verilmesine rağmen dakikalar sürmüştür.

Kodlar : https://github.com/bulentsiyah/Google-Colab-Generative-Adversarial-Networks-GAN-ile-MNIST-Data-Setinden-Uretme-

 

MNIST Data Setiyle Kaggle Yarışması – Google Colab | Kaggle

Kaggle, machine learning denilince akla gelen ilk sitelerden birisi. Sebebi de, birçok kurumsal şirketin, Kaggle üzerinden açmış olduğu yarışmalar. Bu yarışmalar da çoğu zaman genel machine learning problemleri(classification, regression, clustering vb.) üzerine kuruluyken, kimi zaman optimizasyon problemleri de karşınıza çıkabiliyor. Bu yarışmalara ücretsiz bir şekilde katılmanız için de yapmanız gereken tek şey Kaggle’a üye olmak.

Girmiş olduğum yarışma da MNIST data setiyle en yüksek oranda el yazısyla yazılmış rakam sınıflandırmaydı. Yarışma detayı https://www.kaggle.com/c/digit-recognizer

Çözüm başlangıç düzeyinde derin öğrenme bilgisi olanların anlayacağı şekildedir. Öncelikle Tensorflow Dense Layer adı verilen çok katmanlı düzleştirilmiş sinir ağlarıyla (düşük başarı oranı yüzde 91 ler) gözlemlenmiştir. Ardından CNN(Konvolüsyonel sinir ağları) ile başarı oranı yüzde 99 küsürlere erişilmiştir. Çözüm içerisinde hem Tensorflow hem de Keras ile ilgili CNN kodları mevcut olup Kerasın inanılmaz kolaylığı gözlenebilmektedir. Kerasla Dropout, Batch Normalization  yapılmıştır.

Çözüm Kaggle kerneli : https://www.kaggle.com/bulentsiyah/mnist-for-beginners-tensorflow-dnn-cnn-keras

Kodlar Google Colab: https://github.com/bulentsiyah/MNIST-Data-Setiyle-Kaggle-Yarismasi—Google-Colab

Bu slayt gösterisi için JavaScript gerekir.

Machine Learning Egzersizleri | Kaggle

Merhaba, makine öğrenmesi alanında methodlarla ilgili kodlar bulunmaktadır. Kodların orjinali ve anlık çıktıları Kaggle sayfamda bulunmaktadır.

Kaggle linki: https://www.kaggle.com/bulentsiyah/machine-learning-exercise

İçindekiler:

  • Linear Regression
  • Multiple Linear Regression
  • Polynomial Linear Regression
  • Support Vector Regression
  • Decision Tree Regression
  • Random Forest Regression
  • K-Nearest Neighbour (KNN) Classification
  • Support Vector Machine (SVM) Classification
  • Naive Bayes Classification
  • Decision Tree Classification
  • Random Forest Classification
  • K-Means Clustering
  • Hierarchical Clustering
  • Natural Language Process (NLP)
  • Principal Component Analysis (PCA)
  • Model Selection
  • Recommendation Systems

Bu slayt gösterisi için JavaScript gerekir.

Data Science ve Data Visualization Egzersizleri | Kaggle

Merhaba veri bilimi ve veri görselleştirme alanları için popüler olan Python diliyle ilgili kodlar bulunmaktadır. Kodların orjinali ve anlık çıktıları Kaggle sayfamda bulunmaktadır.

Bu slayt gösterisi için JavaScript gerekir.

Kaggle linki: https://www.kaggle.com/bulentsiyah/data-science-and-visualization-exercise

İçindekiler:

Cleaning Data

Manipulating Data Frames with Pandas

Seaborn

Plotly

Visualization Tools

 

 

 

Python Egzersizleri | Kaggle

Merhaba veri bilimi ve makine öğrenmesi alanları için popüler olan Python diliyle ilgili kodlar bulunmaktadır. Kodların orjinali ve anlık çıktıları Kaggle sayfamda bulunmaktadır.

Bu slayt gösterisi için JavaScript gerekir.

Kaggle linki: https://www.kaggle.com/bulentsiyah/python-exercise

Okumaya devam et “Python Egzersizleri | Kaggle”

Genetik Algoritma ile Dağıtım Problemi-Araç Rotalama Problemi (Genetik Algoritma, C#)

Bu slayt gösterisi için JavaScript gerekir.

Projenin Kodları

Tüm projeyi İNDİR: Program Kodu

GİRİŞ

        21.yüzyılın dünyasında bilgisayarın daha etkin kullanılması ile birlikte özellikle büyük firmalar dağıtım ağ yapılarını yeniden düzenlemektedirler. Optimal dağıtım yöntemleri zaman, maliyet ve kalite açısından işletmelere rekabet avantajı kazandırmaktadır. Özellikle coğrafi açıdan ulaşımın zor olduğu bölgelere uygun dağıtım kanalının seçilmesi müşterileri ihtiyaçlarının zamanında temin edilmesini sağlar. Araç güzergahlarının belirlenmesi, taşıma yapacak araç tiplerinin seçimi, araç kapasitelerinin düzenlenmesi ve ürünlerin yerlerine ulaşımının takip edilmesi gerekmektedir. Böylelikle işletmeler rekabetçi ortamda rakipleri karşısında önemli pazar payı elde etmektedirler.

        Araç Rotalama Problemi (ARP),    “bir noktadan başlayarak farklı düğüm noktalarına (şehir, hedef, vs.),en kısa süre veya en düşük maliyetle en az sayıda araç ile uğranılmasını eniyileyen problem çeşitidir”(Pakkan vd. 2010:78). ARP ilk olarak Danzig ve Ramser tarafından 1959 yılında tanımlanmıştır.  Temelde depodan çıkan araç her bir müşteriye bir kez uğrar ve depoya tekrar döner.  Firma tarafından gönderilen araç sayısı ve gidilen müşteri sayısı az ise çözüme kesin çözüm algoritmaları ile kolaylıkla ulaşılabilir. Müşteri sayısı ve dağıtımı yapan araç sayısı arttıkça bilgisayar işlem süresi uzamaktadır. ARP çözümü zor olan problemler (NPL-Hard) için kesin çözüm algoritmaları yerine sezgisel ve metasezgisel yöntemler kullanılmaktadır(Çolak vd. 2009:171-173).

Okumaya devam et “Genetik Algoritma ile Dağıtım Problemi-Araç Rotalama Problemi (Genetik Algoritma, C#)”