나랑 now
[혼공머신] 3주차_다양한 분류 알고리즘 본문
# | 진도 | 기본 미션 | 선택 미션 |
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) 과대적합/과소적합 손코딩 코랩 화면 캡처하기
'혼공학습단 > 혼공머신' 카테고리의 다른 글
[혼공머신] 6주차_딥러닝을 시작합니다 (0) | 2024.02.16 |
---|---|
[혼공머신] 5주차_비지도학습 (0) | 2024.02.05 |
[혼공머신] 4주차_트리 알고리즘 (0) | 2024.01.29 |
[혼공머신] 2주차_회귀 알고리즘과 모델 규제 (0) | 2024.01.12 |
[혼공머신] 1주차_나의 첫 머신러닝 & 데이터 다루기 (0) | 2024.01.07 |