Yapay Zeka, Makine Öğrenmesi ve Veri Bilimi (100+ Saatlik Canlı Kurs)
Bu 100 saatlik canlı kurs, bilgisayar mühendisliği öğrencilerini yapay zeka, makine öğrenmesi ve veri bilimi alanlarında uzmanlaşmaya hazırlayan kapsamlı bir eğitim programıdır. Kurs boyunca temel kavramlardan başlayarak derin öğrenme, doğal dil işleme ve görüntü işleme gibi ileri uygulamalara kadar adım adım ilerlenir. Tüm modüller, Python tabanlı uygulamalar ve popüler kütüphaneler (scikit-learn, Keras, TensorFlow, PyTorch vb.) ile desteklenerek teorinin pratikle pekiştirilmesini sağlar. Aşağıda, mantıksal bir sırayla düzenlenmiş kurs modülleri, her biri için önerilen süre ve alt başlıkları ile birlikte sunulmuştur:
1. Temel Kavramlar ve Yapay Zekaya Giriş (6 Saat)
Yapay zekanın ne olduğuna dair genel bir bakışla başlanır ve makine öğrenmesi ile veri biliminin temelleri açıklanır. Bu bölüm, öğrencilerin kavramsal çerçeveyi anlamasını ve alanın tarihsel gelişimini öğrenmesini hedefler. Ayrıca yapay zekanın alt disiplinleri tanıtılarak kursun ilerleyen kısımlarında ele alınacak konular için bir zemin oluşturulur.
-
Yapay Zekanın Tanımı ve Tarihçesi: Yapay zekânın ne olduğu, tarihsel gelişimi ve önemli dönüm noktaları. AI araştırmalarının başlangıcından günümüze kadar önemli yaklaşımlar ve paradigmalar.
-
Yapay Zeka Alt Alanları: Yapay zekanın alt dalları olan makine öğrenmesi, derin öğrenme, doğal dil işleme, bilgisayarla görme gibi konuların genel tanıtımı ve aralarındaki farklar.
-
Makine Öğrenmesi Kavramı: Makine öğrenmesinin tanımı, geleneksel programlamadan farkı ve örnek uygulama alanları. Denetimli, denetimsiz ve pekiştirmeli öğrenme türlerine genel bakış.
-
Veri Bilimi Kavramı: Veri biliminin tanımı ve kapsamı, yapay zeka ve makine öğrenmesi ile ilişkisi. Veri analitiğinin önemi ve gerçek dünyadaki uygulamaları (örneğin, büyük veri analizi, iş zekâsı).
-
Gerçek Dünya Uygulama Örnekleri: Yapay zeka ve makine öğrenmesinin güncel endüstriyel uygulamaları (öneri sistemleri, otonom araçlar, akıllı asistanlar vb.) ile öğrencilerin motivasyonunu artıracak kısa örnekler.
2. Python Programlama ve Veri Bilimi Araçları (8 Saat)
Bu bölümde, yapay zeka ve veri bilimi çalışmalarında en yaygın kullanılan dil olan Python’un temelleri gözden geçirilir. Öğrencilerin programlama altyapısını güçlendirmek ve veri analizi için gerekli araçları tanıtmak amaçlanır. Jupyter Notebook ortamı kullanılarak temel Python sözdizimi, veri yapıları ve bilimsel kütüphanelerle pratik yapılır.
-
Python’a Hızlı Giriş: Değişkenler, veri tipleri, listeler, döngüler, koşullar ve fonksiyonlar gibi temel Python konularının kısa bir tekrarı. İhtiyaç duyulan seviyede programlama bilgisinin tazelenmesi.
-
Bilimsel Python Kütüphaneleri: Veri bilimi uygulamalarında sık kullanılan kütüphanelerin tanıtımı:
-
NumPy: Sayısal hesaplamalar ve çok boyutlu diziler üzerinde işlemler (vektörler, matrisler, lineer cebir işlemleri).
-
Pandas: Veri okuma, yazma ve manipülasyonu için DataFrame yapısı; CSV veya SQL gibi kaynaklardan veri yükleme, filtreleme ve dönüştürme işlemleri.
-
Matplotlib & Seaborn: Verilerin görselleştirilmesi için grafik çizme kütüphaneleri; çizgi grafikler, histogramlar, dağılım grafikleri ile temel veri görselleri oluşturma.
-
-
Ortam ve Araçlar: Jupyter Notebook/Lab kullanımı, kod hücreleri ile etkileşimli programlama ve görselleştirme. Gerekliyse IDE kurulumu ve proje yapılandırma pratikleri.
-
Temel Veri İşleme Uygulamaları: Basit veri kümeleri üzerinde yukarıdaki kütüphaneleri kullanarak pratik yapma. Örneğin, küçük bir CSV dosyasını okuyup istatistiklerini hesaplama ve grafikle görselleştirme. Bu sayede öğrenciler sonraki bölümlere hazırlanır.
3. Temel İstatistik ve Keşifsel Veri Analizi (8 Saat)
Makine öğrenmesi ve veri bilimi projelerinde veriyi anlamak kritik öneme sahiptir. Bu modülde temel istatistik kavramları ve keşifsel veri analizi (EDA) teknikleri ele alınır. Öğrenciler, veri kümesindeki trendleri ve ilişkileri ortaya çıkarmayı, özet istatistikler çıkarmayı ve verileri görsel olarak analiz etmeyi öğrenirler.
-
İstatistiksel Temel Kavramlar: Betimleyici istatistiklerin (ortalama, medyan, mod, varyans, standart sapma) ve dağılım ölçülerinin tanımı. Verinin merkezi eğilim ve yayılım özelliklerini anlama.
-
Olasılık Dağılımları: Normal dağılım gibi yaygın sürekli dağılımlara giriş ve verinin dağılım yapısını anlamak için Q-Q plot, histogram yorumlama gibi yöntemler. Ayrıca gerekli olduğunda temel olasılık bilgisi ve olasılık kurallarının gözden geçirilmesi.
-
Keşifsel Veri Analizi (EDA): Bir veri setini derinlemesine tanıma süreci. Kategorik ve sayısal değişkenlerin analizi, veri dağılımlarının incelenmesi, sütunlar arası ilişkilerin (korelasyonların) tespiti.
-
Veri Görselleştirme Teknikleri: Seaborn ve Matplotlib kullanarak kutu grafikleri, ısı haritaları, dağılım matrisleri gibi araçlarla veriyi görselleştirme. Bu görseller yardımıyla outlier (aykırı değer) tespiti ve veri setinin genel özelliklerini yorumlama.
-
Örnek Uygulama (Mini Proje): Gerçek bir veri kümesi üzerinde EDA pratiği. Örneğin, “Titanic Yolcu Verisi Analizi”: Yolcuların yaş, cinsiyet, bilet sınıfı gibi bilgilerinin istatistiklerini çıkarma, hayatta kalma oranlarını görselleme ve bu faktörler arasındaki ilişkilere dair çıkarımda bulunma. Bu uygulama, öğrencilerin veriyle çalışırken soru sorma ve içgörü elde etme becerilerini geliştirir.
4. Veri Ön İşleme ve Özellik Mühendisliği (8 Saat)
Ham verinin modelleme için uygun hale getirilmesi gereklidir. Bu bölümde, veri ön işleme teknikleri ve özellik mühendisliği konuları ele alınır. Öğrenciler, gerçek dünya verilerindeki eksiklikler veya hatalarla başa çıkmayı ve modellerin başarımını artıracak yeni özellikler üretmeyi öğrenirler. Bu aşama, başarılı bir makine öğrenmesi projesinin temel adımlarındandır.
-
Veri Temizleme (Data Cleaning): Eksik verilerle başa çıkma yöntemleri (silinebilir veya uygun yöntemlerle doldurma/impute etme), aykırı değerlerin tespiti ve gerektiğinde çıkarılması. Tutarsız veya ekstrem değerlerin veri kümesine etkileri ve düzeltilmesi.
-
Veri Dönüştürme ve Ölçekleme: Sürekli verilerin ölçeklenmesi (min-max normalizasyon, standartlaştırma) ve kategorik verilerin sayısal forma dönüştürülmesi. Etiket Kodlama ve One-Hot Encoding gibi tekniklerle metin veya kategorik alanları modele uygun hale getirme.
-
Özellik Mühendisliği: Mevcut verilerden yeni özellikler türetme. Örneğin, tarih verisinden “hafta sonu mu/hafta içi mi” özelliği oluşturma veya birden fazla değişkeni bir araya getirerek etkileşim özellikleri üretme. Bu sayede modelin daha iyi öğrenebileceği ek bilgi sağlama.
-
Veri Setini Eğitim/Test Olarak Ayırma: Model değerlendirmesi için verinin eğitim ve test (ve gerekirse doğrulama) kümelerine ayrılması prensipleri. Zaman serileri veya dengesiz veri durumlarında dikkat edilmesi gereken konular.
-
Örnek Uygulama: Bir veri kümesi üzerinde tüm ön işleme adımlarının uygulanması. Örneğin, “Konut Fiyatları Veri Seti” ile çalışarak eksik değer doldurma, kategorik değişkenleri sayısallaştırma (evin bulunduğu semt gibi) ve yeni özellikler üretme (örneğin metrekare başına fiyat). Bu uygulama, sonraki bölümde yapılacak modelleme için hazır bir veri seti elde etmeye yöneliktir.
5. Makine Öğrenmesi: Denetimli Öğrenme Algoritmaları (15 Saat)
Bu bölümde etiketli veri ile çalışan denetimli öğrenme yöntemleri kapsamlı olarak incelenir. Hem regresyon (sürekli çıktılar) hem de sınıflandırma (kategorik çıktılar) problemleri için temel algoritmalar öğretilir. Her alt başlıkta algoritmanın temel prensipleri, avantajları/kısıtları ve Python ile uygulama örnekleri ele alınır. Öğrenciler, scikit-learn kütüphanesini kullanarak bu modelleri gerçek veri kümeleri üzerinde eğitme ve tahmin yapma deneyimi kazanır.
-
Lineer Regresyon: Sürekli bir hedef değişkeni (örneğin ev fiyatları) tahmin etmek için kullanılan en basit regresyon yöntemi. Tek ve çoklu değişkenli lineer regresyonun modeli, en küçük kareler yöntemiyle katsayı tahmini ve modelin hata metriği (MSE, RMSE) kavramları. Uygulama: Basit bir veri seti ile Python’da lineer regresyon modeli kurma ve sonuçları yorumlama.
-
Lojistik Regresyon: İkili veya çok sınıflı sınıflandırma problemleri için temel yöntemlerden biri. Logit fonksiyonu ve odds kavramı ile olasılık tahmini, karar sınırının belirlenmesi. Uygulama: Bir veri setinde (örn. hastalık teşhis verisi) lojistik regresyon kullanarak sınıflandırma yapma, modelin doğruluk, kesinlik (precision), geri çağırma (recall) gibi metriklerinin hesaplanması.
-
Karar Ağaçları (Decision Trees): Veriyi if-then kuralları şeklinde dallara ayırarak karar veren esnek bir algoritma. Ağaç yapısının oluşumu, bilgi kazancı veya Gini katsayısı ile düğüm bölünmesi prensipleri. Aşırı derin ağaçların ezberleme riskleri ve budama (pruning) teknikleri. Uygulama: Karar ağaçları ile hem regresyon hem sınıflandırma örnekleri gerçekleştirme (örneğin iris çiçeği verisi ile sınıflandırma).
-
k-En Yakın Komşu (K-NN) Algoritması: Hem sınıflandırma hem regresyonda kullanılabilen, benzerlik temelli bir yöntem. Veri noktalarının özellik uzayında yakın komşularına göre sınıflandırılması, k değerinin etkisi ve mesafe metrikleri (Öklid uzaklığı gibi). Uygulama: scikit-learn ile K-NN algoritmasını bir el yazısı rakam tanıma veya benzeri veri setinde kullanma.
-
Destek Vektör Makineleri (SVM): Veri noktalarını bir hiper düzlem ile ayırmaya çalışan güçlü bir sınıflandırma algoritması. Çekirdek (kernel) triklerinin tanıtılması (lineer, RBF gibi) ve veriyi daha yüksek boyuta taşıyarak ayrıştırma mantığı. Margin kavramı ve destek vektörlerinin önemi. Uygulama: Basit bir iki sınıflı veri setinde SVM ile karar sınırının görselleştirilmesi ve parametrik etkilerin incelenmesi.
-
Naive Bayes Sınıflandırıcı: Koşullu olasılık temelli, özellikle metin sınıflandırmada sık kullanılan bir yöntem. Bayes teoremine dayanarak özelliklerin birbirinden bağımsız olduğu varsayımıyla çalışır. Gaussian, Multinomial gibi farklı naive Bayes modelleri ve kullanım alanları. Uygulama: Bir e-posta mesaj veri setinde spam tespiti için Naive Bayes modelini eğitme ve değerlendirme.
-
scikit-learn ile Modelleme Pratiği: Yukarıdaki algoritmaların her biri için scikit-learn kullanarak uygulama yapma. Veriyi uygun formata getirme, model nesnesi oluşturma,
fit
ile eğitme vepredict
ile tahmin adımlarını içeren bir genel makine öğrenmesi iş akışının öğrenilmesi. -
Mini Proje: “Konut Fiyat Tahmini” veya “İris Çiçek Türü Sınıflandırma” gibi bir veri seti üzerinde, farklı denetimli öğrenme algoritmalarını karşılaştıran bir çalışma. Öğrenciler, veri hazırlığından başlayıp çeşitli modelleri eğiterek sonuçları karşılaştırır, en iyi modeli seçer ve yorumlar. Bu proje, denetimli öğrenme algoritmalarının pratikteki performans farklarını görmeyi sağlar.
6. Makine Öğrenmesi: Denetimsiz Öğrenme Algoritmaları (6 Saat)
Bu bölümde denetimsiz öğrenme yöntemleri ele alınır. Denetimsiz öğrenme, veride önceden tanımlanmış etiketler olmadığı durumlarda yapısal örüntüler bulmayı hedefler. Öğrenciler, veriyi keşfetmek, segmentlere ayırmak veya boyutunu azaltmak için kullanılan başlıca algoritmaları öğrenirler. Uygulamalar, scikit-learn kütüphanesi ile gerçekleştirilir.
-
Kümeleme (Clustering) Yöntemleri: Benzer özelliklere sahip veri noktalarını aynı gruplarda toplamak için kullanılır. En popüler yöntem olan K-Ortalamalar (K-Means) algoritması detaylarıyla incelenir: K değerinin seçimi, yinelemeli olarak merkezlerin güncellenmesi ve kümelerin oluşturulması. Ayrıca k-means’in limitasyonları ve Hiyerarşik Kümeleme veya DBSCAN gibi alternatif kümeleme tekniklerine kısa bakış.
-
Boyut İndirgeme (Dimensionality Reduction): Yüksek boyutlu verilerde önemli özellikleri koruyarak boyutu düşürmek, hem görselleştirme hem de hesaplama verimliliği açısından kritiktir. Temel Bileşen Analizi (PCA) algoritmasının mantığı (varyansı maksimum koruyacak ortogonal bileşenler bulma) ve bileşen sayısının seçimi anlatılır. PCA ile veri setindeki bilgi kaybı-yorumlanabilirlik dengesi tartışılır. Gerekirse t-SNE gibi görselleştirme amaçlı yöntemlerden bahsedilir.
-
Birliktelik Kuralı Öğrenimi (Association Rules): Özellikle perakende sektöründe (market sepet analizi) kullanılan, verideki öğeler arasındaki ilişki kurallarını bulma yöntemleri. Apriori algoritmasının temel prensibi, destek (support) ve güven (confidence) ölçütleriyle örnek kurallar çıkarma. (Not: Bu alt başlık, süre elverirse ele alınır; öncelik kümeleme ve PCA’dadır.)
-
Uygulama Örneği: “Müşteri Segmentasyonu” senaryosu ile bir kümeleme uygulaması. Örneğin, bir alışveriş veri setinde müşterilerin satın alma davranışlarına göre K-means ile segmentlere ayrılması ve her segmentin iş açısından yorumlanması. Ayrıca, PCA kullanarak yüksek boyutlu bir veri setinin 2 boyutlu hale indirgenip görselleştirilmesiyle bilgilerin kaybolup kaybolmadığının incelenmesi. Bu uygulamalar, denetimsiz öğrenmenin pratik faydalarını gösterir.
7. Model Değerlendirme ve Model İyileştirme (9 Saat)
Bu modül, makine öğrenmesi modellerinin başarı seviyesini objektif olarak ölçmeyi ve daha iyi hale getirmeyi amaçlar. Öğrenciler, uygun performans metriklerini seçmeyi, modelleri çapraz doğrulama ile sağlam şekilde değerlendirmeyi ve hiperparametre optimizasyonu gibi tekniklerle modellerin doğruluğunu artırmayı öğrenirler. Ayrıca birden fazla modeli birleştiren ensemble yöntemlerine giriş yapılarak gelişmiş yaklaşımlar tanıtılır.
-
Model Değerlendirme Metrikleri: Problemin türüne göre kullanılacak başarım ölçütleri. Sınıflandırma problemleri için doğruluk (accuracy), hata oranı, kesinlik (precision), duyarlılık (recall), F1 skoru ve ROC-AUC değeri gibi istatistikler açıklanır. Regresyon problemleri için ortalama kare hatası (MSE), ortalama mutlak hata (MAE), ve R² skoru gibi metrikler ele alınır. Bu metriklerin nasıl hesaplandığı ve yorumlandığı örneklerle gösterilir.
-
Aşırı Uyum (Overfitting) ve Alt Uyum (Underfitting): Bir modelin eğitim verisine aşırı uyum sağlayarak genelleme kabiliyetini yitirmesi veya tam tersi şekilde yeterince öğrenememesi durumları tartışılır. Bu problemleri tespit etmek için öğrenme eğrileri (learning curves) ve eğitim/test başarım farklarına bakılır. Düzenlileştirme (Regularization) yöntemleri kısaca tanıtılır (L1, L2 cezaları gibi) ve bunların overfitting’i azaltmadaki rolleri açıklanır.
-
Model Doğrulama Yöntemleri: Eğitim ve test verisi ayrımının yanı sıra Çapraz Doğrulama (Cross-Validation) tekniğinin önemi vurgulanır. k-katlı çapraz doğrulama yapısı, veri az olduğu durumlarda model değerlendirmesini güvenilir kılmak için nasıl kullanıldığı adım adım anlatılır. Uygulamada scikit-learn ile
cross_val_score
kullanımı gösterilerek bir modelin farklı katlamalarda tutarlı performans verip vermediği incelenir. -
Hiperparametre Optimizasyonu: Modellerin başarımını artırmak için elle ayarlanan parametrelerin (örneğin, karar ağacı derinliği, düzenlileştirme katsayısı, k komşu sayısı vb.) sistematik arama ile bulunması. Grid Search ve Random Search yaklaşımları anlatılır. scikit-learn’ün
GridSearchCV
sınıfı kullanılarak örneğin bir SVM modelinin en iyi kernel ve C parametresini arama uygulaması yapılır. Sonuçlar, en iyi parametre setinin getirdiği performans artışı ile birlikte değerlendirilir. -
Ensemble (Topluluk) Yöntemleri: Birden fazla modeli bir araya getirerek daha güçlü bir tahmin performansı elde etmeyi hedefleyen yöntemlere giriş. Bagging (Bootstrap Aggregation) ve Random Forests: Karar ağaçlarının bir alt örneklem ve öznitelik kümesi ile birden çok kez eğitilerek oylama ile sonuç üretmesi; random forest algoritmasının yapısı ve avantajları. Boosting: Zayıf öğrenicileri ardışık biçimde eğiterek hataları azaltmaya dayalı yöntemler (AdaBoost, Gradient Boosting, XGBoost gibi) ve bu yöntemlerin genel çalışma prensibi. Bu alt başlıkta, ensemblerin overfitting’e dirençli ve yüksek doğruluklu modeller elde etmekte nasıl kullanıldığı açıklanır.
-
Model İyileştirme Uygulaması: Daha önceki bir problemin ele alınıp, mevcut en iyi modeli ensemble veya hiperparametre ayarı ile daha da geliştirme pratiği. Örneğin, önceki Konut Fiyat Tahmini projesine geri dönülerek, random forest modeli oluşturup tek bir karar ağacına kıyasla performansın nasıl yükseldiği incelenir. Ardından, Grid Search ile random forest hiperparametreleri (ağaç sayısı, maksimum derinlik vb.) optimize edilerek ek bir iyileşme olup olmadığı gözlenir. Bu sayede öğrenciler, model geliştirme döngüsünü deneyimler.
8. Derin Öğrenmeye Giriş ve Yapay Sinir Ağları (10 Saat)
Bu bölüm, makine öğrenmesinin alt dalı olan derin öğrenmeye odaklanır. Yapay sinir ağlarının temelleri, çalışma prensipleri ve neden son yıllarda bu kadar başarılı oldukları ele alınır. Öğrenciler, biyolojik sinir ağlarından esinlenilen yapay nöron modelini ve çok katmanlı sinir ağlarının (Multi-Layer Perceptron – MLP) yapısını öğrenirler. Ardından modern derin öğrenme kütüphaneleri kullanarak basit bir sinir ağı modeli oluşturma deneyimi kazanırlar.
-
Yapay Sinir Ağlarının Temelleri: Biyolojik sinir hücrelerinden ilhamla geliştirilen yapay nöron modeli. Ağırlıklar ve bias’lar aracılığıyla girişlerin işlenmesi ve bir aktivasyon fonksiyonuyla çıktıya dönüştürülmesi. Tek katmanlı perceptron kavramı ve doğrusal ayrıştırılabilirlik. İlk sinir ağı uygulamalarından günümüze derin öğrenme alanındaki gelişmelerin kısa tarihi.
-
Çok Katmanlı Ağlar ve Geri Yayılım Algoritması: Gizli katmanlara sahip ileri beslemeli ağların (feed-forward networks) mimarisi. Her bir katmandaki nöronların önceki katmandan gelen çıktıları alarak hesaplama yapması. Geri yayılım (Backpropagation) algoritmasının temel fikri: Çıktı hatasını hesaplayıp zincir kuralı ile ağırlıkları güncelleyerek öğrenme sağlama. Bu süreçte öğrenme oranı (learning rate) kavramı ve optimizasyon algoritmalarının (SGD, Adam vb.) rolü.
-
Aktivasyon Fonksiyonları: Yapay sinir ağlarında doğrusal olmama özelliği kazandıran fonksiyonlar. Sigmoid, Tanh, ReLU, Leaky ReLU gibi yaygın aktivasyon fonksiyonlarının özellikleri ve hangi durumlarda tercih edildikleri. Derin ağlardaki vanishing/exploding gradient problemlerine karşı ReLU türevi fonksiyonların avantajları.
-
Derin Öğrenme Kütüphanelerine Giriş: Popüler derin öğrenme framework’lerinin tanıtımı. Keras (TensorFlow yüksek seviye API’si) ve PyTorch kütüphanelerinin temel farkları, kullanım kolaylığı ve esneklik açısından karşılaştırması. Bu kütüphanelerin kurulumu ve temel bir model oluşturma süreci özetlenir. (Not: Uygulamalarda yoğunlukla Keras/TensorFlow kullanılarak başlayıp, ihtiyaç halinde PyTorch gösterilecektir.)
-
Basit Yapay Sinir Ağı Uygulaması: Keras kullanarak ilk yapay sinir ağı modelini geliştirme adımları. Örneğin, “El Yazısı Rakam Tanıma (MNIST) Problemi” üzerinde bir MLP modeli oluşturulur. Veri hazırlama (28×28 görüntüleri vektöre dönüştürme, ölçekleme), model tanımlama (girdi, birkaç gizli katman ve çıktı katmanı), modelin derlenmesi (uygun kayıp fonksiyonu ve optimizasyon algoritması seçimi) ve eğitilmesi adımları gerçekleştirilir. Eğitim süreci sonunda eğitim ve doğrulama kayıpları/incelikleri grafikle incelenir.
-
Eğitim Parametreleri ve Model Kaydetme: Derin öğrenme modelinin eğitiminde epoch sayısı, batch büyüklüğü gibi parametrelerin etkisi tartışılır. Erken durdurma (early stopping) gibi tekniklerle aşırı uyumun önlenmesi anlatılır. Eğitilmiş modellerin kaydedilip yeniden yüklenmesi (model persistence) gösterilir. Bu bilgiler, öğrencilerin daha karmaşık ağları eğitirken işine yarayacak pratik deneyimi sağlar.
9. Derin Öğrenme ile Görüntü İşleme ve Bilgisayarla Görme (10 Saat)
Bu modülde, derin öğrenmenin en başarılı olduğu alanlardan biri olan görüntü işleme ve bilgisayarla görme (Computer Vision) uygulamalarına odaklanılır. Öğrenciler, özellikle konvolüsyonel sinir ağları (Convolutional Neural Networks – CNN) mimarilerini öğrenerek görüntü verisi üzerinde yüksek doğruluklu modeller geliştirmeyi deneyimler. Bu bölüm, teorik anlatımın yanı sıra bol miktarda uygulamalı çalışma içerir; gerçek görüntü veri setleri ile model eğitilir ve değerlendirilir.
-
Konvolüsyonel Sinir Ağlarının (CNN) Temelleri: CNN’lerin geleneksel yapay sinir ağlarından farkı ve özellikle görüntü tanıma görevlerindeki üstünlüğü anlatılır. Konvolüsyon katmanı kavramı: filtreler (çekirdekler) aracılığıyla görüntü üzerindeki özelliklerin (kenarlar, dokular vb.) algılanması. Havuzlama (Pooling) katmanı: Maksimum veya ortalama alma ile özellik haritalarının boyutunun küçültülmesi ve translasyonel değişmezlik kazandırılması. Tam bağlı (fully connected) katmanlar ile sınıflandırma yapılması. Örnek olarak LeNet mimarisi üzerinden katmanların çalışma prensibi görselleştirilir.
-
CNN Mimarileri ve Derin Ağlar: Tarihsel ve modern başarılarıyla bilinen derin CNN mimarilerine kısa bir bakış (AlexNet, VGG, ResNet gibi). Derinlik, filtre sayısı, katman tipleri açısından farklı mimarilerin başarı sebepleri özetlenir. Özellikle Residual Network yapısının (ResNet) tanıtılması, derin ağlarda öğrenmeyi kolaylaştıran yenilikçi bir yaklaşım olarak vurgulanır.
-
Görüntü Sınıflandırma Uygulamaları: Keras veya PyTorch kullanarak bir görüntü sınıflandırma modeli geliştirme pratiği. Örneğin, “CIFAR-10 Görüntü Veri Seti ile Nesne Sınıflandırma” uygulaması yapılır. Veri setinin yüklenmesi, eğitim/test olarak ayrılması, bir CNN mimarisinin tanımlanması (birkaç konvolüsyon ve havuzlama katmanı, ardından fully connected katmanlar), modelin eğitilmesi ve doğruluğunun hesaplanması adımları gerçekleştirilir. Eğitim süresince eğitim ve doğrulama hataları izlenerek modelin öğrenme durumu değerlendirilir.
-
Veri Artırma (Data Augmentation): Görüntü verisinde overfitting’i önlemek ve veri miktarını efektif olarak artırmak için uygulanan yöntemin açıklanması. Dönedürme, kaydırma, ölçekleme, yatay çevirme gibi rastgele dönüşümlerle yapay örnekler üretmek. Keras’ın ImageDataGenerator gibi araçlarıyla veri artırma işlemlerinin uygulamada gösterilmesi.
-
Transfer Öğrenimi: Büyük veri setleri üzerinde önceden eğitilmiş modellerin (ör. ImageNet üzerinde eğitilmiş VGG/ResNet) yeni bir probleme uyarlanması. Az miktarda veriyle yüksek performans elde etmek için son katmanların yeniden eğitilmesi (fine-tuning) tekniği anlatılır. Uygulama: Örneğin, “Kedi-Köpek Sınıflandırma” problemini çok az veriye sahip olarak çözmek için önceden eğitilmiş bir model kullanma. Mevcut bir CNN’in son katmanını çıkarıp kendi veri setimize uygun yeni bir çıktı katmanı ekleyerek eğitme pratiği yapılır. Sonuçlar, sıfırdan eğitilmiş modelle karşılaştırılarak transfer öğreniminin faydası vurgulanır.
-
Bilgisayarla Görme İleri Konu Örnekleri: Süre elverdiğince, nesne tespiti (object detection) veya görüntü segmentasyonu gibi ileri görme problemlerine ve bunların yaygın mimarilerine (RCNN, YOLO, U-Net gibi) yüzeysel bir bakış. Bu kısım, isteyen öğrencilerin derinlemesine inceleyebileceği yönlendirmeler sağlar ancak detay uygulama yerine genel fikir verme amaçlıdır.
10. Doğal Dil İşleme (NLP) ve Metin Madenciliği (10 Saat)
Bu bölüm, metin verisinin işlenmesi ve analizine odaklanır. Doğal dil işleme (Natural Language Processing – NLP), bilgisayarların insan dilini anlaması ve üretmesiyle ilgili teknikleri içerir. Öğrenciler, metin verisini sayısal forma dönüştürme, dil modelleme ve metin sınıflandırma gibi temel kavramları öğrenirler. Hem geleneksel yöntemler hem de derin öğrenme tabanlı yaklaşımlar ele alınarak, modern NLP uygulamalarının temelleri atılır.
-
Metin Verisinin Temsili: Ham metin verisinin makine öğrenmesi modellerine girdi olabilmesi için sayısal özelliklere dönüştürülmesi gerekir. Tokenizasyon (cümlenin kelimelere/parçalara ayrılması), Durdurma kelimelerinin atılması (stop words) ve Stemming/Lemmatization (eklerin atılması, köke indirgeme) gibi ön işleme adımları açıklanır. Çanta modeli (Bag-of-Words) yaklaşımı ve TF-IDF ağırlıklandırması ile belgelerin vektörel gösterimi öğretilir. Bu tekniklerin bir örnek metin kümesi üzerinde uygulanması gösterilerek, metnin nasıl sayısal özellik vektörlerine dönüştüğü deneyimlenir.
-
NLP için Kütüphaneler: Python ekosisteminde metin işlemede yardımcı kütüphanelerin (NLTK, spaCy, gensim gibi) tanıtımı. Örneğin NLTK ile cümleleri tokenlere ayırma, kelime frekanslarını hesaplama; spaCy ile dilbilgisi etiketleme (POS tagging), ad özne tanıma (NER) gibi ileri işlemlerin yapılabildiği belirtilir. Bu kütüphanelerin kurulumu ve temel kullanımı küçük kod parçalarıyla gösterilir.
-
Makine Öğrenmesi ile Metin Sınıflandırma: Önceki modüllerde öğrenilen algoritmaların metin verisine uygulanması. Örneğin, Naive Bayes veya Lojistik Regresyon kullanarak bir metin sınıflandırma (ör. haber başlıklarının kategori tahmini veya e-posta spam tespiti) uygulaması yapılır. Özellik olarak TF-IDF vektörleri kullanılarak bir model eğitilir ve doğruluk gibi metriklerle değerlendirilir. Bu, derin öğrenmeye geçmeden önce klasik yöntemlerle NLP problemlerine yaklaşımı gösterir.
-
Word Embeddings (Kelime Gömmeleri): Derin öğrenme öncesi bir köprü konu olarak, kelimelerin anlamsal olarak çok boyutlu vektörlere gömülmesi tekniği anlatılır. Word2Vec, GloVe gibi modellerin amacı ve çıktısı tartışılır: Benzer anlamlı kelimelerin vektörlerinin yakın olması fikri. Basit örneklerle vektör uzayında matematiksel anlamda çıkarımlar (“kral – adam + kadın ≈ kraliçe” gibi) gösterilir. Bu kavram, sonraki derin öğrenme tabanlı dil modellerine temel hazırlar.
-
Tekrarlayan Sinir Ağları (RNN) ve LSTM ile Dil Modellemesi: Sıralı veriler için tasarlanmış RNN yapısının temel prensibi (döngüsel bağlantılarla önceki adımların bilgisinin taşınması) anlatılır. RNN’lerin dil modellemesi ve metin üretimi gibi görevlerde kullanımı, fakat uzun dizilerde yaşanan sorunlar (kaybolan gradyan) belirtilir. Bu sorunları aşmak için LSTM (Long Short-Term Memory) ve GRU (Gated Recurrent Unit) hücrelerinin yenilikçi yapıları açıklanır. Uygulama olarak, Keras ile küçük bir LSTM ağı kurularak metin sınıflandırma (örneğin film yorumlarında duygu analizi) yapılır. Metin verisinin diziler halinde hazırlanması (padding, embedding layer kullanımı) ve modelin eğitilmesi adımları deneyimlenir.
-
Transformers ve Modern NLP Yaklaşımları: Son yıllarda NLP alanında devrim yaratan Transformer mimarisi tanıtılır. Özellikle BERT, GPT gibi modellerin çok büyük veri setleri üzerinde eğitilerek dil anlayışında ulaştığı seviye özetlenir. Transformer’ların temelini oluşturan kendine dikkat (self-attention) mekanizması anlaşılır bir dille açıklanır. Bu kısımda teorik bir bakış sunularak, öğrencilerin modern NLP gelişmelerinden haberdar olması sağlanır (detaylı matematiksel analiz yerine kavramsal düzeyde tutulur).
-
NLP Uygulama Örneği: “Duygu Analizi (Sentiment Analysis) Projesi”: Öğrenciler, gerçek dünya tweet veya film yorumu verisi kullanarak olumlu/olumsuz duygu sınıflandırması yapar. Önce metinler temizlenir ve sayısal özelliklere dönüştürülür. Ardından uygun bir model (örneğin lojistik regresyon veya bir basit derin öğrenme modeli) eğitilerek yeni yorumların duygu tahmini gerçekleştirilir. İmkan varsa bir Hugging Face pre-trained modeli kullanarak aynı veri üzerinde hızlı bir inceleme yapılıp sonuçlar kıyaslanabilir. Bu proje, metin verisiyle çalışmanın uçtan uca deneyimini sunar.
11. İleri Yapay Zeka Konuları ve Proje Çalışması (10 Saat)
Kursun son bölümünde, temel konuların ötesine geçilerek bazı ileri düzey yapay zeka konuları tanıtılır ve öğrencilerin bütün öğrendiklerini uygulayabileceği bir proje çalışması planlanır. Bu sayede öğrenciler, hem yapay zeka alanındaki yeni trendler hakkında bilgi sahibi olacak hem de gerçekçi bir problem üzerinde çalışarak edindikleri becerileri pekiştirecekler.
-
Pekiştirmeli Öğrenme (Reinforcement Learning) Temelleri: Ajan (agent) ve ortam (environment) etkileşimine dayalı bu öğrenme paradigmasının prensipleri. Durum (state), eylem (action) ve ödül (reward) kavramları üzerinden bir ajanının deneyimle öğrenmesi anlatılır. Dinamik programlama, Q-öğrenmesi gibi temel algoritmalara kavramsal bakış. Örneğin, bir oyun ortamında (basit bir labirent veya OpenAI Gym’den bir örnek) ajanının ödül toplamak için strateji öğrenmesi senaryosu tartışılır. Bu ileri konuda, öğrenciler teorik bir vizyon kazanır ancak detaylı matematiksel çıkarımlar yerine genel çalışma mantığı vurgulanır.
-
Generative AI ve Üretici Modeller: Yapay zekada son dönemde öne çıkan üretici modeller tanıtılır. Generative Adversarial Networks (GANs) kavramı: İki sinir ağının (üretici ve ayırt edici) rekabetçi eğitimiyle gerçekçi sahte veriler üretme yöntemi. GAN ile sahte görüntü üretme, derin sahtekarlık (deepfake) gibi uygulamalara değinilir. Aynı zamanda, Metin Üretimi ve Büyük Dil Modelleri: GPT gibi modellerin insan benzeri metinler üretebilme becerisi örneklenir (ChatGPT gibi uygulamalara referansla). Bu kısımda amaç, öğrencileri en güncel yapay zeka yaklaşımlarıyla tanıştırmaktır.
-
Büyük Veri ve Dağıtık Makine Öğrenmesi: Gerçek dünyada verinin hacmi çok büyüyebilir. Büyük veri kavramı ve klasik makine öğrenmesi yöntemlerinin büyük ölçekli verideki zorlukları tartışılır. Apache Spark gibi dağıtık sistemlerin veya Hadoop ekosisteminin makine öğrenmesinde kullanımı hakkında genel bir fikir verilir. Bulut tabanlı AI hizmetleri (AWS SageMaker, Google Cloud AI Platform gibi) kısaca tanıtılarak, bulutta model eğitiminin avantajları/dezavantajları tartışılır. Bu alt başlık, öğrencilerin endüstriyel ortamlarda karşılaşabilecekleri ölçek sorunlarına hazırlıklı olmalarını hedefler.
-
Yapay Zeka Etiği ve Veri Gizliliği: AI projelerinin teknik boyutu kadar etik boyutunun da önemli olduğu vurgulanır. Model önyargıları (bias) ve adalet, yapay zekada şeffaflık (interpretability), kararların açıklanabilirliği ve sorumlu AI kavramları tartışılır. Gerçek vakalardan (örneğin, hatalı çalışan bir yüz tanıma sisteminin yol açtığı problemler) kısaca bahsedilerek, öğrencilerin bu konulara farkındalık geliştirmesi sağlanır. Ayrıca, veri gizliliği ve güvenliği (kişisel verilerin korunması, anonimleştirme teknikleri) üzerinde durulur.
-
Kapsamlı Proje Çalışması: Kursun sonunda öğrencilerin tüm öğrendikleri becerileri entegre edebilecekleri bir capstone projesi yapılır. Proje konusu, ilgi çekici ve gerçek hayatla bağlantılı bir problem alanından seçilir (örneğin, “Trafik Kazası Riski Tahmini için Veri Bilimi Projesi” veya “Görüntülerden Hastalık Teşhisi Yapay Zeka Uygulaması”). Öğrenciler, proje kapsamında veri toplama/temizleme, model seçimi/eğitimi ve sonuçların sunumu aşamalarını ekipler halinde gerçekleştirirler. Haftalık mentorluklerle proje ilerlemesi takip edilir. Kursun sonunda her grup, projesini sunarak çözümünü ve öğrendiklerini sınıfla paylaşır. Bu proje çalışması, öğrencilerin ders boyunca edindikleri bilgi birikimini pekiştirir ve portföylerinde sergileyebilecekleri somut bir çıktıya dönüşür.
Not: Her modül, konuların zenginliğine göre belirlenen sürelerde interaktif olarak işlenecektir. Canlı derslerde teorik anlatım ile birlikte kod uygulamaları, örnek vakalar ve soru-cevap etkinlikleri yer alacaktır. Öğrenciler modüller ilerledikçe düzenli ödevler ve mini projeler ile pratik yapma imkânı bulacaktır. Kurs sonunda başarıyla tamamlayanlar, yapay zeka ve veri bilimi alanında güçlü bir temel ile ileri seviye konulara giriş yapabilecek donanıma sahip olacaklardır.