Makine öğreniminde özellik seçimi

Ey Habr!

Reksoft olarak makaleyi Rusçaya çevirdik Makine Öğreniminde Özellik Seçimi. Konuya ilgi duyan herkese faydalı olmasını dileriz.

Gerçek dünyada veriler her zaman kurumsal müşterilerin bazen düşündüğü kadar temiz değildir. Veri madenciliği ve veri tartışmasının talep görmesinin nedeni budur. Sorgu yapılı verilerde insanların tanımlayamadığı eksik değerlerin ve kalıpların belirlenmesine yardımcı olur. Verilerde keşfedilen ilişkileri kullanarak sonuçları tahmin etmek amacıyla bu kalıpları bulmak ve kullanmak için makine öğrenimi kullanışlı olur.

Herhangi bir algoritmayı anlamak için verilerdeki tüm değişkenlere bakmanız ve bu değişkenlerin neyi temsil ettiğini bulmanız gerekir. Bu çok önemlidir çünkü sonuçların ardındaki mantık, verilerin anlaşılmasına dayanmaktadır. Veriler 5 hatta 50 değişken içeriyorsa hepsini inceleyebilirsiniz. Peki ya bunlardan 200 tane varsa? O zaman her bir değişkeni incelemek için yeterli zaman kalmayacaktır. Üstelik bazı algoritmalar kategorik veriler için çalışmaz ve ardından tüm kategorik sütunları modele eklemek için niceliksel değişkenlere (nicel görünebilirler ancak metrikler kategorik olduklarını gösterecektir) dönüştürmeniz gerekir. Böylece değişken sayısı artıyor ve yaklaşık 500 tane var. Şimdi ne yapmalı? Cevabın boyutluluğu azaltmak olduğu düşünülebilir. Boyut azaltma algoritmaları parametre sayısını azaltır ancak yorumlanabilirlik üzerinde olumsuz bir etkiye sahiptir. Peki ya işaretleri ortadan kaldırıp geri kalanların anlaşılmasını ve yorumlanmasını kolaylaştıran başka teknikler varsa?

Analizin regresyona mı yoksa sınıflandırmaya mı dayalı olduğuna bağlı olarak özellik seçim algoritmaları farklılık gösterebilir ancak bunların uygulanmasının ana fikri aynı kalır.

Yüksek Derecede İlişkili Değişkenler

Birbirleriyle yüksek korelasyona sahip değişkenler modele aynı bilgiyi sağlar, dolayısıyla analiz için bunların tamamının kullanılmasına gerek yoktur. Örneğin, bir veri kümesi "Çevrimiçi Zaman" ve "Kullanılan Trafik" özelliklerini içeriyorsa, bunların bir şekilde ilişkili olacağını varsayabiliriz ve tarafsız bir veri örneği seçsek bile güçlü bir korelasyon göreceğiz. Bu durumda modelde bu değişkenlerden yalnızca birine ihtiyaç duyulur. Her ikisini de kullanırsanız, model gereğinden fazla donatılacak ve belirli bir özelliğe yönelecektir.

P değerleri

Doğrusal regresyon gibi algoritmalarda başlangıç ​​istatistiksel modeli her zaman iyi bir fikirdir. Bu modelle elde edilen p değerleri aracılığıyla özelliklerin önemini göstermeye yardımcı olur. Anlamlılık seviyesini belirledikten sonra ortaya çıkan p değerlerini kontrol ediyoruz ve herhangi bir değer belirtilen anlamlılık seviyesinin altındaysa bu özellik anlamlı olarak ilan ediliyor, yani değerindeki bir değişiklik muhtemelen değerinde bir değişikliğe yol açacaktır. hedef.

Doğrudan seçim

İleri seçim, adım adım regresyonun uygulanmasını içeren bir tekniktir. Model oluşturma tam bir sıfırla, yani boş bir modelle başlar ve ardından her yineleme, oluşturulmakta olan modele iyileştirme sağlayan bir değişken ekler. Modele hangi değişkenin ekleneceği önemine göre belirlenir. Bu, çeşitli ölçümler kullanılarak hesaplanabilir. En yaygın yol, tüm değişkenleri kullanarak orijinal istatistiksel modelde elde edilen p değerlerini kullanmaktır. Bazen doğrudan seçim, modele aynı bilgiyi sağlasalar bile modelde yüksek derecede ilişkili değişkenler olabileceğinden (ancak model hala gelişme göstermektedir), modelin gereğinden fazla uydurulmasına yol açabilir.

Ters seçim

Ters seçilim aynı zamanda özelliklerin adım adım ortadan kaldırılmasını da içerir, ancak ileri seçilim ile karşılaştırıldığında ters yöndedir. Bu durumda başlangıç ​​modeli tüm bağımsız değişkenleri içermektedir. Her yinelemede yeni regresyon modeline değer katmayan değişkenler daha sonra elenir (yineleme başına bir tane). Özellik hariç tutma, başlangıç ​​modelinin p değerlerine dayanır. Bu yöntem aynı zamanda yüksek derecede ilişkili değişkenleri çıkarırken de belirsizliğe sahiptir.

Özyinelemeli Özelliğin Ortadan Kaldırılması

RFE, önemli özelliklerin tam sayısını seçmek için yaygın olarak kullanılan bir teknik/algoritmadır. Bazen yöntem, sonuçları etkileyen bir dizi "en önemli" özelliği açıklamak için kullanılır; ve bazen çok fazla sayıda değişkeni (yaklaşık 200-400) azaltmak için, yalnızca modele en azından bir miktar katkıda bulunanlar tutulur ve diğerleri hariç tutulur. RFE bir sıralama sistemi kullanır. Veri setindeki özelliklere dereceler atanır. Bu sıralamalar daha sonra aralarındaki eşdoğrusallığa ve bu özelliklerin modeldeki önemine dayalı olarak özellikleri yinelemeli olarak ortadan kaldırmak için kullanılır. Sıralama özelliklerine ek olarak, RFE, belirli sayıda özellik için bile bu özelliklerin önemli olup olmadığını gösterebilir (çünkü seçilen sayıda özellik optimal olmayabilir ve optimal özellik sayısı daha fazla olabilir). veya seçilen sayıdan daha az).

Özellik Önem Diyagramı

Makine öğrenimi algoritmalarının yorumlanabilirliğinden bahsederken genellikle doğrusal regresyonları (p değerlerini kullanarak özelliklerin önemini analiz etmenize olanak tanır) ve karar ağaçlarını (özelliklerin önemini tam anlamıyla bir ağaç biçiminde gösteren) tartışırız. aynı zamanda hiyerarşileri). Öte yandan, Random Forest, LightGBM ve XG Boost gibi algoritmalar sıklıkla bir özellik önem diyagramı kullanır, yani değişkenlerin bir diyagramı ve "önem sayıları" çizilir. Bu, özellikle iş üzerindeki etkileri açısından niteliklerin önemine ilişkin yapılandırılmış bir gerekçe sağlamanız gerektiğinde kullanışlıdır.

Düzenleme

Önyargı ve varyans arasındaki dengeyi kontrol etmek için düzenleme yapılır. Önyargı, modelin eğitim veri setine ne kadar fazla uyum sağladığını gösterir. Sapma, eğitim ve test veri kümeleri arasındaki tahminlerin ne kadar farklı olduğunu gösterir. İdeal olarak hem sapma hem de varyans küçük olmalıdır. Düzenlemenin kurtarmaya geldiği yer burasıdır! İki ana teknik vardır:

L1 Düzenlileştirme - Kement: Kement, model ağırlıklarını model açısından önemlerini değiştirmek için cezalandırır ve hatta onları geçersiz kılabilir (yani bu değişkenleri son modelden kaldırabilir). Genellikle Lasso, bir veri kümesi çok sayıda değişken içerdiğinde ve önemli özelliklerin modeli ne kadar etkilediğini daha iyi anlamak için bunlardan bazılarını hariç tutmak istediğinizde kullanılır (yani, Lasso tarafından seçilen ve önem atanmış özellikler).

L2 Düzenlileştirme - Ridge yöntemi: Ridge'in görevi, tüm değişkenleri depolamak ve aynı zamanda modelin performansına katkılarına göre onlara önem vermektir. Eğer veri seti az sayıda değişken içeriyorsa ve elde edilen bulgu ve sonuçların yorumlanması için bunların hepsi gerekliyse Ridge iyi bir seçim olacaktır.

Ridge tüm değişkenleri tuttuğundan ve Lasso bunların önemini belirleme konusunda daha iyi bir iş çıkardığından, her iki düzenlemenin en iyi özelliklerini birleştiren, Elastic-Net olarak bilinen bir algoritma geliştirildi.

Makine öğrenimi için özellikleri seçmenin daha pek çok yolu vardır, ancak ana fikir her zaman aynıdır: değişkenlerin önemini gösterin ve ardından ortaya çıkan öneme göre bazılarını ortadan kaldırın. Önem oldukça subjektif bir terimdir, çünkü yalnızca bir tane değil, temel özellikleri bulmak için kullanılabilecek bir dizi metrik ve grafikten oluşur.

Okuduğunuz için teşekkürler! Mutlu öğrenme!

Kaynak: habr.com

Yorum ekle