Locally Linear Embedding (LLE), yüksek boyutlu veriyi daha az boyuta indirirken her veri noktasının yakın komşularıyla kurduğu yerel geometrik ilişkiyi korumaya çalışan doğrusal olmayan boyut indirgeme yöntemidir. Uygulamada önce her noktanın komşuları bulunur, ardından bu noktanın komşularının ağırlıklı birleşimiyle ne kadar iyi açıklanabildiği hesaplanır ve aynı ilişkileri düşük boyutlu uzayda koruyan yeni koordinatlar üretilir. Sonuç, görselleştirme veya sonraki makine öğrenmesi adımları için kullanılabilir; ancak LLE genel uzaklıkları ve sınıflandırma başarısını kendiliğinden garanti etmez.
LLE’nin temel varsayımı, karmaşık ve eğri bir veri kümesinin küçük bölgelerde yaklaşık olarak düz bir yüzey gibi davranmasıdır. Örneğin üç boyutlu uzayda kıvrılmış bir şerit düşünün. Şeridin tamamı düz değildir; fakat birbirine yakın birkaç noktanın oluşturduğu küçük bölüm yerel olarak düz kabul edilebilir.
Yöntem her veri noktası için şu işlemleri uygular:
Aşağıdaki varsayımsal örnekte, üç boyutlu bir “Swiss roll” veri kümesi iki boyuta indirgenir. Kodun çalışması için Python ortamında scikit-learn kurulu olmalıdır. Girdi
Bu örnekte beklenen çıktı biçimi şöyledir:
Buradaki ikinci çıktı, her üç boyutlu noktanın iki boyutlu gösterimdeki koordinatlarını içerir. Koordinat değerlerinin kendisi tek başına anlamlı sınıf etiketi değildir; noktaları saçılım grafiğinde incelemek veya bu yeni özellikleri başka bir modele girdi olarak vermek gerekir.
Gerçek veride LLE uygulamadan önce özelliklerin ölçeklerini kontrol edin. Bir özellik binlerce, diğeri 0 ile 1 arasında değer alıyorsa Öklid uzaklığı büyük ölçekli özelliğin etkisiyle bozulabilir. Bu durumda yalnızca eğitim verisinden öğrenilen bir ölçekleme işlemi uygulayıp aynı dönüşümü doğrulama ve test verisine de taşımalısınız.
LLE, verinin düşük boyutlu ve kıvrımlı bir yapı üzerinde bulunduğu düşünüldüğünde özellikle yararlıdır. Örneğin sensör ölçümleri, görüntü özellikleri veya fiziksel bir hareketin çok sayıda ölçümle temsil edildiği veri kümelerinde yerel komşulukları görselleştirmek için kullanılabilir.
Aşağıdaki ayrım, yöntemi seçerken temel farkları görmenizi sağlar.
Bu karşılaştırma, yöntemlerin birbirinin doğrudan yerine geçtiği anlamına gelmez. LLE’nin iki boyutlu grafikte iyi görünen bir çıktı üretmesi, düşük boyutlu koordinatların her makine öğrenmesi modeli için en iyi özellikler olduğunu kanıtlamaz. Boyut indirgeme adımını eğitim sürecinin içinde uygulamalı, sonuçları ayrı bir doğrulama kümesinde ölçmeli ve farklı
LLE çıktısında birbirine yakın noktalar çoğunlukla benzer yerel komşuluk ilişkilerini koruyacak şekilde yerleştirilir. Buna karşılık iki noktanın düşük boyutlu grafikte uzak görünmesi, başlangıç verisinde aralarındaki gerçek uzaklığın aynı oranda büyük olduğunu kanıtlamaz. Ayrıca farklı bölgeler arasında bağlantı azsa veya komşuluk grafiği kopuksa, ortaya çıkan gösterim parçalı ya da beklenmedik biçimde bükülmüş olabilir.
En önemli ayar
LLE nasıl çalışır?
LLE’nin temel varsayımı, karmaşık ve eğri bir veri kümesinin küçük bölgelerde yaklaşık olarak düz bir yüzey gibi davranmasıdır. Örneğin üç boyutlu uzayda kıvrılmış bir şerit düşünün. Şeridin tamamı düz değildir; fakat birbirine yakın birkaç noktanın oluşturduğu küçük bölüm yerel olarak düz kabul edilebilir.
Yöntem her veri noktası için şu işlemleri uygular:
- Komşuları seçer. Her nokta için en yakın
kkomşu belirlenir.kdeğeri çok küçükse bağlantılar kopabilir, çok büyükse yerel yapı yerine küresel yapı baskın hâle gelebilir. - Yerel yeniden oluşturma ağırlıklarını hesaplar. Her noktanın, seçilen komşuların ağırlıklı birleşimiyle ne kadar iyi tahmin edilebildiği bulunur. Ağırlıkların toplamı genellikle 1 olacak şekilde kısıtlanır.
- Düşük boyutlu koordinatları çıkarır. Hesaplanan komşuluk ilişkilerini mümkün olduğunca koruyan yeni koordinatlar bulunur. Böylece başlangıçta çok sayıda özelliği olan veri, örneğin iki boyutlu bir gösterime dönüştürülür.
Python ile en küçük uygulama
Aşağıdaki varsayımsal örnekte, üç boyutlu bir “Swiss roll” veri kümesi iki boyuta indirgenir. Kodun çalışması için Python ortamında scikit-learn kurulu olmalıdır. Girdi
X değişkenindeki üç boyutlu noktalardır; çıktı ise her nokta için iki koordinat içeren X_lle dizisidir.
Python:
from sklearn.datasets import make_swiss_roll
from sklearn.manifold import LocallyLinearEmbedding
# Varsayımsal giriş: 1.500 adet, 3 özellikli nokta
X, renk = make_swiss_roll(n_samples=1500, noise=0.05, random_state=42)
lle = LocallyLinearEmbedding(
n_neighbors=12,
n_components=2,
method="standard",
random_state=42
)
X_lle = lle.fit_transform(X)
print("Girdi boyutu:", X.shape)
print("Çıktı boyutu:", X_lle.shape)
Bu örnekte beklenen çıktı biçimi şöyledir:
Kod:
Girdi boyutu: (1500, 3)
Çıktı boyutu: (1500, 2)
Buradaki ikinci çıktı, her üç boyutlu noktanın iki boyutlu gösterimdeki koordinatlarını içerir. Koordinat değerlerinin kendisi tek başına anlamlı sınıf etiketi değildir; noktaları saçılım grafiğinde incelemek veya bu yeni özellikleri başka bir modele girdi olarak vermek gerekir.
Gerçek veride LLE uygulamadan önce özelliklerin ölçeklerini kontrol edin. Bir özellik binlerce, diğeri 0 ile 1 arasında değer alıyorsa Öklid uzaklığı büyük ölçekli özelliğin etkisiyle bozulabilir. Bu durumda yalnızca eğitim verisinden öğrenilen bir ölçekleme işlemi uygulayıp aynı dönüşümü doğrulama ve test verisine de taşımalısınız.
LLE hangi durumda uygun olur?
LLE, verinin düşük boyutlu ve kıvrımlı bir yapı üzerinde bulunduğu düşünüldüğünde özellikle yararlıdır. Örneğin sensör ölçümleri, görüntü özellikleri veya fiziksel bir hareketin çok sayıda ölçümle temsil edildiği veri kümelerinde yerel komşulukları görselleştirmek için kullanılabilir.
Aşağıdaki ayrım, yöntemi seçerken temel farkları görmenizi sağlar.
| Yöntem | Öncelikli olarak koruduğu yapı | Ne zaman düşünülür? |
|---|---|---|
| LLE | Yerel komşuluk ve yerel geometrik ilişkiler | Verinin kıvrımlı bir yapıda olduğu ve yakın noktaların anlamlı komşuluk oluşturduğu durumlarda |
| PCA | En yüksek doğrusal varyans | Verinin yaklaşık doğrusal bir yapıda olduğu ve hızlı, yorumlanabilir bir başlangıç gerektiğinde |
| t-SNE | Düşük boyutlu görselleştirmede yerel kümelenme | Kümeleri görsel olarak incelemek istendiğinde; eksenleri ve küresel uzaklıkları yorumlarken dikkatli olunmalıdır |
| UMAP | Yerel komşuluklarla birlikte daha geniş ölçekli yapının bir kısmı | Büyük veri kümelerinde görselleştirme veya boyut indirgeme için farklı bir doğrusal olmayan seçenek gerektiğinde |
n_neighbors değerlerine duyarlılığı kontrol etmelisiniz.Sonuç nasıl yorumlanır?
LLE çıktısında birbirine yakın noktalar çoğunlukla benzer yerel komşuluk ilişkilerini koruyacak şekilde yerleştirilir. Buna karşılık iki noktanın düşük boyutlu grafikte uzak görünmesi, başlangıç verisinde aralarındaki gerçek uzaklığın aynı oranda büyük olduğunu kanıtlamaz. Ayrıca farklı bölgeler arasında bağlantı azsa veya komşuluk grafiği kopuksa, ortaya çıkan gösterim parçalı ya da beklenmedik biçimde bükülmüş olabilir.
En önemli ayar
n_neighbors değeridir. Küçük değerler ince yerel ayrıntıları koruyabilir fakat gürültüye duyarlıdır. Büyük değerler daha kararlı bir görünüm sağlayabilir fakat yöntemin yerel yapı yerine daha geniş yapıyı izleme riskini artırır. Bu yüzden tek bir grafikle karar vermek yerine birkaç makul komşu sayısını deneyip görselleştirme ve model doğrulama sonuçlarını birlikte değerlendirin.Sık sorulan sorular
LLE sınıflandırma için özellik seçer mi?
Hayır. LLE, veriyi daha düşük boyutlu bir gösterime dönüştürür; sınıf etiketlerini kullanarak en ayırt edici özellikleri seçmez. Sınıflandırma başarısını artırıp artırmadığı, kullanılan veri kümesine ve sınıflandırıcıya bağlı olarak ayrıca ölçülmelidir.
LLE çıktısındaki eksenler ne anlama gelir?
LLE eksenleri genellikle doğrudan “en önemli özellik” veya fiziksel bir ölçüm anlamına gelmez. Eksenlerin yönü ve ölçeği yöntemin çözümüne göre değişebilir; bu nedenle koordinatları daha çok komşuluk düzenini incelemek veya sonraki modele girdi sağlamak için yorumlayın.