여름방학 중 보름 동안 하루 한나절을 투자하며 들었던 강의 <데이터 분석 입문과 응용> 의 연장선 상에서, 배운 것을 활용해 볼 기회라고 생각해서 신청했다. 강의가 끝났을 때, 도대체 내 머릿속에 뭐가 남은건가 하는 의문이 들었었는데, 이렇게 실전 상황에 놓이니 머릿속에 쓸만한 것이 거의 없다는 확신을 얻게 되었다. 그저 강의를 따라가며 무지성 클론코딩만 해서는 내 것이 되지 않는다, 직접 짱구를 굴려가며 주도적으로 코딩을 해 봐야 내 것으로 만들 수 있다. 마치 영어단어를 외울 때 직접 영어 문장을 작문해보면 더 오래 기억에 남는 것처럼. 물론 귀찮지만 값진 노력인 것이다. 그 노력의 부재가 어떤 결과로 이어지는지 여실히 느낄 수 있었던 경험이었다.
# 미련했던 부분, 미흡했던 부분
preHackathon을 통해 배운 점이 있다면, 입력되는 데이터로부터 예측치를 추출하는 블랙박스 역할을 하는 머신러닝 모델로 무엇을 사용하고, 하이퍼 파라미터는 어떻게 설정하느냐에 따라 예측의 정확도가 달라진다는 점이었다. 나는 거기에 너무 빠진 나머지, 이론적으로 어떻게 돌아가는지 원리조차 모르는 모델과 목적함수를 구글에서 찾아다니며 시간과 에너지를 허비했다. 애초에 '아 이런 게 있구나' 하는 정도만 아는 내 입장에서 '이것과 저것의 차이'에 대한 이해 없이, 모델과 파라미터 값을 바꿔서 더 나은 결과를 얻으려 한 것은 아무런 의미 없이 운에 기대는 것이었다.
가장 높은 정확도로 분석을 한 사람이 공유한 코드를 보니, 내가 이 대회에서 놓친 게 무엇인지 알 수 있었다. 나는 데이터셋에 대해 정말 거의 아무런 공을 들이지 않았다. 무의미하다 싶은 컬럼(feature)을 배제하고, 가능하다면 계산을 통해 여러 컬럼을 하나의 컬럼으로 통합하여, 필요한 소수의 컬럼만 모델에 학습시키는 것이 예측의 정확도를 높이기 유리하다는 점만 생각했다. 각 컬럼을 탐구하고 거기서 인사이트를 발견하려는 과정은 전혀 없었다.
# 감상
내 성취도나 결과와는 별개로, 데이터 분석이 어떤 과정을 거쳐 이뤄지는지에 대해 더욱 와 닿는 이해를 할 수 있었다. 이제는 머신러닝이나 자연어 처리 같은 키워드가 그다지 딴 세상의 이야기처럼 멀게만 느껴지지 않는다. 이렇게 개발과 관련된 분야에 하나씩 맛만 보는 걸로도, 막연함이 한 구석씩 선명하게 눈에 들어오는 듯하다.
방학 때 강의를 들으면서도 그랬지만, 이번에 직접 데이터 분석을 해 보면서 통계학개론 수업을 듣던 때가 종종 떠올랐다. 현재까지 딥러닝에 대한 일반적인 인식이 '블랙'박스라면, 내가 바라보는 머신러닝은 너무 복잡하게 얽힌 실타래로 만든 박스같다. 본질과 원리를 쉽게 포착하지 못한다는 그 점 때문인지 답답함은 늘어나고 의욕은 줄어든다. 그래도 다행인 점은, 방학 때부터 지금까지의 배움 덕택에, 단순하게 이해되는 것이라곤 1도 없었던 이 분야가 이제는 1만큼은 단순해 보인다는 점이다.
다음에 이런 대회에 참여하면, 그때는 데이터 속에 있는 본질부터 최대한 찾아본 다음에 다른 것을 시도해야겠다.
'내가 가는 여정을 담는 그릇' 카테고리의 다른 글
머리가 돌아가며 날아가는 비둘기 (0) | 2021.12.21 |
---|---|
백엔드 개발자를 향한 첫 걸음 (0) | 2021.09.30 |
2022 카카오 1차 코테 후기 (0) | 2021.09.11 |
흙이냐 벽돌이냐, 그것이 고민이로다. (0) | 2021.09.01 |
답을 찾지 못한 날 (0) | 2021.08.27 |