📅 데일리 학습
• 4월 28일 (월)
[22일차] 머신러닝 (회귀 성능 평가, 분류 성능 평가, 선형회귀)
머신러닝을 배우면서 성능 평가 지표가 이렇게 많다는 걸 처음 체감했다. MAE, MSE, RMSE, MAPE, R² 전부 이름은 알겠는데, 어느 상황에 어떤 걸 써야 하는지가 처음엔 전혀 감이 안 잡혔다. 클로드한테 정리를 부탁하고 나니 어느 정도 기준은 생겼다.
이상치가 적고 안정적인 평가를 원할 때 → MAE
큰 오차에 더 민감하게 반응하고 싶을 때 → RMSE / MSE
상대적인 오차 비율이 중요할 때 → MAPE
모델이 데이터를 얼마나 잘 설명하는지 보고 싶을 때 → R²
그런데 막상 실습할 때는 그냥 복사해서 붙여넣고 있어서, 내가 진짜 이해하고 쓰는 건지 손이 움직이는 건지 좀 모호하다. 그래도 판다스 전처리를 반복하다 보니 함수들이 조금씩 눈에 익는 느낌은 있었다.
수업을 마치고 PCCE 시험도 봤다. 다행히 합격은 했는데, 턱걸이였다. 시간이 생각보다 훨씬 부족했고 문제 해석 자체가 어려웠다. 합격이라 다행이긴 한데 찜찜함이 남는 건 어쩔 수 없었다. 다음 달엔 PCSQL 먼저 보고, PCCE는 한 번 더 도전할 생각이다. 다음에는 문제 해석 능력과 알고리즘 이해도를 더 탄탄하게 다져서, 단순히 합격이 아니라 높은 점수로 확실하게 통과하고 싶다.
• 4월 21일 (화)
[23일차] 머신러닝 (로지스틱회귀, 규제, KNN, 결정트리, SVM)
머신러닝 알고리즘 다섯 가지를 쭉 훑었다. 선형 회귀, 로지스틱 회귀, KNN, 결정 트리, SVM. 각각의 동작 원리를 깊게 이해한 건 아니지만, 어떤 상황에서 어떤 걸 선택하면 되는지는 감이 조금 잡혔다.
타겟이 연속형 숫자 → Linear Regression
타겟이 Yes/No 이고 해석이 필요 → Logistic Regression
규칙 기반으로 설명 가능해야 함 → Decision Tree (→ 앙상블)
고차원 소규모 데이터, 텍스트/이미지 → SVM
빠른 프로토타입, 유사도 기반 → KNN
규제도 같이 배웠는데, 처음에는 ElasticNet이 가장 좋아 보여서 그냥 그거 쓰면 되는 줄 알았다. 근데 실제로는 접근 순서가 있었다. 일단 기본 모델로 시작하고, 과적합이 의심될 때 규제를 적용하는 흐름이었다. 변수가 많고 중요도가 불명확하면 Lasso나 ElasticNet, 변수가 적고 대부분 필요하면 Ridge, 그래도 애매하면 ElasticNet. 특히 Lasso가 계수를 0으로 만들어 변수 선택 역할까지 한다는 점이 인상적이었다. 반대로 Ridge는 모든 변수를 유지하면서 크기만 줄인다. 이걸 이해하고 나니까 “무조건 좋은 방법은 없다”는 게 더 명확해졌다.
머신러닝 알고리즘과 규제를 아직 완전히 이해한 건 아닌 것 같다. 아직 낯설어서 그런 건지, 개념 자체가 덜 잡힌 건지는 구분이 안 되지만 일단 계속 써보는 수밖에 없겠다는 생각이 들었다.
• 4월 22일 (수)
[24일차] 머신러닝 (K-Fold 교차검증, SVM)
정규화(스케일링)를 적용해야 성능이 잘 나오는 모델과, 그렇지 않은 모델이 나뉜다는 걸 이때 좀 더 명확하게 인식했다. 특히 거리 기반(KNN)이나 SVM 같은 모델은 스케일에 영향을 많이 받는 반면, 결정트리 계열은 상대적으로 덜 받는다는 차이도 같이 느껴졌다.
K-Fold 교차검증도 배웠는데, 데이터를 한 번만 나눠서 평가하는 게 아니라 k개로 쪼개서 번갈아가며 검증한다는 개념이었다. 처음에는 왜 이렇게 여러 번 나누는지 의문이었는데, 한 번의 결과에 의존하지 않고 평균적인 성능을 본다는 점에서 더 신뢰할 수 있는 평가 방식이라는 게 이해됐다.
GridSearch는 하이퍼파라미터를 미리 범위로 정해두고 가능한 조합을 전부 탐색해서 최적값을 찾는 방식이었다. 직접 하나씩 바꿔보는 것보다 훨씬 체계적이라는 장점이 있었지만, 경우의 수가 많아질수록 시간이 오래 걸린다는 단점도 같이 체감됐다.
여전히 어떤 알고리즘을 써야 하는지는 확신이 부족하다. 문제를 보면 “이거다” 하고 바로 떠오르는 수준은 아니고, 일단은 따라 치면서 익숙해지는 단계에 가까운 것 같다. 함수도 외우려고 노력은 하는데, 막상 실습할 때는 아직 이전 강의 노트를 참고하면서 치고 있는 경우가 많다.
그래도 계속 반복하다 보면, 언젠가는 자연스럽게 손에 익을 거라는 생각으로 버티고 있다.
• 4월 23일 (목)
[25일차] 머신러닝 (RandomSearch, 양상블모델링, 보팅, 스태킹)
이날 제일 크게 느낀 건 "여러 모델을 쓴다고 무조건 성능이 좋아지는 건 아니다"는 것이었다. 앙상블은 여러 모델의 예측을 조합해서 더 나은 결과를 내는 방식인데, 보팅은 여러 모델의 예측을 투표 방식으로 합치고, 스태킹은 각 모델의 예측 결과를 다시 새로운 모델의 입력으로 넣는 구조다. RandomSearch는 GridSearch처럼 모든 조합을 탐색하는 대신, 지정한 범위 안에서 무작위로 조합을 뽑아 탐색하기 때문에 탐색 시간을 줄일 수 있다. 그런데 이것저것 다 써봐도 결국 정답이 없다는 느낌이 들었다. 하나만 해서 딱 결론이 나면 좋겠는데, 계속 반복해서 비교하고 튜닝해야 한다는 게 머신러닝의 본질인 것 같다. 어렵기도 하고, 조금은 막막하기도 하다.
📊 주간 회고
이번 주는 머신러닝을 “처음부터 끝까지 한 번 훑어본 주”에 가까웠다. 회귀 모델로 시작해서 평가 지표를 보고, 분류 알고리즘을 배우고, 교차검증과 하이퍼파라미터 튜닝, 그리고 앙상블까지 이어지는 흐름을 경험했다. 양 자체는 많았지만, 솔직히 전부 이해하고 넘어간 느낌은 아니었다. 오히려 계속 들었던 생각은 하나였다. "지금 내가 이해하고 있는 건가, 아니면 그냥 따라 치고 있는 건가" 실습을 하면 결과는 나오는데, 그 이유를 설명하려고 하면 막히는 순간이 많았다. 특히 오차 지표나 알고리즘 선택에서 그런 느낌이 강했다. 그래도 완전히 의미 없는 시간은 아니었다. 처음에는 막연하게 느껴졌던 것들이 조금씩 “기준”으로 정리되기 시작했다는 게 가장 큰 변화였다.
오차 지표는 상황에 따라 선택한다는 감각, 규제는 무조건 쓰는 게 아니라 순서가 있다는 점, 모델은 많지만 결국 데이터에 맞게 선택해야 한다는 흐름... 이런 것들이 조금씩 연결되기 시작했다.
또 하나 느낀 건 머신러닝은 한 번에 끝나는 작업이 아니라는 점이었다. 모델을 고르고, 평가하고, 다시 튜닝하고, 필요하면 다른 모델로 바꾸고… 이 과정을 계속 반복해야 한다는 걸 직접 경험했다.
PCCE 시험도 이번 주에 봤는데, 턱걸이 합격이긴 했지만 오히려 그래서 더 많이 느꼈다. “아직 부족하다”는 걸 명확하게 확인한 느낌이었다. 그만큼 다음 단계로 가기 위한 방향은 더 뚜렷해졌다.
전체적으로 보면이번 주는 완벽하게 이해한 주가 아니라, "방향을 잡기 시작한 주"였다.
머신러닝은 단번에 정답을 내는 게 아니라, 반복하면서 조금씩 더 나은 방향을 찾아가는 과정이다.
🔍 KPT 회고
Keep (유지할 점)
- PCCE 시험을 통해 현재 수준을 점검한 것
- 실습을 통해 직접 부딪히면서 익히려 한 흐름
Problem (보완할 점)
- 코드를 이해하기보다 따라 치는 경우가 많았음
- 알고리즘과 평가 지표에 대한 확신이 부족함
- 문제 해석과 시간 관리에서 아쉬움이 있었음
Try (시도할 점)
- 알고리즘/지표를 “언제 왜 쓰는지” 기준으로 다시 정리하기
- 코테 공부하기
'회고록 > SK네트웍스 Family AI 캠프 30기' 카테고리의 다른 글
| SK네트웍스 Family AI 캠프 30기 7주차 회고 (1) | 2026.05.17 |
|---|---|
| SK네트웍스 Family AI 캠프 30기 6주차 회고 (0) | 2026.05.10 |
| SK네트웍스 Family AI 캠프 30기 4주차 회고 (0) | 2026.04.24 |
| SK네트웍스 Family AI 캠프 30기 3주차 회고 (1) | 2026.04.19 |
| SK네트웍스 Family AI 캠프 30기 2주차 회고 (0) | 2026.04.12 |