Boyutsallık azaltma nedir? Özellik seçimi ve çıkarma arasındaki fark nedir?


58

Wikipedia'dan

boyutsallık azaltma veya boyutsal küçültme, incelenen rastgele değişken sayısını azaltma işlemidir ve özellik seçimi ve özellik çıkarımına ayrılabilir.

Özellik seçimi ve özellik çıkarma arasındaki fark nedir?

Doğal Dil İşleme görevinde bir boyutluluk azaltma örneği nedir?

Yanıtlar:


51

Basit ifadeyle:

  • özellik seçimi: orijinal özellik setinin bir altkümesini seçersiniz; süre
  • özellik çıkarımı: Orijinal özellik kümesinden yeni bir özellikler dizisi oluşturursunuz.

Özellik çıkarımına örnekler: görüntülerdeki konturların çıkarılması, bir metinden digramların çıkarılması, sesli metinlerin kaydedilmesinden fonemlerin çıkarılması vb.

Özellik çıkarımı, boyutsallık azaltma sürecinde bazı bilgiler kaybolduğu için çoğu zaman geri dönüşü olmayan özelliklerin dönüşümünü içerir.


2
Bunların her ikisi de, özelliklerin manuel olarak oluşturulmasını veya seçilmesini içerdiğinden özellik mühendisliği kategorisine girer. Boyutsallık azaltma tipik olarak verilerin temelini veya bazı diğer matematiksel yeniden gösterimlerini içerir
ragingSloth

1
@ragingSloth, bence ilki kesinlikle özellik seçimi - özellik mühendisliği değil. Görüntü ve metin işleme örnekleri aslında özellik mühendisliği gibi gözükse de
Alexey Grigorev

Bulduğum şekilde, bazı özellik çıkarımları için orijinal boyutları yaklaşık olarak yeniden oluşturabilirsiniz. Ancak özellik seçimi için, işe yaramaz boyutları kaldırdığınız için yeniden yapılanma yoktur.
Bob

16

Boyutsallık azaltma, tipik olarak, verilerinizdeki varyansın tümünü en fazla açıklayabileceğiniz fakat bu bilgileri temsil etmek için gerekli bilgiyi azaltırken, ilgili bilgiyi koruyabileceğiniz bir temeli veya matematiksel gösterimi seçmektir. Bunu yapmak PCA, ancak bunlarla sınırlı olmamak üzere ICA, ve de dahil olmak üzere çeşitli teknikler vardır Matrix Feature Factorization. Bunlar mevcut verileri alır ve bunları en ayırt edici bileşenlere indirger. Bunların hepsi, veri kümenizdeki bilgilerin çoğunu daha az, daha fazla ayırt edici özelliklerle temsil etmenize olanak sağlar.

Özellik Seçimi, oldukça ayırt edici olan özellikleri seçmektir. Bunun, analizden ziyade özellik mühendisliği ile yapması gereken çok şey var ve veri bilimcisi adına önemli ölçüde daha fazla çalışma gerektiriyor. Yaptığınız tahminlerde veri kümenizin hangi yönlerinin önemli olduğunu ve hangilerinin hangileri olduğunu anlamalarını gerektirir. Özellik çıkarma, genellikle varolan özelliklerin birleşimini oluşturan yeni özellikler üretmeyi içerir. Bu tekniklerin her ikisi de özellik mühendisliği kategorisine girmektedir. Genellikle, veri kümenizde bulunmayabilecek bilgiler oluşturma ve sinyal / gürültü oranınızı arttırmayı içerdiğinden en iyi sonuçları elde etmek istiyorsanız, özellik mühendisliği önemlidir.


2
Çoğunlukla katılıyorum: Hassas bir şekilde: Özellik seçiminin elle yapılması gerekmiyor, otomatik olabilir. Örneğin, Kement yöntemine bakınız ( en.wikipedia.org/wiki/Least_squares#Lasso_method ).
jrouquie

Senin Dimensionality Reductionfıkra ile aynı fikirdeyim ama Feature Engineeringkullanımda biraz farklı - ki benim gördüğümden sadece Feature Extraction : Feature Selectionayrı olarak kabul edilir. Bu sadece terminolojideki bir fark.
javadba

7

@Damienfrancois cevapta olduğu gibi, özellik seçimi bir özellik alt kümesini seçmek ile ilgilidir. Bu nedenle, NLP'de, belirli bir sözcük kümesi seçilecektir (NLP'de tipik olan, her bir kelimenin, kelimenin frekansına eşit bir değeri veya TF / IDF veya benzerini temel alan başka bir ağırlığı temsil etmesidir).

Boyutsallık azaltma, orijinal özelliklerin temsil edildiği yeni özellik alanının tanıtılmasıdır. Yeni alan, orijinal alandan daha düşük boyuttadır. Metin durumunda bir örnek, bir metin parçasının birkaç bitlik bir vektöre (örneğin 16 veya 32) veya baytlara indirgendiği karma hilesi olabilir . Şaşırtıcı olan şey, alanın geometrisinin korunmuş olmasıdır (yeterince bit verilir), bu nedenle belgeler arasındaki bağıl mesafeler orijinal alandakiyle aynı kalır, böylece standart makine öğrenme tekniklerini sınırsız (ve çok büyük sayılar) ile uğraşmadan dağıtabilirsiniz. of) metinde bulunan boyutlar.


5

Özellik seçimi, bazı istatistiki puanlara göre bazı özelliklerin seçilmesiyle ilgilidir ancak özellik çıkarma, verilerden ikinci katman bilgilerini çıkarmak için teknikler kullanmaktır, örneğin Fourier dönüşümü kullanan bir sinyalin ilginç frekansları.

[x1,...,xn]


Elde edilen cevapların dışında bu, birkaç Data Science ve ML Platform ekibinde gördüklerimle en iyi eşleşen
javadba

3

Damien'ın cevabını tamamlamak için NLP'deki bir boyutsallık azaltma örneği , dokümanı kurucu konularının ağırlığını gösteren bir vektörle temsil ettiğiniz bir konu modelidir .



2

A1. Boyutsallık azaltma nedir: Bir matristeki verileri düşünürseniz, satırların örnekleri ve sütunların nitelikler (veya özellikler) olduğu durumlarda, boyutsallık azaltma bu veri matrisini daha az sütun içeren yeni bir matrisle eşleştirir. Görselleştirme için, her matris sütunu (nitelik) özellik uzayında bir boyut olarak düşünürseniz, boyutsallık azaltma, örneklerin daha yüksek boyutlu alandan (daha fazla sütun) daha düşük boyutlu alt alana (daha az sütun) yansıtılmasıdır. Boyutluluk azaltma alt uzay projeksiyonu Bu dönüşüm için tipik amaç (1) işlemsel karmaşıklığı azaltırken veri matrisindeki bilgiyi korumak; (2) verideki farklı sınıfların ayrılabilirliğini geliştirmek.

A2. Özellik seçimi veya özellik çıkarımı olarak boyutsallık azaltma: Muhtemelen veri biliminin 'merhaba dünyası' olan her yerde bulunan Iris veri setini kullanacağım . Kısaca, Iris veri setinde 3 sınıf ve 4 özellik (sütun) vardır. İris veri kümesi boyutluluğunu 4'ten 2'ye düşürme görevi için özellik seçimini ve çıkartmayı göstereceğim.

Bu veri setinin çift yönlü eş varyansını Python'daki seaborn kütüphanesini kullanarak hesaplarım. Kodudur: sns.pairplot (iris, renk = "türler", belirteçler = [ "o", "s", "D"]) ı elde rakam İris çifti arsa I olabilir seçmek sağlayan özelliklere (2 boyutlu) çiftini Bana Iris veri setindeki 3 sınıf (tür) arasındaki en büyük ayrılık. Bu bir özellik seçimi durumu olacaktır.

Sıradaki özellik çıkarım. Burada, Iris'in 4 boyutlu özellik uzayını, orijinal boşlukla aynı hizada eksen olmayan yeni bir 2 boyutlu alt alana yansıtıyorum. Bunlar yeni özellikler. Tipik olarak orijinal yüksek boyutlu uzayda dağılıma dayanırlar. En popüler yöntem, özdeğerleri orijinal uzayda hesaplayan Temel Bileşen Analizi'dir. SVD kullanarak PCA Açıkçası, Özvektörlere dayanan bir alt alana yalnızca doğrusal ve küresel bir projeksiyon kullanmakla sınırlı değiliz. Doğrusal olmayan projeksiyon yöntemlerini de kullanabiliriz. Burada sinir ağları kullanılarak lineer olmayan PCA örneğidir NN kullanarak doğrusal olmayan PCA Son örnekte özellikler (boyut) vardır ekstresinir ağları kullanarak orijinal 4 özellikten. Bu pca yöntemleri kodunu kullanarak iris veri seti için PCA'nın çeşitli lezzetlerini deneyebilirsiniz .

Özet: Özellik çıkarma yöntemleri, özellik seçimine göre performansta üstün gibi görünse de, seçim uygulama tarafından belirlenir. Özellik çıkarımından gelen özellikler tipik olarak eldeki göreve dayalı bir konu olabilecek ya da olmayabilecek fiziksel yorumu kaybeder. Örneğin, pahalı sensörlerle çok pahalı bir veri toplama görevi tasarlıyorsanız ve özellikleri (farklı sensörlerin sayısı) ekonomik hale getirmeniz gerekiyorsa, mevcut tüm sensörleri kullanarak küçük bir pilot örnek toplamak ve sonra da bunları seçmek isteyip istemediğinizi seçin . büyük veri toplama görevi için en bilgilendirici olanıdır.


1

Scikit-learn & Tensorflow ile uygulamalı makine öğrenmesinden elde edildi

  1. Veri temizleme: Ayraçları sabitleyin veya çıkarın (isteğe bağlı). Eksik değerleri doldurun (örneğin, sıfır, ortalama, medyan…) veya satırlarını (veya sütunlarını) düşürün.
  2. Özellik seçimi (isteğe bağlı): Görev için yararlı bilgi sağlamayan özellikleri bırakın.
  3. Özellik mühendisliği, uygun olduğunda: Sürekli özellikleri ayırın. Ayrışma özellikleri (örneğin kategorik, tarih / saat, vb.) Umut verici özelliklerin dönüşümlerini ekleyin (ör. Log (x), sqrt (x), x ^ 2, vb.). Gelecek vaat eden yeni özelliklere toplu özellikler ekleyin.
  4. Özellik ölçeklendirme: özellikleri standartlaştırın veya normalleştirin.

0

Buradaki birkaç büyük cevap, özellikle, @ damienfrancois'in cevabı, genel fikrini kısaca özetlemektedir.

Ancak, ilişkisel veya zaman serisi veriler için özellik mühendisliği örnekleri göremiyorum. Bu durumda, veri bilimcileri genellikle ilişkiler boyunca ve zamanla istatistiksel kalıpları çıkarırlar. Örneğin, gelecekte bir e-ticaret veritabanında müşterilerin ne olacağını tahmin etmek için, ortalama bir tarihsel satın alma tutarı veya önceki satın alımların sıklığı gibi miktarlar çıkarılabilir.

Bu konuyla ilgili birkaç örnekte çok daha ayrıntılı olan bir parça yazdım: https://www.featurelabs.com/blog/feature-engineering-vs-feature-selection/


0

Çıkarma özelliğinin ters sırası ile başlayalım ve neden özellik seçimi ve boyut küçültme ihtiyacına ihtiyaç duyuyorum.

Temelde sınıflandırma amaçlı olan özellik çıkarımı ile başlar. Sınıflandırma, belirli bir nesnenin hangi kategoriye ait olduğuna karar verme sürecidir. İki aşaması vardır i) Eğitim aşaması, veri veya nesnelerin belirli özelliklerinin bazı işlemler (özellik çıkarma) ii) test aşaması kullanılarak öğrenildiği, bilinmeyen nesnenin önceki (eğitim) aşamasında öğrenilen özellikler kullanılarak sınıflandırıldığı bir aşama.

Özellik çıkarma adından da anlaşılacağı gibi verilere verilen amaç temeldeki deseni bulmaktır. İlgili verilere karşılık gelen özellik olarak adlandırılan bu temel kalıp. Support Vector Machine (SVM) gibi özelliklerin çıkarılması için çeşitli yöntemler vardır.

Şimdi, özellik çıkarımı olması gereken özellikleri oluşturmalıdır

  • güçlü
  • fark gözeten
  • optimum özellikler seti

Özellik Seçimi: Belirli bir veri kümesi, tek bir özellik veya özelliklerle temsil edilebilir. Sınıflandırma sürecinde, en az iki sınıf için bir sistem eğitilmiştir. Böylece eğitim sistemi ya tek bir özellik ya da bir dizi özellik üretecektir. Bu özellikler yukarıda belirtilen özelliklere sahip olmalıdır.

Sorun, her sınıf için bir özellik belirlendiğinde ve bazı özellikler arasında korelasyon bulunduğunda ortaya çıkar. Bu, birbiriyle ilişkili özellikler arasında bir veya birkaçının temsil için yeterli olduğunu ve özellik seçiminin resme girdiği noktayı gösterir. Ayrıca, bu özelliklerin ayarlanmış bellek gereksinimi ile birlikte depolanması gereken bellek gereksinimi de artar.

Ardından , özellik seçim sürecinin bir parçası olmaktan başka bir şey olan boyutsallık azaltma gelir . Verileri en iyi tanımlayan en uygun özellik kümesini seçme işlemidir. Temel bileşen analizi, bağımsız bileşen analizi ve matris faktörizasyonu gibi aynı işlemler için pek çok teknik vardır.


-3

Örneğin ... eğer bir tarım araziniz varsa o zaman o arazinin belirli bir alanını seçmek özellik seçimi olacaktır. Eğer o bölgedeki etkilenen bitkileri bulmayı hedefliyorsanız, ortak olan belirli bir özelliğe dayanarak her bitkinin gözlemlenmesi gerekir. Her fabrikada anormallikleri bulmak için ... bunun için özellik çıkarımını düşünebilirsiniz. Bu örnekte, orijinal tarım arazisi Boyutsallık azalmasına tekabül eder.


Hayır, özellikle mekansal verilerle ilgisi yok. Zamansal, uzamsal-zamansal ve diğer veri türlerine de uygulanabilir.
Emre,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.