일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 순환신경망
- c언어
- 정보처리기사필기
- 상속
- 연습문제
- 중학1-1
- 정보처리기사실기
- 혼공머신
- JSP/Servlet
- 파이썬
- JSP
- 딥러닝
- 개발일기
- 데이터베이스
- 컴퓨터구조
- 자바
- 디버깅
- 데이터분석
- rnn
- html/css
- 머신러닝
- 자바스크립트
- SQL
- 중학수학
- 컴퓨터비전
- 자바스크립트심화
- 자바 실습
- CSS
- JDBC
- ChatGPT
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
회귀 알고리즘과 모델 규제 8 - 선형 회귀 심화 학습 본문
아침 9시 전까지 3단원을 모두 마치려고 하는데 아직 두 개의 소장이 남아있다. 바로 이어서 학습을 시작해보겠다.
선형 회귀 실습해보기
앞의 코드는 지난 시간에 공부했던 내용과 중복이라 그냥 넘어간다. 50cm의 농어를 1033g으로 예측했는데 이는 실제 이 농어의 무게보다 더 많이 나가는 것이다. 문제가 무엇일까?
훈련 세트와 50cm의 농어, 이 농어의 최근접 이웃을 산점도로 표시해보겠다.
길이가 커질수록 농어의 무게가 증가하는 경향이 있다. 하지만 50cm 농어는 가장 가까운 것이 45cm 근방이므로 이들 샘플의 무게를 평균하고 있다. 이웃의 평균과 100cm 농어의 예측이 같다는 것을 확인할 수 있다.
100cm의 농어 이웃과 농어의 그래프를 그려보았다. 이런 식이면 농어의 길이가 아무리 커도 무게는 변함이 없을 것 같다. 이제 다른 알고리즘을 통해 이 문제를 해결해보기로 하자. 이 문제는 아주 큰 농어를 골랐는데 무게가 실제와 달라 이를 수정하려는 것이다.
선형 회귀 모델에서는 50cm 농어를 아주 높게 예측했다. 선형 회귀 클래스가 찾은 a와 b(기울기와 절편)을 출력해보면 다음과 같다. 선형 회귀 모델에서는 앞에서 공부한 것처럼 1차 함수를 사용한다.
직선을 그리려면 앞에서 구한 기울기와 절편을 사용하여 (15, 15x39-709)와 (50, 50x39-709) 두 점을 이으면 된다. 길이가 50cm인 농어에 대한 예측은 이 직선의 연장선에 있다. 이제 훈련 세트 범위를 벗어난 농어의 무게도 예측할 수 있겠다
훈련 세트와 테스트 세트의 점수가 조금 차이 난다. 하지만 이 그래프에서는 직선이 아니라 곡선으로 뻗어나가고 있다. 이 직선대로 예측한다면 농어의 무게가 0g 이하로 내려갈텐데 현실에서는 있을 수 없는 일이다.
이제 최적의 곡선을 찾아보자.
원래 특성인 길이를 제곱하여 왼쪽 열에 추가했기 때문에 훈련 세트와 테스트 세트 모두 열이 2개로 늘어났다. 이제 선형 회귀 모델을 다시 훈련해보겠다. 2차 방정식 그래프를 찾기 위해 훈련 세트에 제곱 항을 추가했지만 타깃값은 그대로 사용한다. 그렇기에 목표하는 값은 어떤 그래프를 훈련하든지 바꿀 필요가 없음을 기억하자.
무게 = 1.01 x 길이² - 21.6 x 길이 + 116.05
훈련한 모델보다 더 높은 예측값이 나왔다. 그리고 이 모델은 이와 같은 그래프를 학습했다. 이런 방정식을 다항식이라 부르며, 다항식을 사용한 선형 회귀를 다항 회귀라고 부른다.
이제 이전과 동일하게 훈련 세트의 산점도로 그래프를 그려보겠다.
앞서 그린 단순 선형 회귀 모델보다 훨씬 나은 그래프가 그려졌다. 훈련 세트와 테스트 세트의 R² 점수를 평가해 보면, 점수가 크게 높아짐을 알 수 있다. 하지만 여전히 테스트 세트의 점수가 조금 높아 과소적합이 남아있다.
학습을 마치고
이렇게 해서 선형 회귀 모델에 대해서도 잘 학습해보았다. 지난 번에 빠뜨린 코드도 하나 추가했다. 복습을 하니 이런 부분들이 보여서 정말 좋았다.
이어서 3단원의 마지막 학습까지 달려가볼 것이다.
'인공지능 > 머신러닝' 카테고리의 다른 글
다양한 분류 알고리즘 5 - 로지스틱 회귀 심화 학습 (0) | 2024.10.02 |
---|---|
회귀 알고리즘과 규제 모델 9 - 특성 공학과 규제 심화 학습 (0) | 2024.10.01 |
회귀 알고리즘과 모델 규제 7 - k-최근접 이웃 회귀 심화 학습 (0) | 2024.10.01 |
데이터 다루기 6 - 데이터 전처리 심화 학습 (0) | 2024.10.01 |
데이터 다루기 5 - 훈련 세트와 테스트 세트 심화 학습 (0) | 2024.10.01 |