선형 분류기의 경우 더 큰 계수가 더 중요한 특징을 의미합니까?


15

기계 학습을 담당하는 소프트웨어 엔지니어입니다. 내 이해에서 선형 회귀 (예 : OLS) 및 선형 분류 (예 : 로지스틱 회귀 및 SVM)는 훈련 된 계수 와 특징 변수 사이의 내부 곱을 기반으로 예측합니다 .엑스

와이^=에프(엑스)=에프(나는나는엑스나는)

내 질문은 : 모델이 훈련 된 후 (즉, 계수 가 계산 된 후), 모델 이보다 정확하게 예측하는 데 더 중요한 피쳐 변수의 경우 계수가 더 커지는 경우입니까?나는

즉, 계수 값으로 변수를 정렬 한 다음 계수가 가장 높은 피쳐를 선택하여 계수 의 상대 크기를 피쳐 선택 에 사용할 수 있는지 묻고 있습니까? 이 접근 방식이 유효하면 기능 선택 (래퍼 및 필터 방법 등)에 대해 언급되지 않은 이유는 무엇입니까?

내가 묻는 이유는 내가 L1 대 L2 정규화 에 대한 토론을 겪었 기 때문 입니다. 블러가 있습니다 :

내장 기능 선택은 L2-norm이 아닌 L1-norm의 유용한 속성으로 자주 언급됩니다. 이것은 실제로 L1-norm의 결과이며, 희소 계수를 생성하는 경향이 있습니다 (아래 설명). 모형에 100 개의 계수가 있지만 그 중 10 개에만 0이 아닌 계수가 있다고 가정하면, 이는 "다른 90 개의 예측 변수가 목표 값을 예측하는 데 쓸모가 없다"고 효과적으로 말하는 것입니다.

선 사이를 읽으면 계수가 0에 가까우면 해당 계수의 피처 변수에 예측력이 거의 없어야한다고 생각합니다.

편집 : 숫자 변수에 z 배율을 적용하고 있습니다.


1
LASSO (L1-norm) 및 능형 회귀 분석 (L2-norm) 분석의 기초가되는 코드는 코드가 계수를 원래의 변수 스케일로 다시 변환하더라도 분석 전에 예측 변수를 사전 스케일링해야합니다. 사전 스케일링되지 않은 코드를 사용하는 사람들은 OLS, LASSO 또는 능선을 수행하는지 여부에 관계없이 @josliber의 답변에 언급 된 문제로 끝납니다.
EdM

3
"그 계수를 가진 피처 변수는 예측력이 거의 없어야합니다"라는 문구로 표현하려는 것을 반영 할 때 실제로 의미하는 바를 정확하게 설명 할 수 있습니까? 다변량 모델에서 개별 변수의 "예측력"이라는 개념은 일반적으로 개념적 기초에 동의하지 않았다는 것을 경험을 통해 알았습니다.
Matthew Drury

4
그런 종류의 사고에서 오류는 아마도 하나의 변수 모델을 생산하는 데 국한 되지 않았다고 생각 합니다. 당신이 최고의 정확도를 가진 모델을 제공하고자한다면, 그것은 합리적인 일입니다. 다변량 모델을 생성하려는 경우, 즉 @EdM이 대답 하듯이 변수 중요도의 개념은 매우 미끄럽고 확고한 개념적 기초가 부족합니다. 단 변량 모델의 ​​예측력이 다변량 설정과 관련이있는 것으로 보이지는 않습니다.
Matthew Drury

1
@ MatthewDrury : 왜 당신이 여러 기능을 많이 사용하고 있는지 잘 모르겠습니다. 존재하는 "피처 선택"(예 : 래퍼 방법)의 전체 필드가 ​​있습니다. 이 분야에 확고한 개념적 기초가 없다는 것을 제안하고 있습니까?
stackoverflowuser2010

1
@ stackoverflowuser2010 Yah, 나는 아마도 내 의견으로는 이상치이지만 내 관점에 대해 다소 정확한 설명이 될 것입니다.
Matthew Drury

답변:


24

전혀. 계수의 크기는 변수에 대해 선택된 척도에 직접적으로 의존하며 이는 다소 임의의 모델링 결정입니다.

이를 확인하려면 꽃잎 길이 (센티미터)를 기준으로 홍채의 꽃잎 너비 (센티미터)를 예측하는 선형 회귀 모델을 고려하십시오.

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

우리의 모델은 0.9266의 조정 된 R ^ 2 값을 달성하고 계수 값 0.415755를 Petal.Length 변수에 할당합니다.

그러나 Petal.Length를 센티미터로 정의하는 선택은 상당히 임의적이며 대신 미터 단위로 변수를 정의 할 수 있습니다.

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

물론 이것은 실제로 어떤 방식 으로든 적합 모델에 영향을 미치지 않습니다. Petal.Length.Meters (41.57554)에 Petal.Length (0.415755)보다 100 배 더 큰 계수를 할당했습니다. 모형의 다른 모든 특성 (조정 된 R ^ 2, t- 통계량, p- 값 등)은 동일합니다.

일반적으로 정규화 된 선형 모형을 피팅 할 때 선택한 척도에 따라 다른 변수보다 선호되는 변수를 피하기 위해 먼저 변수를 정규화 (예 : 평균 0 및 단위 분산)합니다.

정규화 된 데이터 가정

모든 변수를 정규화 했더라도 독립 변수가 거의 설정되지 않기 때문에 (낮은 분산이 있기 때문에) 계수가 더 높은 변수는 예측에 유용하지 않을 수 있습니다. 예를 들어, 종속 변수 Z와 이진 값을 사용하는 독립 변수 X 및 Y가있는 데이터 세트를 고려하십시오.

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)

구성에 의해 Y에 대한 계수는 선형 회귀를 통해 Z를 예측하는 데 사용되는 경우 X에 대한 계수의 약 2 배입니다.

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

여전히 X는 Y보다 Z의 분산에 대해 더 많이 설명합니다 (X를 사용하여 Z를 예측하는 선형 회귀 모델은 R ^ 2 값이 0.2065이고, Y를 사용하여 Z를 예측하는 선형 회귀 모델은 R ^ 2 값이 0.0511 임) :

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

대:

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

다중 공선 성 사례

큰 계수 값이 속일 수있는 세 번째 경우는 변수 간 다중 공선 성이있는 경우입니다. 예를 들어, X와 Y는 서로 밀접하게 관련되어 있지만 W는 다른 두 가지와 크게 상관 관계가없는 데이터 집합을 고려하십시오. Z를 예측하려고합니다.

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

이러한 변수는 평균 (0)과 분산 (~ 1)과 거의 동일하며 선형 회귀는 W (대략 15) 및 Y (대략 -16)에 훨씬 더 높은 계수 값 (절대 값)을 W (대략 -16)에 할당합니다. 대략 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

여전히 모형 W의 세 가지 변수 중 가장 중요합니다. 전체 모형에서 W를 제거하면 R ^ 2는 0.833에서 0.166으로 떨어지지 만 X 또는 Y를 떨어 뜨리면 R ^ 2는 거의 변하지 않습니다.


1
(+1) 이것이 좋은 대답이라고 생각하며,이 점을 분명히해야합니다. 반면에, 변수가 표준화 된 경우에도 (따라서 단위가없는 경우) 말할 말이 많으므로 더 많은 대답을 할 여지가 있습니다.
Matthew Drury

답변 해주셔서 감사합니다. 작문은 길지만 작은 합성 데이터에서 결론을 도출하기 때문에 그리 철저하지 않습니다. 또한 R ^ 2는 선형 회귀에만 해당됩니다. 더 적절한 오류 메트릭은 RMSE 또는 분류 문제의 정확도 / F1이라고 생각합니다.
stackoverflowuser2010

1
그러나 마지막 예제에서 데이터를 스케일링하면 중요한 변수는 W
marcodena

11

"특징 중요도"는 모든 예측 변수가 공통 척도로 조정 된 경우에도 매우 미끄러운 개념입니다 (그 자체가 범주 형 변수 또는 치우친 분포를 포함하는 많은 실제 응용에서 사소한 문제임). 따라서 @josliber에 의해 답변에 표시된 스케일링 문제 또는 @dsaxton에 의해 발생 된 예측 변수가 낮은 문제를 피하더라도 여전히 추가적인 문제가 있습니다.

예를 들어, 특징의 중요성에 대한보다 유용한 척도는 계수의 추정 오차에 대한 계수의 비율 일 수있다. 추정 오차가 큰 계수가 반드시 예측에 도움이되는 것은 아닙니다. 따라서 사전 스케일링 된 상황에서도 계수 크기만으로는 "중요도"에 대한 좋은 가이드가 아닙니다.

그럼에도 불구하고, 예측값은 계수의 크기 대 오차 비율이 낮더라도 (즉, "통계적으로 유의미하지 않은") 중요 할 수있다. 선형 모형은 여러 예측 변수를 동시에 고려할 수있는 기능을 제공하므로 모형에 "유의하지 않은"예측 변수를 포함 시키면 결합 된 예측 변수 모음이 제공하는 전체 성능을 향상시킬 수 있습니다.

더욱이, "중요한"예측 변수를 선택하려는 시도는 특정 데이터 샘플에 크게 의존하는 경향이 있으며, 특히 변수가 상관되는 경우, 종종 추가 샘플로 잘 확장되지 않습니다. 동일한 데이터 세트의 여러 부트 스트랩 샘플에서 기능 선택을 반복하여이를 직접 확인할 수 있습니다. 프랭크 하렐에서 이 응답 자신의 사용하는 방법을 보여줍니다 rms에서 기능의 중요성 및 메모 순위에 대한 R에 패키지를 이 답변 계급에 대한 신뢰 구간을 얻기 위해 부트 스트랩을 사용하는 방법. 부트 스트래핑은 "기능의 중요성"을 지나치게 중요시하는 사람들에게주의를 기울일 수 있습니다.

@amoeba가 지적한 거의 3 년 전의이 질문 은 또한 다중 회귀 모형에서 피쳐의 중요성에 대한 난이도에 대해 광범위하게 자세히 설명합니다.


추정 오차의 비율. 이것이 "표준화 된 계수"로 알려져 있습니까?
HelloWorld

@StudentT " 표준화 된 계수 "는 독립 변수와 종속 변수가 모두 단위 분산을 갖도록 스케일 된 경우의 회귀 계수입니다. 여기에는 계수의 추정 오차에 대한 정보가 포함되지 않습니다. 내가 설명하는 비율은 Harrell이 내 링크의 첫 번째 변수 변수로 사용하는 Wald 통계의 제곱근입니다.
EdM

6

이전 답변에 덧붙여서, 계수 자체는 예측 변수가 얼마나 많은 변동성을 나타내는 지 파악하지 못하는데, 이는 예측을하는 데 얼마나 유용한 지에 큰 영향을 미칩니다. 간단한 모델을 고려하십시오

이자형(와이나는)=α+β엑스나는

엑스나는()0β

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.