Makine Öğrenmesi 

1. Ünite: Yapay Zekâ, Makine Öğrenmesi ve İlişkili Temel Kavramlar

the relationship between Artificial Intelligence, Machine Learning and Deep Learning, yapay zekayla üretilmiş

Getty ImagesYapay zekâ (YZ), makinelerin insanlar gibi düşünmesini, öğrenmesini ve problem çözmesini sağlayan geniş bir bilgisayar bilimi dalıdır. Makine öğrenmesi (MÖ) ise yapay zekânın bir alt dalı olup, açıkça programlanmadan verilerden öğrenen algoritmalar geliştirmeye odaklanır. Derin öğrenme (DÖ) ise makine öğrenmesinin, insan beynindeki nöron yapısını taklit eden çok katmanlı yapay sinir ağlarını kullanan daha özel bir alanıdır. Tarihsel sürece bakıldığında, Alan Turing’in “Makineler düşünebilir mi?” sorusuyla başlayan süreç, 1956’daki Dartmouth Konferansı ile resmiyet kazanmıştır. Günümüzde ise büyük veri ve yüksek işlem gücü (GPU’lar) sayesinde makine öğrenmesi günlük hayatın vazgeçilmez bir parçası haline gelmiştir.

Makine öğrenmesi yöntemleri temel olarak dört kategoriye ayrılır. Danışmanlı (Supervised) Öğrenme, etiketli veriler kullanılarak modelin eğitilmesidir; burada her girdi için bir hedef çıktı (etiket) mevcuttur (Örn: Sınıflandırma ve Regresyon). Danışmansız (Unsupervised) Öğrenme, etiketsiz verilerdeki gizli yapıları ve grupları bulmayı hedefler (Örn: Kümeleme). Yarı Danışmanlı Öğrenme, az miktarda etiketli veri ile çok miktarda etiketsiz veriyi birleştirir. Takviyeli (Reinforcement) Öğrenme ise, bir ajanın çevresiyle etkileşime girerek aldığı ödül ve cezalar yoluyla en iyi stratejiyi geliştirmesi esasına dayanır. Makine öğrenmesi; istatistik, veri madenciliği ve veri bilimi ile iç içedir. İstatistik daha çok veri toplama ve yorumlamaya odaklanırken, makine öğrenmesi geleceğe yönelik tahmin doğruluğunu maksimize etmeye odaklanır. Bu teknoloji; otonom araçlardan tıbbi teşhis sistemlerine, öneri motorlarından dolandırıcılık tespitine kadar çok geniş bir yelpazede değer yaratmaktadır.

2. Ünite: Makine Öğrenmesi Süreci

Başarılı bir makine öğrenmesi projesi, sadece kod yazmaktan ibaret değildir; belirli bir metodoloji çerçevesinde yürütülmelidir. En yaygın kullanılan standartlar CRISP-DM (Cross-Industry Standard Process for Data Mining) ve SEMMA’dır. CRISP-DM süreci altı temel aşamadan oluşur: İş probleminin anlaşılması, verinin anlaşılması, veri hazırlama, modelleme, değerlendirme ve yayına alma. Sürecin en başında, çözülmek istenen problemin makine öğrenmesi için uygun olup olmadığı ve başarının hangi metriklerle (Accuracy, RMSE vb.) ölçüleceği netleştirilmelidir. Veri hazırlama aşaması, genellikle toplam sürenin %80’ini alan en zahmetli kısımdır.

Modelleme aşamasında, probleme en uygun algoritmalar seçilir ve eğitilir. Ancak bir modelin eğitim verisinde çok yüksek başarı göstermesi her zaman iyi bir işaret değildir; bu durum “Aşırı Öğrenme” (Overfitting) olarak adlandırılır ve modelin veriyi ezberlediği anlamına gelir. Öte yandan “Eksik Öğrenme” (Underfitting), modelin verideki temel yapıyı bile kavrayamadığı durumu ifade eder. Bu sorunları aşmak için veri seti; eğitim, doğrulama (validation) ve test seti olarak üç parçaya bölünür. Değerlendirme aşamasında, modelin gerçek hayat verileri üzerindeki performansı analiz edilir ve hedeflere ulaşılıp ulaşılmadığına bakılır. Son aşamada ise model, son kullanıcıların yararlanabileceği bir yazılım veya servis olarak canlı ortama aktarılır. Makine öğrenmesi süreci döngüseldir; yani model canlıya alındıktan sonra da gelen yeni verilerle sürekli olarak izlenmeli ve gerekirse yeniden eğitilmelidir.

3. Ünite: Python ile Veri Görselleştirme

data visualization chart types, yapay zekayla üretilmiş

ShutterstockVeri görselleştirme, verideki eğilimleri, aykırı değerleri ve değişkenler arasındaki ilişkileri anlamak için sayısal verilerin grafiksel forma dönüştürülmesidir. Python programlama dili; Matplotlib, Seaborn ve Plotly gibi kütüphaneleriyle bu alanda çok güçlü araçlar sunar. Analiz sürecinin başında yapılan “Keşifçi Veri Analizi” (EDA) için görselleştirme hayati önem taşır. Grafik seçimi, incelenen değişkenin türüne (kategorik veya nümerik) ve sorulan soruya göre değişir. Örneğin, tek bir değişkenin dağılımını görmek için Histogramlar veya Yoğunluk Grafikleri kullanılırken; kategorik verilerin frekanslarını karşılaştırmak için Sütun Grafikleri tercih edilir.

Değişkenler arasındaki korelasyonu (ilişkiyi) incelemek için Saçılım Diyagramları (Scatter Plots) en etkili yöntemdir. Zaman içindeki değişimleri takip etmek için Çizgi Grafikler, verideki aykırı değerleri ve yayılımı görmek için Kutu Grafikleri (Box Plots) kullanılır. Seaborn kütüphanesi, estetik açıdan daha zengin grafiklerin yanı sıra “Heatmap” (Isı Haritası) gibi değişkenler arası korelasyon matrislerini görselleştiren araçlar sunar. İyi bir görselleştirme; karmaşık veri yığınlarını yönetici ve paydaşlar için anlaşılır kılar, veri temizleme aşamasında gözden kaçan hataların fark edilmesini sağlar ve modelin neden belirli bir kararı verdiğine dair ipuçları sunar. Görselleştirme sadece bir sunum aracı değil, aynı zamanda veriyi derinlemesine anlama ve model kurma öncesi hipotez geliştirme sürecidir.

4. Ünite: Python ile Veri Ön-işleme

Veri ön-işleme, ham verinin makine öğrenmesi algoritmaları tarafından işlenebilecek “temiz ve kaliteli” bir formata getirilmesi sürecidir. “Kirli” veriyle eğitilen modeller, ne kadar gelişmiş algoritma kullanılırsa kullanılsın hatalı sonuçlar verecektir. Ön-işleme adımları; eksik verilerin yönetimi, aykırı değerlerin tespiti, veri dönüşümü ve ölçeklendirme işlemlerini kapsar. Eksik veriler (NaN), veri setinden tamamen silinebileceği gibi; ortalama, medyan veya en sık tekrar eden değerle doldurulabilir (Imputation). Aykırı değerler ise istatistiksel yöntemlerle (Z-Skoru veya IQR) belirlenerek baskılanabilir veya veri setinden çıkarılabilir.

Makine öğrenmesi algoritmaları genellikle sadece sayısal verilerle çalışır; bu nedenle kategorik değişkenlerin (Örn: Şehir isimleri) sayısal formata dönüştürülmesi gerekir. “Label Encoding” sınıflara 0, 1, 2 gibi değerler atarken; “One-Hot Encoding” her sınıf için yeni bir sütun oluşturarak veriyi temsil eder. Bir diğer kritik adım “Özellik Ölçeklendirme”dir (Feature Scaling). Farklı birimlerdeki veriler (Örn: Yaş ve Maaş) algoritmaların dengesini bozabilir; bu nedenle Standardizasyon (ortalama 0, standart sapma 1) veya Normalizasyon (0-1 arası) teknikleriyle veriler aynı aralığa çekilir. Son olarak veri seti, modelin başarısını tarafsız ölçebilmek için Eğitim ve Test seti olarak ayrılır. Veri ön-işleme, makine öğrenmesi mühendisliğinin temel taşıdır ve modelin performansını doğrudan belirleyen en önemli unsurdur.

5. Ünite: K-ortalamalar Algoritması

K-ortalamalar (K-Means), danışmansız öğrenme kategorisinde yer alan ve verileri benzerliklerine göre gruplandırmayı sağlayan en popüler kümeleme algoritmasıdır. Algoritmanın temel amacı, küme içi benzerliği artırırken kümeler arası farkı maksimize etmektir. Süreç, kullanıcının belirlediği ‘k’ adet küme merkezinin (centroid) rastgele atanmasıyla başlar. Ardından her bir veri noktası, kendisine en yakın olan merkeze atanır. Atama işlemi bittikten sonra, her kümenin merkezi yeniden hesaplanır. Bu döngü, küme merkezleri artık değişmeyene kadar (yakınsama gerçekleşene kadar) devam eder.

Algoritmanın en büyük zorluğu, başlangıçta ‘k’ sayısının (küme sayısı) bilinmemesidir. Bu sorunu çözmek için “Dirsek Yöntemi” (Elbow Method) kullanılır; farklı k değerleri için kümelerin toplam hata kareleri (WCSS) hesaplanır ve grafikteki “kırılma” noktası ideal küme sayısı olarak seçilir. K-ortalamalar, uzaklık temelli bir algoritma olduğu için (genellikle Öklid uzaklığı kullanır), veri ön-işleme aşamasında özellik ölçeklendirmesi yapılması şarttır. Uygulama alanları arasında; pazar segmentasyonu (benzer alışveriş alışkanlığı olan müşterileri gruplama), görüntü sıkıştırma ve anomali tespiti yer alır. Algoritma basitliği ve hızı nedeniyle çok büyük veri setlerinde bile etkili sonuçlar üretir; ancak aykırı değerlere karşı hassastır ve sadece küresel (yuvarlak) yapıda olan küme kümelerini bulmada başarılıdır.

6. Ünite: Basit ve Çoklu Doğrusal Regresyon Analizi

Doğrusal regresyon, bağımlı bir değişken (hedef) ile bir veya daha fazla bağımsız değişken (özellik) arasındaki ilişkiyi doğrusal bir denklemle modellemek için kullanılan en temel tahmin yöntemlerinden biridir. Makine öğrenmesi literatüründe bu yöntem, sürekli sayısal değerlerin tahmin edilmesi gereken regresyon problemlerinde (Örn: Ev fiyatı tahmini, satış miktarı öngörüsü) yaygın olarak kullanılır. Basit doğrusal regresyon, tek bir bağımsız değişkenin bağımlı değişken üzerindeki etkisini inceler. Bu modelde amaç, gerçek veri noktaları ile modelin tahmin ettiği doğru arasındaki dikey uzaklıkların (hataların) kareleri toplamını minimize eden en iyi doğruyu bulmaktır. Bu yöntem istatistikte “En Küçük Kareler” (Ordinary Least Squares – OLS) olarak bilinir.

Çoklu doğrusal regresyon ise, bağımlı değişkenin birden fazla bağımsız değişken tarafından etkilendiği durumlarda kullanılır. Gerçek hayat senaryolarının çoğu çok boyutludur; örneğin bir ürünün satış miktarını sadece fiyatı değil; reklam harcamaları, rakip fiyatları ve mevsimsellik gibi birçok faktör birlikte belirler. Çoklu regresyon modellerinde, her bağımsız değişkenin modele katkısını belirleyen “katsayılar” (weights) bulunur. Modelin başarısı, R-kare (Belirlilik Katsayısı) ile ölçülür; bu değer bağımlı değişkendeki değişimin yüzde kaçının model tarafından açıklandığını gösterir. Regresyon analizinde dikkat edilmesi gereken en önemli konulardan biri “Çoklu Doğrusallık” (Multicollinearity) sorunudur; yani bağımsız değişkenlerin kendi aralarında çok yüksek korelasyona sahip olması modelin katsayılarını kararsız hale getirebilir. Ayrıca, modelin geçerliliği için hataların normal dağılması ve varyansın sabit olması gibi istatistiksel varsayımların kontrol edilmesi gerekir.

7. Ünite: K-en Yakın Komşu Algoritması

K-en Yakın Komşu (K-Nearest Neighbors – KNN), hem sınıflandırma hem de regresyon problemlerinde kullanılabilen, basit ama oldukça etkili bir danışmanlı öğrenme algoritmasıdır. Algoritmanın temel felsefesi “Bana arkadaşını söyle, sana kim olduğumu söyleyeyim” mantığına dayanır; yani bir veri noktasının sınıfı veya değeri, ona en yakın olan ‘k’ adet komşusunun özelliklerine bakılarak belirlenir. KNN, “tembel öğrenme” (lazy learning) kategorisindedir; çünkü bir eğitim aşaması yoktur, tüm verileri hafızasında tutar ve tahmin anında hesaplama yapar. Sınıflandırma problemlerinde, yeni bir veri noktasının sınıfı, en yakın ‘k’ komşusu arasında yapılan bir çoğunluk oylamasıyla belirlenirken; regresyon problemlerinde komşuların değerlerinin ortalaması alınır.

KNN algoritmasında performans üzerinde iki temel faktör belirleyicidir: ‘k’ sayısının seçimi ve mesafe ölçüm yöntemi. ‘k’ sayısı çok küçük seçilirse model gürültüden çok etkilenir ve aşırı öğrenme (overfitting) riski oluşur; çok büyük seçilirse model aşırı genelleme yaparak detayları kaçırır. Mesafe ölçümünde ise genellikle Öklid uzaklığı kullanılır, ancak verinin yapısına göre Manhattan veya Minkowski mesafeleri de tercih edilebilir. KNN, uzaklık tabanlı bir algoritma olduğu için özelliklerin ölçekleri (birimleri) çok önemlidir. Örneğin, yaş ve yıllık gelir gibi farklı birimlerdeki özellikler mutlaka normalize edilmeli veya standardize edilmelidir; aksi halde büyük değerlere sahip özellikler mesafeyi domine ederek hatalı sonuçlara yol açar. Algoritmanın en büyük dezavantajı, veri seti büyüdükçe her tahmin için tüm mesafelerin yeniden hesaplanması gerektiğinden hesaplama maliyetinin çok artmasıdır.

8. Ünite: Naive Bayes Algoritması

Naive Bayes, olasılık temelli bir sınıflandırma algoritmasıdır ve temelini Bayes Teoremi’nden alır. Bu algoritmaya “Naive” (saf/safdil) denilmesinin sebebi, modeldeki tüm bağımsız değişkenlerin birbirlerinden tamamen bağımsız olduğunu varsaymasıdır. Gerçek hayatta özellikler genellikle birbiriyle ilişkilidir, ancak bu basitleştirici varsayım algoritmanın hem çok hızlı çalışmasını sağlar hem de birçok karmaşık problemde şaşırtıcı derecede yüksek başarı elde edilmesine imkan tanır. Naive Bayes, özellikle doğal dil işleme (NLP) ve metin madenciliği alanlarında, örneğin e-postaların spam olup olmadığını belirlemede veya duygu analizinde altın standartlardan biri olarak kabul edilir.

Algoritma, bir veri örneğinin belirli bir sınıfa ait olma olasılığını her bir özellik için ayrı ayrı hesaplar ve bu olasılıkları çarparak nihai bir skor elde eder. Veri setindeki özelliklerin türüne göre farklı Naive Bayes varyasyonları kullanılır: Eğer özellikler sürekli sayısal değerler ise ve normal dağılıma uyuyorsa “Gaussian Naive Bayes”; veriler kelime sayımları gibi frekans tabanlı ise “Multinomial Naive Bayes”; veriler sadece var/yok (0/1) şeklinde ikili ise “Bernoulli Naive Bayes” tercih edilir. Naive Bayes’in en büyük avantajları; çok az eğitim verisiyle bile başarılı modeller kurabilmesi, yüksek boyutlu veri setlerinde (binlerce kelime içeren metinler gibi) çok hızlı çalışması ve aşırı öğrenmeye karşı dirençli olmasıdır. En büyük zayıflığı ise özellikler arasındaki güçlü ilişkileri (bağımlılıkları) modelleyememesidir.

9. Ünite: Karar Ağaçları

Karar Ağaçları, verileri bir ağaç yapısı şeklinde dallara ayırarak sınıflandırma veya regresyon yapan, insan düşünce sistemine en yakın algoritmalardan biridir. Bir karar ağacı; kök düğüm (başlangıç noktası), iç düğümler (karar verme noktaları) ve yaprak düğümlerden (nihai tahmin) oluşur. Algoritma, veriyi her adımda en anlamlı şekilde ikiye veya daha fazlaya bölecek “soruları” sormaya çalışır. Veriyi bölmek için kullanılan kriterler arasında Bilgi Kazancı (Information Gain), Gini İndeksi veya Entropi yer alır. Amaç, her bir dalın sonundaki verilerin mümkün olduğunca “saf” (homojen) olmasını sağlamaktır; yani bir yaprak düğümdeki tüm örneklerin aynı sınıfa ait olması hedeflenir.

Karar ağaçlarının en güçlü yönü, modelin verdiği kararların görselleştirilebilmesi ve teknik bilgisi olmayan kişiler tarafından bile kolayca yorumlanabilmesidir. Ayrıca, verideki doğrusal olmayan ilişkileri yakalayabilirler ve hem sayısal hem de kategorik verilerle aynı anda çalışabilirler. Ancak, karar ağaçları kontrol edilmezse veriyi en ince ayrıntısına kadar dallandırmaya çalışarak “Aşırı Öğrenme” (Overfitting) hatasına çok kolay düşerler. Bu sorunu önlemek için ağacın derinliğini sınırlama veya “Budama” (Pruning) adı verilen, dalları geri kesme teknikleri kullanılır. Günümüzde tek bir karar ağacı yerine, binlerce ağacın bir araya gelmesiyle oluşan Rastgele Orman (Random Forest) veya Gradyan Artırma (XGBoost/LightGBM) gibi topluluk (ensemble) yöntemleri, makine öğrenmesi yarışmalarında en yüksek başarıyı elde eden modellerin temelini oluşturmaktadır.

10. Ünite: Yapay Sinir Ağları

Yapay Sinir Ağları (YSA), insan beyninin biyolojik nöron yapısını ve sinir sisteminin çalışma biçimini taklit eden, modern yapay zekânın ve derin öğrenmenin temelini oluşturan en karmaşık algoritmalardan biridir. Bir YSA; girdi katmanı, bir veya daha fazla gizli katman ve çıktı katmanından oluşur. Her katmanda, veriyi işleyen ve bir sonraki katmana aktaran “yapay nöronlar” bulunur. Nöronlar arasındaki bağlantıların “ağırlıkları” (weights), öğrenme süreci boyunca sürekli güncellenir. Bir nöronun gelen sinyali (veriyi) bir sonraki katmana iletip iletmeyeceğine “Aktivasyon Fonksiyonu” (Örn: ReLU, Sigmoid, Tanh) karar verir.

Öğrenme süreci, verinin ağ üzerinden ileriye doğru aktığı “İleri Yayılım” (Forward Propagation) ve hatanın hesaplanıp ağırlıkların geriye doğru güncellendiği “Geri Yayılım” (Backpropagation) adımlarından oluşur. Ağırlıkları optimize etmek için “Gradyan İnişi” (Gradient Descent) adı verilen matematiksel yöntem kullanılır. Yapay sinir ağları, özellikle ses tanıma, görüntü işleme ve karmaşık zaman serisi analizleri gibi geleneksel algoritmaların yetersiz kaldığı alanlarda devrim yaratmıştır. Ancak bu modellerin eğitimi için çok büyük miktarda veri ve yüksek işlem gücü (GPU) gereklidir. Ayrıca, bir sinir ağının neden belirli bir kararı verdiğini anlamak çok zor olduğu için bu modeller “Kara Kutu” (Black Box) olarak adlandırılır. Katman sayısının ve nöron sayısının artırılmasıyla derin öğrenme modelleri elde edilir; bu yapılar günümüzde otonom sürüşten doğal dil üretimine (ChatGPT gibi sistemlere) kadar en ileri teknolojilerin arkasındaki itici güçtür.

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Scroll to Top