나랑 now

[혼공머신] 3주차_다양한 분류 알고리즘 본문

혼공학습단/혼공머신

[혼공머신] 3주차_다양한 분류 알고리즘

nowj8n 2024. 1. 22. 13:56
반응형
# 진도 기본 미션 선택 미션
1주차
(1/2 ~ 1/7)
Chapter 01 ~ 02 코랩 실습 화면 캡처하기 Ch.02(02-1) 확인 문제 풀고, 풀이 과정 정리하기
2주차
(1/8 ~ 1/14)
Chapter 03 Ch.03(03-1) 2번 문제 출력 그래프 인증하기 모델 파라미터에 대해 설명하기
3주차
(1/15 ~ 1/21)
Chapter 04 Ch.04(04-1) 2번 문제 풀고, 풀이 과정 설명하기 Ch.04(04-2) 과대적합/과소적합 손코딩 코랩 화면 캡처하기
4주차
(1/22 ~ 1/28)
Chapter 05 교차 검증을 그림으로 설명하기 Ch.05(05-3) 앙상블 모델 손코딩 코랩 화면 인증하기
5주차
(1/29 ~ 2/4)
Chapter 06 k-평균 알고리즘 작동 방식 설명하기 Ch.06(06-3) 확인 문제 풀고, 풀이 과정 정리하기
6주차
(2/5 ~ 2/12)
Chapter 07 Ch.07(07-1) 확인 문제 풀고, 풀이 과정 정리하기 Ch.07(07-2) 확인 문제 풀고, 풀이 과정 정리하기

 

04-1 로지스틱 회귀

 

다중 분류multiclass classification: 타깃 데이터에 2개 이상의 클래스가 포함된 문제

 

로지스틱 회귀

로지스틱 회귀logistic regression: 회귀가 아닌 분류 모델

두 데이터 요인 간의 관계를 찾는 데이터 분석 기법

다음과 같은 선형 회귀와 동일하게 선형 방정식을 학습

𝑧=𝑎∗(𝑊𝑒𝑖𝑔ℎ𝑡)+𝑏∗(𝐿𝑒𝑛𝑔𝑡ℎ)+𝑐∗(𝐷𝑖𝑎𝑔𝑜𝑛𝑎𝑙)+𝑑∗(𝐻𝑒𝑖𝑔ℎ𝑡)+𝑒∗(𝑊𝑖𝑑𝑡ℎ)+𝑓

 

확률 처리를 위한 0~1(또는 0~100%) 사이 값으로 만들기 위해 시그모이드 함수sigmoid function(또는 로지스틱 함수logistic function)을 사용

시그모이드 함수
시그모이드 그래프

소프트맥스softmax 함수(정규화된 지수 함수): 하나의 선형 방정식의 출력값을 0~1 사이로 압축하는 시그모이드 함수와는 달리, 여러 개의 선형 방정식의 출력값을 0~1 사이로 압축하고 각각의 확률의 전체 합이 1이 되도록 만듦

 

04-2 확률적 경사하강법

점진적인 학습

문제

새로운 데이터가 추가되어, 모델을 학습시키는 상황이라면?

1. 기존의 훈련 데이터에 새로운 데이터를 매번 추가하여 모델을 훈련시킴

=> 새로운 데이터를 활용해 모델을 훈련할 수 있지만, 늘어나는 데이터를 감당해야하므로 지속 가능하지 않음

2. 새로운 데이터를 추가할 때 이전 데이터를 버리면서 훈련 데이터 크기를 일정하게 유지

=> 데이터셋의 크기가 너무 커지지 않을 수는 있으나 다른 데이터에 없는 중요한 데이터가 포함되어있다면, 모델이 해당 라벨에 대해 정상 동작하지 않음

3. 훈련한 모델을 버리지 않고 새로운 데이터에 대해서만 조금씩 훈련

=> 점진적 학습 또는 온라인 학습

 

확률적 경사하강법Stochastic Gradient Descent, SGD

훈련 세트에서 랜덤하게 하나의 샘플을 선택하여 손실 함수의 값이 가장 작은 지점을 찾는 것

에포크epoch: 확률적 경사 하강법에서 훈련 세트를 모두 사용하는 한 번 반복을 의미

미니배치 경사 하강법minibatch gradient descent: 무작위의 샘플을 이용해 경사 하강법을 수행하는 것

배치 경사하강법batch gradient descent: 전체 샘플을 사용하여 경사 하강법을 수행. 가장 안정적이나 많은 컴퓨터 자원 사용

일반적으로 많은 데이터를 사용하며 모델 자체가 매우 복잡한 신경망 알고리즘은 확률적 경사 하강법이나 미니배치 경사 하강법을 꼭 사용함

 

손실 함수loss function(비용 함수cost function)

확률적 경사 하강법이 최적화할 대상으로, 학습할 때 정답값과 예측값의 오차를 계산해주는 함수

손실 함수의 값이 최소가 되는 지점을 찾기 위해 손실 함수의 값이 조금씩 변해야 하며,

이를 위해 각 목적에 따라 연속적인 상태를 만들기 위해 서로 다른 손실 함수를 사용함

  • 이진 분류: 로지스틱 회귀(또는 이진 크로스엔트로피) 손실 함수logistic loss function or binary cross-entropy loss function
  • 다중 분류: 크로스엔트로피 손실 함수cress-entropy loss function
  • 회귀 문제: 평균 제곱 오차 손실 함수mean squared error

 

에포크와 과대/과소적합

확률적 경사 하강법 사용 모델은 에포크 횟수에 따라 과소적합이나 과대적합이 될 수 있음

에포크 횟수 < 적정 횟수 : 훈련 세트를 덜 학습하여 훈련 세트와 테스트 세트에 잘 맞지 않는 과소 적합 모델 가능성 높음

에포크 횟수 > 적정 횟수 : 훈련 세트에 너무 잘 맞아 테스트 세트에서 점수가 나쁜 과대적합 모델 가능성 높음

조기 종료early stopping: 테스트 세트에 대해서 점수가 감소하기(과대적합) 시작하기 전에 훈련을 멈추는 것

 


 

기본 미션

Ch.04(04-1) 2번 문제 풀고, 풀이 과정 설명하기
확인 문제 2. 로지스틱 회귀가 이진 분류에서 확률을 출력하기 위해 사용하는 함수는 무엇인가요?
(1) 시그모이드 함수
(2) 소프트맥스 함수
(3) 로그 함수
(4) 지수 함수

정답: (1) 시그모이드 함수

로지스틱 회귀는 데이터가 특정 범주에 속할 확률을 0에서 1 사이의 값으로 예측하고, 확률상 더 높은 범주로 분류해준다.

클래스 확률을 출력하기 위하여 사용하는 함수는 이진 분류일 경우 시그모이드 함수를, 다중 분류일 경우 소프트맥스 함수를 사용하여, 두 함수 모두 출력값을 0~1 사이의 값으로 되돌려주지만 소프트맥스 함수는 출력 결과를 정규화하여 모든 값의 합이 1이 되도록 만들어준다.

 

선택 미션

Ch.04(04-2) 과대적합/과소적합 손코딩 코랩 화면 캡처하기

반응형