BİLGİSAYAR MÜHENDİSLİĞİ (YÜKSEK LİSANS) (TEZSİZ)
Yüksek Lisans TYYÇ: 7. Düzey QF-EHEA: 2. Düzey EQF-LLL: 7. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: BMB 537
Ders İsmi: Yapay Sinir Ağları
Ders Yarıyılı: Bahar
Ders Kredileri:
Teorik Pratik Kredi AKTS
3 0 3 9
Öğretim Dili: TR
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Bölüm Seçmeli
Dersin Seviyesi:
Yüksek Lisans TYYÇ:7. Düzey QF-EHEA:2. Düzey EQF-LLL:7. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Dr.Öğr.Üyesi YELDA FIRAT
Dersi Veren(ler):
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Bu dersin amacı, Python programlama diliyle Yapay Sinir Ağlarına dayalı teknikleri ve diğer öğrenme yöntemlerini öğretmek, bu yöntemlerin pratik uygulamalarını göstermek ve Yapay Sinir Ağlarının Bilgisayar Mühendisliği, Bilgisayar Bilimleri ve Yapay Zeka alanlarındaki önemini vurgulamaktır.
Dersin İçeriği: Bu ders; Yapay Sinir Ağlarına genel bakış ve temel kavramlar, Python programlama dili ile NumPy, Pandas, Matplotlib ve TensorFlow gibi kütüphanelerin kullanımı, Yapay Sinir Ağlarının temel yapıları (perceptron, çok katmanlı ağlar, aktivasyon fonksiyonları), model eğitimi ve optimizasyon teknikleri (geri yayılım, hata fonksiyonları, düzenleme yöntemleri), derin öğrenme yöntemleri (Evrişimli Sinir Ağları, Tekrarlayan Sinir Ağları, LSTM), pratik uygulamalar ve gerçek dünya problemlerine yönelik projeler ile Yapay Sinir Ağlarının güncel araştırmalardaki kullanımları ve gelecekteki yönelimlerini kapsamaktadır.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
2 - Beceriler
Bilişsel - Uygulamalı
1) Yapay Sinir Ağlarının temel prensiplerini, mimarilerini ve bu ağların biyolojik sinir sistemlerinden esinlenerek nasıl tasarlandığını kavrar.
2) Python programlama dili ve ilgili kütüphaneler (NumPy, TensorFlow, Keras vb.) kullanarak Yapay Sinir Ağlarına dayalı modeller oluşturur, eğitebilir ve performanslarını değerlendirebilir.
3) Gerçek dünya problemlerini çözmek için Yapay Sinir Ağlarını nasıl uygulayacaklarını öğrenerek, görüntü işleme, doğal dil işleme ve zaman serisi analizi gibi alanlarda çözüm önerileri geliştirir.
4) Yapay Sinir Ağlarının güncel araştırma alanlarındaki kullanımını ve gelişimini anlayarak, bu teknolojilerin sosyal, etik ve ekonomik etkilerini değerlendirir.
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
Alana Özgü Yetkinlik
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Python Programlama Diline Giriş - Değişkenler - Fonksiyonlar - Modüller ve import deyimi - Python paketleri - Operatörler - Veri türleri - Program denetimi - Pandas paketi ve veri işleme - Grafikler Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma.
2) Makine öğrenmesine giriş - Makine öğrenmesi - Sınıflandırma süreci - Model performansı Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma.
3) Veri önişleme - Kayıp veri - Veri dönüştürme-normalleştirme - Aykırı değerler - Boyut azaltma - Dengesiz veri - Verinin bölünmesi Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma.
4) Yapay Sinir Ağlarına Giriş - Biyolojik ve Yapay Sinir Ağları - Yapay Sinir Ağları yapısı - Girdi katmanı - Gizli katman - Çıktı katmanı - Bağlantı ağırlıkları ve eşik değerler - Toplama fonksiyonu ve girişlerin hesaplanması - Etkinleştirme fonksiyonu - Eşik değeri - Ağın öğrenmesi - İleri yayılım - Toplam hata - Geri yayılım - Uygulama Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma.
5) Keras ile derin öğrenme - Keras sıralı modeli - Keras ile derin öğrenme sınıflandırılması - Keras ile derin öğrenme regrasyonu Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma.
6) Geri Dönüşlü Derin Yapay Sinir Ağları - Geri yayılım - RNN ile NLP Uygulaması Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma.
7) LTSM Ağları - LSTM ağlarının yapısı - LSTM Adımları - Uygulama Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma.
8) Ara Sınav
8) Ara Sınav
9) LTSM ile zaman serileri - Uygulama Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma.
10) Derin Otokodlayıcılar - Otokodlayıcılar - Otokodlayıcıların kullanım alanları - Otokodlayıcılar ile boyut azaltma - Uygulama Konuya ilişkin paylaşılan ders sunum ve yardımcı kaynaklardan çalışma.
11) Derin Otokodlayıcılar - Otokodlayıcılar ile anormallik tespiti - Uygulama - Otokodlayıcılarla Sınıflandırma – Kendi kendine öğrenme - Uygulama Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma.
12) Evrişimli Derin Öğrenme Modelleri - MNIST ile El yazısı için derin öğrenme uygulaması Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma.
13) Evrişimli Derin Öğrenme Modelleri - Yineleyicileri kullanarak kedi-köpek resimlerinin sınıflandırılması Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma.
14) Evrişimli Derin Öğrenme Modelleri - Medikal görüntülerde derin öğrenme uygulaması Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma.

Kaynaklar

Ders Notları / Kitaplar: Ders sunum ve notları
Diğer Kaynaklar: Uygulamalı Derin Öğrenmeli, Yalçın ÖZKAN, 2023, Papatya Bilim Yayıncılık
Makine Öğrenmesi Teorik Yönleri ve Python Uygulamaları ile Bir Yapay Zeka Ekolü, Doç. Dr. Sinan UĞUZ, 2023, Nobel Yayıncılık
Derin Öğrenme, Ian Goodfellow, Yoshua Bengio, Aaron Courville, 2021, Buzdağı Yayıncılık

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

3

4

Program Kazanımları
1) Planlama, analiz, tasarım ve yapılandırma aşamalarını içeren bilgi sistemleri geliştirilmesinde kapsamlı bilgi sahibi olma, ilgili geliştirme yöntemleri ve modelleme araçlarını tanıma.
2) Bilgisayar mühendisliği alanında ileri uygulamaları gerçekleştirecek düzeyde kapsamlı bilgi sahibi olma.
3) Bilgi ve İletişim Teknolojileri alanında uygulamalı araştırma yaparak bilgiye ulaşabilme, değerlendirme ve uygulama, farklı disiplinlerden bilgiyi entegre etme.
4) Farklı alanlarda bilimsel yöntemlerle bilgiyi keşfetme, sonuç çıkarma, paylaşma ve uygulama; farklı disiplinlere ait bilgileri ilişkilendirme.
5) Bilgi teknolojileri alanıyla ile ilgili uzmanlık gerektiren bir çalışmayı bağımsız olarak yürütebilme.
6) Bilgi ve İletişim Teknolojileri alanı ile ilgili uygulamalarda karşılaşılan ve öngörülemeyen karmaşık sorunların çözümü için yeni stratejik yaklaşımlar geliştirebilme ve sorumluluk alarak çözüm üretebilme.
7) Bilgi ve İletişim Teknolojileri alanı ile ilgili sorunların çözümlenmesini gerektiren ortamlarda liderlik yapabilme.
8) Bilgisayar Mühendisliği alanında edindiği uzmanlık düzeyindeki bilgi ve becerileri eleştirel bir yaklaşımla değerlendirebilme ve öğrenmesini yönlendirebilme.
9) Bilgisayar Mühendiliği alanındaki güncel çalışmalardan haberdar olma, gelişmeleri sürekli takip etme, gerektiğinde bunları inceleme ve adlandırma.
10) Türkçe ve İngilizce olarak sözlü ve yazılı etkin iletişim kurma.
11) Çalışmalarında toplumsal, bilimsel ve etik değerleri gözetme.
12) Bilgi Teknolojileri ile ilgili konularda strateji, politika ve uygulama planları geliştirebilme ve elde edilen sonuçları, kalite süreçleri çerçevesinde değerlendirebilme.
13) Bilgisayar Mühendiliği alanında özümsedikleri bilgiyi, problem çözme ve/veya uygulama becerilerini, disiplinlerarası çalışmalarda kullanabilme.

Ders - Öğrenme Kazanımı İlişkisi

Etkisi Yok 1 En Düşük 2 Düşük 3 Orta 4 Yüksek 5 En Yüksek
           
Dersin Program Kazanımlarına Etkisi Katkı Payı
1) Planlama, analiz, tasarım ve yapılandırma aşamalarını içeren bilgi sistemleri geliştirilmesinde kapsamlı bilgi sahibi olma, ilgili geliştirme yöntemleri ve modelleme araçlarını tanıma. 4
2) Bilgisayar mühendisliği alanında ileri uygulamaları gerçekleştirecek düzeyde kapsamlı bilgi sahibi olma. 5
3) Bilgi ve İletişim Teknolojileri alanında uygulamalı araştırma yaparak bilgiye ulaşabilme, değerlendirme ve uygulama, farklı disiplinlerden bilgiyi entegre etme. 3
4) Farklı alanlarda bilimsel yöntemlerle bilgiyi keşfetme, sonuç çıkarma, paylaşma ve uygulama; farklı disiplinlere ait bilgileri ilişkilendirme. 4
5) Bilgi teknolojileri alanıyla ile ilgili uzmanlık gerektiren bir çalışmayı bağımsız olarak yürütebilme. 4
6) Bilgi ve İletişim Teknolojileri alanı ile ilgili uygulamalarda karşılaşılan ve öngörülemeyen karmaşık sorunların çözümü için yeni stratejik yaklaşımlar geliştirebilme ve sorumluluk alarak çözüm üretebilme. 4
7) Bilgi ve İletişim Teknolojileri alanı ile ilgili sorunların çözümlenmesini gerektiren ortamlarda liderlik yapabilme. 4
8) Bilgisayar Mühendisliği alanında edindiği uzmanlık düzeyindeki bilgi ve becerileri eleştirel bir yaklaşımla değerlendirebilme ve öğrenmesini yönlendirebilme. 4
9) Bilgisayar Mühendiliği alanındaki güncel çalışmalardan haberdar olma, gelişmeleri sürekli takip etme, gerektiğinde bunları inceleme ve adlandırma. 4
10) Türkçe ve İngilizce olarak sözlü ve yazılı etkin iletişim kurma. 2
11) Çalışmalarında toplumsal, bilimsel ve etik değerleri gözetme. 2
12) Bilgi Teknolojileri ile ilgili konularda strateji, politika ve uygulama planları geliştirebilme ve elde edilen sonuçları, kalite süreçleri çerçevesinde değerlendirebilme. 2
13) Bilgisayar Mühendiliği alanında özümsedikleri bilgiyi, problem çözme ve/veya uygulama becerilerini, disiplinlerarası çalışmalarda kullanabilme. 4

Öğrenme Etkinliği ve Öğretme Yöntemleri

Anlatım
Laboratuvar

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama)

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Devam 14 % 2
Laboratuar 14 % 32
Uygulama 14 % 30
Ara Sınavlar 1 % 18
Final 1 % 18
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 82
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 18
Toplam % 100