Yapay zeka temelleri

Boyut Azaltma Nedir?

mm
Unite.AI sitesini Google'daki tercih ettiğiniz kaynaklara ekleyin

Boyut Azaltma Nedir?

Boyut azaltma bir verisetinin boyutunu azaltmak için kullanılan bir işlemdir, birçok özelliği alıp daha az özellikte temsil eder. Örneğin, boyut azaltma, yirmi özelliğe sahip bir verisetini sadece birkaç özellikte temsil etmek için kullanılabilir. Boyut azaltma, genellikle gözetimsiz öğrenme görevlerinde otomatik olarak sınıflar oluşturmak için kullanılır. Boyut azaltmanın neden ve nasıl kullanıldığını daha iyi anlamak için, yüksek boyutlu verilerin neden olduğu sorunlara ve boyut azaltmanın en phổüler yöntemlerine bakacağız.

Daha Fazla Boyut Overfitting’e Yol Açar

Boyut, bir verisetindeki özelliklerin/sütunların sayısını ifade eder.

Bazen, makine öğrenmesinde daha fazla özelliğin daha iyi bir model oluşturacağı varsayılır, ancak daha fazla özellik her zaman daha iyi bir model anlamına gelmez.

Verisetinin özellikleri, model için ne kadar yararlı olduklarına göre büyük ölçüde farklılık gösterebilir ve birçok özellik model için çok az yararlıdır. Ayrıca, verisetindeki özelliklerin sayısı arttıkça, farklı özellik kombinasyonlarının veride iyi temsil edilmesi için gereken örnek sayısı da artar. Bu nedenle, örnek sayısı, özellik sayısına orantılı olarak artar. Daha fazla örnek ve daha fazla özellik, modelin daha karmaşık olmasını gerektirir ve modeller daha karmaşık hale geldikçe overfitting’e daha duyarlı hale gelirler. Model, eğitim verisindeki desenleri çok iyi öğrenir ve eğitim dışı verilere genelleyemez.

Bir verisetinin boyutunu azaltmanın several faydaları vardır. Daha basit modeller, daha az özellik nedeniyle overfitting’e menos eğilimlidir, çünkü model, özellikler arasındaki ilişkiler hakkında daha az varsayım yapmak zorundadır. Ayrıca, daha az boyutlu bir veriseti, algoritmaları eğitmek için daha az hesaplama gücüne ihtiyaç duyar. Benzer şekilde, daha küçük boyutlu bir veriseti, daha az depolama alanı gerektirir. Bir verisetinin boyutunu azaltmak, ayrıca birçok özelliğe sahip verisetleri için uygun olmayan algoritmaların kullanılmasına da izin verebilir.

Ortak Boyut Azaltma Yöntemleri

Boyut azaltma, özellik seçimi veya özellik mühendisliği yoluyla yapılabilir. Özellik seçimi, mühendisin verisetinin en ilgili özelliklerini tanımlamasıdır, mentre özellik mühendisliği diğer özelliklerin birleştirilmesi veya dönüştürülmesi yoluyla yeni özellikler oluşturma sürecidir.

Özellik seçimi ve mühendisliği programlı olarak veya manuel olarak yapılabilir. Manuel olarak özellik seçimi ve mühendisliği yaparken, genellikle veri arasındaki korelasyonları keşfetmek için veriyi görselleştirmek gerekir. Boyut azaltmayı bu şekilde gerçekleştirmek oldukça zaman alıcı olabilir, bu nedenle boyut azaltmanın en yaygın yollarından bazıları, Python için Scikit-learn gibi kütüphanelerde bulunan algoritmaların kullanılmasını içerir. Bu ortak boyut azaltma algoritmaları arasında Başlıca Bileşen Analizi (PCA), Singular Değer Açılımı (SVD) ve Lineer Ayırt Edici Analiz (LDA) bulunur.

Gözetimsiz öğrenme görevleri için kullanılan boyut azaltma algoritmaları genellikle PCA ve SVD’dir, mentre denetimli öğrenme boyut azaltması için kullanılan algoritmalar genellikle LDA ve PCA’dir. Denetimli öğrenme modellerinde, yeni oluşturulan özellikler sadece makine öğrenimi sınıflandırıcısına beslenir. Burada açıklanan kullanımlar genel kullanım durumlarıdır ve bu tekniklerin kullanılabileceği tek durumlar değildir. Yukarıda açıklanan boyut azaltma algoritmaları basitçe istatistiksel yöntemlerdir ve makine öğrenimi modellerinin dışında da kullanılır.

Başlıca Bileşen Analizi

Resim: Başlıca bileşenlerin tanımlanmış olduğu matris

Başlıca Bileşen Analizi (PCA) bir verisetinin özelliklerini analiz eden ve özellikleri en etkili olanları özetleyen istatistiksel bir yöntemdir. Verisetinin özellikleri, daha az boyuta yayılmış olarak temsil edilir, ancak verinin çoğu özelliği korur. Bunu, veriyi daha yüksek boyutlu bir temsilden birkaç boyuta “sıkıştırmak” olarak düşünebilirsiniz.

PCA’nın yararlı olabileceği bir durum olarak, şarapları çeşitli şekilde tanımlamanın farklı yollarını düşünün. Şarabı çok spesifik özelliklerle tanımlamak mümkün olabilir, ancak bu özellikler şarap türünü tanımlamaya çalışırken çok yararlı olmayabilir. Bunun yerine, şarabı daha genel özelliklerle tanımlamak, zoals tat, renk ve yaş, daha uygun olur. PCA, daha spesifik özellikleri birleştirerek, daha genel, yararlı ve overfitting’e neden olma olasılığı daha düşük özellikler oluşturmak için kullanılabilir.

PCA, girişi özelliklerinin ortalamadan birbirlerine göre nasıl değiştiğini belirleyerek gerçekleştirilir, özellikler arasındaki ilişkileri belirlemek için bir kovaryans matrisi oluşturulur. Bu, değişkenler arasındaki korelasyonu belirlemek için kullanılır, negatif kovaryans bir ters korelasyonu ve pozitif korelasyonu gösterir.

Verisetinin en etkili bileşenleri, ilk değişkenlerin lineer kombinasyonlarını oluşturarak yaratılır, bu da lineer cebir kavramları olan karakteristik değerler ve karakteristik vektörler yardımıyla yapılır. Kombinasyonlar, başlıca bileşenlerin birbirleriyle ilişkisiz olması için oluşturulur. İlk değişkenlerdeki meisten bilgi, ilk birkaç başlıca bileşene sıkıştırılır, bu da yeni özellikler (başlıca bileşenler) oluşturur ve orijinal verisetinin bilgisini daha küçük boyutlu bir alanda temsil eder.

Singular Değer Açılımı

Resim: Singular değer açılımının görselleştirilmesi

Singular Değer Açılımı (SVD) bir matrisi basitleştirmek için kullanılan bir yöntemdir, matrisi oluşturan değerleri azaltarak hesaplamaları kolaylaştırır. SVD, hem gerçek değerli hem de karmaşık matrisler için kullanılabilir, ancak burada sadece gerçek değerli matrisler için nasıl kullanıldığını açıklamakla yetineceğiz.

Gerçek değerli bir matrisimiz olduğunu varsayalım ve matrisin sütunlarını/özelliklerini azaltmak istiyoruz, tıpkı PCA’da olduğu gibi. SVD de matrisin boyutunu azaltırken, matrisin değişkenliğini mümkün olduğunca korur. Matris A üzerinde çalışmak istersek, matris A’yı U, D ve V olarak adlandırılan üç farklı matris olarak temsil edebiliriz. Matris A, orijinal x * y elemanlarına sahiptir, mentre matris U, X * X elemanlarına sahip bir ortogonal matristir. Matris V, y * y elemanlarına sahip farklı bir ortogonal matristir. Matris D, x * y elemanlarına sahip bir diyagonal matristir.

Matris A’nın değerlerini açıklamak için, orijinal singular matris değerlerini yeni matristeki diyagonal değerlere dönüştürmemiz gerekir. Ortogonal matrislerin özellikleri, diğer sayılarla çarpıldıklarında değişmez. Bu nedenle, ortogonal matrisleri birbiriyle çarpıp matris V’nin transpozunu alarak, orijinal A matrisine eşdeğer bir matris elde edebiliriz.

Matris A, U, D ve V matrislerine ayrıştırıldığında, bu matrisler orijinal matris A’daki verileri içerir. Ancak, bu matrislerin solundaki sütunlar, verilerin çoğunu içerir. Sadece bu ilk birkaç sütunu alabilir ve matris A’nın çok daha az boyutlu bir temsilini elde edebiliriz, ancak hala çoğu veri içerir.

Lineer Ayırt Edici Analiz

 

Sol: LDA’dan önce matris, Sağ: LDA’dan sonra eksen, artık ayrılabilir

Lineer Ayırt Edici Analiz (LDA) bir işlemdir, çok boyutlu bir grafikten verileri alır ve bunları lineer bir grafiğe projeler. Bunu, iki farklı sınıfa ait veri noktalarının doldurduğu iki boyutlu bir grafik olarak hayal edebilirsiniz. Veri noktaları öyle dağılmış olsun ki, iki sınıfı temiz bir şekilde ayıran bir çizgi çizilemez. Bu durumu ele almak için, 2D grafikteki noktaları 1D grafiğe (bir çizgiye) indirgeyebiliriz. Bu çizgi, tüm veri noktalarını üzerinde dağıtarak, verileri en iyi şekilde ayırmaya çalışacaktır.

LDA’yı gerçekleştirirken iki temel hedef vardır. Birincisi, sınıfların varyansını en aza indirmektir, ikincisi ise sınıfların ortalamaları arasındaki mesafeyi en üst düzeye çıkarmaktır. Bu hedefler, 2D grafikte yeni bir eksen oluşturarak gerçekleştirilir. Yeni eksen, daha önce belirtilen hedeflere göre sınıfları ayırmaya yardımcı olur. Eksen oluşturulduktan sonra, 2D grafikteki noktalar bu eksen boyunca yerleştirilir.

Verileri yeni eksen boyunca yerleştirmek için üç adım gerekir. İlk adımda, sınıfların ortalamaları arasındaki mesafe (sınıflar arası varyans) hesaplanır. İkinci adımda, sınıflar içindeki varyans hesaplanır, bu da sınıfın ortalamasına olan mesafeyi belirlemek için yapılır. Son adımda, sınıflar arasındaki varyansı en üst düzeye çıkaran daha düşük boyutlu alan oluşturulur.

LDA tekniği, hedef sınıfların ortalamaları birbirlerinden uzak olduğunda en iyi sonuçları verir. LDA, dağılımın ortalamaları örtüştüğünde lineer bir eksenle sınıfları etkili bir şekilde ayıramaz.

n the final step, the lower-dimensional space that maximizes the variance between classes is created. The LDA technique achieves the best results when the means for the target classes are far apart from each other. LDA can’t effectively separate the classes with a linear axis if the means for the distributions overlap.

Blog yazarı ve programcı, Machine Learning ve Deep Learning konularında uzmanlık sahibi. Daniel, başkalarının AI'nin gücünü sosyal fayda için kullanmasına yardımcı olmak umudu taşıyor.