첫 공부를 시작할때도 생각했지만 처음의 마음가짐을 가지고 계속 끌어나가는건 쉽지 않은것 같다. 회사일이 바빠 그동안 공부를 못한 나를 반성하고 늦게나마 공부를 시작했다.

3장의 주제는 회귀 알고리즘과 모델 규제에 대한 부분이었는데 1-2장이 분류에 관한 문제였다면 자연스럽게 회귀에 대한 부분으로 스토리를 전개한 점이 좋았다. 역시 이렇게 책을 써야 술술 읽히는구나를 새삼 느꼈다고나 할까?
각설하고, 우리의 주인공 혼공머신은 3장에서 크나큰 시련을 겪게 된다. 어떤 시련이냐고? 기존에 K-최근접 알고리즘을 통해 잘 훈련된 모델을 가지고 의기 양양했으나 새로운 데이터 (기존의 훈련세트 + 테스트 세트 제외)를 넣었을 때 이상한 값이 도출되었기 때문이다.
즉, 기존에 훈련된 친구는 30cm크기의 농어 무게는 어느정도 맞출 수 있었는데 학습된 데이터가 아닌 40cm, 50cm, 100cm까지 거의 동일한 무게로 측정이 된다. 사람이라면 길이가 기니까 당연히 무게가 무거울 거라고 생각하지만 기계는 어린아이와 같다. 내가 세밀하게 알려주지 않는한 모른다.
이유가 뭘까? K-최근접 알고리즘을 이해하고 있다면 원인을 파악할 수 있다. 최근접 알고리즘은 내가 예측하고자 하는 길이 정보를 기준으로 가장 가까운 점들의 평균을 구해 무게로 측정한다. 그렇다는 것은? 학습되지 않은 데이터들의 평균값은 항상 동일하게 나오는 셈. 즉, 농어의 길이가 40cm ~ 500m가 되더라도 1kg으로 동일한 무게가 측정될 수 있다는 것이다!
아마 그 순간 혼공머신은 등에 식은땀이 흐르지 않았을까?
이럴 때 등장하는 친구가 회귀라는 방식이다.
최근접 알고리즘은 이미 있는 데이터의 평균으로 답을 예측하지만, 회귀를 사용하면 예측이 가능하다. 왜 그럴까?
쉽게 말해서(정말 쉬운지는 모르겠다) 어떤 모델을 훈련한다는 것은 하나의 식을 만드는 것과 같다. 자 여러분? 초등학교 시절로 돌아가자.
ax+b 는 무엇을 나타낼까요?
직선이다. 즉, 머신러닝을 통해서 우리는 정확한 답을 찾는 것이 아닌 정답 그 근처 어딘가의 값을 찾는 것이다.
즉 기존 데이터를 가지고 어떤 직선을 긋고 X축이 길이 Y축이 무게라고 할때 우리에게 없는 데이터가 왔을때 그 직선위의 값을 출력하는 것이지. 이것이 회귀방식의 요체다.
다만, 특성이 많아지면 어떻게 되지? 지금은 농어의 무게를 길이 라는 특성을 이용해서 예측했지만 지느러미 색깔, 지느러미 모양으로도 예측할 수는 없을까? 가능하다. 그러면 특성이 많으면 많을수록 농어의 무게를 더 잘 예측할 수 있겠네? 라고 생각할 수 있지만 그렇지 않다.
오히려 복잡함을 더 가중시키고 성능이 더 떨어지는 현상이 생길 수 있다. 적당한 복잡함이 필요한 것이다. 이런 특성을 제한하는 것을 규제라 하는데 여기서 릿지 방식을 쓸 것이냐 라쏘 모델을 쓸것이냐의 차이가 난다.
릿지 방식
모든 특성의 값을 적당히 줄여서 과대적합을 방지
라쏘 방식
중요하지 않은 값은 아예 0으로 만들어서 특정 특성을 탈락 시킴(예-지느러미 색깔 특성)
여기까지 간략하게 개념수준으로 이해를 했다.
핸즈온을 하라고 한다면? 어후 아직 불가능!

'혼자공부 > 2025년_혼공_머신러닝' 카테고리의 다른 글
[혼공머신] 1-2장까지 개인 공부 (1) | 2025.07.01 |
---|