참고 : L1에는 기능 선택 속성이 있음을 알고 있습니다. 기능 선택이 완전히 관련이 없을 때 선택할 것을 이해하려고합니다.
- 사용할 정규화 (L1 또는 L2)를 결정하는 방법은 무엇입니까?
- L1 / L2 정규화 각각의 장단점은 무엇입니까?
- 먼저 L1을 사용하여 기능을 선택하고 선택한 변수에 L2를 적용하는 것이 좋습니다?
참고 : L1에는 기능 선택 속성이 있음을 알고 있습니다. 기능 선택이 완전히 관련이 없을 때 선택할 것을 이해하려고합니다.
답변:
사용할 정규화 (L1 또는 L2)를 결정하는 방법은 무엇입니까?
당신의 목표는 무엇입니까? 둘 다 계수에 불이익을 주어 모델 일반화를 향상시킬 수 있습니다. 결과와 반대의 관계를 가진 피처는 서로 "오프셋"할 수 있기 때문입니다 (큰 양수 값은 큰 음수 값에 의해 균형을 잡습니다). 공선 피쳐가있는 경우 발생할 수 있습니다. 데이터가 조금만 변경되면 모수 추정치가 크게 달라질 수 있습니다 (고 분산 추정치). 벌칙은 두 계수를 더 작게 억제 할 수 있습니다. (Hastie et al., Elements of Statistical Learning , 2nd edition, p. 63)
L1 / L2 정규화 각각의 장단점은 무엇입니까?
L1 정규화는 계수 규범을 제한하고 일부 계수 값을 0으로 고정하여 다중 공선 성 문제를 해결할 수 있습니다. 계산적으로 Lasso 회귀 (L1 페널티가있는 회귀)는 이차 프로그램으로 해결해야 할 특수 도구가 필요합니다. 관측치 보다 많은 피처가있는 경우 올가미는 최대 개의 0이 아닌 계수를 유지 합니다. 상황에 따라 원하는 것이 아닐 수도 있습니다.
L1 정규화는 기능 선택 방법으로 사용되기도합니다. 사용할 수있는 기능의 수에 하드 캡이 있다고 가정하십시오 ( 모든 기능의 데이터 수집 이 비싸거나 저장할 수있는 값의 수 등에 대한 엄격한 엔지니어링 제약이 있기 때문에 ). 원하는 개수의 0이 아닌 기능에 맞도록 L1 페널티를 조정 해 볼 수 있습니다.
L2 정규화는 계수 규범을 구속하고 모든 변수를 유지함으로써 다중 공선 성 문제를 해결할 수 있습니다. 계수를 정확히 0으로 추정하지는 않습니다. 어떤 이유로 희소 계수 벡터가 중요하지 않은 한 반드시 단점은 아닙니다.
회귀 설정에서는 관측치보다 더 많은 기능으로 회귀를 추정하는 문제에 대한 "고전적인"솔루션입니다. L2 정규화는 관측치보다 더 많은 피처가 있더라도 각 피처에 대한 계수를 추정 할 수 있습니다 (실제로 이것이 "릿지 회귀"에 대한 원래 동기였습니다).
대안으로, 탄성 그물은 L1 및 L2 정규화를 특별한 경우로 허용합니다. 업계의 데이터 과학자에게 일반적으로 사용되는 사례는 최상의 모델을 선택하기를 원하지만 L1, L2 또는 둘 다를 사용하여 처벌을받는 경우에는 신경 쓰지 않아도됩니다. 이와 같은 상황에서 탄성 그물이 좋습니다.
먼저 L1을 사용하여 기능을 선택하고 선택한 변수에 L2를 적용하는 것이 좋습니다?
나는 L1-then-L2 파이프 라인을 제안하는 출판물에 익숙하지 않지만 아마도 이것은 내 무지 일 것이다. 문제가없는 것 같습니다. 나는 문헌 검토를 수행 할 것입니다.
유사한 "단계별"파이프 라인의 몇 가지 예가 있습니다. 하나는 "이완 된 올가미 (relaxed lasso)"로, 올가미 회귀 분석을 두 번 적용 하고 한 번은 큰 그룹에서 작은 그룹의 피처로 다운 선택하고 두 번째는 모델에 사용하기위한 계수를 추정합니다. 이것은 각 단계에서 교차 검증을 사용하여 페널티의 크기를 선택합니다. 그 이유는 첫 번째 단계에서 교차 유효성을 검사하고 관련성이없는 예측 변수를 선별하기 위해 큰 형벌을 선택할 것입니다. 두 번째 단계에서는 교차 검증하고 더 작은 페널티 (따라서 더 큰 계수)를 선택할 것입니다. 이것은 통계 학습의 요소 에서 Nicolai Meinshausen ( "휴식 된 올가미")에 대한 인용과 함께 간단히 언급 됩니다. 전산 통계 및 데이터 분석 52 권 1 호, 2007 년 9 월 15 일, pp 374-393).
@amoeba 사용자는 L1-then-OLS 파이프 라인도 제안합니다. 이것은 L1 페널티의 크기에 대해 1 개의 하이퍼 파라미터 만 가지고 있기 때문에 좋을 수 있습니다.
일부 단계를 수행 한 다음 다른 단계를 별도로 수행하는 "단계별"분석 파이프 라인에서 발생할 수있는 한 가지 문제는 서로 다른 알고리즘간에 "가시성"이 없기 때문에 한 프로세스가 이전 단계에서 발생한 데이터 스누핑을 상속한다는 것입니다. 이 효과는 무시할 수 없습니다. 잘못 모델링하면 가비지 모델이 발생할 수 있습니다.
데이터 스누핑 부작용에 대비하는 한 가지 방법은 모든 선택을 교차 검증하는 것입니다. 그러나 증가 된 계산 비용은 엄청나게 입증 될 수 있습니다.
최적의 예측을 원한다면 일반적으로 L2를 사용하십시오. 예측 차별을 희생 할 때 parsimony를 원한다면 L1을 사용하십시오. 그러나 파시 모니는 환상적 일 수 있습니다 (예 : 올가미 반복) 부트 스트랩을 사용하여 프로세스를 특히 예측 변수가 서로 연관되어있을 때 "선택된"기능 목록에서 상당한 불안정성이 드러날 수 있습니다.