ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ (YL) (TEZLİ) (İNGİLİZCE)
Kazanılan Yeterlilik Program Süresi Toplam Kredi (AKTS) Öğretim Şekli Yeterliliğin Düzeyi ve Öğrenme Alanı
2 120 FULL TIME TYÇ, TYYÇ, EQF-LLL, ISCED (2011):7. Düzey
QF-EHEA:2. Düzey
TYYÇ, ISCED (1997-2013): 52

Ders Genel Tanıtım Bilgileri

Ders Kodu: 3026002042
Ders İsmi: Optimization for Data Science
Ders Yarıyılı: Güz
Ders Kredileri:
Teorik Pratik Laboratuvar Kredi AKTS
3 0 0 3 6
Öğretim Dili: EN
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Ders İçin Önerilen Diğer Hususlar: yok.
Dersin Türü: Department Elective
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ü: Prof. Dr. Çağatay ULUIŞIK
Dersi Veren(ler):
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Bu dersin amacı, veri bilimi uygulamalarında kullanılan optimizasyon tekniklerini öğretmektir. Öğrenciler, hem temel hem de ileri düzey optimizasyon yöntemlerini öğrenerek, veri analizi, makine öğrenmesi ve yapay zeka uygulamalarında bu teknikleri kullanma becerisi kazanacaklardır. Ders kapsamında doğrusal programlama, doğrusal olmayan optimizasyon, stokastik optimizasyon ve kısıtlı optimizasyon gibi konular ele alınacaktır. Ayrıca, gerçek dünya problemlerini çözmek için optimizasyon algoritmalarının nasıl uygulanacağına dair pratik bilgi sağlanacaktır.
Dersin İçeriği: Bu ders, veri bilimi uygulamalarında kullanılan optimizasyon tekniklerinin teorik temelleri ve pratik uygulamalarını kapsamaktadır. İçerik aşağıdaki konuları içermektedir:

Optimizasyonun temel kavramları ve veri bilimi ile ilişkisi
Doğrusal programlama (Linear Programming) ve uygulamaları
Doğrusal olmayan optimizasyon teknikleri
Konveks (Convex) ve konkav (Concave) optimizasyon problemleri
Kısıtlı ve kısıtsız optimizasyon yöntemleri
Gradyan tabanlı (Gradient-based) ve gradyan tabansız (Gradient-free) optimizasyon algoritmaları
Stokastik optimizasyon ve rastgele arama algoritmaları
Küresel ve yerel minimum/maksimum çözümleri
Boyut indirgeme ve özdeğer problemleri (PCA, SVD)
Optimizasyonun makine öğrenmesi modellerinde kullanımı (Lasso, Ridge, Regularization)
Büyük veri setleri için ölçeklenebilir optimizasyon yöntemleri
Gerçek dünya veri bilimi problemlerine optimizasyon uygulamaları

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
1) Optimizasyonun temel prensiplerini ve matematiksel temellerini açıklar.
2 - Beceriler
Bilişsel - Uygulamalı
1) Kısıtlı ve kısıtsız optimizasyon yöntemlerini analiz eder ve farklı veri setlerinde uygular.
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
1) Veri bilimi ve optimizasyon alanındaki güncel gelişmeleri takip eder ve uygulamalara entegre eder.
Alana Özgü Yetkinlik
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Optimizasyona Giriş ve Veri Bilimindeki Önemi Bu derse başlamadan önce öğrencilerin aşağıdaki konularda temel bilgi sahibi olmaları beklenir: Matematiksel Temeller: Lineer cebir (matris işlemleri, vektörler, özdeğer ve özvektörler) Kalkülüs (türev, integral ve optimizasyon problemleri için gerekli temel kurallar) Olasılık ve istatistik (olasılık dağılımları, beklenti, varyans) Programlama Becerileri: Python programlama dilinde temel düzeyde bilgi Python kütüphaneleri: NumPy, Pandas, Matplotlib Optimizasyon kütüphaneleri: SciPy, CVXPY, PuLP Veri Bilimi Temelleri: Temel makine öğrenmesi algoritmaları hakkında bilgi Veri analizi ve ön işleme teknikleri
2) Doğrusal Programlama (Linear Programming) Temelleri Bu derse başlamadan önce öğrencilerin aşağıdaki konularda temel bilgi sahibi olmaları beklenir: Matematiksel Temeller: Lineer cebir (matris işlemleri, vektörler, özdeğer ve özvektörler) Kalkülüs (türev, integral ve optimizasyon problemleri için gerekli temel kurallar) Olasılık ve istatistik (olasılık dağılımları, beklenti, varyans) Programlama Becerileri: Python programlama dilinde temel düzeyde bilgi Python kütüphaneleri: NumPy, Pandas, Matplotlib Optimizasyon kütüphaneleri: SciPy, CVXPY, PuLP Veri Bilimi Temelleri: Temel makine öğrenmesi algoritmaları hakkında bilgi Veri analizi ve ön işleme teknikleri
3) Simpleks Yöntemi ve Uygulamaları Bu derse başlamadan önce öğrencilerin aşağıdaki konularda temel bilgi sahibi olmaları beklenir: Matematiksel Temeller: Lineer cebir (matris işlemleri, vektörler, özdeğer ve özvektörler) Kalkülüs (türev, integral ve optimizasyon problemleri için gerekli temel kurallar) Olasılık ve istatistik (olasılık dağılımları, beklenti, varyans) Programlama Becerileri: Python programlama dilinde temel düzeyde bilgi Python kütüphaneleri: NumPy, Pandas, Matplotlib Optimizasyon kütüphaneleri: SciPy, CVXPY, PuLP Veri Bilimi Temelleri: Temel makine öğrenmesi algoritmaları hakkında bilgi Veri analizi ve ön işleme teknikleri
4) Doğrusal Olmayan Optimizasyon Yöntemleri Bu derse başlamadan önce öğrencilerin aşağıdaki konularda temel bilgi sahibi olmaları beklenir: Matematiksel Temeller: Lineer cebir (matris işlemleri, vektörler, özdeğer ve özvektörler) Kalkülüs (türev, integral ve optimizasyon problemleri için gerekli temel kurallar) Olasılık ve istatistik (olasılık dağılımları, beklenti, varyans) Programlama Becerileri: Python programlama dilinde temel düzeyde bilgi Python kütüphaneleri: NumPy, Pandas, Matplotlib Optimizasyon kütüphaneleri: SciPy, CVXPY, PuLP Veri Bilimi Temelleri: Temel makine öğrenmesi algoritmaları hakkında bilgi Veri analizi ve ön işleme teknikleri
5) Konveks ve Konkav Optimizasyon Problemleri Bu derse başlamadan önce öğrencilerin aşağıdaki konularda temel bilgi sahibi olmaları beklenir: Matematiksel Temeller: Lineer cebir (matris işlemleri, vektörler, özdeğer ve özvektörler) Kalkülüs (türev, integral ve optimizasyon problemleri için gerekli temel kurallar) Olasılık ve istatistik (olasılık dağılımları, beklenti, varyans) Programlama Becerileri: Python programlama dilinde temel düzeyde bilgi Python kütüphaneleri: NumPy, Pandas, Matplotlib Optimizasyon kütüphaneleri: SciPy, CVXPY, PuLP Veri Bilimi Temelleri: Temel makine öğrenmesi algoritmaları hakkında bilgi Veri analizi ve ön işleme teknikleri
6) Kısıtlı ve Kısıtsız Optimizasyon Teknikleri Bu derse başlamadan önce öğrencilerin aşağıdaki konularda temel bilgi sahibi olmaları beklenir: Matematiksel Temeller: Lineer cebir (matris işlemleri, vektörler, özdeğer ve özvektörler) Kalkülüs (türev, integral ve optimizasyon problemleri için gerekli temel kurallar) Olasılık ve istatistik (olasılık dağılımları, beklenti, varyans) Programlama Becerileri: Python programlama dilinde temel düzeyde bilgi Python kütüphaneleri: NumPy, Pandas, Matplotlib Optimizasyon kütüphaneleri: SciPy, CVXPY, PuLP Veri Bilimi Temelleri: Temel makine öğrenmesi algoritmaları hakkında bilgi Veri analizi ve ön işleme teknikleri
7) Gradyan Tabanlı Optimizasyon Algoritmaları (Gradient Descent) Bu derse başlamadan önce öğrencilerin aşağıdaki konularda temel bilgi sahibi olmaları beklenir: Matematiksel Temeller: Lineer cebir (matris işlemleri, vektörler, özdeğer ve özvektörler) Kalkülüs (türev, integral ve optimizasyon problemleri için gerekli temel kurallar) Olasılık ve istatistik (olasılık dağılımları, beklenti, varyans) Programlama Becerileri: Python programlama dilinde temel düzeyde bilgi Python kütüphaneleri: NumPy, Pandas, Matplotlib Optimizasyon kütüphaneleri: SciPy, CVXPY, PuLP Veri Bilimi Temelleri: Temel makine öğrenmesi algoritmaları hakkında bilgi Veri analizi ve ön işleme teknikleri
8) Arasınav
9) Gradyan Tabanlı Olmayan Optimizasyon Teknikleri (Simulated Annealing, Genetic Algorithms) Bu derse başlamadan önce öğrencilerin aşağıdaki konularda temel bilgi sahibi olmaları beklenir: Matematiksel Temeller: Lineer cebir (matris işlemleri, vektörler, özdeğer ve özvektörler) Kalkülüs (türev, integral ve optimizasyon problemleri için gerekli temel kurallar) Olasılık ve istatistik (olasılık dağılımları, beklenti, varyans) Programlama Becerileri: Python programlama dilinde temel düzeyde bilgi Python kütüphaneleri: NumPy, Pandas, Matplotlib Optimizasyon kütüphaneleri: SciPy, CVXPY, PuLP Veri Bilimi Temelleri: Temel makine öğrenmesi algoritmaları hakkında bilgi Veri analizi ve ön işleme teknikleri
10) Stokastik Optimizasyon ve Rastgele Arama Algoritmaları Bu derse başlamadan önce öğrencilerin aşağıdaki konularda temel bilgi sahibi olmaları beklenir: Matematiksel Temeller: Lineer cebir (matris işlemleri, vektörler, özdeğer ve özvektörler) Kalkülüs (türev, integral ve optimizasyon problemleri için gerekli temel kurallar) Olasılık ve istatistik (olasılık dağılımları, beklenti, varyans) Programlama Becerileri: Python programlama dilinde temel düzeyde bilgi Python kütüphaneleri: NumPy, Pandas, Matplotlib Optimizasyon kütüphaneleri: SciPy, CVXPY, PuLP Veri Bilimi Temelleri: Temel makine öğrenmesi algoritmaları hakkında bilgi Veri analizi ve ön işleme teknikleri
11) Boyut İndirgeme Yöntemleri (PCA, SVD) Bu derse başlamadan önce öğrencilerin aşağıdaki konularda temel bilgi sahibi olmaları beklenir: Matematiksel Temeller: Lineer cebir (matris işlemleri, vektörler, özdeğer ve özvektörler) Kalkülüs (türev, integral ve optimizasyon problemleri için gerekli temel kurallar) Olasılık ve istatistik (olasılık dağılımları, beklenti, varyans) Programlama Becerileri: Python programlama dilinde temel düzeyde bilgi Python kütüphaneleri: NumPy, Pandas, Matplotlib Optimizasyon kütüphaneleri: SciPy, CVXPY, PuLP Veri Bilimi Temelleri: Temel makine öğrenmesi algoritmaları hakkında bilgi Veri analizi ve ön işleme teknikleri
12) Makine Öğrenmesi Modellerinde Optimizasyon (Lasso, Ridge, Regularization) Bu derse başlamadan önce öğrencilerin aşağıdaki konularda temel bilgi sahibi olmaları beklenir: Matematiksel Temeller: Lineer cebir (matris işlemleri, vektörler, özdeğer ve özvektörler) Kalkülüs (türev, integral ve optimizasyon problemleri için gerekli temel kurallar) Olasılık ve istatistik (olasılık dağılımları, beklenti, varyans) Programlama Becerileri: Python programlama dilinde temel düzeyde bilgi Python kütüphaneleri: NumPy, Pandas, Matplotlib Optimizasyon kütüphaneleri: SciPy, CVXPY, PuLP Veri Bilimi Temelleri: Temel makine öğrenmesi algoritmaları hakkında bilgi Veri analizi ve ön işleme teknikleri
13) Büyük Veri Setleri için Optimizasyon Yöntemleri Bu derse başlamadan önce öğrencilerin aşağıdaki konularda temel bilgi sahibi olmaları beklenir: Matematiksel Temeller: Lineer cebir (matris işlemleri, vektörler, özdeğer ve özvektörler) Kalkülüs (türev, integral ve optimizasyon problemleri için gerekli temel kurallar) Olasılık ve istatistik (olasılık dağılımları, beklenti, varyans) Programlama Becerileri: Python programlama dilinde temel düzeyde bilgi Python kütüphaneleri: NumPy, Pandas, Matplotlib Optimizasyon kütüphaneleri: SciPy, CVXPY, PuLP Veri Bilimi Temelleri: Temel makine öğrenmesi algoritmaları hakkında bilgi Veri analizi ve ön işleme teknikleri
14) Gerçek Dünya Problemlerine Optimizasyon Uygulamaları Bu derse başlamadan önce öğrencilerin aşağıdaki konularda temel bilgi sahibi olmaları beklenir: Matematiksel Temeller: Lineer cebir (matris işlemleri, vektörler, özdeğer ve özvektörler) Kalkülüs (türev, integral ve optimizasyon problemleri için gerekli temel kurallar) Olasılık ve istatistik (olasılık dağılımları, beklenti, varyans) Programlama Becerileri: Python programlama dilinde temel düzeyde bilgi Python kütüphaneleri: NumPy, Pandas, Matplotlib Optimizasyon kütüphaneleri: SciPy, CVXPY, PuLP Veri Bilimi Temelleri: Temel makine öğrenmesi algoritmaları hakkında bilgi Veri analizi ve ön işleme teknikleri
15) Proje Sunumları ve Genel Tekrar
16) Final Sınavı

Kaynaklar

Ders Notları / Kitaplar: "Convex Optimization" – Stephen Boyd & Lieven Vandenberghe
"Optimization for Machine Learning" – Suvrit Sra, Sebastian Nowozin, Stephen J. Wright
"Data Science from Scratch: First Principles with Python" – Joel Grus
"Numerical Optimization" – Jorge Nocedal & Stephen J. Wright
Diğer Kaynaklar: "Convex Optimization" – Stephen Boyd & Lieven Vandenberghe
"Optimization for Machine Learning" – Suvrit Sra, Sebastian Nowozin, Stephen J. Wright
"Data Science from Scratch: First Principles with Python" – Joel Grus
"Numerical Optimization" – Jorge Nocedal & Stephen J. Wright

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

Ders Öğrenme Kazanımları

1

2

3

Program Kazanımları
1) Elektrik-Elektronik Mühendisliği alanında bilimsel araştırma yaparak bilgiye genişlemesine ve derinlemesine ulaşır, bilgiyi değerlendirir, yorumlar ve uygular.
2) Elektrik-Elektronik Mühendisliğinde uygulanan güncel teknik ve yöntemler ile bunların kısıtları hakkında kapsamlı bilgi sahibidir.
3) Belirsiz, sınırlı ya da eksik verileri kullanarak, bilimsel yöntemlerle bilgiyi tamamlar ve uygular; değişik disiplinlere ait bilgileri bir arada kullanabilir.
4) Elektrik-Elektronik Mühendisliği uygulamalarındaki yeni ve gelişmekte olan uygulamalarının farkındadır, ihtiyaç duyduğunda bunları inceler ve öğrenir.
5) Elektrik-Elektronik Mühendisliği problemlerini tanımlar ve formüle eder, çözmek için yöntem geliştirir ve çözümlerde yenilikçi yöntemler uygular.
6) Yeni ve/veya özgün fikir ve yöntemler geliştirir; karmaşık sistem veya süreçleri tasarlar ve tasarımlarında yenilikçi/alternatif çözümler geliştirir.
7) Kuramsal, deneysel ve modelleme esaslı araştırmaları tasarlar ve uygular; bu süreçte karşılaşılan karmaşık problemleri irdeler ve çözümler.
8) Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilir, bu tür takımlarda liderlik yapabilir ve karmaşık durumlarda çözüm yaklaşımları geliştirebilir; bağımsız çalışabilir ve sorumluluk alır.
9) Bir yabancı dili en az Avrupa Dil Portföyü B2 Genel Düzeyinde kullanarak, sözlü ve yazılı iletişim kurar.
10) Çalışmalarının süreç ve sonuçlarını, o alandaki veya alan dışındaki ulusal ve uluslararası ortamlarda sistematik ve açık bir şekilde yazılı ya da sözlü olarak aktarır.
11) Elektrik-Elektronik Mühendisliği uygulamalarının sosyal, çevresel, sağlık, güvenlik, hukuk boyutları ile proje yönetimi ve iş hayatı uygulamalarını bilir ve bunların mühendislik uygulamalarına getirdiği kısıtların farkındadır.
12) Verilerin toplanması, yorumlanması, duyurulması aşamalarında ve mesleki tüm etkinliklerde toplumsal, bilimsel ve etik değerleri gözetir.

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) Elektrik-Elektronik Mühendisliği alanında bilimsel araştırma yaparak bilgiye genişlemesine ve derinlemesine ulaşır, bilgiyi değerlendirir, yorumlar ve uygular.
2) Elektrik-Elektronik Mühendisliğinde uygulanan güncel teknik ve yöntemler ile bunların kısıtları hakkında kapsamlı bilgi sahibidir.
3) Belirsiz, sınırlı ya da eksik verileri kullanarak, bilimsel yöntemlerle bilgiyi tamamlar ve uygular; değişik disiplinlere ait bilgileri bir arada kullanabilir.
4) Elektrik-Elektronik Mühendisliği uygulamalarındaki yeni ve gelişmekte olan uygulamalarının farkındadır, ihtiyaç duyduğunda bunları inceler ve öğrenir.
5) Elektrik-Elektronik Mühendisliği problemlerini tanımlar ve formüle eder, çözmek için yöntem geliştirir ve çözümlerde yenilikçi yöntemler uygular.
6) Yeni ve/veya özgün fikir ve yöntemler geliştirir; karmaşık sistem veya süreçleri tasarlar ve tasarımlarında yenilikçi/alternatif çözümler geliştirir.
7) Kuramsal, deneysel ve modelleme esaslı araştırmaları tasarlar ve uygular; bu süreçte karşılaşılan karmaşık problemleri irdeler ve çözümler.
8) Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilir, bu tür takımlarda liderlik yapabilir ve karmaşık durumlarda çözüm yaklaşımları geliştirebilir; bağımsız çalışabilir ve sorumluluk alır.
9) Bir yabancı dili en az Avrupa Dil Portföyü B2 Genel Düzeyinde kullanarak, sözlü ve yazılı iletişim kurar.
10) Çalışmalarının süreç ve sonuçlarını, o alandaki veya alan dışındaki ulusal ve uluslararası ortamlarda sistematik ve açık bir şekilde yazılı ya da sözlü olarak aktarır.
11) Elektrik-Elektronik Mühendisliği uygulamalarının sosyal, çevresel, sağlık, güvenlik, hukuk boyutları ile proje yönetimi ve iş hayatı uygulamalarını bilir ve bunların mühendislik uygulamalarına getirdiği kısıtların farkındadır.
12) Verilerin toplanması, yorumlanması, duyurulması aşamalarında ve mesleki tüm etkinliklerde toplumsal, bilimsel ve etik değerleri gözetir.

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

Anlatım
Bireysel çalışma ve ödevi
Ders
Ödev
Proje Hazırlama

Ö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)
Ödev
Bireysel Proje
Sunum

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Devam 14 % 10
Ödev 3 % 15
Projeler 1 % 15
Ara Sınavlar 1 % 20
Yarıyıl/Yıl Sonu Sınavı 1 % 40
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 60
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 40
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Süre (Saat) İş Yükü
Ders Saati 14 10 140
Proje 1 10 10
Ödevler 3 6 18
Ara Sınavlar 1 5 5
Final 1 10 10
Toplam İş Yükü 183