설명: L1 정규화는 어떻게 자동으로 기능을 선택합니까?
L1(LASSO) 정규화가 수행하는 자동 기능 선택 프로세스를 이해합니다.
특징 선택은 주어진 특징 집합에서 최적의 특징 부분 집합을 선택하는 과정입니다. 최적의 부분 집합이란 주어진 작업에서 모델의 성능을 극대화하는 부분 집합입니다.
기능 식별은 수동 프로세스일 수도 있고, 다음을 사용하여 수행할 경우 명시적일 수도 있습니다. 필터 메서드 또는 래퍼 메서드이러한 방법에서는 예측에서 특성의 중요도를 결정하는 고정된 지표 값에 따라 특성이 반복적으로 추가되거나 제거됩니다. 지표는 정보 이득, 분산 또는 카이제곱 통계량일 수 있으며, 알고리즘은 지표의 고정된 임계값을 기반으로 특성을 채택할지 기각할지 결정합니다. 이러한 방법은 모델 학습 단계의 일부가 아니며, 학습 단계 이전에 수행된다는 점에 유의해야 합니다.

일어나 내장된 방법 미리 정의된 선택 기준을 사용하지 않고 암묵적으로 특징을 식별하고 학습 데이터 자체에서 추출하는 이 핵심 특징 식별 프로세스는 모델 학습 단계의 일부입니다. 모델은 특징을 식별하는 동시에 관련 예측을 수행하는 방법을 학습합니다. 다음 섹션에서는 이 핵심 특징 식별 프로세스에서 정규화의 역할을 설명하며, 특히 L1 정규화와 머신 러닝 모델 개선에 미치는 영향을 중점적으로 다룹니다.
정규화 및 모델 복잡도: 성능 향상을 위한 고급 전략
정규화는 과도한 적합을 피하고 작업에 대한 일반화를 달성하기 위해 모델 복잡도에 페널티를 주는 과정입니다.
여기서 모델의 복잡성은 훈련 데이터의 패턴에 적응하는 능력과 유사합니다. '에서 간단한 다항식 모델을 가정하면,x'어느 정도'd'점수가 높을수록'd다항식의 경우, 모델은 관찰된 데이터의 패턴을 포착하는 데 더 큰 유연성을 제공합니다. 이러한 유연성 증가로 인해 모델은 실제 패턴을 학습하기보다는 훈련 데이터를 기억하게 되어, 새로운 데이터로 일반화하는 능력이 저하될 수 있습니다.
과적합과 과소적합
차수가 있는 다항식 모델을 맞추려고 할 때 디 = 2 약간의 노이즈가 있는 3차 다항식에서 추출한 훈련 샘플 집합에서 모델은 표집 분포를 적절하게 포착하지 못할 것입니다. 모델에는 다음과 같은 요소가 부족합니다. 적응성 또는 복잡성 3차(또는 그 이상) 다항식으로 생성된 데이터를 모델링하는 데 필요합니다. 이 모델은 다음과 같습니다. 언더핏 학습 데이터에서. 과소부하는 모델이 너무 단순해서 데이터의 기본 패턴을 포착하지 못함을 나타냅니다.
동일한 예를 사용하여 이제 우리는 어느 정도의 모델이 있다고 가정합니다. 디 = 6이제 복잡성이 증가함에 따라, 모델은 데이터 생성에 사용된 원래 3차 다항식을 쉽게 추정할 수 있을 것입니다(예: 지수가 0보다 큰 모든 항의 계수를 XNUMX으로 설정). 학습 과정이 적시에 종료되지 않으면, 모델은 추가적인 유연성을 활용하여 오류를 더욱 줄이고 노이즈가 있는 샘플도 포착하기 시작할 것입니다. 이를 통해 학습 오류는 크게 줄어들지만, 모델은 이제 과적합 훈련 데이터에서. 노이즈는 실제 환경(또는 테스트 중)에서 변할 수 있으며, 예측에 기반한 모든 지식이 손상되어 높은 테스트 오류가 발생합니다. 과부하는 모델이 너무 복잡하여 실제 신호가 아닌 노이즈를 통해 학습한다는 것을 의미합니다.
모델의 최적 복잡도를 어떻게 결정하나요?
실제 환경에서는 데이터 생성 과정이나 실제 데이터 분포에 대한 이해가 부족하거나 아예 없는 경우가 많습니다. 과적합이나 과소적합이 발생하지 않는 적절한 복잡도를 가진 최적의 모델을 찾는 것은 매우 어려운 과제입니다. 이를 위해서는 모델 성능을 평가하고 정확도와 일반성 간의 최적의 균형을 이루는 적절한 복잡도를 결정하는 효과적인 방법을 사용해야 합니다. 교차 검증과 같은 적절한 평가 지표와 기법을 사용함으로써, 실무자는 보이지 않는 데이터에서 가장 우수한 성능을 보이는 모델을 찾아 과적합이나 과소적합 문제를 방지할 수 있습니다.
한 가지 가능한 방법은 충분히 견고한 모델로 시작한 다음, 특징을 선택하여 복잡성을 줄이는 것입니다. 특징이 적을수록 모델의 복잡성은 줄어듭니다.
이전 섹션에서 논의했듯이, 특성 선택은 명시적(필터링 방법, 합성곱 방법)이거나 암묵적일 수 있습니다. 대상 변수의 값을 결정하는 데 중요하지 않은 중복 특성은 모델이 관련 없는 패턴을 학습하지 않도록 제거해야 합니다. 정규화 또한 유사한 작업을 수행합니다. 그렇다면 정규화와 특성 선택은 최적의 모델 복잡도라는 공통 목표를 달성하는 데 어떤 관련이 있을까요? 머신러닝 모델의 복잡도를 줄이는 것은 성능을 향상시키고 과적합을 방지하는 데 필수적이며, 이는 정규화와 특성 선택 모두에 중점을 두는 부분입니다.
특징 결정 요인으로서의 L1 정규화
다항식 모델을 계속 사용하면 입력이 있는 함수 f로 표현됩니다. x, 및 거래 θ 학위 d،
![]()
다항식 모델의 경우 입력의 각 거듭제곱을 고려할 수 있습니다. x_i 장점은 다음과 같은 형태의 벡터를 형성한다는 것입니다.
![]()
또한, 매개변수를 최소화하여 최적의 매개변수를 도출하는 목적 함수를 정의합니다. θ* 여기에는 다음 용어가 포함됩니다. 정규화 모델 복잡성을 처벌하는 (규정)

이 함수의 최소값을 찾으려면 미분이 0이거나 정의되지 않은 지점, 즉 모든 임계점을 분석해야 합니다.
편미분은 매개변수 중 하나에 대해 다음과 같이 작성할 수 있습니다. θj, 다음과 같이:

함수가 정의된 곳 신호 على النحو التالي :

주의절대 함수의 미분은 위에서 정의된 부호 함수(sgn)와 다릅니다. 원래 미분은 x = 0에서 정의되지 않습니다. x = 0에서 변곡점을 제거하고 전체 구간에서 미분 가능하도록 정의를 확장합니다. 또한, 머신러닝(ML) 프레임워크는 기본 계산에 절대 함수가 포함될 때 이러한 확장 함수를 사용합니다. 이 부분을 확인해 보세요. 링크 PyTorch 포럼에서.
단일 계수에 대한 목적 함수의 편미분을 계산하여 θj, 그리고 그것을 0으로 동일시하면 최적값을 연결하는 방정식을 구성할 수 있습니다. θj 예측, 목표, 기능이 포함되어 있습니다.


위 방정식을 살펴보겠습니다. 입력값과 목표값이 평균을 중심으로 한다고 가정하면(즉, 전처리 단계에서 데이터가 표준화되었다고 가정하면), 좌변(LHS)의 항은 사실상 다음을 나타냅니다. 영어 특징 번호 j와 예상 값과 목표 값의 차이 사이.
두 변수 간의 통계적 공분산은 한 변수가 두 번째 변수의 값에 미치는 영향의 정도를 결정합니다(그 반대의 경우도 마찬가지).
오른쪽의 부호 함수는 왼쪽의 분산이 세 가지 값만 갖도록 합니다(부호 함수는 -1, 0, 1만 반환하기 때문입니다). j 불필요하고 예측에 영향을 미치지 않으면 분산이 0에 가까워져 해당 계수가 됩니다. θj* 0. 이로 인해 해당 특성이 모델에서 제거됩니다. 이 프로세스는 복잡성을 줄이고 모델 성능을 개선하는 데 도움이 됩니다.
신호 함수를 물에 의해 깎인 협곡이라고 생각해 보세요. 협곡(즉, 강바닥)을 따라 걸을 수는 있지만, 협곡에서 빠져나오려면 거대한 장벽이나 가파른 경사면을 만나게 됩니다. L1 정규화는 손실 함수의 그래디언트와 유사한 "임계값" 효과를 생성합니다. 그래디언트는 장벽을 돌파하거나 1이 될 만큼 충분히 강해야 하며, 결국 매개변수 값은 XNUMX이 됩니다.
좀 더 현실적인 예를 들어, 직선에서 추출된 샘플(2-모수 모델)에 약간의 노이즈가 추가된 데이터 세트를 생각해 보겠습니다. 최적의 모델은 두 개 이하의 매개변수를 가져야 하며, 그렇지 않으면 다항식의 자유도/강도에 따라 데이터의 노이즈에 적응하게 됩니다. 다항식 모델에서 더 높은 강도의 매개변수를 변경해도 목표값과 모델 예측값의 차이에는 영향을 미치지 않으므로, 특성값과의 분산이 줄어듭니다.
학습 과정에서 손실 함수의 기울기에 고정된 스텝을 더하거나 뺍니다. 손실 함수의 기울기(MSE - 평균 제곱 오차)가 고정된 스텝보다 작으면 계수는 결국 0에 도달합니다. 아래 방정식은 경사 하강법을 사용하여 계수가 업데이트되는 방식을 보여줍니다.


위의 파란색 부분이 아래보다 작으면 λα, 그 자체로는 매우 작은 숫자이므로 Δθj 거의 꾸준한 걸음이에요. λα이 단계의 신호(빨간색 부분)는 다음에 따라 달라집니다. sgn(θj), 출력은 다음에 따라 달라집니다. θj값이면 θj 양수, 즉 더 큰 ε, NS sgn(θj) 1과 같으므로 Δθj 대략적으로 -와 동일λα, 0으로 밀어붙입니다.
매개변수를 0으로 만드는 상수 단계(빨간색 부분)를 억제하려면 손실 함수의 기울기(파란색 부분)가 단계 크기보다 커야 합니다. 손실 함수의 기울기를 더 크게 하려면 특성 값이 모델의 출력에 상당한 영향을 미쳐야 합니다.
이는 모델 출력과 관련이 없는 특성, 또는 더 정확히 말하면 해당 매개변수가 학습 중에 L1 정규화에 의해 1으로 설정되는 방식입니다.
추가 자료 및 결론
- 이 주제에 대한 더 많은 통찰력을 얻기 위해 Reddit r/MachineLearning에 질문을 게시했습니다.후속 조치 여러분이 읽어보고 싶어할 만한 다양한 해석이 담겨 있습니다.
- 마디야르 아이트바예프도 흥미로운 블로그 동일한 질문을 다루지만 공학적인 설명이 포함되어 있습니다.
- 블로그 브라이언 킹은 확률적 관점에서 조직을 설명합니다.
- .ا النقاش 그는 CrossValidated 웹사이트에서 L1 기준이 왜 희소 모델을 장려하는지 설명하고 있습니다. 블로그 Mukul Ranjan이 쓴 자세한 기사에서는 L1 규범이 거래량을 2으로 만드는 반면 LXNUMX 규범은 그렇지 않은 이유를 설명합니다.
"L1 정규화는 특성을 선택한다"는 말은 대부분의 머신러닝 학습자가 동의하는 간단한 명제이지만, 내부적으로 어떻게 작동하는지는 자세히 설명하지 않습니다. 이 블로그는 독자들에게 이 질문에 직관적으로 답하기 위해 제 이해와 사고 모델을 제시하고자 합니다. 제안이나 의문 사항이 있으시면 제 이메일 주소로 연락해 주세요. 내 웹사이트계속해서 학습하고, 좋은 하루 보내세요!
댓글이 닫혔습니다.