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 Kodu: | 3026002042 | ||||||||||
Ders İsmi: | Optimization for Data Science | ||||||||||
Ders Yarıyılı: | Güz | ||||||||||
Ders Kredileri: |
|
||||||||||
Öğ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: |
|
||||||||||
Dersin Veriliş Şekli: | Yüz yüze | ||||||||||
Dersin Koordinatörü: | Prof. Dr. Çağatay ULUIŞIK | ||||||||||
Dersi Veren(ler): |
|
||||||||||
Dersin Yardımcıları: |
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ı |
Bu dersi başarıyla tamamlayabilen öğrenciler;
|
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ı |
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 Öğ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. |
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. |
Anlatım | |
Bireysel çalışma ve ödevi | |
Ders | |
Ödev | |
Proje Hazırlama |
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 |
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 |
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 |