Doğrusal sınıflandırıcılar için, daha büyük katsayılar daha önemli özellikler ima ediyor mu?


15

Makine öğrenimi üzerinde çalışan bir yazılım mühendisiyim. Anladığım kadarıyla, doğrusal regresyon (OLS gibi) ve doğrusal sınıflandırma (lojistik regresyon ve SVM gibi), eğitimli katsayılar ve özellik değişkenleri arasındaki iç ürüne dayalı bir tahmin yapar :wx

y^=f(wx)=f(iwixi)

Benim sorum şu: Model eğitildikten sonra (yani, katsayıları hesaplandıktan sonra ), modelin daha doğru tahmin etmesi için daha önemli olan özellik değişkenleri için katsayıların daha büyük olması söz konusu mudur?wi

Başka bir deyişle, değişkenlerin katsayı değerine göre sıralanması ve ardından en yüksek katsayılara sahip özelliklerin seçilmesiyle katsayıların göreceli büyüklüklerinin özellik seçimi için kullanılıp kullanılamayacağını soruyorum. Bu yaklaşım geçerliyse, özellik seçimi için neden belirtilmez (sarmalayıcı ve filtre yöntemleri vb. İle birlikte).

Bunu sormamın nedeni, L1 ve L2 düzenlenmesi hakkında bir tartışmala karşılaşmamdı . Bir bulanıklık var:

Yerleşik özellik seçimi, genellikle L2 normunun kullanmadığı L1 normunun faydalı bir özelliği olarak belirtilir. Bu aslında seyrek katsayılar oluşturma eğiliminde olan L1 normunun bir sonucudur (aşağıda açıklanmıştır). Modelin 100 katsayısı olduğunu, ancak sadece 10 tanesinin sıfır olmayan katsayıları olduğunu varsayalım, bu etkili bir şekilde "diğer 90 öngörücünün hedef değerleri tahmin etmede faydasız olduğunu" söylüyor.

Çizgiler arasında okuma yaparken, bir katsayı 0'a yakınsa, o katsayılı özellik değişkeninin çok az tahmin gücüne sahip olması gerektiğini tahmin ediyorum.

EDIT : Ben de sayısal değişkenlerime z-ölçeklendirme uyguluyorum.


1
LASSO (L1-norm) ve sırt regresyonu (L2-norm) analizlerinin altında yatan kodun, kod daha sonra katsayıları orijinal değişken ölçeklerine dönüştürse bile, analizden önce öngörücü değişkenleri önceden ölçeklendirmelidir. Ön ölçekleme yapmayan kod kullananlar, OLS, LASSO veya sırt yaptıklarından @josliber'in cevabında belirtilen problemlerle sonuçlanır.
EdM

3
Sanırım bahsetmeye değer bir şey, "o zaman bu katsayılı özellik değişkeni çok az tahmin gücüne sahip olmalı" ifadesiyle ifade etmeye çalıştığınız zaman, bunun gerçekten ne anlama geldiğini tam olarak ortaya koyabilir misiniz? Yine de, çok değişkenli bir modelde bireysel bir değişkenin "tahmine dayalı gücü" kavramının genel olarak kavramsal temel üzerinde anlaşmaya varmadığını deneyimledim.
Matthew Drury

4
Bence bu tür düşünmedeki hata muhtemelen tek değişkenli bir model üretmekle sınırlı değilsinizdir . Siz ve en iyi doğruluğa sahip bir model sunmak istiyorsanız, eminim, bu makul bir şeydir. Eğer değilseniz, yani çok değişkenli bir model üretecekseniz, @EdM cevapları olarak, değişken önem kavramı çok, çok kaygandır ve sağlam bir kavramsal temele sahip değildir. Tek değişkenli bir modeldeki tahmine dayalı gücün, çok değişkenli bir ortamda alakalı olarak görülmesi hiç de açık değildir.
Matthew Drury

1
@MatthewDrury: Çoklu özelliklerden neden önemli bir şey yaptığınızdan emin değilim. Var olan bir "özellik seçimi" alanı (örneğin, sarma yöntemleri) vardır; bu alanın sağlam bir kavramsal temele sahip olmadığını mı düşünüyorsunuz?
Stackoverflowuser2010

1
@ stackoverflowuser2010 Yah, muhtemelen burada benim görüşüme göre bir aykırı değer, ama bu bakış açımın biraz doğru bir açıklaması olurdu.
Matthew Drury

Yanıtlar:


25

Bir şey değil. Katsayıların büyüklüğü doğrudan değişkenler için seçilen ölçeklere bağlıdır, bu da biraz keyfi bir modelleme kararıdır.

Bunu görmek için, taç uzunluğuna (santimetre cinsinden) göre bir irisin taç genişliğini (santimetre cinsinden) tahmin eden doğrusal bir regresyon modelini düşünün:

summary(lm(Petal.Width~Petal.Length, data=iris))
# Call:
# lm(formula = Petal.Width ~ Petal.Length, data = iris)
# 
# Residuals:
#      Min       1Q   Median       3Q      Max 
# -0.56515 -0.12358 -0.01898  0.13288  0.64272 
# 
# Coefficients:
#               Estimate Std. Error t value Pr(>|t|)    
# (Intercept)  -0.363076   0.039762  -9.131  4.7e-16 ***
# Petal.Length  0.415755   0.009582  43.387  < 2e-16 ***
# ---
# Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# 
# Residual standard error: 0.2065 on 148 degrees of freedom
# Multiple R-squared:  0.9271,  Adjusted R-squared:  0.9266 
# F-statistic:  1882 on 1 and 148 DF,  p-value: < 2.2e-16

Modelimiz 0.9266 ayarlanmış bir R ^ 2 değerine ulaşır ve Petal.Length değişkenine 0.415755 katsayı değerini atar.

Bununla birlikte, Petal.Length'u santimetre olarak tanımlama seçeneği oldukça keyfiydi ve bunun yerine değişkeni metre olarak tanımlayabilirdik:

iris$Petal.Length.Meters <- iris$Petal.Length / 100
summary(lm(Petal.Width~Petal.Length.Meters, data=iris))
# Call:
# lm(formula = Petal.Width ~ Petal.Length.Meters, data = iris)
# 
# Residuals:
#      Min       1Q   Median       3Q      Max 
# -0.56515 -0.12358 -0.01898  0.13288  0.64272 
# 
# Coefficients:
#                     Estimate Std. Error t value Pr(>|t|)    
# (Intercept)         -0.36308    0.03976  -9.131  4.7e-16 ***
# Petal.Length.Meters 41.57554    0.95824  43.387  < 2e-16 ***
# ---
# Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# 
# Residual standard error: 0.2065 on 148 degrees of freedom
# Multiple R-squared:  0.9271,  Adjusted R-squared:  0.9266 
# F-statistic:  1882 on 1 and 148 DF,  p-value: < 2.2e-16

Tabii ki, bu takılan modeli gerçekten hiçbir şekilde etkilemez - Petal.Length.Meters'e (41.57554) Petal.Length (0.415755) 'den yaptığımızdan 100x daha büyük bir katsayı atadık. Modelin diğer tüm özellikleri (düzeltilmiş R ^ 2, t-istatistikleri, p-değerleri, vb.) Aynıdır.

Genellikle, düzenli doğrusal modeller takılırken, seçilen ölçeklere dayanarak bazı değişkenlerin diğerlerine göre tercih edilmesini önlemek için öncelikle değişkenler normalleştirilir (örneğin, ortalama 0 ve birim varyansına sahip olmak).

Normalleştirilmiş Veriler Varsayımı

Tüm değişkenleri normalleştirmiş olsanız bile, bağımsız değişkenler nadiren ayarlandığından (düşük varyansa sahiptir) yüksek katsayılara sahip değişkenler tahminlerde hala yararlı olmayabilir. Örnek olarak, bağımlı Z değişkenine ve X ve Y bağımsız değişkenlerine sahip ikili değerleri alan bir veri kümesini ele alalım.

set.seed(144)
dat <- data.frame(X=rep(c(0, 1), each=50000),
                  Y=rep(c(0, 1), c(1000, 99000)))
dat$Z <- dat$X + 2*dat$Y + rnorm(100000)

Yapım gereği, her ikisi de Z'yi doğrusal regresyon yoluyla tahmin etmek için kullanıldığında, Y katsayısı X katsayısının kabaca iki katıdır:

summary(lm(Z~X+Y, data=dat))
# Call:
# lm(formula = Z ~ X + Y, data = dat)
# 
# Residuals:
#     Min      1Q  Median      3Q     Max 
# -4.4991 -0.6749 -0.0056  0.6723  4.7342 
# 
# Coefficients:
#              Estimate Std. Error t value Pr(>|t|)    
# (Intercept) -0.094793   0.031598   -3.00   0.0027 ** 
# X            0.999435   0.006352  157.35   <2e-16 ***
# Y            2.099410   0.031919   65.77   <2e-16 ***
# ---
# Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# 
# Residual standard error: 0.9992 on 99997 degrees of freedom
# Multiple R-squared:  0.2394,  Adjusted R-squared:  0.2394 
# F-statistic: 1.574e+04 on 2 and 99997 DF,  p-value: < 2.2e-16

Yine de X, Z'deki Y'den daha fazla varyasyonu açıklar (Z'yi X ile tahmin eden lineer regresyon modeli R ^ 2 değeri 0.2065 iken, Y ile Z'yi tahmin eden lineer regresyon modeli R ^ 2 değeri 0.0511'dir):

summary(lm(Z~X, data=dat))
# Call:
# lm(formula = Z ~ X, data = dat)
# 
# Residuals:
#     Min      1Q  Median      3Q     Max 
# -5.2587 -0.6759  0.0038  0.6842  4.7342 
# 
# Coefficients:
#             Estimate Std. Error t value Pr(>|t|)    
# (Intercept) 1.962629   0.004564   430.0   <2e-16 ***
# X           1.041424   0.006455   161.3   <2e-16 ***
# ---
# Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# 
# Residual standard error: 1.021 on 99998 degrees of freedom
# Multiple R-squared:  0.2065,  Adjusted R-squared:  0.2065 
# F-statistic: 2.603e+04 on 1 and 99998 DF,  p-value: < 2.2e-16

e karşı:

summary(lm(Z~Y, data=dat))
# Call:
# lm(formula = Z ~ Y, data = dat)
# 
# Residuals:
#     Min      1Q  Median      3Q     Max 
# -5.0038 -0.7638 -0.0007  0.7610  5.2288 
# 
# Coefficients:
#             Estimate Std. Error t value Pr(>|t|)    
# (Intercept) -0.09479    0.03529  -2.686  0.00724 ** 
# Y            2.60418    0.03547  73.416  < 2e-16 ***
# ---
# Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# 
# Residual standard error: 1.116 on 99998 degrees of freedom
# Multiple R-squared:  0.05114, Adjusted R-squared:  0.05113 
# F-statistic:  5390 on 1 and 99998 DF,  p-value: < 2.2e-16

Çok Eşitlik Olgusu

Büyük katsayı değerlerinin aldatabileceği üçüncü bir durum, değişkenler arasında önemli bir çok eşbiçimlilik durumunda olacaktır. Örnek olarak, X ve Y'nin yüksek derecede korelasyonlu olduğu, ancak W'nin diğer ikisi ile yüksek derecede korelasyonlu olmadığı bir veri kümesini düşünün; Z'yi tahmin etmeye çalışıyoruz:

set.seed(144)
dat <- data.frame(W=rnorm(100000),
                  X=rnorm(100000))
dat$Y <- dat$X + rnorm(100000, 0, 0.001)
dat$Z <- 2*dat$W+10*dat$X-11*dat$Y + rnorm(100000)
cor(dat)
#              W             X             Y          Z
# W 1.000000e+00  5.191809e-05  5.200434e-05  0.8161636
# X 5.191809e-05  1.000000e+00  9.999995e-01 -0.4079183
# Y 5.200434e-05  9.999995e-01  1.000000e+00 -0.4079246
# Z 8.161636e-01 -4.079183e-01 -4.079246e-01  1.0000000

Bu değişkenler hemen hemen aynı ortalamaya (0) ve varyansa (~ 1) sahiptir ve doğrusal regresyon, X'e (kabaca 15) ve Y'ye (kabaca -16) W'ye (kabaca -16) çok daha yüksek katsayı değerleri atar (W ( kabaca 2):

summary(lm(Z~W+X+Y, data=dat))
# Call:
# lm(formula = Z ~ W + X + Y, data = dat)
# 
# Residuals:
#     Min      1Q  Median      3Q     Max 
# -4.1886 -0.6760  0.0026  0.6679  4.2232 
# 
# Coefficients:
#               Estimate Std. Error t value Pr(>|t|)    
# (Intercept)  1.831e-04  3.170e-03   0.058    0.954    
# W            2.001e+00  3.172e-03 630.811  < 2e-16 ***
# X            1.509e+01  3.177e+00   4.748 2.05e-06 ***
# Y           -1.609e+01  3.177e+00  -5.063 4.13e-07 ***
# ---
# Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# 
# Residual standard error: 1.002 on 99996 degrees of freedom
# Multiple R-squared:  0.8326,  Adjusted R-squared:  0.8326 
# F-statistic: 1.658e+05 on 3 and 99996 DF,  p-value: < 2.2e-16

Yine de, W modelindeki üç değişken arasında en önemlisidir: W'yi tam modelden kaldırırsanız, R ^ 2 0.833'den 0.166'ya düşer, X veya Y'yi düşürürseniz R ^ 2 neredeyse değişmez.


1
(+1) Bunun iyi bir cevap olduğunu düşünüyorum ve bu noktaya değinmek gerekiyor. Öte yandan, değişkenler standartlaştırıldığında (ve dolayısıyla birimsiz) bile söylenecek çok şey olduğuna inanıyorum, bu yüzden birkaç cevap için yer var.
Matthew Drury

Cevap için teşekkürler. Yazınız uzun olsa da, çok kapsamlı değil, çünkü küçük sentetik verilerden sonuçlar çıkarıyorsunuz. Ayrıca, R ^ 2 doğrusal regresyona spesifiktir. Daha uygun hata metriğinin RMSE veya sınıflandırma problemleri için doğruluk / F1 olduğuna inanıyorum.
stackoverflowuser2010

1
AMA son örnekteki verileri ölçeklendirirseniz, tek önemli değişkenin W olduğunu
marcodena

12

"Özellik önemi", tüm öngörücüler ortak bir ölçeğe ayarlanmış olsa bile çok kaygan bir kavramdır (kendi başına kategorik değişkenler veya çarpık dağılımlar içeren birçok pratik uygulamada önemsiz bir sorundur). Bu nedenle, @josliber'in cevabında belirtilen ölçekleme sorunlarından veya @dsaxton tarafından ortaya konan düşük prediktör varyans sorunundan kaçınırsanız, hala ek sorunlarınız olur.

Örneğin, özellik öneminin daha yararlı bir ölçüsü, katsayısının katsayısının tahmini hatasına oranı olabilir. Büyük bir tahmini hataya sahip yüksek bir katsayı, tahminlerde her zaman yardımcı olmaz. Bu nedenle, önceden ölçeklendirilmiş durumda bile tek başına katsayı büyüklüğü, "önem" için iyi bir rehber değildir.

Bununla birlikte, bir katsayı, katsayı büyüklüğünün hataya oranı düşük olsa bile önemli olabilir (yani, "istatistiksel olarak anlamlı değildir"). Doğrusal modeller, aynı anda birden çok öngörücü değişkeni hesaba katma yeteneği sağlar, bu nedenle bir modele "anlamlı olmayan" bir öngörücü dahil etmek, birleştirilmiş öngörücüler koleksiyonu tarafından sağlanan genel performansı artırabilir.

Ayrıca, "önemli" öngörücü değişkenleri seçme girişimleri, belirli bir veri örneğine yüksek oranda bağımlı olma eğilimindedir ve özellikle değişkenler korelasyonluysa genellikle başka örneklere iyi uzanmaz. Aynı veri kümesinin birden çok önyükleme örneğinde özellik seçimini tekrarlayarak bunu kendiniz görebilirsiniz. Frank Harrell, içinde bu cevabı onun nasıl kullanılacağını gösterir rmsözellik önem ve notları sıralama için Ar paketi bu cevap sıralarında güven aralıkları almak için ön yükleme alanı nasıl kullanılacağı. Bootstrapping, "özellik önemi" ne çok önem verenlere bir uyarı görevi görebilir.

@Amoeba tarafından vurgulanan yaklaşık 3 yıl önceki bu soru , çoklu regresyon modellerinde özellik önemi olan zorluklar hakkında da kapsamlı ayrıntılara giriyor.


Tahmini hatanın oranı. Bu "standart katsayı" olarak biliniyor mu?
HelloWorld

@ÖğrenciT, " standartlaştırılmış bir katsayı ", bağımsız ve bağımlı değişkenlerin tümü birim varyansına sahip olacak şekilde ölçeklendiğinde bir regresyon katsayısıdır. Bu, katsayıdaki tahmini hata hakkında hiçbir bilgi içermez. Tarif ettiğim oran, Harrell tarafından bağlarımın ilkinde değişken öneme sahip bir ölçü olarak kullanılan Wald istatistiğinin kare köküdür.
EdM

6

Sadece bir önceki cevaba eklemek için, katsayının kendisi de bir öngörücünün ne kadar değişkenlik sergilediğini yakalayamaz, bu da tahminlerde ne kadar yararlı olduğu üzerinde büyük bir etkiye sahiptir. Basit modeli düşünün

E(Yi)=α+βXi

Xi(p)p0β

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.