관리 메뉴

클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지

머신러닝 4 - 평균제곱 오차를 구하는 실습해보기 본문

인공지능/머신러닝

머신러닝 4 - 평균제곱 오차를 구하는 실습해보기

huenuri 2024. 9. 16. 20:44

조금 전에 썼던 학습일지가 모두 날라가서 무척 속이 상하지만 다시 처음부터 공부한다는 마음으로 기록해보기로 했다. 이제 평균제곱 오차를 구하는 실습을 진행해보자.


 

 

평균제곱 오차 구하는 실습해보기

 

선형 회귀 가설함수 만들기

 

 

가중치에 따라 값이 달라지는 가설함수가 만들어졌다. 공부 시간은 판다스의 시리즈 형태로 집어넣었다. 여기에는 4개의 데이터가 들어간다(9, 8, 4, 2시간). 두번째 매개변수로는 숫자값 0.5가 들어간다. 이 둘을 곱하니 하나의 시리즈가 나왔다. 판타스 시리즈에서 요소별 연산이 따라온 것이다.

 


 

 

 

 

평균 제곱 오차함수 만들기

앞서 만들었던 가설함수를 이용해 평균 제곱 오차함수를 구현해보기로 하자.

 

 

오차가 모두 0으로 나오고 있다. 예측값이 시리즈로 나오고, 결과값도 같은 인덱스끼리 된다.


 

 

 

 

최적의 가중치일 때는 오차값이 0에 가깝지만 오차값을 벗어나면 평균제곱 가중치가 급속도로 커지는 것을 볼 수 있다.

 

 

 

가중치가 10일 때는 오차가 0이지만 11, 12로 갈수록 엄청나게 커지는 것을 볼 수 있다. 그리고 이 가중치에서 멀어질수록 숫자값은 훨씬 더 커진다. 이는 오차값을 제곱해주기 때문이다.


 

 

 

평균제곱오차 그래프 그리기

평균제곱오차 그래프를 그리며 데이터를 시각화해본다.

 

이 코드는 파이썬 컴프리헨션으로 반복문 안에 쓰일 부분이 맨 앞에 온다.

 

 

 

 


 

 

 

 

최적의 가중치가 최저가 되고 그 범위를 벗어나면 평균제곱오차가 급속도로 빠르게 증가하고 있다. 선형회귀 모델은 이 평균제곱 오차값이 최소가 될 수 있는 가중치를 찾으려고 학습을 한다.

 


 

 

 

학습을 마치고

오후 공부 시간에 이 내용까지 마치려고 했지만 저녁식사 후에 공부하는 것도 괜찮았다. 학습일지가 한번 날아감으로 처음부터 다시 한번 수업을 들으며 복습할 수 있었고 시간은 별로 많이 걸리지 않았다.

이번 수업은 수학적인 내용을 많이 다루고 있어 어렵게 느껴질 수도 있겠지만 난 이러한 내용이 무척 재미있었다. 여기까지 해서 첫째날 수업은 모두 정리를 마쳤고 이제 오늘 저녁까지 해서 선형회귀 모델 두번째 날 수업을 학습해볼 것이다.