SKNetworks Family AI 캠프 13기 6주차 회고

¿curious_jin¿·2025년 5월 10일

4/28 (월) ~ 5/2 (금) 까지 진행된 6주차에서는 머신러닝의 개별 모델들에 대해 더욱 상세하게 배우는 동시에 다음 챕터인 딥러닝에 대해 맛보는 시간을 가졌다.

5/1 목요일부터 그 다음주 5/6 화요일까지 이어지는 연휴에 많은 머신러닝 내용을 다시 정리해 블로그를 쓰고자 했지만 감기에 걸리는 바람에.... 그 다음주 토요일인 오늘까지 늦어지게 되었다.

아무튼 !

머신러닝의 개별 모델로서 SVM, KNN, Tree, Ensemble, Linear, Cluster 모델들을 직접 만들고 이리저리 튜닝해보는 과정을 거치는 한 주 였다.

Support Vector Machine_C와 gamma?

각 데이터 포인터의 Feature 들을 개별 고차원 공간으로 매핑시켜 이들의 유사도를 비교하는 SVM 방법.

아무래도 고차원 공간으로 연결시키는 kernel trick을 사용하다보니 그 과정에서 적용되는 C와 gamma라는 파라미터의 의미와 역할이 많이 헷갈렸다.

C 값은 얼마만큼 비율의 데이터를 이상치로 허용할 지,
gamma 값은 개별 데이터가 얼만큼의 영향력을 가지게 할 지.

C 값은 작으면 작을수록 그저 저정도의 비율은 그냥 무시하자...~ 라는 느낌으로 받아들이기 쉬운 편이라면 gamma 값은 이 데이터 포인트와 이만큼 유사해야 동일한 클래스야 ! 의 느낌을 가진다.

SVMachine 중 SVClassifier 의 경우 결정 경계(hyperplane)를 기준으로 데이터를 나누는 역할을 하지만, 이 결정 경계 식 자체를 예측값으로 사용하는 SVRegressor 모델도 존재한다.

KNN Model 은 가성비 최고

주변 데이터의 클래스나 평균값을 통해 최종 예측값을 만들어내는 K-Nearst-Neighbors 모델은 정말 간단한 메커니즘을 가지고도 알고리즘 상 평균 이상의 효율을 보이는 내가 생각하기에 가장 잘 만든 모델이다.

하지만 더 높은 계산 비용을 가지는 모델들을 계산할 수 있게 되고 이들에게 성능이 밀리다보니 현재로서는 모델 성능의 기준치로 사용된다고 한다. 나라도 써줄게

Feature의 개수가 많을 경우 각 개별 Feature의 중요도를 유지시키기 위해 사용할 수 있는 맨하탄 거리(Manhattan Distance) 도 흥미로운 부분이었다.

이 분야 최고참 Ensemble

여러 모델을 결합하여 사용한다는 의미의 Ensemble, 모델들을 수평적으로 결합하여 이들의 결과를 종합하는 투표 방식과 모델들을 수직적으로 결합하여 성능을 차차 개선해나가는 부스팅 방식이 존재한다.

투표 방식의 대가 RandomForest ,
트리 모델을 수평적으로 결합하여 최종 투표를 받는다.

RandomForest 방식은 같은 구조를 가지는 여러 트리를 사용하는 것이 핵심이다. 모든 트리가 max_depth, max_samples_leaf 등 동일한 하이퍼 파라미터를 가지게 하면서 오로지 사용하는 기준 Feature 만을 다르게 한다.

이렇게 준비된 트리들에 부트스트랩 샘플링 , 중복을 허용한 랜덤 샘플링을 거친 데이터를 넣어주게 되면 각 Feature의 중요도에 따라 자동적으로 많은 트리들이 fitting을 할 수 있게 된다.

부스팅 방식의 대가? GradientBoosting ,
트리 모델을 수직적으로 결합하여 성능을 개선해나간다.

GradientBoosting 방식은 심플한 구조를 가지는 여러 트리를 사용하여 앞선 트리의 결과를 보정하는 방향으로 다음 트리가 작동하게 된다.

Learning Rate , 학습률이 정해져 있기에 하나의 트리 모델을 거친다고 해당 모델에 완전히 fitting 되는 것이 아니게 되며 하나의 트리 모델을 거쳤다는 것은 해당하는 기준에 따라 값을 조금 바꾸었다고 이해하는 편이 맞겠다.

그러고 남은 값들을 다른 기준에 따라 다시 조금 바꾸고 , 다시 조금씩 바꾸다 보면 여러 심플한 기준들을 그저 많이 적용시켜 본 RandomForest 방식과 다르게 여러 심플한 기준들을 순차적으로 적용시킨 강력한 모델이 탄생하게 되는 것이다 !

그래서?

작성 일자를 기준으로 다음주 5/15 (목) 부터 다시금 프로젝트를 하게 되는데 위에서 공부한 머신러닝 모델들을 실제 데이터를 찾아 적용시켜 볼 생각에 벌써 흥미가 돋는다....!

프로젝트가 끝나고 본격적으로 LLM에 대해 배우게 될 것에 대해서도 기대가 크다.

딥러닝의 이미지, 자연어, 음성 중 자연어에 대해 주로 배우는 과정이다보니 다른 두 과정에 대해서도 따로 공부해 볼 시간이 있었으면 좋겠다는 생각을 한다.

profile
궁금증이 많은 아이

0개의 댓글