본문 바로가기

AI/머신러닝

Ch4. 모델 훈련(4.3~4.5)

반응형

4.3 다항 회귀

  ■ 다항회귀, Polynomial Regression

    - 선형 모델을 통해서 비선형 데이터를 학습

    - 각 특성의 거듭제곱을 새로운 특성으로 추가하고 확장된 특성을 포함한 데이터셋에 선형 모델을 훈련시킨다.

    - 이차방정식의 예제

      • 방정식의 차수에 맞춰서 데이터 셋 변형 (polynomial features를 통해서 제곱 특성 추가)

      • linear regression으로 학습하여 예측 - intercept_, coef_ 확인

 

4.4 학습 곡선

    - 고차 다항 회귀를 적용한다면 훨씬 더 훈련 데이터 셋에 잘 맞춰 훈련할 수 있지만 과대적합의 문제도 있다.

    - 과대적합, 과소적합 검증

      • 교차 검증 점수 확인

      • 학습곡선 확인 -> 훈련 세트에서 크기가 다른 서브세트를 만들어 모델을 여러번 훈련시켜 오차 확인

    - 처음에는 큰 오차를 보이다가 데이터셋 크기가 커질수록 그래프 평평해진다.

    - 학습곡선을 통해서 훈련 세트와 검증 세트의 오차를 비교한다.

      • 두 세트 모두 높은 값의 오차를 그래프에서 보인다. -> 과소적합

      • 훈련세트에 비해서 검증 세트의 오차간의 간격이 크다. -> 과대적합

 

4.5 규제가 있는 선형 모델

    - 과대적합을 예방하기 위해서는 모델을 제한한다.

    - 다항식의 차수를 제한하는 등의 방법으로 모델을 규제하여 과대적합을 예방한다.

    - 선형 회귀 모델 - 모델의 가중치를 제한 (릿지, 라쏘, 엘라스틱넷)

 

4.5.1 릿지 회귀

  ■ 릿지회귀, Tikhonov 규제

    - 규제가 추가된 선형 회귀 버전

    - 규제항이 비용 함수에 추가된다. -> 모델의 가중치가 가능한 작게 유지되도록 노력한다.

    - 규제항은 훈련시에만 비용함수에 추가되고 훈련이 끝나면 모델의 성능을 규제가 없는 성능 지표로 평가한다.

    - 릿지회귀는 데이터의 스케일에 민감하기 때문에 스케일을 맞추는 것이 중요하다.

 

4.5.2 라쏘 회귀

  ■ 라쏘 회귀, Lasso 회귀

    - 릿지 회귀와 날리 가중치 벡터의 l₁ 노름을 사용한다.

    - 덜 중요한 특성의 가중치를 완전히 제거하려고 한다.

    - 자동으로 특성 선택을 하고 희소 모델, sparse model을 만든다.

 

4.5.3 엘라스틱넷

  ■ 엘라스틱넷, Elastic net

    - 릿지 회귀와 라쏘 회귀를 절충한 모델

    - 혼합비율 r을 사용해서 릿지와 라쏘의 규제항 비율을 조절해서 사용한다.

      • r = 0이면 릿지 회귀와 같다.

      • r = 1 이면 라쏘 회귀와 같다.

 

※ 각각 규제가 사용되는 경우

  - 일반적으로 평범한 선형 회귀의 경우 사용하지 않는다.

  - 기본적으로 릿지 회귀를 사용하지만 실제로 쓰이는 특성이 몇 개뿐인 경우 라쏘나 엘라스틱넷을 사용한다.

    • 불필요한 특성의 값을 0으로 만들어준다.

  - 특성 수가 훈련 샘플 수보다 많거나 특성 몇 개가 강하게 연관되어 있는 경우 라쏘보다 엘라스틱넷을 선호한다.

    • 라쏘는 특성 수가 샘풀 수(n)보다 많으면 최대 n개의 특성을 선택한다. 특성이 강하게 연관되어 있으면 이들 중 임의의 특성 하나를 선택한다.

 

4.5.4 조기 종료

    - 검증 에러가 최솟값에 도달하면 바로 훈련을 중지시킨다.

    - 검증 에러가 감소하다가 증가하게 되면 과대 적합 의심을 한다.

    - 매 스텝마다 모델의 오차율을 계산하여서 최소가 되는 값의 모델과 epoch를 저장한다.

반응형

'AI > 머신러닝' 카테고리의 다른 글

Ch4. 모델 훈련(4.6)  (0) 2021.03.13
Ch4. 모델 훈련(4.1~4.2)  (0) 2021.03.10
Ch3. 분류 (3.5~3.7)  (0) 2021.03.06
Ch3. 분류 (3.1~3.4)  (0) 2021.03.04
Ch2. 머신러닝 프로젝트 처음부터 끝까지 (2.4 ~ 2.8)  (0) 2021.03.01