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. |
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. |
|
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 |