Temel Bileşen Analizi (PCA — Principal Component Analysis)

Samet Yilmaz
Teknopar Akademi
Published in
8 min readDec 20, 2023
Kaynak: DALL-E

Temel Bileşen Analizi (Principal Component Analysis — PCA), çok değişkenli veri setlerini analiz etmek için kullanılan bir istatistik tekniğidir. Veri setindeki değişkenler arasındaki korelasyonu dikkate alarak, verilerin boyutunu azaltmayı ve verinin ana özelliklerini korumayı amaçlar. PCA, verileri daha az sayıda değişkene indirgerken veri setindeki toplam varyansın mümkün olduğunca korunmasını sağlar. Bu, veri setinin daha az sayıda boyutla, orijinal veri setinin ana özelliklerini yitirmeden temsil edilmesine olanak tanır.

Temel Bileşen Analizinin adımları ve algoritması genel olarak aşağıdaki şekilde özetlenebilir:

  • Verinin Ölçeklenmesi (Standartlaştırma)
  • Kovaryans Matrisinin Hesaplanması
  • Özdeğer ve Özvektörlerin Hesaplanması
  • Ana Bileşenlerin Seçimi (Özdeğerlerin Sıralanması)
  • Yeni Veri Setinin Oluşturulması
    (Projeksiyon matrisi oluşturma ve verinin düşük boyutlu veriye dönüştürülmesi)

Temel Bileşen Analizinin Avantajları Nelerdir?

  • Korele olan sütunları yok eder.
    Yani birbirleriyle ilişkili olan nitelikleri ortadan kaldırır.
    Bir durumun, iki veya daha fazla nitelik tarafından temsil edilmesine gerek olmadığından ve bir durumun sadece bir nitelik ile temsiliyetinin yeterli olacağından korelasyonun ortadan kaldırılması gerekmektedir.
  • Algoritmanın performansını artırır.
    Çok boyutlu bir veri seti ile model yavaş öğrenir ve çalışırken, daha az boyutlu bir veri ile model daha performanslı çalışabilir ve öğrenebilir.
  • Aşırı uyum (overfit) durumunu azaltır.
    Veri setinde çok fazla verinin olması, modelin veri setini ezberlemesi gibi problemleri doğurabilir. Bunun için sayı olarak az ama problem temsiliyeti yüksek veriler, ezberlemenin önüne geçmek için önemlidir. PCA ile de bu gerçekleştirilir.
  • Görselleştirme imkanı kazandırır.
    Çok boyutlu veri setlerini (ör. +3 boyutlu veri setleri) grafiksel olarak görselleştirmek zordur ve anlaşılması kolay değildir. PCA ile veri boyutunun azaltılması, çok boyutlu veri setlerinin görselleştirilmesini sağlar.

Temel Bileşen Analizinin Dezavantajları Nelerdir?

  • Bağımsız değişkenler daha az yorumlanabilir hale gelir.
    Veri setine PCA algoritması uygulandıktan sonra, orijinal nitelikler temel bileşenlere dönüşür. Temel bileşenler, orijinal nitelikler kadar okunabilir ya da yorumlanabilir olmayabilir.
  • Veri normalizasyonu temel bileşen analizinden önce yapılmalıdır.
    PCA’nın etkili ve doğru çalışabilmesi için; verilerin ortalaması 0, standart sapması 1 olacak şekilde ölçeklendirilmiş olması önemlidir.
  • Boyutun azaltılmasından dolayı orijinal veriye kıyasla bir miktar bilgi kaybı yaşanır.
Görsel 1. Orijinal veri ile temel bileşen analizi uygulanmış verinin karşılaştırılması

Yukarıdaki örnekte, sol tarafta orijinal veri seti ve sağ tarafta PCA uygulanmış veri seti verilmiştir. Her iki veri seti de standartlaştırıldığından, veri noktalarının ortalaması 0 olacak şekilde konumlandırılmıştır. PCA’nın ana amacı; veriyi olabildiğince az sayıda özelliği (bileşeni) kullanarak temsil etmektir.

Temel Bileşen Analizinin Adımları ve Algoritması

  1. VERİNİN STANDARTLAŞTIRILMASI
    Verinin standartlaştırılması; tüm değişkenlerin ortalaması 0 ve standart sapması 1 olacak şekilde ölçeklendirmeye denir.
  • Z: Standartlaştırılmış Veri
  • X: Orijinal Veri
    Veri setinde bulunan bir özellik vektörüdür, bir sütundur.
  • μ: Verinin Ortalaması
    İlgili sütunda bulunan değerlerin ortalamasıdır.
  • σ: Verinin Standart Sapması
    Veri değerlerinin aritmetik ortalamadan farklarının, karelerinin toplamının, veri sayısına bölümünün karekökü olarak ifade edilir.

σ: Verinin Standart Sapması
x: i. Veri Noktası
μ: Veri Kümesinin Ortalaması

2. KOVARYANS MATRİSİNİN HESAPLANMASI

Kovaryans matrisi, bir veri setinin özellikleri arasındaki kovaryansı içeren bir matristir. p sayıda özellik (sütun) ve n sayıda gözlem (satır) içeren bir veri matrisi ( X ) verildiğinde, bu matrisin kovaryans matrisi ( Σ ) aşağıdaki şekilde hesaplanır.

Σ : Kovaryans Matrisi

X : Veri Matrisi
Her sütun, (bir özellik ve o özelliğe karşılık gelen her satır) bir gözlem örneği olacak şekilde düzenlenmiştir.

X’ : Ortalama
X matrisinin sütun ortalamalarını içerir. X’ matrisinin her sütunu, ilgili özellik için (o sütuna karşılık gelen) tüm gözlemlerin ortalamasıdır.

T : Transpoz İşlemi

n : Sütunun Eleman Sayısı

3. ÖZDEĞERLER VE ÖZVEKTÖRLERİN HESAPLANMASI

Kovaryans matrisinin özdeğerleri ve özvektörleri hesaplanır. Özdeğerler, verinin varyansının dağılımını temsil ederken, özvektörler ise bu varyansın yönünü gösterir.

Özdeğer (Eigenvalue)
Bir kare matris olan A ve bir vektör v verildiğinde, eğer A * v = λ * v eşitliği sağlanıyorsa;

λ özdeğer,
v de bu özdeğere karşılık gelen özvektördür.

Özdeğerleri bulmak için aşağıdaki adımlar takip edilir:

  • A matrisinin karakteristik denklemi bulunur.
  • Bu denklem, det(A — λ*I) = 0 formundadır.
  • λ için bu denklem çözülür. Denklemin kökleri A matrisinin özdeğerleridir. (Birden fazla λ yani kök değer olabilir.)

Özvektörler (Eigenvector)

Bir özdeğere karşılık gelen özvektörleri bulmak için aşağıdaki adımlar takip edilir:

  • ( A — λ*I ) * v = 0 denklemi çözülür.
    Burada λ, daha önce bulunan özdeğerlerden biridir.
    v ise λ’ya karşılık gelen ve bulunması gereken özvektördür.
  • Denklem çözülür ve sonuç olarak her bir λ’ya yani özdeğere karşılık gelen v’ler yani özvektörler bulunur.

4. ÖZDEĞERLERİN SIRALANMASI

Özvektörler, veri setindeki ana eksenleri (yani, verinin en çok varyans gösterdiği yönleri) belirtirken, özdeğerler bu eksenler boyunca olan varyansın büyüklüğünü belirtir.

  • Özdeğerler büyükten küçüğe sıralanır.
    Büyük özdeğerlere sahip özvektörler, veri setindeki daha fazla varyansı temsil eder ve bu nedenle daha önemlidirler.
  • En büyük özdeğerlere karşılık gelen özvektörler seçilir.
  • İlk k adet özvektör, veri setindeki ilk k ana bileşeni olur.
    Burada k, veri setinin indirgenmek istenen boyutudur.

Seçilen özvektörler, genel olarak veri setindeki ana varyans yönlerini belirler ve bu nedenler ‘’ana bileşenler’’ olarak adlandırılır. PCA ile yeni veri setini oluşturmak veya veri setini bu ana bileşenlere ‘’projekte etmek’’ demek, aslında veri setini bu yeni eksenler üzerine dönüştürmek demektir.

Seçilen özvektörler yani ana bileşenler ile oluşturulan yeni veri seti (veya projekte edilmiş veri seti), orijinal veri setindeki gözlemlerin ana bileşenler üzerine olan projeksiyonlarını içerir. Bu projeksiyon, orijinal veri noktalarını en önemli k ana bileşen üzerine düşürür ve böylece veri setinin boyutu azalmış olur.

5. PROJEKSİYON MATRİSİ OLUŞTURMA

Projeksiyon Matrisi ( W ), seçilen özvektörlerden oluşur. Eğer veri seti k boyutuna indirgenmek isteniyorsa, sıralama sonucu ilk k adet vektör alınır. Bu vektörler yan yana koyularak k boyutlu bir projeksiyon matrisi oluşturulur.

Seçilen k adet vektör sayısı, p adet özellik sayısından küçük seçilmelidir.

Örneğin; ilk 2 özvektörün seçildiği bir durumda bu özvektörler sırasıyla;

olsun. Projeksiyon matrisi aşağıdaki gibi olacaktır.

6. DÜŞÜK BOYUTLU VERİYE DÖNÜŞTÜRME

Projeksiyon matrisi kullanılarak, orijinal veri seti düşük boyutlu uzaya dönüştürülür. Yeni veri seti, projeksiyon matrisi ile orijinal veri setinin çarpımı ile elde edilir.

Orijinal veri seti X ve projeksiyon matrisi de W ise;

seklinde yeni veri seti yani Y hesaplanır.

Y matrisi, orijinal veri setinin yani X’in k boyutta temsilidir. Y matrisi, orijinal veri setini mümkün olan en düşük kayıpla temsil eder, burada “kayıp” orijinal veri seti ile indirgenmiş veri seti arasındaki varyans farkı olarak ölçülür.

Bu adımların hepsi, PCA’nın temel bileşenlerini, yani veri setindeki ana varyans yönlerini bulmak için kullanılır.

Temel Bileşen Analizi Uygulanmadan Önce

5 özellik (sütun) ve 4 gözlem (satır) içeren bir veri seti olsun.

Her bir özellik veri setinde bir boyutu temsil eder ve bu veri seti toplam 5 boyutludur.

Temel Bileşen Analizi Uygulandıktan Sonra

PCA uygulandıktan sonra, veri setindeki varyansı mümkün olduğunca koruyarak veri setinin boyutunun azaltılması amaçlanır. 2 ana bileşenin korunmaya karar verildiği bir örnek için, yani k = 2 için son durum aşağıdaki gibidir;

Bu tabloda, 5 özellik 2 ana bileşene indirgenmiştir. Verilerin bu yeni gösterimi, orijinal veri setindeki bilginin bir kısmını kaybetmiş olabilir, ancak genel varyansın büyük bir bölümü korunmuştur ve bu, veriyi daha basit, daha az boyutlu bir biçimde ifade edebilmemizi sağlar. Bu bileşenler, orijinal özelliklerin bir kombinasyonu olarak bulunur ve modellemelerde veya görselleştirmelerde kullanılabilecek daha düşük boyutlu bir veri seti sunar.

Ana Bileşen Sayısını Belirlemede Kullanılan Yöntemler

Bileşen sayısını belirlemek önemli bir adımdır ve bu, PCA (Principal Component Analysis) uygulanırken çeşitli stratejilere bağlı olabilir. İşte bileşen sayısını belirlemeye yardımcı olabilecek bazı yaygın yöntemler:

  • Açıklanan Varyans
  • Kaiser Kriteri
  • Scree Plot
  • Minimum Gerekli Bileşen
  • Çapraz Doğrulama

a. AÇIKLANAN VARYANS

· Kümülatif Varyans: Bir kural olarak, veri setinizdeki toplam varyansın belirli bir yüzdesini (genellikle %95 veya %99) açıklayacak kadar bileşeni seçebilirsiniz.

· Bireysel Varyans: Bir diğer yaklaşım, bireysel bileşenlerin açıkladığı varyans miktarını göz önünde bulundurmaktır ve genellikle bir “dirsek noktası” aranır.

b. KAİSER KRİTERİ

Bu kurala göre, özdeğeri (eigenvalue) 1'den büyük olan ana bileşenler seçilir. Özdeğer, bir ana bileşenin açıkladığı varyans miktarını belirtir.

c. SCREE PLOT

Bir scree plot, her bir ana bileşenin varyansını (genellikle özdeğer olarak) gösterir. Bileşenler azalan sırayla düzenlenir. Grafik, yatay eksende bileşen sayısını, dikey eksende ise ilgili bileşenin açıkladığı varyansı gösterir. Dirsek metoduna benzer şekilde, grafikte bir “dirsek” veya “diz” noktası bulunarak optimum bileşen sayısı belirlenebilir.

d. MİNİMUM GEREKLİ BİLEŞEN

Modeliniz veya analiziniz için minimum gerekli olan bileşen sayısını belirlemek, özellikle de özgün bir iş probleminizi çözmeye yönelik bir çözüm üretiyorsanız, iyi bir strateji olabilir.

e. ÇAPRAZ DOĞRULAMA

Model performansını optimize etmek amacıyla, farklı bileşen sayılarını deneyerek en iyi model performansını sağlayan bileşen sayısını belirleyebilirsiniz.

ÖRNEK

  • 3 ana bileşen, toplam varyansın %90'ını açıklıyorsa ve 4. bileşen sadece %5 ekstra varyans açıklıyorsa, ilk 3 bileşeni seçmek mantıklı olabilir.
  • Scree plot’ta 3. ve 4. bileşen arasında belirgin bir dirsek (azalma hızında bir değişiklik) varsa, ilk 3 bileşen tercih edilir.

Sonuç olarak, kullanılacak bileşen sayısı hem veri setinizin doğasına hem de analizin amacına bağlıdır. Çeşitli yöntemler ve kriterler kullanarak en uygun bileşen sayısını belirlemek genellikle bir dengeleme eylemidir.

Temel Bileşen Analizi & Özellik Seçimi & Özellik Çıkarımı

Temel Bileşen Analizi (PCA)

  • Varyansın Korunması: PCA, veri setindeki maksimum varyansı korumayı amaçlar. Yani, veri setinin orijinal özelliklerini daha az sayıda yeni özellikle (ana bileşenle) temsil ederken verinin ne kadar iyi temsil edildiğini maksimize etmeye çalışır.
  • Boyut Azaltma: Ana bileşenler, orijinal veri setinin varyansını olabildiğince çok yakalamaya çalışan yeni eksenlerdir. İlk ana bileşen en fazla varyansı, ikinci ana bileşen ikinci en fazla varyansı yakalar ve bu böyle devam eder. Bu yeni eksenlerle veri daha düşük boyutlu bir uzaya aktarılır.

Özellik Seçimi (Feature Selection)

  • Özellik Değerlendirmesi: Özellik seçimi, modelin başarımını olabildiğince az etkileyerek özelliklerin sayısını azaltmayı amaçlar. Bunun için, özelliklerin model üzerindeki etkisi değerlendirilir; bu etki, özelliklerin önemi, etkisi veya katkısı olabilir.
  • Boyut Azaltma: Özellik seçimi yoluyla boyut azaltma, model karmaşıklığını ve eğitim süresini azaltırken, modelin genelleme yeteneğini de koruma amacı güder.

Özellik Çıkarımı (Feature Extraction)

  • Bilgi Çıkarma: Özellik çıkarımı, mevcut özelliklerden yeni özellikler üretme sürecidir. Bu süreçte, yeni özellikler genellikle mevcut özelliklerin birleşimi, dönüşümü veya işlenmiş hali şeklinde olup, orijinal verideki kullanışlı bilgileri veya desenleri korumaya çalışır.
  • Yeni Özellik Oluşturma: Özellik çıkarımı, verinin daha anlamlı bir şekilde temsil edilmesine yardımcı olabilir, çünkü çıkarılan özellikler genellikle veri üzerindeki önemli desenleri veya kavramları yakalamaya yöneliktir.

Tüm bu yöntemler, veriyi daha verimli ve etkili bir şekilde kullanmak, modeli daha hızlı eğitmek ve genel olarak daha iyi performans elde etmek için kullanılır. Her bir yöntem, modelin ve verinin gereksinimlerine, kullanım durumlarına ve kısıtlarına bağlı olarak farklı avantajlar ve dezavantajlar sunar.

Özetle, aralarındaki temel farklar:

Temel Bileşen Analizi
Orijinal özelliklerin doğrusal kombinasyonları ile verinin varyansını en iyi açıklayan yeni özellikler oluşturur.

Özellik Seçimi
Mevcut özellikler içerisinden seçim yapar.

Özellik Çıkarımı
Mevcut özelliklerden yeni özellikler oluşturur.

Temel Bileşen Analizi İle İlgili Örnek Bir Uygulama

Temel Bileşen Analizi ile ilgili bahsetmek istediklerim bu kadardı. Umarım faydalı olmuştur. Vakit ayırıp okuduğunuz için teşekkür ederim.

--

--