Core ML ile Cinsiyet Tahmini (CoreML Convert Model) | IOS

Merhaba, Core ML ile temel bir örnek olması amacıyla oluşturulmuştur. Örnekte GenderByName.mlmodel isimli modelle girilen isim bilgine göre tahmin yapılmaktadır.

Bu slayt gösterisi için JavaScript gerekir.

Okumaya devam et “Core ML ile Cinsiyet Tahmini (CoreML Convert Model) | IOS”

Android’de MNIST veri setiyle Önceden Eğitilmiş TensorFlow Modelini Kullanma | Android

Merhaba, uygulama ile MNIST veri seti kullanılarak basit tek katmanlı sinir ağına sahip, eğitilmiş bir model bulunmaktadır. Model basitçe oluşturulmuş hedef export edilen bir modeli Android içerisinde çalıştırmaktır.  Bu model PyCharm ile hazırlandı.

Bu slayt gösterisi için JavaScript gerekir.

Model detayı:

MNIST_Model.py

Okumaya devam et “Android’de MNIST veri setiyle Önceden Eğitilmiş TensorFlow Modelini Kullanma | Android”

Yapay Sinir Ağı ile XOR Kapısı (PIC Assembly)

ÖZET

Bu çalışmada, bir mikrodenetleyiciye yapay sinir ağını gerçekleyebilmesini sağlayacak bir program yazılması amaçlanmıştır. Hazırlanan yapay sinir ağı, program içerisine gömülü olan XOR doğruluk tablosuna göre eğitilir ve mikrodenetleyicinin giriş portlarından alınan giriş verilerini kullanarak çıkış üretir. Çalışmada, öğrenme metodu için geri yayılım metodu, aktivasyon fonksiyonu için basamak fonksiyonu, ağırlık güncellemeleri için Hebbian Kuralı kullanılmıştır. Geliştirilen uygulama, PIC Assembly dili ile PIC16F84 mikrodenetleyicisi için kodlanmıştır. Uygulama, öğrenme işlemini başarı ile gerçekleştirerek, denenen tüm giriş verileri için doğru sonuçlar üretmiştir.

1.GİRİŞ

XOR (özel veya) problemi sahip olduğu doğrusal olmayan yapı sayesinde sınıflama ve modelleme algoritmalarının test edilmesi ve başarılarının ölçülmesinde önemli bir ölçüttür. Çalışma XOR kapısının yanında farklı birçok amaçla da kullanılabilir. Çalışma bir sisteme dahil edilip, sistem ve mikrodenetleyiciye paralel veri girişi sağlanabilir. Giriş verilerini alarak eğitilen mikrodenetleyici, daha sonra kendi çıkış verileri ile sistemin çıkış verilerini karşılaştırabilir. Verilerin doğru olmaması gibi durumlarda sistemdeki hataları gidermede kullanılabilir.

Çalışmada yapay sinir ağı, 1 giriş, 1 ara ve 1 çıkış katmanlarından oluşur. Giriş katmanı ise 2 nöron ve 1 bias olmak üzere 3 giriş, 3 ara nöron ve 1 çıkış nöronundan oluşur. Giriş nöronu dışındaki nöronlar için bir aktivasyon fonksiyonu vardır. Her nörondan diğer nörona giden bir bağlantı bulunur ve bu bağlantının bir ağırlığı vardır. Her bir giriş ile ona ait ağırlık değeri çarpımlarının toplanmasına toplama işlevi denir. Nöronların değerleri aktivasyon fonksiyonu ile belirlenir. Çıkış nöronunda elde edilen değer ile hedef değer farklı ise geri yayılımlı olarak ağırlıklar tekrar hesaplanır ve öğrenme gerçekleştirilir. Öğrenme işlemi için çalışmada Hebbian Kuralı uygulanmıştır. Böylece her bağlantıdaki ağırlık güncellenerek baştan hesaplanır ve işlem hedef sonuca ulaşana kadar devam eder. Uygulamadaki hedef sonuçlar için XOR kapısının doğruluk tablosu kullanılmıştır.

XOR kapısından gerçekleştirilmeden önce ilk olarak tek nöronlu yapay sinir ağı gerçekleştirilmiştir. Giriş verisi rastgele bir ağırlık ile çarpılıp, belli bir eşik değerden geçirilmiş ve çıkış değeri elde edilmiştir. İkinci aşama olarak AND kapısı gerçekleştirilmiştir. AND mantık kapısının seçilmesinin nedeni, yapay sinir ağı ile öğrenmenin  kolay bir şekilde gerçekleşebilmesidir. AND kapısının kolay olmasını sağlayan durum, bir doğru ile kolaylıkla sınırlandırılabilmesidir. Bunun dışında AND kapısı için bias değerine ihtiyaç duyulmaz, böylece giriş sayısı değişmez ve daha az ağırlık değeri ile işlem gerçekleştirilir. XOR kapısından önce bu iki aşama tamamlanmıştır.

Uygulama sonuçları Tüm farklı giriş verileri, mikrodenetleyiciye aktarılıp elde edilen çıkış verileri doğruluk tablosu ile karşılaştırıldığında tüm sonuçların doğru olduğu gözlemlenmiştir.

Okumaya devam et “Yapay Sinir Ağı ile XOR Kapısı (PIC Assembly)”

Yapay Sinir Ağı ile AND Kapısı (PIC Assembly)

Bu çalışmada, bir mikrodenetleyiciye yapay sinir ağını gerçekleyebilmesini sağlayacak bir program yazılması amaçlanmıştır. Hazırlanan yapay sinir ağı, program içerisine 48. satırda bulunan hsonuc (Hedef Sonuç) isimli değişkene göre eğitilir ve program kodunun 44 ve 46. satırlarından alınan giriş verilerini kullanarak çıkış üretir. Çalışmada, öğrenme metodu için geri yayılım metodu, aktivasyon fonksiyonu için basamak fonksiyonu, ağırlık güncellemeleri için Hebbian Kuralı kullanılmıştır. Geliştirilen uygulama, PIC Assembly dili ile PIC16F84 mikrodenetleyicisi için kodlanmıştır. Uygulama, öğrenme işlemini başarı ile gerçekleştirerek, denenen tüm giriş verileri için doğru sonuçlar üretmiştir.

Çalışmada yapay sinir ağı, 1 giriş, 1 ara ve 1 çıkış katmanlarından oluşur. Giriş katmanı ise 2 nöron ve 1 bias olmak üzere 3 giriş, 3 ara nöron ve 1 çıkış nöronundan oluşur. Giriş nöronu dışındaki nöronlar için bir aktivasyon fonksiyonu vardır. Her nörondan diğer nörona giden bir bağlantı bulunur ve bu bağlantının bir ağırlığı vardır. Her bir giriş ile ona ait ağırlık değeri çarpımlarının toplanmasına toplama işlevi denir. Nöronların değerleri aktivasyon fonksiyonu ile belirlenir. Çıkış nöronunda elde edilen değer ile hedef değer farklı ise geri yayılımlı olarak ağırlıklar tekrar hesaplanır ve öğrenme gerçekleştirilir. Öğrenme işlemi için çalışmada Hebbian Kuralı uygulanmıştır. Böylece her bağlantıdaki ağırlık güncellenerek baştan hesaplanır ve işlem hedef sonuca ulaşana kadar devam eder.

Okumaya devam et “Yapay Sinir Ağı ile AND Kapısı (PIC Assembly)”

Destek Vektör Makineleri ve Çok Katmanlı Algılayıcılar ile Göğüs Kanseri Teşhisi

Projenin Kodları

Raporu indir

1. Çalışmanın Özeti

Bu çalışmada, göğüs kanseri öznitelik vektörlerinin, destek vektör makineleri ve yapay sinir ağları(çok katmanlı algılayıcı) ile sınıflandırılmasına dayalı bir gögüs kanseri teşhisi yapılmaktadır. Teşhis için kullanılan yapay sinir ağları çok katmanlı algılayıcılar(Multi Layer Perceptron)’dır. Destek vektör makinaları(Support Vector Machine ) SVM-Lineer, SVM-Polinomsal ve SVM-Radyal Tabanlı modellerdir. Sınıflandırma işleminde kullanılacak olan gögüs kanseri verileri Wisconsin Diagnostic Breast Cancer (WDBC)  datasetidir. Oluşturulan veri formatı WEKA paket programında uygulanmıştır. Çalışmada doğru teşhis başarısı, MLP’de %97.90, SVM-Lineer‘de %95.44  SVM-Polinomsal’da %72.24 ve  SVM-Radyal Tabanlı’da %62.75 olarak ölçülerek en yüksek başarı %97.90 ile MLP(Çok Katmanlı Algılayıcılar) öğrenme yöntemi ile ölçülmüştür. Bu yöntemin ROC eğrisi altında kalan alan değeri 0.9931 olarak hesaplanmıştır.

2. Uygulama

2.1.Veri ve Kütüphanelerin Hazırlanışı

2.1.1. Veri Seti

Çalışmanın gögüs kanseri verileri Wisconsin Diagnostic Breast Cancer (WDBC)  dataseti ile değerlendirilmiştir. Dataset(http://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+(Diagnostic)) adresinden indirilip Notepad++ programı yardımı ile datasette bulunan sütunlar ile öznitelik sayısı tespit edilmiştir. Her satırdaki verilerin ilk değeri incelediğinde toplam 2 sınıfın bulunduğu M ile ifade edilen sınıfın malignant yani kötü huylu, B ile ifade edilen sınıfında benign yani iyi huylu anlamına geldiği anlaşılıp, programla düzenlerek WEKA paket programında kullanılabilmesi için arff dosya tipine dönüştürülmüştür. Öznitelik sayısı 30 dir. Bu özniteliklerden bazıları; her bir hücre çekirdeği için, yarıçapı, doku, çevre, alan, düzgünlük, kompaktlık, konkavite, içbükey noktaları, simetri, fraktal boyutu gibi özniteliklerdir. Gögüs kanseri verisi 569 tanedir. Bu verilerden 212 tanesi sonuç olarak kötü huylu, 357 tanesi de iyi huylu olan kanser türüdür.

2.1.2.Kütüphanelerin Hazırlanışı

MLP(Çok Katmanlı Algılayıcılar) ögrenme yöntemi kütüphanesi WEKA paket programında hazır bulunmaktadır. SVM(Destek vektor makineleri) kütüphanesi (http://www.csie.ntu.edu.tw/~cjlin/libsvm/) adresinden indirilip WEKA’nın kurulu olduğu yere yerleştirilmiştir. Bu aşamadan sonra ortam değişkenlerine yeni bir sistem değişkeni olan CLASSPATH ve değişken değeri olarakta libsvm kütüphanesinin konumu yazılarak eklenmiştir. Böylece WEKA’da SVM-Lineer, SVM-Polinomsal ve SVM-Radyal Tabanlı modeller kullanılır hale getirilmiştir. Okumaya devam et “Destek Vektör Makineleri ve Çok Katmanlı Algılayıcılar ile Göğüs Kanseri Teşhisi”

Tek Nöronlu Yapay Sinir Ağı ve Proteus İsis Simülasyonu (16f84)

Bu slayt gösterisi için JavaScript gerekir.

Bu yazıda PIC assembly ile kodlanmış tek nörona sahip bir yapay sinir ağı oluşturulup, Proteus İsis programında simülasyonla gösterildi. Programda hedeflenen durum, giriş değeri 1 verilirse 0 sonucunu üreten, 0 verilirse 1 sonucunu üreten YSA oluşturmak. Tek nöronlu yapay sinir ağının özelliği, nörona giren giriş değerini belli bir ağırlık değeri ile çarpıp, eşik değere göre sonuç üretmektir. Örnek olarak giriş değeri olarak 0 değeri verilip ve bu değer 1 değerine sahip ağırlıkla çarpıldıktan sonra elde edilen sonuç olan sıfır değerini 0’a eşit ve küçük olan eşik değerle kıyaslansın. Sonuç olan 0 değeri ile eşik değerin kıyaslanması sonucunda true yani 1 değeri elde edilecektir. Çünkü sonuç 0 ve eşik değerde sıfıra eşit ve küçük olduğu için dönüş true olacaktır. Aynı durum için giriş değeri 1 olduğunda dönüş değeri 0 olacaktır. Böylece program için hedeflenen durum gerçekleşti.

Okumaya devam et “Tek Nöronlu Yapay Sinir Ağı ve Proteus İsis Simülasyonu (16f84)”

Naive Bayes ile Spor Metinleri Sınıflandırma

Projenin Kodları

Tüm projeyi İNDİR: Program Raporu ve Kodu

1. Çalışmanın Özeti

Bu çalışmada, spor metinlerine ait olan öznitelik vektörlerinin Naive Bayes ile sınıflandırılmasına dayalı bir spor metni tahmini yapılmaktadır. Çalışmada veri seti farklı kullanılarak sınıflandırmanın başarısı incelenmiştir. Farklı kullanımdan kasıt, veri setinin eğitim ve test amaçlı olarak kullanılan verilerin sayısının değiştirilmesidir. Çalışmada bulunan spor metinleri futbol, basketbol, tenis olmak üzere üç sınıf seçilmiştir. Elde edilen özellik vektörünün başarısı, Naive Bayes sınıflandırma yöntemi ile en yüksek %80 olarak alınmıştır.

Günümüzdeki gelişmeler veri birikiminin artmasına neden olmaktadır. Bu artışla istenilen verilere ulaşabilmek için metinlerin sınıflandırılması ihtiyacı doğurmuştur. Metin sınıflandırma, o metnin özelliklerine bakarak önceden belirlenmiş belli sayıda kategorilerden hangisine dahil olacağını belirlemektir. Metin sınıflandırma bilgi alma, bilgi çıkarma, döküman filtreleme, otomatik olarak metadata elde etme ve web sayfalarını hiyerarşik olarak düzenleme gibi pek çok alanda önemli rol oynamaktadır. Bu çalışmada içerisinde üç farklı kategoride 60 adet dökümandan oluşan bir veri seti kullanılmıştır.Makine öğrenmesi yöntemlerinden Naive Bayes kullanılarak bir metnin türünün belirlenmesi gerçekleştirilmiştir.

Okumaya devam et “Naive Bayes ile Spor Metinleri Sınıflandırma”