tag GelişmişAlgoritmalar

A* Algoritması Nedir? Yapay Zekada Yol Bulma (A* Arama Algoritması)

Bu sayfada GelişmişAlgoritmalar (A* Algoritması Nedir? Yapay Zekada Yol Bulma (A* Arama Algoritması)) etiketi ile işaretlenmiş 9 yapay zeka kavramını bulabilirsiniz.

A* (A-yıldız) algoritması, 1968 yılında Peter Hart, Nils Nilsson ve Bertram Raphael tarafından Stanford Araştırma Enstitüsü'nde geliştirilen, graflar ve ağlar üzerinde en kısa yolu bulan sezgisel bir arama algoritmasıdır. Yapay zeka, robotik, oyun geliştirme ve navigasyon sistemlerinde en yaygın kullanılan yol bulma (pathfinding) yöntemi olma özelliğini korumaktadır. A*, Dijkstra algoritmasının garantili optimalliği ile sezgisel arama yöntemlerinin verimliliğini bir araya getirir. Temel değerlendirme fonksiyonu f(n) = g(n) + h(n) formülüyle tanımlanır: g(n) başlangıç noktasından mevcut düğüme ulaşmanın gerçek maliyetini, h(n) ise mevcut düğümden hedef noktaya olan tahmini mesafeyi (sezgisel fonksiyon) ifade eder. Bu iki bileşeni birleştirerek algoritma, hem geçmiş maliyeti hem de gelecekteki tahmini maliyeti optimize eder. Algoritmanın doğruluk ve optimallik garantisi, kullanılan sezgisel fonksiyonun kabul edilebilir (admissible) olmasına bağlıdır. Kabul edilebilir sezgisel, gerçek maliyeti hiçbir zaman olduğundan fazla tahmin etmez. Düzlemsel koordinatlarda sıklıkla kullanılan Öklid ve Manhattan mesafe formülleri bu kriteri karşılar. Sezgisel aynı zamanda tutarlı (consistent/monotone) olduğunda A* keşfedilen düğümleri yeniden ziyaret etmez ve bellek kullanımı azalır. A*, açık liste (open list) ve kapalı liste (closed list) veri yapılarıyla çalışır. Önce başlangıç düğümünü açık listeye ekler; her adımda f değeri en düşük düğümü seçer, komşularını değerlendirir ve listeyi günceller. Bu süreç hedefe ulaşılana veya tüm olası yollar tükenene kadar devam eder. Öncelik kuyruğu (priority queue) ile uygulandığında zaman karmaşıklığı O(E log V) mertebesindedir. Yapay zeka araştırmalarında A*, pekiştirmeli öğrenmede planlama problemlerinin çözümünde, doğal dil işlemede sözdizimi ağaçlarının aranmasında ve konfigürasyon uzaylarında robot hareket planlamasında kullanılmaktadır. Oyun motorlarında ise NPC (Non-Player Character) yapay zekasının temel navigasyon bileşeni olarak yaygındır. Büyük ölçekli harita uygulamalarında A* varyantları (IDA*, D* Lite) bellek ve hız optimizasyonu için tercih edilmektedir.

route

A* Algoritması Nedir? Yapay Zekada Yol Bulma (A* Arama Algoritması)

A* (A-yıldız) algoritması, 1968 yılında Peter Hart, Nils Nilsson ve Bertram Raphael tarafından Stanford Araştırma Enstitüsü'nde geliştirilen, graflar ve ağlar üzerinde en kısa yolu bulan sezgisel bir arama algoritmasıdır. Yapay zeka, robotik, oyun geliştirme ve navigasyon sistemlerinde en yaygın kullanılan yol bulma (pathfinding) yöntemi olma özelliğini korumaktadır. A*, Dijkstra algoritmasının garantili optimalliği ile sezgisel arama yöntemlerinin verimliliğini bir araya getirir. Temel değerlendirme fonksiyonu f(n) = g(n) + h(n) formülüyle tanımlanır: g(n) başlangıç noktasından mevcut düğüme ulaşmanın gerçek maliyetini, h(n) ise mevcut düğümden hedef noktaya olan tahmini mesafeyi (sezgisel fonksiyon) ifade eder. Bu iki bileşeni birleştirerek algoritma, hem geçmiş maliyeti hem de gelecekteki tahmini maliyeti optimize eder. Algoritmanın doğruluk ve optimallik garantisi, kullanılan sezgisel fonksiyonun kabul edilebilir (admissible) olmasına bağlıdır. Kabul edilebilir sezgisel, gerçek maliyeti hiçbir zaman olduğundan fazla tahmin etmez. Düzlemsel koordinatlarda sıklıkla kullanılan Öklid ve Manhattan mesafe formülleri bu kriteri karşılar. Sezgisel aynı zamanda tutarlı (consistent/monotone) olduğunda A* keşfedilen düğümleri yeniden ziyaret etmez ve bellek kullanımı azalır. A*, açık liste (open list) ve kapalı liste (closed list) veri yapılarıyla çalışır. Önce başlangıç düğümünü açık listeye ekler; her adımda f değeri en düşük düğümü seçer, komşularını değerlendirir ve listeyi günceller. Bu süreç hedefe ulaşılana veya tüm olası yollar tükenene kadar devam eder. Öncelik kuyruğu (priority queue) ile uygulandığında zaman karmaşıklığı O(E log V) mertebesindedir. Yapay zeka araştırmalarında A*, pekiştirmeli öğrenmede planlama problemlerinin çözümünde, doğal dil işlemede sözdizimi ağaçlarının aranmasında ve konfigürasyon uzaylarında robot hareket planlamasında kullanılmaktadır. Oyun motorlarında ise NPC (Non-Player Character) yapay zekasının temel navigasyon bileşeni olarak yaygındır. Büyük ölçekli harita uygulamalarında A* varyantları (IDA*, D* Lite) bellek ve hız optimizasyonu için tercih edilmektedir.

arrow_forward
code_blocks

Causal Discovery (Nedensel Keşif)

Nedensel keşif, yalnızca gözlemsel veriye bakarak değişkenler arasındaki nedensel ilişkilerin yapısını ortaya çıkarmaya çalışan bir makine öğrenmesi ve istatistik alanıdır. Temel çıktı genellikle yönlü döngüsüz bir çizge (DAG) biçimindedir; bu çizgede düğümler değişkenleri, oklar ise nedensel yönü temsil eder. Alanın köklü algoritmaları arasında PC algoritması (Peter-Clark) yer alır: koşullu bağımsızlık testleri yaparak önce bir iskelet çizgesi kurar, ardından v-yapılarını yönlendirerek Markov denklik sınıfını temsil eden bir kısmi yönlü döngüsüz çizgeye (CPDAG) ulaşır. FCI (Fast Causal Inference) algoritması ise gizli ortak nedenler bulunduğunda PC'nin yetersiz kaldığı durumlarda kullanılır ve gizli karıştırıcıları modelleyebilen PAG (Partial Ancestral Graph) yapılarını üretir. LiNGAM (Linear Non-Gaussian Acyclic Model), değişkenler arasındaki ilişkilerin doğrusal ve gürültünün Gauss dışı olduğunu varsayarak tek bir DAG'ı tanımlayabilir; bu varsayım, Gauss durumundaki tanımlanamama sorununu çözer. GES (Greedy Equivalence Search) denklik sınıfları üzerinde aç gözlü bir arama yürüterek skoru en çoklaştıran yapıyı bulur. 2019'da önerilen NOTEARS ise DAG'ı öğrenmeyi sürekli optimizasyon problemine dönüştürerek gradyan tabanlı yöntemlerle çözüme olanak tanır ve büyük ölçekli veri kümelerinde avantaj sunar. Nedensel keşif, nedensel çıkarımdan (causal inference) farklı bir problemi çözer: nedensel çıkarım yapı bilindiğinde belirli bir müdahalenin etkisini tahmin ederken, nedensel keşif o yapının kendisini veriden öğrenmeye çalışır. İkisi çoğu zaman birlikte kullanılır: önce keşif, sonra çıkarım. Uygulama alanları oldukça geniştir. Genomide gen düzenleyici ağları aydınlatmak, epidemiyolojide hastalık risk faktörlerini ayırt etmek, ekonomide politika etkilerini modellemek ve yapay zeka adalet çalışmalarında karar sistemlerindeki önyargı kaynaklarını tespit etmek bu alanların başında gelir. Alanın temel güçlükleri şunlardır: Markov denklik sınıfı problemi, yani birden fazla DAG'ın aynı gözlemsel dağılımı üretebilmesi; ölçülmemiş karıştırıcıların (confounders) varlığı; ve yeterli örneklem olmadığında koşullu bağımsızlık testlerinin güvenilirliğinin düşmesi. Tanımlanabilirlik (identifiability) kısıtlamaları hangi koşullar altında gerçek nedensel grafın kurtarılabileceğini belirler ve bu kısıtlamalar her durumda sağlanamaz.

arrow_forward
blur_on

Fuzzy Logic (Bulanık Mantık)

Bulanık mantık (fuzzy logic), 1965 yılında Lotfi Zadeh tarafından geliştirilen ve klasik Aristoteles mantığının ikili (doğru/yanlış) sınıflandırmasını sürekli bir üyelik derecesine genişleten matematiksel bir çerçevedir. Klasik küme teorisinde bir eleman ya kümeye aittir ya da değildir; bulanık kümede ise 0 ile 1 arasında herhangi bir üyelik derecesi alabilir. Bulanık mantığın temel kavramı bulanık kümeler ve üyelik fonksiyonlarıdır. 'Yüksek sıcaklık' gibi dilsel bir değişken için üçgen veya trapezoid biçimli bir üyelik fonksiyonu tanımlanır; örneğin 35°C 'yüksek sıcaklık' kümesine 0.7, 'çok yüksek sıcaklık' kümesine 0.3 derecesiyle üye olabilir. Bu belirsiz sınırlar gerçek dünyanın muğlak kavramlarını daha doğal biçimde modeller. Bulanık çıkarım sistemi üç aşamadan oluşur: bulanıklaştırma (fuzzification) kesin girdileri üyelik derecelerine dönüştürür; bulanık kural tabanı dilsel kurallarla ('EĞER sıcaklık yüksek VE nem çok fazla İSE fan hızı yüksek') çıkarım yapar; berraklaştırma (defuzzification) ise bulanık çıktıyı ağırlıklı ortalama gibi yöntemlerle kesin bir sayıya dönüştürür. Bulanık mantık, özellikle kesin matematiksel model kurmanın güç olduğu kontrol sistemlerinde güçlüdür. Çamaşır makinesi, klima, kamera otofokus ve metro sistemleri bulanık mantık kontrolörü kullanan yaygın ürünlere örnek verilebilir. Makine öğrenmesi öncesinde endüstriyel otomasyon ve karar destek sistemlerinde standart bir teknolojiydi. Günümüzde bulanık mantık, nöro-bulanık sistemler (neuro-fuzzy) aracılığıyla derin öğrenmeyle birleştirilmektedir. Bu hibrit yaklaşımlar yorumlanabilirliği korurken veriden öğrenme kapasitesi kazanır ve tıbbi teşhis, finans riski ve gömülü kontrol sistemleri gibi alanlarda aktif kullanım bulmaktadır.

arrow_forward
fingerprint

Genetic Algorithms (Genetik Algoritmalar)

Genetik Algoritmalar (GA), biyolojik evrimin temel mekanizmalarından — doğal seçilim, çaprazlama (crossover) ve mutasyon — ilham alarak tasarlanmış sezgisel arama ve optimizasyon algoritmalarıdır. 1975 yılında John Holland tarafından Michigan Üniversitesi'nde teorik temelleri atılan bu yaklaşım, özellikle gradyan tabanlı yöntemlerin yetersiz kaldığı karmaşık, çok boyutlu ve türevlenemeyen arama uzaylarında güçlü bir alternatif sunar. GA'nın çalışma prensibi beş temel adımdan oluşur: (1) Başlangıç popülasyonu — olası çözümleri temsil eden bireylerden (kromozomlardan) oluşan rastgele bir popülasyon oluşturulur; her birey genellikle binary bit dizisi, gerçek sayı vektörü veya permütasyon olarak kodlanır. (2) Uygunluk değerlendirmesi — her bireyin kalitesi, probleme özgü bir uygunluk (fitness) fonksiyonuyla ölçülür. (3) Seçilim — daha yüksek uygunluk değerine sahip bireyler ebeveyn olarak seçilme şansını artırır; rulet tekerleği, turnuva ve sıra-tabanlı seçim en yaygın stratejilerdir. (4) Çaprazlama — iki ebeveynin genetik materyali birleştirilerek yeni çocuk bireyler üretilir; tek nokta, iki nokta ve üniform çaprazlama popüler yöntemlerdir. (5) Mutasyon — küçük rastgele değişiklikler eklenerek genetik çeşitlilik korunur ve yerel optimumlara takılma riski azaltılır. Bu döngü, belirlenen nesil sayısına ulaşılana ya da uygunluk eşiği sağlanana dek tekrarlanır. Her nesilde popülasyon ortalama kalitesi artar; en iyi birey "elit seçim" stratejisiyle bir sonraki nesile doğrudan aktarılabilir (elitizm). Genetik Algoritmalar; makine öğrenmesinde hiperparametre optimizasyonu, lojistik rota planlaması (Gezgin Satıcı Problemi), elektronik devre tasarımı, protein katlama, oyun yapay zekası ve NAS (Neural Architecture Search) gibi geniş bir uygulama yelpazesine sahiptir. Simulated Annealing ve Parçacık Sürü Optimizasyonu (PSO) ile sıklıkla karşılaştırılır; GA'nın temel avantajı, paralel popülasyon keşfiyle çok-modlu fonksiyonlarda yerel optimumlardan kaçabilmesidir. Hesaplama maliyetinin yüksek olabileceği ve sonuçların deterministik olmadığı başlıca kısıtlamalar arasındadır.

arrow_forward
🐜

Karınca Kolonisi Optimizasyonu (ACO) (Karınca Kolonisi Optimizasyonu)

Karınca Kolonisi Optimizasyonu (ACO), Marco Dorigo tarafından 1992 yılındaki doktora tezinde geliştirilen, karıncaların feromon izi bırakarak yiyecek kaynağına en kısa yolu bulma davranışını matematiksel olarak modelleyen meta-sezgisel bir optimizasyon algoritmasıdır. Biyolojik karıncalar, kısa güzergahlarda daha sık geçiş yaptığından bu yollarda feromon birikimi artar; uzun yollardaki feromon ise zamanla buharlaşarak solar. Bu olasılıksal mekanizma, koloniyi zamanla global optimuma yakınsatır. Algoritmada her iterasyonda bir grup sanal "yapay karınca" çözüm uzayını keşfeder. Her karınca, mevcut feromon yoğunluğunu ve sezgisel bilgiyi (örn. kenar uzunluğunu) birleştiren stokastik bir kuralla hareket kararları verir. İterasyon tamamlandığında iyi çözümler bulan karıncalar feromonlarını biriktirir; tüm güzergahlardaki feromonlar ρ (rho) buharlaşma katsayısıyla kısmi olarak azalır. Birikim ve buharlaşma dengesi, hem umut verici bölgeleri yoğun araştırmayı hem de yeni alanları keşfetmeyi olanaklı kılar. Temel varyantlar arasında Ant Colony System (ACS, 1997) yerel feromon güncellemesi ve yalnızca küresel en iyi yolun güncellenmesiyle daha hızlı yakınsama sunar; MAX-MIN Ant System (MMAS) feromon değerlerini belirlenen alt ve üst sınırlar arasında tutarak erken yakınsamayı engeller; Rank-Based AS (ASrank) ise yalnızca sıralı en iyi karıncaların feromon bırakmasına izin verir. ACO, Gezgin Satıcı Problemi (TSP), Araç Rota Planlama (VRP), makine çizelgeleme, internet paketi yönlendirme (AntNet protokolü) ve protein katlama gibi kombinatoryal optimizasyon görevlerinde yaygın olarak kullanılır. Hibrit ACO-Derin Öğrenme modelleri büyük ölçekli lojistik ve enerji şebekesi optimizasyonunda aktif araştırma konusudur. Marco Dorigo, ACO ve sürü zekası alanındaki katkılarıyla 2022 IEEE Frank Rosenblatt Ödülü'nü almıştır. Güçlü yanları arasında dinamik ve çok modlu arama uzaylarında etkinliği, paralel uygulamaya uygunluğu ve yerel optimum tuzaklarından çıkma kapasitesi yer alır. Sınırlılıkları ise sürekli fonksiyon optimizasyonuna kısıtlı uyumu ve α, β, ρ hiperparametrelerinin problem bazında hassas ayar gerektirmesidir.

arrow_forward
architecture

Neural Architecture Search (NAS) Nedir? Otomatik Model Tasarımı (Nöral Ağ Mimarisi Arama)

Neural Architecture Search (NAS), bir makine öğrenimi görevi için en uygun sinir ağı mimarisini insan müdahalesi olmadan otomatik olarak keşfeden ve AutoML alanının temel dallarından birini oluşturan yapay zeka tekniğidir. Geleneksel derin öğrenme iş akışında araştırmacılar katman sayısı, bağlantı desenleri, aktivasyon fonksiyonları ve boyut seçimleri gibi onlarca tasarım kararını elle yapılandırır; bu süreç uzman bilgisi gerektirir ve haftalarca sürebilir. NAS bu manuel döngüyü sistematik bir optimizasyon problemine dönüştürerek hem süreyi hem gerekli uzmanlığı azaltır. NAS üç temel bileşenden oluşur: arama uzayı (olası mimarilerin yapısal şablonu), arama stratejisi (hangi adayların değerlendirileceğini belirleyen algoritma) ve performans tahmini (mimarileri derecelendiren ölçüm yöntemi). Pekiştirmeli öğrenme tabanlı RL-NAS, evrimsel algoritmalar, gradyan tabanlı DARTS (Differentiable Architecture Search) ve ağırlık paylaşımlı One-Shot NAS bu bileşenlerin farklı kombinasyonlarını kullanır. Google Brain'in 2017'deki ilk RL-NAS çalışması 800 GPU'da 28 gün gerektirirken, 2018'de tanıtılan DARTS bu maliyeti tek bir GPU-gününe indirdi. Weight Sharing yöntemleri ek 100× hızlanma sağladı. EfficientNet ve NASNet, ImageNet sıralamasında manuel tasarlanan modelleri geride bırakarak endüstri standardı haline geldi; EfficientNet B7 sürümü %84,4 Top-1 doğruluğu ile kıyaslama testlerini yeniden tanımladı. Günümüzde donanım farkındalıklı NAS, mobil cihaz gecikmesini ve bellek kısıtlarını arama hedefine katarak kenar cihazlara özel mimariler üretir. Apple Neural Engine ve Qualcomm Snapdragon için optimize edilmiş modeller bu teknikle tasarlanmaktadır. NAS-LLM çalışmaları ise transformatör başlık sayısı, FFN genişliği ve dikkat mekanizması yapısı gibi hiper-mimari kararları otomatikleştirmeye yönelmektedir. NAS'ın pratik sınırları arasında klasik yöntemlerin yüksek hesaplama maliyeti, bulunan mimarinin eğitim verisi ve donanıma özgü olması ile küçük veri kümelerinde genelleme güçlüğü yer alır. Uygulamada Google Vertex AI AutoML ve Azure Automated ML NAS işlevselliği sunarken, açık kaynak timm kütüphanesi daha esnek bir başlangıç noktası oluşturur.

arrow_forward
code_blocks

Parçacık Sürü Optimizasyonu (PSO)

Parçacık sürü optimizasyonu (İng. Particle Swarm Optimization, PSO), James Kennedy ve Russell Eberhart tarafından 1995 yılında IEEE Uluslararası Sinir Ağları Konferansı'nda önerilen, sürü zekasına dayalı bir meta-sezgisel optimizasyon algoritmasıdır. Algoritmanın temel esin kaynağı, merkezi bir yönlendirme olmaksızın koordineli davranan kuş sürüleri ve balık okullarının kolektif davranışıdır. PSO, bir "sürü" oluşturan aday çözümler kümesiyle çalışır; her aday çözüme "parçacık" adı verilir. Her parçacık, arama uzayında bir konum (X) ve bir hız vektörüyle (V) temsil edilir. Optimizasyon sürecinde her parçacık iki bilgiden yararlanır: kendi geçmişte ulaştığı en iyi konum (kişisel en iyi, pBest) ve sürünün tümünün şimdiye kadar bulduğu en iyi konum (küresel en iyi, gBest). Hız güncelleme formülü şu şekildedir: V(t) = w·V(t-1) + c₁·r₁·(pBest - X) + c₂·r₂·(gBest - X). Burada w atalet ağırlığı, c₁ bilişsel katsayı, c₂ sosyal katsayı; r₁ ve r₂ ise [0,1] aralığındaki rastgele sayılardır. Shi ve Eberhart (1998), w değerini yinelemeler boyunca 0,9'dan 0,4'e doğrusal olarak azaltmanın küresel keşif ile yerel sömürü arasındaki dengeyi iyileştirdiğini göstermiştir. Makine öğrenmesinde PSO; yapay sinir ağlarında hiper-parametre optimizasyonu (katman sayısı, öğrenme hızı, batch boyutu), sinir mimarisi araması (NAS) ve özellik seçimi için yaygın biçimde kullanılır. Araştırmalar, 20-50 parçacıktan oluşan küçük bir sürünün bile etkili sonuçlar ürettiğini göstermektedir. Başlıca varyantları arasında Uyarlanabilir PSO (APSO, Zhan vd. 2009), zaman değişkenli ivme katsayılı PSO (PSO-TVAC) ve kombinatoryal problemler için Ayrık PSO sayılabilir. Genetik algoritmalarla karşılaştırıldığında PSO, çaprazlama ve mutasyon operatörlerine gerek duymadan daha az parametreyle çalışır; bu durum özellikle sürekli değerli optimizasyon problemlerinde daha hızlı yakınsama sağlar. Başlıca sınırlılığı erken yakınsamadır: parçacıklar küresel en iyiye hızla yöneldiğinde sürü çeşitliliği azalır ve algoritma yerel bir optimumda takılı kalabilir.

arrow_forward
code_blocks

Sürü Zekası (Sürü Zekası)

Sürü zekası (swarm intelligence), bireysel ajanların birbirleriyle ve çevreleriyle yerel etkileşimleri sonucunda gruba özgü kolektif zeka davranışının kendiliğinden ortaya çıkmasını inceleyen hesaplama paradigmasıdır. Terimi, biyolog Guy Theraulaz ve matematikçi Eric Bonabeau 1990'ların başında kavramsallaştırmış; ilham kaynağı ise karınca kolonileri, arı kovanları ve kuş sürülerindeki merkezi koordinasyon olmaksızın gerçekleşen etkin problem çözme davranışıdır. Sürü zekasının iki temel özelliği öne çıkar: birincisi öz-örgütlenme, yani basit bireysel kurallardan küresel yapıların kendiliğinden doğması; ikincisi dağıtık kontrol, yani tek noktada merkezileşmiş otorite olmaksızın işleyen sistemdir. Bu özellikler, sürü tabanlı algoritmaların donanım arızalarına ve ortam değişimlerine karşı yüksek dayanıklılık sergilemesini sağlar. En yaygın sürü zekası algoritmaları şunlardır: Karınca Kolonisi Optimizasyonu (ACO): Marco Dorigo'nun 1992'de önerdiği bu yöntemde yapay karıncalar, feromon izi mantığıyla graflar üzerinde optimal yolları keşfeder. Gezgin satıcı problemi, ağ yönlendirmesi ve lojistik optimizasyonunda başarıyla uygulanır. Parçacık Sürüsü Optimizasyonu (PSO): Kennedy ve Eberhart'ın 1995'te geliştirdiği PSO, kuş ve balık sürüsü davranışından esinlenir. Her parçacık, kendi en iyi konumu ve sürünün küresel en iyisi bilgisiyle hareketi günceller; sürekli optimizasyon problemlerinde ve derin öğrenme hiperparametre ayarında tercih edilir. Yapay Arı Kolonisi (ABC): Karaboğa'nın tasarladığı bu algoritma, keşifçi, sömürücü ve gözetici arı rolleriyle çok modlu fonksiyonları başarıyla optimize eder. Günümüzde sürü zekası; nöral mimari araması (NAS), çok-etmenli robot koordinasyonu, akıllı şebeke yönetimi ve otonom araç filolarının denetiminde yeni uygulama alanları bulmaktadır. Pekiştirmeli öğrenme ile birleştirilen hibrit yaklaşımlar, gradyan tabanlı yöntemlerin yetersiz kaldığı süreksiz veya çok modlu arama uzaylarında üstün sonuçlar üretmektedir.

arrow_forward
scatter_plot

KNN (K-En Yakın Komşu) (K-En Yakın Komşu Algoritması)

KNN (K-En Yakın Komşu), yeni bir veri noktasını eğitim setindeki en yakın K komşusuna bakarak sınıflandıran veya sayısal değer tahmin eden denetimli bir makine öğrenimi algoritmasıdır. 1951'de Evelyn Fix ve Joseph Hodges'ın ABD Hava Kuvvetleri için hazırladığı raporla ortaya çıkan yöntem, 75 yılı aşkın süredir hem ders kitaplarının hem de gerçek üretim sistemlerinin vazgeçilmezi olmayı sürdürüyor. Algoritmanın mantığı günlük sezgiyle örtüşür: bir şeyin ne olduğunu bilmiyorsanız, ona en çok benzeyen örneklere bakarsınız. K=5 seçildiyse, yeni noktaya en yakın 5 eğitim örneği bulunur; sınıflandırmada bu 5 komşunun çoğunluk oyu, regresyonda ise değerlerinin (isteğe bağlı mesafe ağırlıklı) ortalaması sonucu belirler. KNN "tembel öğrenme" (lazy learning) ailesindendir: eğitim aşamasında model kurmaz, veriyi olduğu gibi bellekte tutar ve tüm hesabı tahmin anına erteler. Eğitim maliyeti fiilen sıfırdır; buna karşılık her tahmin, n örnek ve d boyut için O(n·d) mesafe hesabı gerektirir. Aynı zamanda non-parametriktir: veri dağılımı hakkında hiçbir varsayım yapmaz, karar sınırının şeklini doğrudan veriden okur. Mesafe ölçümünde en yaygın tercih Öklid mesafesidir; Manhattan, Minkowski, cosine benzerliği ve kategorik veri için Hamming mesafesi de kullanılır. Özellik ölçekleri farklıysa min-max normalizasyonu veya z-skoru standartlaştırması şarttır; aksi hâlde 0–1000 aralığındaki bir özellik, 0–1 aralığındakini tamamen bastırır. K seçimi bias-variance dengesini belirler: K=1 gürültüye aşırı duyarlıdır ve overfitting üretir, çok büyük K karar sınırını körleştirir. Pratikte K, çapraz doğrulama ile tek sayılar arasından seçilir; √n kuralı iyi bir başlangıç noktasıdır. KNN'in mesafe temelli çekirdeği, 2026'nın en güncel yapay zeka mimarilerinde de yaşıyor: RAG sistemlerindeki vektör araması, özünde embedding uzayında yürütülen bir yaklaşık en yakın komşu (ANN) sorgusudur. FAISS, HNSW tabanlı indeksler ve Pinecone, Weaviate, Qdrant, Milvus gibi vektör veritabanları milyarlarca vektör üzerinde milisaniyeler içinde komşu arayarak bu klasik fikri LLM çağının bel kemiği hâline getirdi. Scikit-learn tarafında KNeighborsClassifier ve KNeighborsRegressor sınıfları algoritmayı KD-Tree ve Ball Tree hızlandırmalarıyla birlikte sunar.

arrow_forward