saplama Boyut Azaltma nedir? - Unite.AI
Bizimle iletişime geçin

AI 101

Boyut Azaltma nedir?

mm
Güncellenmiş on

Boyut Azaltma nedir?

Boyutsal küçülme bir veri kümesinin boyutsallığını azaltmak, birçok özellik almak ve bunları daha az özellik olarak sunmak için kullanılan bir süreçtir. Örneğin, boyut indirgeme, yirmi özellikten oluşan bir veri kümesini yalnızca birkaç özelliğe indirgemek için kullanılabilir. Boyut indirgeme yaygın olarak kullanılan denetimsiz öğrenme birçok özellikten otomatik olarak sınıflar oluşturmak için görevler. daha iyi anlamak için boyutluluk azaltma neden ve nasıl kullanılır?, yüksek boyutlu verilerle ilgili sorunlara ve boyutsallığı azaltmanın en popüler yöntemlerine bir göz atacağız.

Daha Fazla Boyut Fazla Uyumaya Neden Olur

Boyutluluk, bir veri kümesindeki özelliklerin/sütunların sayısını ifade eder.

Daha doğru bir model oluşturduğundan, genellikle makine öğreniminde daha fazla özelliğin daha iyi olduğu varsayılır. Ancak daha fazla özellik mutlaka daha iyi bir model anlamına gelmez.

Bir veri kümesinin özellikleri, model için ne kadar yararlı olduklarına göre büyük ölçüde değişebilir ve pek çok özelliğin pek önemi yoktur. Ek olarak, veri kümesi ne kadar çok özellik içerirse, farklı özellik kombinasyonlarının veriler içinde iyi bir şekilde temsil edilmesini sağlamak için o kadar fazla örneğe ihtiyaç duyulur. Bu nedenle öznitelik sayısı ile orantılı olarak örnek sayısı da artmaktadır. Daha fazla örnek ve daha fazla özellik, modelin daha karmaşık olması gerektiği anlamına gelir ve modeller daha karmaşık hale geldikçe, fazla uydurmaya karşı daha duyarlı hale gelirler. Model, eğitim verilerindeki örüntüleri çok iyi öğrenir ve örnek verilere genelleme yapamaz.

Bir veri kümesinin boyutsallığını azaltmanın çeşitli faydaları vardır. Bahsedildiği gibi, model özelliklerin birbiriyle nasıl ilişkili olduğuna dair daha az varsayım yapmak zorunda olduğundan, daha basit modeller fazla uydurmaya daha az eğilimlidir. Ek olarak, daha az boyut, algoritmaları eğitmek için daha az hesaplama gücü gerektiği anlamına gelir. Benzer şekilde, daha küçük boyutlara sahip bir veri kümesi için daha az depolama alanı gerekir. Bir veri kümesinin boyutsallığını azaltmak, birçok özelliğe sahip veri kümeleri için uygun olmayan algoritmaları kullanmanıza da olanak sağlayabilir.

Ortak Boyut Azaltma Yöntemleri

Boyut azaltma, özellik seçimi veya özellik mühendisliği ile olabilir. Özellik seçimi, mühendisin veri kümesinin en alakalı özelliklerini tanımladığı yerdir. özellik mühendisliği diğer özellikleri birleştirerek veya dönüştürerek yeni özellikler oluşturma işlemidir.

Özellik seçimi ve mühendislik, programlı veya manuel olarak yapılabilir. Özellikleri manuel olarak seçip tasarlarken, özellikler ve sınıflar arasındaki ilişkileri keşfetmek için verileri görselleştirmek tipiktir. Boyut indirgemenin bu şekilde gerçekleştirilmesi oldukça zaman alıcı olabilir ve bu nedenle boyutsallığı azaltmanın en yaygın yollarından bazıları, Python için Scikit-learn gibi kitaplıklarda bulunan algoritmaların kullanımını içerir. Bu yaygın boyutluluk azaltma algoritmaları şunları içerir: Temel Bileşen Analizi (PCA), Tekil Değer Ayrışımı (SVD) ve Doğrusal Ayrım Analizi (LDA).

Denetimsiz öğrenme görevleri için boyut azaltmada kullanılan algoritmalar tipik olarak PCA ve SVD'dir; denetimli öğrenme boyut azaltma için kullanılanlar ise genellikle LDA ve PCA'dır. Denetimli öğrenme modellerinde, yeni oluşturulan özellikler yalnızca makine öğrenimi sınıflandırıcısına beslenir. Burada açıklanan kullanımların yalnızca genel kullanım durumları olduğunu ve bu tekniklerin kullanılabileceği tek koşullar olmadığını unutmayın. Yukarıda açıklanan boyut azaltma algoritmaları yalnızca istatistiksel yöntemlerdir ve makine öğrenimi modellerinin dışında kullanılırlar.

Temel bileşenler Analizi

Fotoğraf: Belirlenen ana bileşenleri içeren matris

Temel Bileşen Analizi (PCA) bir veri kümesinin özelliklerini/özelliklerini analiz eden ve en etkili olan özellikleri özetleyen istatistiksel bir yöntemdir. Veri kümesinin özellikleri, verilerin özelliklerinin çoğunu koruyan ancak daha az boyuta yayılmış temsillerde birleştirilir. Bunu, verileri daha yüksek boyutlu bir temsilden yalnızca birkaç boyuta "ezmek" olarak düşünebilirsiniz.

PCA'nın yararlı olabileceği bir duruma örnek olarak, şarabı tanımlamanın çeşitli yollarını düşünün. Şarabı CO2 seviyeleri, havalandırma seviyeleri vb. gibi oldukça spesifik birçok özelliği kullanarak tanımlamak mümkün olsa da, belirli bir şarap türünü tanımlamaya çalışırken bu tür spesifik özellikler nispeten yararsız olabilir. Bunun yerine, türü tat, renk ve yaş gibi daha genel özelliklere göre belirlemek daha ihtiyatlı olacaktır. PCA, daha spesifik özellikleri birleştirmek ve daha genel, kullanışlı ve fazla takmaya neden olma olasılığı daha düşük özellikler oluşturmak için kullanılabilir.

PCA, giriş özelliklerinin birbirine göre ortalamadan nasıl değiştiğini belirleyerek, özellikler arasında herhangi bir ilişki olup olmadığını belirleyerek gerçekleştirilir. Bunu yapmak için, veri kümesi özelliklerinin olası çiftlerine göre kovaryanslardan oluşan bir matris oluşturan bir kovaryant matrisi oluşturulur. Bu, değişkenler arasındaki korelasyonları belirlemek için kullanılır; negatif bir kovaryans, ters bir korelasyonu ve pozitif bir korelasyon, pozitif bir korelasyonu gösterir.

Veri kümesinin temel (en etkili) bileşenleri, başlangıç ​​değişkenlerinin doğrusal kombinasyonları oluşturularak oluşturulur; bu, adı verilen doğrusal cebir kavramlarının yardımıyla yapılır. Özdeğerler ve özvektörler. Kombinasyonlar, temel bileşenler birbiriyle ilintisiz olacak şekilde oluşturulur. İlk değişkenlerde bulunan bilgilerin çoğu, ilk birkaç ana bileşene sıkıştırılır, yani daha küçük boyutlu bir alanda orijinal veri kümesinden gelen bilgileri içeren yeni özellikler (temel bileşenler) yaratılmıştır.

Tekil Değer Ayrışımı

Fotoğraf: Cmglee tarafından – Kendi çalışması, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=67853297

Tekil Değer Ayrışımı (SVD) is bir matris içindeki değerleri basitleştirmek için kullanılırmatrisi bileşenlerine indirgemek ve bu matrisle hesaplamaları kolaylaştırmak. SVD, hem gerçek değerli hem de karmaşık matrisler için kullanılabilir, ancak bu açıklamanın amaçları doğrultusunda, bir gerçek değerler matrisinin nasıl ayrıştırılacağını inceleyecektir.

Gerçek değerli verilerden oluşan bir matrisimiz olduğunu ve amacımızın, PCA'nın amacına benzer şekilde, matris içindeki sütun/özellik sayısını azaltmak olduğunu varsayalım. PCA gibi, SVD de matrisin değişkenliğini mümkün olduğunca koruyarak matrisin boyutsallığını sıkıştıracaktır. A matrisi üzerinde işlem yapmak istiyorsak, A matrisini U, D ve V olarak adlandırılan diğer üç matris olarak temsil edebiliriz. A matrisi orijinal x * y öğelerinden oluşurken, U matrisi X * X öğelerinden oluşur (bu ortogonal bir matris). Matris V, y * y elemanlarını içeren farklı bir ortogonal matristir. Matris D, x * y öğelerini içerir ve köşegen bir matristir.

A matrisinin değerlerini ayrıştırmak için orijinal tekil matris değerlerini yeni bir matris içinde bulunan köşegen değerlere dönüştürmemiz gerekir. Ortogonal matrislerle çalışırken, diğer sayılarla çarpılırsa özellikleri değişmez. Bu nedenle, bu özellikten yararlanarak A matrisine yaklaşabiliriz. Ortogonal matrisleri Matris V'in devrikliği ile çarptığımızda, sonuç orijinal A'mıza eşdeğer bir matristir.

Matris a, U, D ve V matrislerine ayrıştırıldığında, bunlar Matris A'da bulunan verileri içerir. Ancak, matrislerin en soldaki sütunları verilerin çoğunu tutacaktır. Sadece bu ilk birkaç sütunu alabilir ve çok daha az boyuta ve A içindeki verilerin çoğuna sahip bir Matris A temsiline sahip olabiliriz.

Doğrusal Ayırım Analizi

 

Sol: LDA'dan önceki matris, Sağ: LDA'dan sonraki eksen, şimdi ayrılabilir

Doğrusal Ayırım Analizi (LDA) çok boyutlu bir grafikten veri alan bir süreçtir ve doğrusal bir grafik üzerine yeniden yansıtır. Bunu, iki farklı sınıfa ait veri noktalarıyla dolu iki boyutlu bir grafik düşünerek tasavvur edebilirsiniz. Noktaların, iki farklı sınıfı düzgün bir şekilde ayıracak hiçbir çizgi çizilemeyecek şekilde dağıldığını varsayın. Bu durumun üstesinden gelmek için 2B grafikte bulunan noktalar 1B grafiğe (bir çizgi) indirgenebilir. Bu satır, tüm veri noktalarını dağıtmış olacak ve umarız, verilerin mümkün olan en iyi ayrılmasını temsil eden iki bölüme ayrılabilir.

LDA'yı gerçekleştirirken iki temel hedef vardır. Birinci amaç, sınıflar için varyansı en aza indirmek, ikinci amaç ise iki sınıfın ortalamaları arasındaki mesafeyi en büyük hale getirmektir. Bu hedeflere, 2B grafikte var olacak yeni bir eksen oluşturularak ulaşılır. Yeni oluşturulan eksen, daha önce açıklanan hedeflere dayalı olarak iki sınıfı ayırmak için hareket eder. Eksen oluşturulduktan sonra 2B grafikte bulunan noktalar eksen boyunca yerleştirilir.

Orijinal noktaları yeni eksen boyunca yeni bir konuma taşımak için gereken üç adım vardır. İlk adımda, sınıfların ayrılabilirliğini hesaplamak için bireysel sınıflar arasındaki mesafe (sınıflar arası varyans) kullanılır. İkinci adımda, söz konusu sınıf için örneklem ile ortalama arasındaki mesafe belirlenerek farklı sınıflar içindeki varyans hesaplanır. Son adımda, sınıflar arasındaki varyansı maksimize eden daha düşük boyutlu uzay yaratılır.

LDA tekniği, hedef sınıflar için araçlar birbirinden çok uzak olduğunda en iyi sonuçları verir. Dağılımların araçları örtüşüyorsa, LDA sınıfları doğrusal bir eksenle etkili bir şekilde ayıramaz.

 

Uzmanlık alanlarına sahip blogcu ve programcı Makine öğrenme ve Derin Öğrenme konular. Daniel, başkalarının yapay zekanın gücünü toplumsal fayda için kullanmasına yardım etmeyi umuyor.