Kökeni Antik Yunan matematiğine dayanan Öklidyen uzaklık, günümüzde veri bilimi, makine öğrenimi ve mekânsal analizde vazgeçilmez bir araç haline gelmiştir. Ünlü Öklid’in adını taşıyan bu metrik, iki boyutta ya da daha fazla boyutta uzaydaki noktalar arasındaki doğru çizgi mesafesini ölçmenin temel bir yolunu sunar.
Öklidyen Uzaklık Nedir?
Öklidyen uzaklık, Öklidyen uzayda iki nokta arasındaki en kısa yolu temsil eder. Cetvelle ölçtüğünüz mesafenin, herhangi bir boyut sayısına genelleştirilmiş hâlidir. Bu kavram, dik üçgende hipotenüsün uzunluğunun karesinin, diğer iki kenarın kareleri toplamına eşit olduğunu söyleyen Pisagor teoremine dayanır.

“Öklidyen uzaklığı öğreten filozof.” Görsel: Dall-E
Öklidyen Uzaklık Formülü
Öklidyen uzaklık formülünü farklı boyutlar için parçalara ayıralım:
2B Öklidyen uzaklık
İki boyutlu bir düzlemde, A(x₁, y₁) ve B(x₂, y₂) noktaları arasındaki Öklidyen uzaklık şöyledir:

Örneğin, A(1, 2) ve B(4, 6) noktaları arasındaki mesafeyi hesaplayalım:

2B Öklidyen uzaklık görselleştirmesi
2B Öklidyen uzaklığı daha iyi anlamak için görselleştirelim:

2B Öklidyen uzaklık. Görsel: Yazar
Bu görselleştirme, 2B düzlemde iki nokta arasındaki Öklidyen uzaklığı gösterir. Kırmızı çizgi doğrudan mesafeyi temsil ederken, kesikli çizgiler dik üçgeni oluşturarak Pisagor teoreminin nasıl işlediğini gösterir.
3B Öklidyen uzaklık
Üç boyuta genişlettiğimizde, A(x₁, y₁, z₁) ve B(x₂, y₂, z₂) noktaları için formül şu hâle gelir:

3B Öklidyen uzaklık görselleştirmesi
3B Öklidyen uzaklığı görselleştirelim:

3B Öklidyen uzaklık. Görsel: Yazar
Bu 3B grafik, üç boyutlu uzayda iki nokta arasındaki Öklidyen uzaklığı gösterir. Yeşil kesikli çizgi, noktalar arasındaki doğrudan mesafeyi temsil eder.
N boyutlu Öklidyen uzaklık
n boyutlu bir uzayda, A(a₁, a₂, ..., aₙ) ve B(b₁, b₂, ..., bₙ) noktaları arasındaki Öklidyen uzaklık şöyledir:

Bu, toplam gösterimi kullanılarak daha özlü bir şekilde şöyle yazılabilir:

Lineer Cebir Kavramlarıyla İlişkisi
Öklidyen uzaklığı anlamak, iki nokta arasındaki en kısa yolun nasıl ölçüleceğini bilmenin ötesine geçer. Aynı zamanda bu uzaklıklara, vektörler ve onların özellikleriyle uzayı ve boyutları tanımlamamıza ve sorunları çözmemize yardımcı olan lineer cebir penceresinden bakmaktır. Bu konu hakkında daha fazla bilgi için, bu kavramları kapsamlı biçimde ele alan R ile Veri Bilimi için Lineer Cebir kursunu inceleyin.
Bir vektör normu olarak Öklidyen uzaklık
Öklidyen uzaklık, uzayda iki noktanın birbirinden ne kadar uzakta olduğunu ölçer. Bir yürüyüş parkurunun başlangıcındaki bir nokta ile bir tepenin zirvesindeki bir nokta düşünün. Başlangıçtan zirveye uzanan düz yol, Öklidyen uzaklık gibi düşünülebilir. Lineer cebirde bu, parkurun başlangıcından (A noktası) tepenin zirvesine (B noktası) doğru düz uzanan bir okun (vektörün) uzunluğunu bulmaya benzer. Bu uzunluğa vektörün “normu” denir; aslında bu düz yolun uzunluğunun resmî adıdır.
Noktasal çarpım ve açının kosinüsü
Yönlerle uğraşırken, noktasal çarpım iki ok arasındaki açıyı anlamamıza yardım eder. Örneğin iki yolun kesişiminde duruyorsanız, noktasal çarpım bir yolun ne kadar diğerine doğru yöneldiğini söyler. Bu, her bir yolun uzunlukları (az önce bahsettiğimiz normlar) ve aralarındaki açı kullanılarak hesaplanır. Bu değer 0’a ne kadar yakınsa, yollar birbirine o kadar dik yaklaşıyor demektir. Mesafeyle ilişkilendirdiğinizde, noktasal çarpım formülü Öklidyen uzaklığı yönetmesi daha kolay bileşenlere ayırır ve yöndeki değişimlerin toplam mesafeyi nasıl etkilediğini gösterir.
Öklidyen uzaklık ve vektör çıkarımı
Vektörler kullanarak iki nokta arasındaki Öklidyen uzaklığı bulmak için, özünde bir noktadan diğerini çıkararak yeni bir vektör oluşturursunuz. Bu yeni vektör bir noktadan diğerine doğrudan yönelir ve uzunluğu ilgilendiğiniz Öklidyen uzaklıktır. Koordinatlarını çıkararak evinizden en yakın markete harita üzerinde doğrudan bir rota çizmek gibidir; bu, gidebileceğiniz en kısa yolu gösteren düz bir çizgi (vektör) verir.
Python ve R ile Öklidyen Uzaklık Hesaplama
Hem Python hem de R ile Öklidyen uzaklık hesaplamalarının uygulamalarını inceleyelim. Verimli hale getirmek için özel fonksiyonlar oluşturmayı ve yerleşik kütüphaneleri kullanmayı göreceğiz.
Python örneği
Python’da, verimli dizi işlemleri için NumPy’nin ve özel uzaklık hesapları için SciPy’nin gücünden yararlanabiliriz. Öklidyen uzaklığı şöyle uygulayabiliriz:
import numpy as np
from scipy.spatial.distance import euclidean
def euclidean_distance(point1, point2):
return np.sqrt(np.sum((np.array(point1) - np.array(point2))**2))
# 2D example
point_a = (1, 2)
point_b = (4, 6)
distance_2d = euclidean_distance(point_a, point_b)
print(f"2D Euclidean distance: {distance_2d:.2f}")
# 3D example
point_c = (1, 2, 3)
point_d = (4, 6, 8)
distance_3d = euclidean_distance(point_c, point_d)
print(f"3D Euclidean distance: {distance_3d:.2f}")
# Using SciPy for efficiency
distance_scipy = euclidean(point_c, point_d)
print(f"3D Euclidean distance (SciPy): {distance_scipy:.2f}")
Bu kodu çalıştırdığımızda, aşağıdakine benzer bir çıktı görmeyi bekleriz:
2D Euclidean distance: 5.00
3D Euclidean distance: 7.07
3D Euclidean distance (SciPy): 7.07
SciPy fonksiyonu genellikle daha hızlı ve daha optimize edilmiştir, özellikle yüksek boyutlu verilerde; ancak özel fonksiyonumuz, altta yatan hesabı gözler önüne sermeye yardımcı olur.
R örneği
R, Öklidyen uzaklığı hesaplamak için çeşitli yollar sunar. Özel bir fonksiyon oluşturacak ve bunu stats kütüphanesindeki dist() fonksiyonuyla karşılaştıracağız.
euclidean_distance <- function(point1, point2) {
sqrt(sum((point1 - point2)^2))
}
# 2D example
point_a <- c(1, 2)
point_b <- c(4, 6)
distance_2d <- euclidean_distance(point_a, point_b)
print(paste("2D Euclidean distance:", round(distance_2d, 2)))
# 3D example
point_c <- c(1, 2, 3)
point_d <- c(4, 6, 8)
distance_3d <- euclidean_distance(point_c, point_d)
print(paste("3D Euclidean distance:", round(distance_3d, 2)))
# Using the dist() function from stats
distance_builtin <- stats::dist(rbind(point_c, point_d), method = "euclidean")
print(paste("3D Euclidean distance (built-in):", round(as.numeric(distance_builtin), 2)))
Bu R kodunu çalıştırmak aşağıdakine benzer bir çıktı üretmelidir:
[1] "2D Euclidean distance: 5"
[1] "3D Euclidean distance: 7.07"
[1] "3D Euclidean distance (built-in): 7.07"
Özel euclidean_distance fonksiyonumuz, R’ın vektörleştirilmiş işlemlerini kullanarak onu özlü ve verimli kılar. stats içindeki dist() fonksiyonu aynı sonucu döndürerek özel fonksiyonumuzu doğrular. Her iki yöntem de bir matris döndürür.
Öklidyen Uzaklığın Uygulamaları
Öklidyen uzaklık, şeylerin birbirinden ne kadar uzakta olduğunu ölçmenin basit bir yoludur. Mekân ve mesafe içeren sorunları ele almak için çeşitli alanlarda kullanılır.
K-en yakın komşu (KNN)
k-en yakın komşu algoritmasında, Öklidyen uzaklık bir noktaya en yakın komşuları bulmaya yardımcı olur. Bu, yeni verilerin nasıl sınıflandırılacağına karar vermeye yarar—örneğin bir e-postanın, benzer e-postalara bakarak istenmeyen olup olmadığına karar vermek veya bir müşterinin zaten beğendiklerine benzeyen ürünleri önermek gibi.
K-ortalamalar kümeleme
k-ortalamalar kümelemede, Öklidyen uzaklık, her noktayı bir kümenin en yakın merkezine bağlayarak veri noktalarını gruplara ayırmaya yardımcı olur. Bu, müşteri segmentasyonu gibi alanlarda veya araştırmalarda benzer konuları bir araya getirmek için verileri benzerlikler paylaşan kategorilere düzenlemeye yarar.
Çok boyutlu ölçekleme (MDS)
Çok boyutlu ölçekleme, karmaşık verileri görselleştirmesi ve anlaması daha kolay bir şekle dönüştürmek için Öklidyen uzaklığı kullanır. Genellikle birçok ayrıntıya (boyuta) sahip verileri azaltarak daha sade hâle getirir; böylece eğilimleri ve örüntüleri daha net görmeyi sağlar.
Görüntü işleme
Görüntülerde kenar tespiti veya nesne tanıma gibi görevlerde, Öklidyen uzaklık piksel renklerinin ne kadar değiştiğini ölçerek nesnelerin ana hatlarını çıkarmaya veya önemli özellikleri belirlemeye yardımcı olur. Bu, örneğin tıbbî görüntülemede hastalıkları tespit etmekte veya güvenlik sistemlerinde yüz ya da nesne tanımada faydalıdır.
Robotik
Dronlar veya otonom araçlar gibi robotlar için, Öklidyen uzaklık bir noktadan diğerine en basit rotayı hesaplamaya yardımcı olur. Bu sayede robotlar ve diğer otomatik sistemler engellerden kaçınarak hedeflerine en kolay yollardan verimli ve güvenli şekilde hareket edebilir.
Diğer Uzaklık Ölçütleriyle Karşılaştırma
Öklidyen uzaklık, noktalar arasındaki uzaklığı ölçmenin birçok yolundan biridir; ancak farklı durumlar farklı yöntemler gerektirir. İşte yaygın diğer uzaklık ölçütleriyle karşılaştırması:
Manhattan uzaklığı
“Şehir bloğu” uzaklığı olarak da bilinen Manhattan uzaklığı, her bir boyut boyunca mutlak farkların toplamını ölçer. Şehrin ızgara biçimindeki sokaklarında yürüdüğünüzü hayal edin; blok blok kat ettiğiniz mesafe Manhattan uzaklığınızdır. Bu yöntem, şehir sokaklarında gezinme veya bazı oyun türleri gibi ızgarayı andıran ortamlarda özellikle kullanışlıdır. Ayrıca çok yüksek boyutlu verilerle uğraşırken, Öklidyen uzaklığın güvenilirliğinin azalabildiği durumlarda da faydalıdır. Daha fazla bilgi için Manhattan uzaklığı eğitimimize göz atın.
Kosinüs uzaklığı
Kosinüs uzaklığı, iki nokta veya vektör arasındaki açıya bakar. Aralarındaki çizginin uzunluğuna odaklanmak yerine, birbirlerine göre nasıl yöneldiklerini dikkate alır. Bu da özellikle metin analizi veya öneri sistemleri gibi, verinin yönünün (örneğin makalelerdeki kelime sayımları veya kullanıcı tercihleri) büyüklükten (ne kadar) daha önemli olduğu alanlarda işe yarar. Daha derinlemesine bir anlayış için kosinüs uzaklığı hakkındaki makalemize bakın.
Chebyshev uzaklığı
Chebyshev uzaklığı, uzaklığı ölçmenin bir başka yoludur ve herhangi bir boyuttaki en büyük farka odaklanır. Satranç oynamak gibidir: Şah, yatay, dikey veya çapraz olmasına bakılmaksızın en az hamlede en uzaktaki kareye gider. Bu metrik, birden çok farkın sadece en önemlisini dikkate almanız gereken senaryolarda özellikle kullanışlıdır. Daha fazla bilgi için Chebyshev uzaklığı eğitimimizi okuyun.
Öklidyen Uzaklığın Sınırlamaları
Öklidyen uzaklık sezgisel yapısı ve kolay hesaplanabilirliği sayesinde yaygın olarak kullanılsa da, bazı önemli sınırlamaları vardır. Bunları anlamak, doğru uzaklık ölçüsünü seçmeye veya veriyi bu sorunları azaltacak şekilde uyarlamaya yardımcı olabilir.
Ölçek duyarlılığı
Öklidyen uzaklık, özelliklerin ölçeğinden orantısız şekilde etkilenebilir. Örneğin, gelir ve yaşı içeren bir veri setinde, gelir genellikle çok daha geniş bir aralıkta (binlerce veya on binlerce) değişirken yaş genellikle 100’e kadar uzanır. Bu farklılık, mesafe hesabında gelirin baskın hale gelmesine ve sonuçların onun ölçeğine doğru kaymasına neden olabilir.
Azaltma: Veriyi normalize etmek veya standartlaştırmak, farklı özelliklerin ölçeklerini dengelemeye yardımcı olarak tek bir özelliğin mesafe hesabını gereksiz yere etkilemesini engeller.
Boyutsallık laneti
Boyutsallık laneti, bir veri setindeki boyut sayısı arttıkça ortaya çıkan çeşitli olguları ifade eder. Bunlardan biri, “yakınlık” veya “mesafe” kavramının anlamını yitirmeye başlamasıdır—mesafeler yakınsamaya eğilimlidir, bu da yakın ve uzak noktaları etkin biçimde ayırt etmeyi zorlaştırır.
Azaltma: Temel bileşen analizi (PCA) veya t-dağılımlı stokastik komşuluk gömme (t-SNE) gibi teknikler verinin boyutunu azaltır. Bu yöntemler, en fazla varyansa sahip temel özellikleri damıtarak veriyi sadeleştirmeye yardımcı olur.
Aykırı değerlere duyarlılık
Öklidyen uzaklık hesapları, aykırı değerlerden de güçlü şekilde etkilenebilir. Yüksek boyutlu uzaylarda tek bir aykırı değer bile mesafeleri dramatik biçimde değiştirebilir; bazı veri noktalarını gerçekte olduğundan çok daha benzer ya da farklı gösterebilir.
Aslında, doğrusal regresyonun aykırı değerlere duyarlılığı, Öklidyen uzaklık kavramıyla ilişkilidir. Bunun nedeni, doğrusal regresyonda modelin gözlenen ve tahmin edilen değerler arasındaki farkların kareleri toplamını en aza indirmesidir. Bu da özünde, gözlenen veri noktaları ile regresyon doğrusu arasındaki Öklidyen uzaklığı ölçmek anlamına gelir. Aykırı değerler, büyük sapmaların karesi küçük sapmalara göre daha hızlı arttığı için bu mesafeyi orantısız biçimde etkileyebilir.
Azaltma: Aykırı değerlere daha az duyarlı daha sağlam metrikler (belirli veri türleri için Manhattan uzaklığı gibi) kullanmak yardımcı olabilir. Ayrıca aykırı değerleri belirlemek ve işlemek—düzeltmek ya da çıkarmak—mesafe hesaplarını çarpıtmalarını önleyebilir.
Alternatif Yaklaşım: Ağırlıklandırılmış Öklidyen uzaklığı düşünmek bir diğer stratejidir. Öklidyen uzaklığın bu varyasyonu, farklı boyutlara veya özelliklere farklı ağırlıklar atayarak, aykırı değerlere veya gürültüye yatkın olanları daha düşük ağırlıklandırabilir.
Sonuç
Gördüğümüz gibi Öklidyen uzaklık, çok sayıda analitik ve teknolojik alanda temel bir metriktir; noktalar arasındaki doğru çizgi mesafesini ölçmenin yalın bir yolunu sunar. Öklidyen uzaklığı anlamak ve kullanmak, makine öğrenimi algoritmalarından mekânsal analize kadar birçok uygulamanın doğruluğunu ve etkinliğini artırabilir.
Projelerinizde Öklidyen uzaklıkla denemeler yapmanızı ve Python’da Makine Öğrenimi İş Akışları Tasarlama ile Python ile Anomali Tespiti gibi kurslar aracılığıyla daha fazla öğrenme fırsatını keşfetmenizi öneririm.
Vinod Chugani kariyerine Tokyo'da JPMorgan'ın en genç Hedge Fund Sales Desk Lideri olarak başladı ve daha sonra Lehman Brothers'ta bireysel satış rekoru kırdı, ardından 30 ülkede faaliyet gösteren bir elektronik dağıtım işi kurdu ve veriye yönelmeden önce geliri SG$100 milyonun üzerine taşıdı. Duke Ekonomimezunu ve NYC Data Science Academy alum, Maven'de Hugo Bowne-Anderson'ın Building AI Applications kursu için 100+ başvuru arasından seçilen üç bursiyerden biriydi. Bugün, istatistikten ajan temelli yapay zekâya uzanan konularda DataCamp, KDnuggets, Machine Learning Mastery ve Statology için yazıyor ve adında 1.000'i aşkın bire bir oturum bulunan NYC Data Science Academy'de veri profesyonellerine mentorluk yapıyor.
Öklidyen Uzaklık Hakkında SSS
Öklidyen uzaklık makine öğreniminde neden önemlidir?
Öklidyen uzaklık, veri noktalarının ne kadar benzer ya da farklı olduğunu nicelendirerek sınıflandırma, kümeleme ve anomali tespiti gibi görevlerde önemli bir rol oynar.
Veri biliminde mesafeleri ölçmek için Öklidyen uzaklık her zaman en iyi seçenek midir?
Her zaman değil. En iyi uzaklık ölçütü, veri türüne ve belirli probleme bağlıdır. Örneğin, Manhattan uzaklığı yüksek boyutlu verilerde veya ızgara benzeri hareketin daha temsilî olduğu durumlarda daha uygun olabilir.
Öklidyen uzaklık negatif koordinatları nasıl ele alır?
Öklidyen uzaklık, karşılık gelen koordinatlar arasındaki mutlak farkı ölçer ve tüm koordinatları—pozitif ya da negatif—eşit biçimde ele alır.
Öklidyen uzaklık kategorik verilerle kullanılabilir mi?
Hayır, Öklidyen uzaklık genel olarak mesafe hesaplamak için sayısal girdilere ihtiyaç duyar. Kategorik veriler için Hamming uzaklığı veya diğer özel benzerlik ölçütleri gibi alternatif yöntemler kullanılır.
Öklidyen uzaklığın seçimi, k-ortalamalar gibi kümeleme algoritmalarının performansını nasıl etkiler?
Öklidyen uzaklığın seçimi, K-ortalamalar gibi kümeleme algoritmalarında kümelerin nasıl oluştuğunu doğrudan etkiler; çünkü bu ölçüt kümelerin geometrik özelliklerini belirler. Öklidyen uzaklık, ortalamanın küme merkezi olduğu küresel kümeler oluşturmaya eğilimlidir. Doğal kümelerin küresel olmadığı durumlarda bu, kümeleme performansını etkileyebilir.

