Ch 03-1. k-최근접 이웃 회귀
✔️ 회귀
: 임의의 어떤 숫자를 예측하는 문제. 정해진 클래스가 없고 임의의 수치를 출력
ex) 내년도 경제 성장률 예측, 배달이 도착할 시간 예측
✔️ k-최근접 이웃 회귀
: 분류와 똑같이 예측하려는 샘플에 가장 가까운 샘플 k개를 선택, k개의 평균값이 샘플의 예측 타깃값
: 이웃한 샘플의 타깃은 임의의 수치(not 클래스)
✔️ 교재 실습
1) 데이터 준비 및 시각화
2) 회귀 모델 훈련 및 평가
- 결정계수($R^2$) : 각 샘플의 타깃과 예측한 값의 차이를 곱하여 더하고, 타깃과 타깃 평균의 차이를 제곱하여 더한 값으로 나눔
: 타깃의 평균 정도를 예측하는 수준이라면 $R^2$는 0에 가까워지고 예측이 타깃에 아주 가까워지면 1에 가까운 값이 됨
- MAE(Mean absolute error): 평균 절댓값 오차
✔️ 과대적합과 과소적합
- 과대적합(overfitting): 훈련 세트에서 점수가 굉장히 좋았는데 테스트 세트에서 점수가 굉장히 나쁠 경우. 훈련 세트에만 잘 맞는 모델임을 의미
- 과소적합(underfitting): 훈련 세트보다 테스트 세트 점수가 높거나 두 점수가 모두 낮은 경우. 모델이 너무 단순하여 훈련 세트에 적절히 훈련되지 않은 경우를 의미
위의 실습의 경우, 훈련 세트보다 테스트 세트의 점수가 높으므로 과소 적합의 경우임.
⇒ 모델을 조금 더 복잡하게 만들면 해결! (이웃의 개수 k를 줄이면 됨)
✔️ 기본 미션 (03-1 #2 확인문제)
|
|
⇒ n이 커짐에 따라 모델이 단순해지는 것을 알 수 있음
k-최근접 이웃 회귀는 가장 가까운 샘플을 찾아 타깃을 평균하기 때문에 새로운 샘플이 훈련 세트의 범위를 벗어나면 엉뚱한 값을 예측한다는 한계를 가져옴
Ch 03-2. 선형 회귀
✔️ 선형 회귀 (linear regression)
: x와 y의 선형 관계를 파악한다. 쉽게 생각하면, 직선의 방정식을 구하기 위해 기울기와 절편을 찾는 과정이다.
- Ch. 03-1에서 사용한 데이터를 바탕으로 선형 회귀 모델을 훈련시켰더니 결과는 다음과 같았다.
✔️ 다항 회귀 (polynomial regression)
: 다항식을 사용한 선형 회귀
Ch 03-3. 특성 공학과 규제
✔️ 다중 회귀 (multiple regression)
: 여러 개의 특성을 사용한 회귀
✔️ 특성 공학 (feature engineering)
: 기존의 특성을 사용해 새로운 특성을 뽑아내는 작업
✔️ 교재 실습
1) 데이터 준비
2) 사이킷런의 변환기
- 변환기: 특성을 만들거나 전처리하기 위한 다양한 클래스 제공
3) 다중 회귀 모델 훈련
- 특성의 개수를 추가하여 다시 학습(problem!)
4) 규제
- 릿지(ridge): 계수를 제곱한 값을 기준으로 규제 적용.
미분 시 weight의 크기에 상관없이 부호에 따라 일정한 상수값을 빼거나 더해주게 됨.
→ 특정 weight들을 0으로 만들 수 있어 원하는 weight만 남길 수 있는 feature selection 역할을 할 수 있음
⇒ 특정 가중치를 삭제해 모델의 복잡도를 낮출 수 있음. - 라쏘(lasso): 계수의 절댓값을 기준으로 규제 적용. 계수의 크기를 아예 0으로 만들 수 있음
weight의 크기에 따라 weight 값이 큰 값을 더 빠르게 감소시키는 weight decay 기법임.
weight의 크기에 따라 가중치의 페널티 정도가 달라지기 때문에 가중치가 전반적으로 작아져서 학습 효과가 L1(릿지) 대비 더 좋게 나타남.
- 릿지 실습
: alpha 매개변수로 규제의 강도를 조절할 수 있음.
- alpha 값 ↑ → 규제 강도 ↑ : 과소적합되도록 유도
- alpha 값 ↓ → 계수를 줄이는 역할 ↓ → 과대적합 될 가능성이 큼
- 라쏘 실습
'Activities > [혼공단 11기] 머신러닝+딥러닝' 카테고리의 다른 글
5주차_Ch.06 비지도 학습 (0) | 2024.02.04 |
---|---|
4주차_Ch.05 트리 알고리즘 (3) | 2024.01.28 |
3주차_Ch.04 다양한 분류 알고리즘 (5) | 2024.01.21 |
1주차_Ch.02 데이터 다루기 (2) | 2024.01.02 |
1주차_Ch.01 나의 첫 머신러닝 (6) | 2024.01.02 |