1 of 67

데이터공학

Data Science

Aaron Snowberger

교통대학교 데이터공학 6주차

04 모델 훈련 (p. 177-226)

2 of 67

모델 훈련

04

p. 177-226

3 of 67

04 모델 훈련

지금까지 우리는 머신러닝 모델과 훈련 알고리즘을 블랙박스처럼 다루어 왔습니다.

내부 작동 방식을 몰라도 많은 작업을 처리할 수 있었을 것입니다. 회귀 시스템을 최적화하고 이미지 분류기와 스팸 분류기를 개선했지만, 어떻게 작동하는지에 대해서는 몰랐습니다.

많은 경우 세부 구현을 알 필요는 없지만, 작동 원리를 이해하면 적절한 모델, 훈련 알고리즘, 하이퍼파라미터를 더 빠르고 효율적으로 찾을 수 있습니다. 또한 디버깅과 오류 분석에도 큰 도움이 됩니다.

4 of 67

04 모델 훈련

이 장에서는 가장 기본적인 모델인 선형 회귀부터 시작합니다. 두 가지 훈련 방법을 다룹니다.

  1. 첫째, 닫힌 형태의 방정식을 사용해 모델 파라미터를 계산하는 방법입니다.
  2. 둘째, 경사 하강법을 사용해 모델 파라미터를 반복적으로 최적화하는 방법입니다.

이 두 방법은 결과적으로 같은 파라미터에 수렴합니다.

또한, 신경망 훈련에 중요한 경사 하강법의 여러 변형도 소개합니다.

5 of 67

04 모델 훈련

그다음으로는 다항 회귀를 살펴보는데, 이 모델은 파라미터가 많아 과대적합되기 쉬우므로 학습곡선을 사용해 이를 감지하는 방법을 배웁니다. 또한, 과대적합을 줄이기 위한 규제 기법도 다룹니다.

마지막으로 분류 작업에 사용되는 로지스틱 회귀소프트맥스 회귀에 대해 설명합니다.

이 장에서는 기본적인 선형대수와 미분 개념이 나오므로, 이에 익숙하지 않다면 관련 튜토리얼을 참고하길 권장합니다.

6 of 67

04 모델 훈련

4.1 선형 회귀

다음은 삶의 만족도와 1인당 GDP 사이의 관계를 보여주는 간단한 선형 회귀 모델입니다.

  • 삶의 만족도 = 𝜃₀ + 𝜃₁ × 1인당_GDP

이 모델은 1인당 GDP라는 입력 특성을 사용한 선형 함수입니다. 𝜃₀와 𝜃₁는 모델의 파라미터입니다.

7 of 67

04 모델 훈련

4.1 선형 회귀

일반적으로 선형 회귀 모델은 입력 특성의 가중치 합과 편향(bias)을 더해 예측을 만듭니다.

𝑦̂ = 𝜃₀ + 𝜃₁𝑥₁ + 𝜃₂𝑥₂ + ... + 𝜃ₙ𝑥ₙ

  • 𝑦̂는 예측값,
  • 𝑥ᵢ는 i번째 특성값,
  • 𝜃ᵢ는 i번째 모델 파라미터입니다.

벡터 형태로 더 간단하게 표현할 수 있으며, 이를 통해 모델 파라미터 벡터 𝜃와 샘플의 특성 벡터 𝑥 간의 점곱(dot product)을 사용해 예측을 계산합니다. 이 점곱은 선형 모델의 예측을 간단하게 표현해줍니다.

  • h𝜃는 모델 파라미터 𝜃를 사용한 가설 함수입니다

8 of 67

04 모델 훈련

4.1 선형 회귀

머신러닝에서는 종종 벡터를 열 벡터(column vector)로 나타냅니다. 따라서 예측은 𝜃ᵀ𝑥 형태로 표현할 수 있으며, 이는 벡터 𝜃의 전치(행렬 변환)를 의미합니다. 선형 회귀 모델은 이 점곱을 기반으로 예측을 수행합니다.

9 of 67

04 모델 훈련

4.1 선형 회귀

모델을 훈련시킨다는 것은 훈련 데이터에 가장 잘 맞는 모델 파라미터를 찾는 것입니다. 이를 위해 성능 지표로 평균 제곱 오차(MSE)를 사용해 모델의 예측과 실제 값 간의 차이를 최소화하는 파라미터를 찾습니다. MSE를 최소화하는 파라미터를 찾는 것이 모델 훈련의 핵심 목표입니다.

또한 학습 알고리즘은 최적화하기 쉬운 손실 함수를 사용하여 모델을 훈련하지만, 최종 평가에는 다른 성능 지표를 사용할 수 있습니다. 예를 들어, 분류 작업에서는 로그 손실을 사용해 학습하고, 정밀도와 재현율로 성능을 평가합니다.

10 of 67

04 모델 훈련

4.1 선형 회귀

4.1.1 정규 방정식

정규 방정식은 비용 함수를 최소화하는 파라미터 𝜃를 해석적으로 구하는 방법입니다. 수학적 공식을 사용해 즉시 결과를 얻을 수 있으며, 이는 정규 방정식으로 표현됩니다:

𝜃 = (XᵀX)⁻¹Xᵀy

여기서 𝜃는 비용 함수를 최소화하는 값이며, y는 타깃 벡터입니다.

11 of 67

04 모델 훈련

4.1 선형 회귀

4.1.1 정규 방정식

이 방법을 테스트하기 위해 데이터를 생성하고, 넘파이의 선형대수 모듈을 사용해 역행렬과 행렬 곱셈을 수행해 𝜃를 계산할 수 있습니다.

예를 들어, 데이터에서 잡음이 섞여 있어도 비교적 근사한 파라미터 값을 구할 수 있습니다.

12 of 67

04 모델 훈련

4.1 선형 회귀

4.1.1 정규 방정식

정규 방정식을 테스트하기 위해 선형 데이터를 생성하고, 이를 통해 𝜃 값을 계산합니다. 넘파이의 inv() 함수로 역행렬을 구하고, dot() 메서드로 행렬 곱셈을 합니다.

데이터 생성은 y=4+3x1+가우스 잡음을 사용했으며, 정규 방정식으로 계산한 결과는𝜃0=4.215, 𝜃1=2.770으로 나왔습니다. 잡음 때문에 기대했던 값과 약간의 차이가 있지만, 결과는 매우 비슷합니다.

13 of 67

04 모델 훈련

4.1 선형 회귀

4.1.1 정규 방정식

데이터셋이 작거나 잡음이 많을수록 정확한 값을 얻기 어렵습니다.

14 of 67

04 모델 훈련

4.1 선형 회귀

4.1.1 정규 방정식

모델의 예측을 그래프에 나타내보겠습니다(그림 4-2) .

15 of 67

04 모델 훈련

4.1 선형 회귀

4.1.1 정규 방정식

사이킷런에서 선형 회귀는 매우 간단하게 수행됩니다. 사이킷런의 LinearRegression 클래스는 특성의 가중치와 편향을 저장하며, 이 클래스는 scipy의 lstsq() 함수(최소 제곱법 기반)를 사용합니다.

16 of 67

04 모델 훈련

4.1 선형 회귀

4.1.1 정규 방정식

또한, 정규 방정식 대신 유사역행렬을 사용하는 방식도 있습니다. 이는 특잇값 분해(SVD, singular value decomposition)를 사용해 계산하며, 더 효율적이고 특이 행렬인 경우에도 작동합니다.

유사역행렬은 항상 구할 수 있기 때문에, 정규 방정식이 작동하지 않는 경우에도 사용할 수 있습니다.

17 of 67

04 모델 훈련

4.1 선형 회귀

4.1.2 계산 복잡도

정규 방정식의 계산 복잡도는 O(n³)에서 O(n².⁴) 사이입니다. 특성 수가 늘어나면 계산 시간이 급격히 증가합니다. 반면, 사이킷런에서 사용하는 SVD 방법은 O(n²) 정도로 더 효율적입니다.

정규 방정식과 SVD 방법 모두 샘플 수에 대해 선형적으로 계산이 증가하므로, 샘플 수가 커도 메모리만 충분하다면 큰 데이터셋도 처리 가능합니다. 학습된 선형 회귀 모델은 예측이 매우 빠르며, 예측 시간은 샘플 수와 특성 수에 비례하여 증가합니다.

18 of 67

04 모델 훈련

4.2 경사 하강법

경사하강법(Gradient Descent, GD)은 다양한 문제에서 최적의 해를 찾는 일반적인 최적화 알고리즘입니다. 기본 개념은 비용 함수를 최소화하기 위해 반복적으로 파라미터를 조정하는 것입니다. 경사하강법은 파라미터 벡터에 대한 비용 함수의 기울기를 계산한 후, 기울기가 감소하는 방향으로 이동해 최솟값을 찾습니다.

19 of 67

04 모델 훈련

4.2 경사 하강법

초기 파라미터는 임의로 설정되며, 비용 함수가 점진적으로 감소하는 방향으로 진행하여 최솟값에 도달합니다. 이 과정에서 중요한 요소는 학습률(learning rate)입니다. 학습률이 너무 작으면 수렴하는 데 오래 걸리고, 너무 크면 발산할 위험이 있습니다.

20 of 67

04 모델 훈련

4.2 경사 하강법

경사하강법은 전역 최솟값(global minimum) 대신 지역 최솟값(local minimum)에 수렴할 수 있는 문제가 있지만, 선형 회귀의 MSE 비용 함수는 볼록 함수이기 때문에 전역 최솟값만 존재하며, 학습률이 적절하면 안정적으로 수렴할 수 있습니다.

21 of 67

04 모델 훈련

4.2 경사 하강법

그러나 특성의 스케일이 다를 경우 경사하강법이 느리게 수렴할 수 있기 때문에, 모든 특성의 스케일을 동일하게 만들어야 합니다. 이를 위해 사이킷런의 StandardScaler를 사용하는 것이 일반적입니다.

결국 경사하강법은 모델 파라미터 공간에서 비용 함수를 최소화하는 파라미터 조합을 찾아내는 과정입니다.

22 of 67

04 모델 훈련

4.2 경사 하강법

4.2.1 배치 경사 하강법

배치 경사 하강법은 모델 파라미터에 대한 비용 함수의 그레이디언트를 계산하여, 각 스텝에서 전체 훈련 세트를 사용해 비용 함수를 최소화하는 알고리즘입니다.

23 of 67

04 모델 훈련

4.2 경사 하강법

4.2.1 배치 경사 하강법

그레이디언트 벡터는 모델 파라미터마다 한 개씩 비용 함수의 변화를 나타내며, 이 벡터를 따라 파라미터를 업데이트하여 최적의 해를 찾습니다.

24 of 67

04 모델 훈련

4.2 경사 하강법

4.2.1 배치 경사 하강법

학습률은 그레이디언트 벡터의 크기를 조절하여 최적점에 도달하는 속도를 결정합니다. 그러나 큰 훈련 세트에서는 계산 속도가 느려지는 단점이 있습니다.

25 of 67

04 모델 훈련

4.2 경사 하강법

4.2.1 배치 경사 하강법

26 of 67

04 모델 훈련

4.2 경사 하강법

4.2.2 확률적 경사 하강법

확률적 경사 하강법(SGD)은 배치 경사 하강법과 달리 매 스텝에서 하나의 샘플만 랜덤으로 선택해 그레이디언트를 계산합니다. 이 방식은 빠르고 메모리 효율적이지만, 경로가 불안정해 최적점에 도달하지 못할 수 있습니다.

27 of 67

04 모델 훈련

4.2 경사 하강법

4.2.2 확률적 경사 하강법

이 문제를 해결하기 위해 학습률을 점진적으로 감소시키는 방법이 사용되며, 이를 통해 알고리즘이 전역 최솟값에 도달할 가능성이 높아집니다.

매 반복에서 학습률을 결정하는 함수를 학습 스케줄 learning schedule이라고 부릅니다.

28 of 67

04 모델 훈련

4.2 경사 하강법

4.2.2 확률적 경사 하강법

사이킷런에서 SGD 방식으로 선형 회귀를 사용하려면 기본값으로 제곱 오차 비용 함수를 최적 화하는 SGDRegressor 클래스를 사용합니다.

다음 코드는 최대 1,000 번 에포크 (max_iter) 동안 실행됩니다. 또는 100 번 에포크 (n_iter_no_change) 동안 손실이 10-5(tol) 보다 작아 질 때까지 실행됩니다. 학습률 0.01 (eta0)로 기본 학습 스케줄을 사용합니다. 규제는 전혀 사용하지 않았습니다 (penalty=None).

29 of 67

04 모델 훈련

4.2 경사 하강법

4.2.3 미니배치 경사 하강법

미니배치 경사 하강법은 전체 훈련 세트를 사용하는 배치 경사 하강법과 한 샘플을 사용하는 확률적 경사 하강법의 절충안으로, 작은 샘플 세트(미니배치)에 대해 그레이디언트를 계산합니다.

30 of 67

04 모델 훈련

4.2 경사 하강법

4.2.3 미니배치 경사 하강법

이 방식은 성능이 더 빠르며, 특히 GPU와 같은 하드웨어에서 최적화될 수 있습니다. 하지만 지역 최솟값에서 빠져나오기 어려운 단점이 있을 수 있습니다.

31 of 67

04 모델 훈련

4.3 다항 회귀

데이터가 단순한 직선보다 복잡한 패턴을 따를 때, 비선형 데이터를 학습하기 위해 선형 모델을 사용할 수 있습니다. 간단한 방법으로 각 특성의 거듭제곱을 새로운 특성으로 추가한 후, 이 확장된 특성을 포함한 데이터셋에 선형 모델을 훈련시키는 방법을 사용합니다.

이를 다항 회귀(Polynomial Regression)라고 합니다.

32 of 67

04 모델 훈련

4.3 다항 회귀

예를 들어, y = ax² + bx + c와 같은 2차 방정식quadratic equation에 잡음을 더해 비선형 데이터를 생성할 수 있습니다. 이 데이터에 직선을 맞추면 잘 맞지 않습니다.

33 of 67

04 모델 훈련

4.3 다항 회귀

그래서 사이킷런의 PolynomialFeatures를 사용해 훈련 데이터를 변환합니다. 각 특성을 제곱하여 새로운 특성으로 추가한 후, 이 확장된 데이터에 선형 회귀 모델을 적용하면 더 나은 결과를 얻을 수 있습니다.

34 of 67

04 모델 훈련

4.4 학습 곡선

고차 다항 회귀는 일반 선형 회귀보다 훈련 데이터에 더 잘 맞추려 하지만, 과대적합의 위험이 있습니다.

예를 들어 300차 다항 회귀 모델은 훈련 데이터에 과도하게 맞추어 일반화 성능이 떨어지고, 반대로 단순한 선형 모델은 과소적합 상태가 됩니다.

이 경우 적절한 모델은 2차 다항 회귀입니다. 그렇다면 모델이 과대적합 또는 과소적합인지 어떻게 판단할 수 있을까요?

35 of 67

04 모델 훈련

4.4 학습 곡선

교차검증과 학습곡선을 통해 이를 확인할 수 있습니다. 학습곡선은 훈련과 검증 오차를 훈련 데이터 크기에 따라 나타낸 그래프입니다.

모델이 과소적합이라면 훈련과 검증 오차가 모두 크고 두 곡선이 가까워집니다.

36 of 67

04 모델 훈련

4.4 학습 곡선

반면, 과대적합 모델은 훈련 오차는 낮지만 검증 오차는 높으며, 두 곡선 사이에 차이가 나타납니다.

과대적합을 개선하려면 더 많은 훈련 데이터를 추가하는 방법이 있습니다.

37 of 67

04 모델 훈련

4.4 학습 곡선

모델의 일반화 오차는

  • 편향bias,
  • 분산variance, 그리고
  • 줄일 수 없는 오차irreducible errors의 합으로 나타납니다.

모델 복잡도가 커지면

  • 편향은 줄고
  • 분산은 증가하며,

반대로 복잡도가 낮아지면

  • 편향이 커지고
  • 분산은 줄어듭니다.

이를 편향/분산 트레이드오프라고 부릅니다.

38 of 67

04 모델 훈련

4.5 규제가 있는 선형 모델

모델이 데이터에 과대적합되는 것을 줄이는 효과적인 방법 중 하나는 규제regularization를 가하는 것입니다.

특히,

  • 다항 회귀 모델에서는 차수를 줄여 규제를 할 수 있으며,
  • 선형 회귀에서는 가중치를 제한하는
    • 릿지 회귀,
    • 라쏘 회귀,
    • 엘라스틱넷 회귀와 같은 방법을 사용합니다.

39 of 67

04 모델 훈련

4.5 규제가 있는 선형 모델

4.5.1 릿지 회귀

릿지 회귀는 선형 회귀에 규제항을 추가한 형태입니다.

이 규제항은 훈련 중에만 사용되고, 훈련이 끝난 후에는 모델 성능을 규제 없이 평가합니다.

40 of 67

04 모델 훈련

4.5 규제가 있는 선형 모델

4.5.1 릿지 회귀

하이퍼파라미터 α는 규제의 강도를 조절하며, α가 클수록 가중치는 0에 가까워져 과대적합을 방지합니다.

릿지 회귀는 입력 특성의 스케일에 민감하므로, 데이터를 스케일링하는 것이 중요합니다.

41 of 67

04 모델 훈련

4.5 규제가 있는 선형 모델

4.5.1 릿지 회귀

다음은 확률적 경사 하강법을 사용했을 때입니다.

42 of 67

04 모델 훈련

4.5 규제가 있는 선형 모델

4.5.1 릿지 회귀

RidgeCV 클래스도 릿지 회귀를 수행하지만 교차 검증을 사용하여 하이퍼파라미터를 자동으로 튜닝합니다.

GridSearchCV를 사용하는 것과 거의 동일하지만 릿지 회귀에 최적화되어 있고 훨씬 더 빠르게 실행됩니다.

그 외 여러 다른 추정기(대부분 선형 모델)에도 LassoCV 및 ElasticNetCV와 같은 효율적인 CV 변형 모델 이있습니다.

43 of 67

04 모델 훈련

4.5 규제가 있는 선형 모델

4.5.2 라쏘 회귀

라쏘 회귀는 릿지 회귀와 유사하지만, 가중치 벡터의 L1 노름을 규제항으로 사용합니다.

이로 인해 덜 중요한 특성의 가중치를 0으로 만들며, 자동으로 특성 선택을 수행하여 희소 모델을 생성합니다.

44 of 67

04 모델 훈련

4.5 규제가 있는 선형 모델

4.5.2 라쏘 회귀

[그림 4-19]를 보면 경사하강법이 두 모델 파라미터를 어떻게 최적화하는지 쉽게 이해할 수 있습니다. 두 축은 모델의 두 파라미터를 나타내며, 배경의 등고선은 서로 다른 손실 함수를 나타냅니다. 왼쪽 위 그래프는 𝐿1 손실 함수 ∣𝜃1∣+∣𝜃2|의 등고선을 보여주며, 경사하강법을 실행하면 두 파라미터가 동일하게 줄어듭니다. 이때 𝜃2가 더 빨리 0에 도달하고, 그 후 𝜃1도 0에 도달하면서 약간의 진동이 발생합니다.

45 of 67

04 모델 훈련

4.5 규제가 있는 선형 모델

4.5.2 라쏘 회귀

오른쪽 위 그래프는 라쏘 손실 함수를 보여주며, 초기화된 파라미터가 경사하강법을 통해 최적화되는 과정을 나타냅니다. 𝜃2가 빠르게 0으로 줄어들고, 최적의 파라미터 값에 도달하기까지 약간의 진동이 발생합니다.

𝛼가 증가하면 최적점이 왼쪽으로, 감소하면 오른쪽으로 이동합니다. 규제가 없는 MSE에서의 최적 파라미터는 𝜃1=2, 𝜃2=0.5입니다.

46 of 67

04 모델 훈련

4.5 규제가 있는 선형 모델

4.5.2 라쏘 회귀

라쏘의 비용합수는 𝜃i=0( i=1, 2, …, n일 때) 에서 미분 가능하지 않습니다.

하지만 𝜃i=0 일 때 서브그레이디언트 벡터 subgradient vector g를 사용하면 경사 하강법을 적용하는 데 문제가 없 습니다.

[4-11]은 경사 하강법을 위해 라쏘 바용 함수에 사용할 수 있는 서브그레이디언트 벡터공식입니다.

47 of 67

04 모델 훈련

4.5 규제가 있는 선형 모델

4.5.3 엘라스틱넷 회귀

엘라스틱넷 회귀는 릿지와 라쏘 회귀를 결합한 모델로, 혼합 비율 r을 사용하여 두 방법의 영향을 조절합니다.

보통 특성 수가 많거나 특성 간에 강한 상관관계가 있을 때 엘라스틱넷이 더 적합합니다.

48 of 67

04 모델 훈련

4.5 규제가 있는 선형 모델

4.5.4 조기 종료

경사 하강법 같은 반복 학습 알고리즘에서 조기 종료early stopping는 검증 오차가 최솟값에 도달하면 학습을 중단하는 규제 방식입니다.

이는 과대적합을 방지하는 효과적인 방법으로, 검증 오차가 더 이상 감소하지 않으면 훈련을 멈춥니다.

49 of 67

04 모델 훈련

4.5 규제가 있는 선형 모델

4.5.4 조기 종료

이 규제 기법은 매우 효과적이고 간단해서 제프리 힌턴이 ‘훌륭한 공짜 점심 beautiful free lunch 이라고 불렀습니다.

#1

#2

#3

50 of 67

04 모델 훈련

4.6 로지스틱 회귀

일부 회귀 알고리즘은 분류에도 사용할 수 있으며, 그 중 하나가 로지스틱 회귀입니다.

로지스틱 회귀는 샘플이 특정 클래스에 속할 확률을 추정하는 데 널리 사용됩니다.

확률이 주어진 임계값(50% 이상)보다 크면 해당 클래스로 예측하고, 그렇지 않으면 다른 클래스로 예측합니다.

51 of 67

04 모델 훈련

4.6 로지스틱 회귀

4.6.1 확률 추정

로지스틱 회귀는 입력 특성의 가중치 합을 계산한 후, 시그모이드 함수로 변환하여 0과 1 사이의 값을 출력합니다.

이 값은 특정 클래스에 속할 확률을 나타냅니다. 임계값은 일반적으로 50%로 설정됩니다.

52 of 67

04 모델 훈련

4.6 로지스틱 회귀

4.6.2 훈련과 비용 함수

로지스틱 회귀 모델의 훈련 목적은 양성 샘플에 대해 높은 확률을, 음성 샘플에 대해 낮은 확률을 추정하는 것입니다.

이를 위해 로그 손실이라는 비용 함수를 사용하며, 경사 하강법을 통해 비용 함수를 최소화합니다.

53 of 67

04 모델 훈련

4.6 로지스틱 회귀

4.6.2 훈련과 비용 함수

이 비용 함수의 j번째 모델 파라미터 𝜃j에 대해 편미분을 하면 [식 4-18]과 같습니다.

이 식은 [식 4-5]와 매우 비슷해 보입니다.

각 샘플에 대해 예측 오차를 계산하고 j번째 특성값을 곱해서 모든 훈련 샘플에 대해 평균을 냅니다.

모든 편도함수를 포함한 그레이디언트 벡터를 만들면 배치 경사 하강법 알고리즘을 사용할 수 있습니다.

54 of 67

04 모델 훈련

4.6 로지스틱 회귀

4.6.3 결정 경계

로지스틱 회귀는 결정 경계를 생성하여 샘플이 어느 클래스에 속할지 예측합니다.

예를 들어, 꽃잎의 너비를 기준으로 붓꽃 품종을 분류할 때, 특정 너비를 기준으로 결정 경계가 설정됩니다.

55 of 67

04 모델 훈련

4.6 로지스틱 회귀

4.6.3 결정 경계

꽃잎의 너비를 기반으로 Iris-Versicolor 종을 감지하는 분류기를 만들어 보겠습니다. 먼저 데이터를 로드하고 간단히 살펴보죠.

56 of 67

04 모델 훈련

4.6 로지스틱 회귀

4.6.3 결정 경계

데이터를 분할하고 훈련 세트에서 로지스틱 회귀 모델을 훈련시킵시다.

꽃잎의 너비가 0~3cm인 꽃에 대해 모델의 추정 확률을 계산해 보겠습니다 (그립 4-23).

57 of 67

04 모델 훈련

4.6 로지스틱 회귀

4.6.3 결정 경계

Iris-Virginica(삼각형으로 표시)의 꽃잎 너비는 1.4~2.5cm 에 분포합니다. 반면 다른 붓꽃 (사각형으로 표시)은 일반적으로 꽃잎 너비가 더 작아 0.1~1.8cm에 분포합니다. 그래서 약간 중첩되는 부분이 있습니다.

따라서 양쪽의 확률이 똑같이 50%가 되는 1.6cm 근방에서 결정 경계decision boundary가 만들어집니다.

꽃잎 너비가 1.6cm보다 크면 분류기는 Iris-Virginica로 분류하고, 그보다 작으면 아니라고 예측할 것입니다(아주 확실하지 않더라도).

58 of 67

04 모델 훈련

4.6 로지스틱 회귀

4.6.3 결정 경계

[그림 4-24]는 같은 데이터셋을 보여주지만 이번에는 꽃잎 너비와 꽃잎 길이라는 두 개의 특성 으로 보여줍니다.

훈련이 끝나면 로지스틱 회귀 분류기가 이 두 특성을 기반으로 새로운 꽃이 Iris-Virginica 인지 확률을 추정할 수 있습니다.

점선은 모델이 50% 확률을 추정하는 지점으로, 이 모델의 결정 경계입니다.

59 of 67

04 모델 훈련

4.6 로지스틱 회귀

4.6.4 소프트맥스 회귀

소프트맥스 회귀는 다중 클래스 분류를 지원하도록 일반화된 로지스틱 회귀입니다. 각 클래스에 대해 점수를 계산하고 소프트맥스 함수를 적용하여 각 클래스의 확률을 추정합니다. 그런 다음, 가장 높은 확률을 가진 클래스를 예측합니다.

  • k는 클래스 수입니다.
  • s(x)는 샘플 x 에 대한 각 클래스의 점수를 담은 벡터입니다.
  • σ(s(x))k는 샘플 x 에 대한 각 클래스의 점수가 주어졌을 때 이 샘플이 클래스 k에 속할 추정 확률입니다.

60 of 67

04 모델 훈련

4.6 로지스틱 회귀

4.6.4 소프트맥스 회귀

(크로스 엔트로피 비용 함수)

소프트맥스 회귀에서 크로스 엔트로피 비용 함수는 모델이 타깃 클래스에 대해 낮은 확률을 예측하지 않도록 훈련합니다.

이 비용 함수는 로지스틱 회귀의 로그 손실과 유사하며, 모델의 예측이 타깃 클래스와 얼마나 잘 맞는지를 측정합니다.

61 of 67

04 모델 훈련

4.6 로지스틱 회귀

4.6.4 소프트맥스 회귀

(크로스 엔트로피 비용 함수)

이제 각 클래스에 대한 그레이디언트 벡터를 계산할 수 있으므로, 경사 하강법 또는 다른 최적화 알고리즘을 사용해 비용 함수를 최소화하는 파라미터 행렬 𝜃를 찾을 수 있습니다.

62 of 67

04 모델 훈련

4.6 로지스틱 회귀

4.6.4 소프트맥스 회귀

(크로스 엔트로피 비용 함수)

이제 소프트맥스 회귀를 사용하여 붓꽃을 세 개의 클래스로 분류해보겠습니다. 사이킷런의 LogisticRegression 클래스는 다중 클래스 분류 시 자동으로 소프트맥스 회귀를 사용하며, multi_class 매개변수를 "multinomial"로 설정하면 소프트맥스 회귀가 적용됩니다. 또한 solver 매개변수에 "lbfgs" 같은 소프트맥스 회귀를 지원하는 알고리즘을 지정해야 합니다. 기본적으로 ℓ2 규제가 적용되며, 이는 하이퍼파라미터 C로 조절할 수 있습니다.

63 of 67

04 모델 훈련

4.6 로지스틱 회귀

4.6.4 소프트맥스 회귀

(크로스 엔트로피 비용 함수)

예를 들어, 꽃잎의 길이가 5cm, 너비가 2cm인 붓꽃의 품종을 예측했을 때, 모델은 96% 확률로 Iris-Virginica, 4% 확률로 Iris-Versicolor라고 예측할 것입니다.

64 of 67

04 모델 훈련

4.6 로지스틱 회귀

4.6.4 소프트맥스 회귀

(크로스 엔트로피 비용 함수)

[그림 4-25]는 결정 경계를 배경색으로 구분해 나타내며, 클래스 사이의 선형 결정 경계를 보여줍니다. 또한 Iris-Versicolor 클래스에 대한 확률을 곡선으로 표현했습니다. 모든 결정 경계가 만나는 지점에서는 세 클래스가 각각 33%의 확률을 가집니다.

65 of 67

04 모델 훈련

이 장에서는 선형 회귀와 분류를 위한 다양한 모델 훈련 방법을 배웠습니다.

  • 정규 방정식과 경사 하강법을 사용해 선형 회귀를 푸는 방법,
  • 비용 함수에 페널티를 추가하여 규제하는 방법,
  • 학습 곡선 분석과 조기 종료 구현,
  • 로지스틱 회귀와 소프트맥스 회귀의 작동 방식까지 다루었습니다.

다음 장에서는 서포트 벡터 머신을 시작으로 더 많은 머신러닝 모델을 탐구할 것입니다.

66 of 67

연습문제

67 of 67

THANKS!

Please keep this slide for attribution

CREDITS: This presentation template was created by Slidesgo, and includes icons by Flaticon, and infographics & images by Freepik