본문 바로가기

일상, 생각, 경험/그냥 얘기

[취준생의 데이터 분야의 커리어 고민 1] 해온 것과 느낀 것들

[2020.02.25 수정]

올해 1월 30일에 쓰던 글이었는데, 대략 한 달이 지나기 전 시점인 지금에서야 퍼블리싱한다.
서두 부분이 한 달 전 내용이라, 지울까 하다가 그래도 나름 기록으로서 의미가 있는 듯하여 그대로 남겨둔다.

계획해놓은 공부를 하다 말고 생각이 많아져 글을 쓴다.
어딘가에는 그래도 글을 쓰며 정리를 해놔야 할 것 같다.

이번 주에 총 2곳의 기업에서 연락이 왔다.
이전에 프로그래머스에서 진행했던 머신러닝 잡페어에 지원했던 기업들이다.
한 달이 지나도 연락이 안 와서 그냥 떨어졌나 보다 생각하고 나름의 또 다른 과정을 준비하고 있었는데, 어떻게 하다 보니 실무 면접까지 가게 되었다.

다시금 느끼지만, 실무 면접에 가면 참 많은 걸 느낀다.
단순히 저 붙여주세요 어필로 끝나는 게 아니라, 당신은 어떤 사람이 되고 싶습니까에 대한 근원적인 질문을 들을 수 있다.
그렇다. 이 글은 내가 어떤 사람, 정확히 어떤 커리어 패스를 쌓고 싶은지 나 스스로 하나씩 생각해보기 위해 적는 글이다.

1. 왜 나는 데이터 산업에 가고 싶었나

직무가 아니라 산업을 먼저 이야기해본다.
러프하게 말하면, 데이터 산업은 데이터를 다루는 기업 혹은 분야를 말한다.
여기에는 보통 엔지니어, 사이언티스트, 애널리스트로 구분되는 포지션이 있다.

나는 왜 데이터 산업에서 일해보고 싶었을까?
일반 서비스 개발, 혹은 시스템(OS) 개발 등등 많은데, 왜 나는 굳이 데이터를 다루는 곳을 가보고 싶었을까?

생각나는 대로 적어보면

  1. 뭔가 이전에는 시도해보지 않은 기술들과 서비스가 있을 것만 같다. 그게 재밌을 거 같다.
  2. 개발만 중요시되는 분야가 아닌 거 같다. 융합 산업의 냄새가 난다. 매력적으로 느껴진다.
  3. 새롭게 떠오르는 분야기 때문에, 나도 뭔가 새로움의 끝에서 일해보고 싶다.

정말 맨 처음. 내가 데이터 관련 일을 해보기 직전에 이런 생각들을 했던 것 같다.
다음으로, 데이터 관련 일들을 하며 어떤 생각을 했고 느꼈는지 먼저 정리해보려 한다.

2. 지금까지, 내가 해본 것들

1) 데이터가 흐르는 프로토타입 서비스를 만들어보다.

3학년 2학기 겨울방학이었다.
학교 산업협력 교수님이 추천해주신 기업에서 인턴을 하게 되었다.
모두의 주차장이라는 회사였는데, 주차장 데이터를 기반으로 한 뭔가를 만들어본다고 하였다.
그 뭔가가 정확 치는 않지만, 원하는 프로토타입은 하나 있고 이와 비슷하게 결과물을 내달라는 요청이 있었다.
그리고 거기에는 웹에서 작동하는 하나의 End-to-End 서비스가 포함되어 있었다.

기간은 한 달 내외. 사람은 나를 포함한 인턴 3명.
아무것도 모르는 우리는 정말 밑바닥에서 시작해, 아침저녁으로 회의와 스터디를 통해 하나씩 무언가를 알아갔으며, 저 프로토타입과 비슷한 무언가를 만들기 위해 필요한 지식들을 얻어나갔다.
그리고 업무를 분담하여, 한 명은 프론트, 한 명은 백엔드, 한 명은 리서치를 담당하였다.
나는 당시에는 데이터를 잘 시각화하는 것과 서비스의 기능을 포함한 사용자 경험이 매우 중요하다고 생각해서 프론트를 맡았다.
동시에 개인적으로 백엔드에서 돌아가는 로직도 궁금해서 못해도 주에 두세 번씩은 모여 각자 하고 있는 일을 공유하자고 했고, 실제로 그렇게 했다.

그렇게 대략 한 달이 조금 넘는 기간 동안 처음에 기획한 프로토타입을 넘어선 일종의 End-to-End 서비스를 만들게 되었다.
간단히 얘기하면, 사용자가 공간 데이터를 프론트 단을 통해 추가하면 레이어를 생성하여 이를 지도 위에 그려내는 애플리케이션이었다.
데이터 필드 별로 다르게 시각화한다거나, 레이어를 여러 개 쌓는 기능. 또 네이버 지도 DB를 파싱 해와서 레이어에 추가하는 기능 등 초기에 기획한 것보다 훨씬 비대한 프로토타입의 모형이었다.

최종적으로는 이런 mapbox studio 을 모티브로 해서 만들었던 듯 하다.

스킬적으로는 다음과 같은 것들을 느끼고 생각해볼 수 있었다.

  • javascript 오픈소스를 처음 사용해봤다. 거인의 어깨 위에 올라타는 재미를 느꼈다.
  • 데이터를 서비스 도메인에 맞는 객체로 담아낼 때, 어떻게 설계하는 게 좋을지 정말 많은 고민을 했다.
    필드 이름부터, 메쏘드 기능 분리까지 나름대로 한다고 하긴 했지만, 이게 최선인지는 늘 의심스러웠다.
    데이터 모델링과 객체 지향에 대한 필요성을 느꼈다.
  • jQuery 로 떡칠된 코드를 보며 올바른 코드 설계의 필요를 느꼈다.
    리팩토링하고 리팩토링해도, 결국은 jQuery 로 시작한 스파게티 코드는 벗어날 수 없었다.

스킬 외적으로 다음과 같은 것을 느끼고 생각해볼 수 있었다.

  • 코딩하다 보면 시간이 금방 간다. 나 그래도 개발이 적성에 맞나 보다.
  • 팀원들과 같이 스터디하고 공유해나가며, 뭔가를 만들어 나가는 일은 '매우' 재밌고 보람차다.
  • 다만, 마감 기한에 급급해 좋은 코드와 문서화를 못해놓은 게 아쉽다.
  • 아무튼 결과적으로 데이터를 시각화까진 했는데, 이 이상의 의미를 지니려면 어떻게 접근해야 할까?

특히 마지막 느낀 점이 아주 강하게 다가왔다.
공간 데이터를 시각화하는 시스템을 만들었지만, 뭔가 빠진 느낌이었다.
그래서 도대체 이걸로 무엇을 할 수 있느냐는 것이었다.
이런 걸 알아가는 일이 데이터 분석이라는 걸 알게 되었다.

2) 데이터 분석을 처음 맛보다.

시중에서 파는 R로 시작하는 데이터 분석 책을 사서 정독하고 따라 해 보았다.
내용은 대부분 통계 기본 지식, 그리고 가설 검증이나 기술 통계 시각화를 통해 인사이트를 도출하는 내용이었다.
그리고 대부분 R에 초점이 된 도구 사용법 같은 느낌이었다.
분석 역시 기술 통계나 간단한 머신러닝을 통해 "데이터를 통해 보니 사실은 이렇다!" 정도였다.
뭔가가 좀 허전했다.

4학년 여름방학 때는, 학교에서 진행한 데이터 사이언스 해외 인턴십에 선발되어 미국에 가게 됐다.
대략 한 달 동안, 3명이 팀을 이뤄 해커톤 느낌으로 프로젝트를 진행했다.
어떤 코스페이스에 가서 프로젝트 정의한 후, 스터디하고 공유하는 게 그냥 일상이었다.
물론 미국에 다들 처음 간 거니만큼, 노는 시간도 많았다.

Speed-dating survey 라는 데이터로, 일종의 남녀 매칭률을 예측하는 서비스를 만들었다. 물론 지금보면 오류가 많겠지만... 

솔직히 미국 가서 공부보다는 미국물 먹으며 노는 게 제일 좋았어서, 빡세게 공부하지는 않았다.
그래도 결과물 발표는 해야 하니까, 대략 한 3주 뒤에 웹에 올라가는 어떤 결과물을 내놓긴 했다.
그렇지만 노력이 많이 빠진 결과물이라.. 성과라고 생각하지는 않는다.

여하튼 다음과 같은 것들을 배울 수 있었다.

  • pandas, scikit-learn, seaborn 을 처음 다뤄보았다.
  • Linear regression, Logistic Regression, Tree, SVM 등 전통적인 머신러닝 모델들을 다뤄보고 실험해볼 수 있었다.
  • Flask 에 머신러닝 모델을 올린 후, 실시간으로 input 과 output 을 처리해보았다.

이제 나도 데이터를 좀 다뤄봤어! 라는 느낌은 들지만,
여전히 어디 가서 저 분석할 줄 알아요. 저 데이터 잘 다룹니다 라고 말하기에는... 뭔가 너무 부족했다.
나는 그저 도구를 '조금' 사용할 줄 아는 정도였으니까.

3) 실제 서비스 데이터와 추천 시스템을 처음 보다.

4학년 여름 방학 이후, 나는 막 학기에 접어들게 되었다.
그래도 내가 컴공을 전공했다고 어디 가서 말하려면, 컴공의 기본소양 지식들은 알아야겠다는 생각에 자료구조와 알고리즘부터 다시 하나씩 복습했다. 블로그에도 그 당시 공부하며 포스팅한 흔적이 있다.
취업 준비의 일환이기도 했다.

그러다가 무심코 넣은 입사 지원서가 합격하여 카카오 추천 시스템 인턴을 하게 되었고, 대략 3달간 일하게 되었다.
이전에 카카오 인턴과 관련된 글을 쓴 게 있어서 여기에 자세히 적지는 않겠다.
간략하게 설명하면, 추천 로직을 리서치하여 기존의 추천 시스템 플랫폼에 올린 뒤 이를 A/B 테스팅 해보는 실험을 대략 한 달 안되게 했다.
그리고 남은 두 달 동안은 서비스 로그 데이터를 받아 이를 분석하여 팀에게 도움이 되는 정보를 전달하는 발표를 했다.
나는 추천 시스템도 멋있지만, 일단 데이터 핸들링과 나름 분석할 줄 아는 능력이 추천 로직에 선행한다고 생각하여 분석에 좀 더 힘을 실었다.

같은 팀에 계시던 최규민님의 분석 문서를 많이 참고했다. 위 그림은 눈으로 보는 음악 추천 시스템 발표의 일부. 

여하튼 결과적으로 나는 다음을 경험해보고 느낄 수 있었다.

  • 추천 시스템(서버)은 정말 거대한 엔진이구나. 개발적 요소와 리서치 요소가 버무려진 데이터 산업의 꽃이라는 느낌.
  • 추천 로직 자체는 분야가 따로 있을 정도로 굉장히 공부할게 많고 핫하다.
  • 실제 서비스 로그는 엄청나게 쌓인다. 오픈 데이터에서는 볼 수도 없는 수준이고, 다루는 기술도 다르다.
  • 데이터 분석의 핵심은 문제를 정의하는 잘 정의하는 능력과 잘 분석하고, 내용을 잘 전달하는 능력이다.
  • 그중에서도 핵심은, 팀원들이 이해하기 쉽게 스토리를 잘 구성하는 능력이다.
  • 이 과정 중, 버릴 건 버리고, 담을 건 담아내야 한다. 또 잘 표현해야 한다. 이게 진짜 어렵다.

결과적으로, 분석에 대해서 공부할 게 무진장 많다는 걸 느꼈다.
먼저, 내가 말하는 결과에 확신이 있어야 한다. 데이터로 말함과 동시에 수치적인 근거가 있어야 한다.
통계가 여기에 활용되는 대표적인 도구다.
이게 없으면 스스로 느끼기에도 자신이 이야기 꾼에 지나지 않음을 느끼게 되는 것 같다.

다양한 머신러닝 기술들을 알아야 분석에 활용할 수 있다.
예를 들어, 데이터들을 보고 각 아이템들의 메타데이터를 기반으로 토픽 별로 아이템을 묶고 싶으면, 클러스터링을 공부해야 한다. 이미 유명한 클러스터링 종류는 몇 가지가 있는데, 이 중 내 상황에 맞는 클러스터링을 쓰려면 단지 사용법이 아닌 그 내부 과정을 또 이해해야 한다.
분석 전에 데이터 전처리를 위한 머신러닝 기법들을 잘 이해해야 하는 것이다.

여튼 난 통계가 제일 기본이 된다고 생각하여 통계에 대한 것부터 하나씩 접해보았다.

4) 데이터 분석 공모전에 참여해보며 공부하기

카카오 인턴 이후, 정말 통계 기초에 해당하는 공부를 해나갔다.
물론, 데이터 관련 공부만 한 건 아니다.
역시 컴공 출신이니까 이를 증명하기 위해 여전히 부족한 내 전공 기본기를 틈틈이 다지며, 궁금했던 개발 툴들도 써보고, 가고 싶던 기업의 구인 공고가 뜨면 지원도 했다. 또 카카오에서 익혔던 데이터 핸들링과 분석에 대한 감을 잃지 않기 위해 따릉이 EDA 도 틈틈히 하곤 했다.

a. 네이버 데이터 사이언스 컴피티션

그러다가, 네이버 데이터 사이언스 컴피티션이라는 게 열렸다.
프로젝트 분야를 정해주고, 그 안에서 정성적인 분석 결과를 요구하는 게 내가 공부하고 싶던 방향과 맞다는 생각이 들었다.
여기에 참여해보면서 프로젝트에 필요한 공부들을 해나가야겠다는 생각이 들어 바로 지원했다.

초반에는 이거 공부하세요 하며 주는 강의들을 하나씩 들었다.
주로 통계 기초와 머신 러닝 기초에 대한 강의들이었다.
그리고 예선과제를 풀어나가며, 문제를 나름대로 정의하고 간단한 발표자료도 만들었다.

쩌다 보니 또 본선까지는 가게 되었고, 본선 주제가 나왔는데 금융 데이터로 인사이트를 찾아내 발표하는 것이었다.
난 금융에 대해서 하나도 몰랐는데, 막상 데이터를 보니까 금융에 대해서 기본적으로 알아야 될 게 되게 많았다.
프로젝트에 할애한 시간 중 3/4 정도는 코딩이 아니었다. 금융 도메인에 대한 공부와 이해였다.
먼저 분석을 하려면 문제를 정의해야 하는데, 도메인을 모르니 뭐가 필요한지, 지금 부족한 게 뭔지 전혀 몰랐다.
어려웠다. 문제가 제대로 정의가 안되고 나름 정했다고 해서 문제를 해결해나가는데, 이게 해결될 각인지 아닌지 그 스케일을 가늠하기가 힘들었다.
결국 뚜렷한 성과 없이 주구장창 시도만 해본 채, 가장 강렬하게 하나의 생각만 남았다.

내가 잘 모르는 도메인을 분석하면, 문제 정의 자체도 힘들다.

난 나름 정성적 분석을 추구해왔는데, 이건 나 같은 엔지니어가 아니라 해당 도메인 전문가가 하는 일이라고 느껴졌다. 위로 예를 들면, 금융 쪽에 평소 관심 있던 사람이나 경영, 경제학과 출신이 분석을 더 잘할 거라는 생각이 들었다.

b. 데이콘. 상점 매출 예측 대회

때 마침, 데이콘이라는 사이트에서 '상점 매출 예측 대회'가 열렸다.
상점마다의 카드 로그 데이터를 가지고, 해당 상점의 이후 매출을 예측하는 시계열 데이터 문제였다.
이런 류의 데이터 분석은 정성적인 것보다 정량적인 것이 더 우선시 되기 때문에, 내가 새롭게 해 볼 만하다고 생각했다.
나도 이제는 정성적 분석보다는, 머신러닝 모델과 변수에 기반한 정량적 분석을 해보고 싶었다.

캐글에서 이 대회와 관련된 커널들을 필사해보며 어떤 식으로 시계열 모델을 만드는지 공부해봤다.
변수를 사전에 먼저 검증하는 통계적 모델과 다르게, 머신러닝 모델들은 미리 변수(피처) 들을 모델에 넣은 후, 사후적으로 변수들을 검증한다. 오로지 예측 오류에 대한 지표로 모델의 유효성을 검증하며, 오류가 낮은 모델이 완성된 뒤 각 변수들이 모델에 기여하는 그 의미를 살펴본다. 그래서, 머신러닝적 접근에서는 모델에 들어가는 변수와 머신러닝 자체가 잘 돌아갈 수 있도록 설계하는 게 키포인트다.
내가 공부해야 할 건 이 두 가지였다. 그리고 이런 공부는 캐글에 공개된 커널들을 통해 할 수 있었다.

데이콘 대회에서, 또 쩌다 보니 최종적으로 11등을 하게 되었지만... 뭔가 찜찜했다.

  • 왜 내 모델은 잘 돌아갔을까?
  • 내가 실험을 의도한 대로 잘한 걸까?
  • 캐글 커널들을 보며 따라는 해보았지만, 이런 변수들을 넣는 유의미한 논리가 있나?

의문이 되게 많이 남았다.

이후, 난 커널을 따라 공부하는 것을 넘어서 이런 류의 문제를 해결해나가는 프로세스 전반을 알고 싶었다. 그것도 좀 '잘' 공부해보고 싶었기에, 탈잉에서 마침 모집 중이던 '캐글 대회 뽀사기' 강의를 수강하게 되었다. 한 달에 총 8시간. 25만 원을 내고 들었는데, 비용이 내 사정에 비해 크긴 하지만 꼭 필요하다는 생각이었다. 그리고 이 때(대략 7월)부터 들은 이 강의는 글을 쓰는 시점인 1월까지 듣게 된다.

5) 데이터 분석 대회 주최 측으로 참여하여 공부해보기

이후 난 또 하반기 취업을 위해 컴공의 기본기를 공부하던 중, 블로그를 통해 연락이 닿은 포스웨이브라는 회사에서 잠깐 일하게 된다.
대회 자체가 공간적인 주제와 매우 맞닿아 있어서, 공간 시각화와 관련된 샘플용 분석 커널을 만드는 일을 했다.
이 과정 중, 공간 데이터 핸들링과 시각화와 관련된 라이브러리들을 접해볼 수 있었다.
한편으론, 데이터 분석 대회를 위해 주최 측이 하는 일과 프로세스를 대략적으로 알게 됐다.

파이썬 라이브러리에는 원하는 기능이 없어, JS 라이브러리를 파이썬에서 사용할 수 있게 패키지로 배포해보기도 했다.

특히, 가장 힘 실었던 것은 '화성시 버스 노선 최적화 방안 제시' 였다.
버스 태깅 데이터와 유동 인구 데이터, 그리고 버스 노선 데이터 등이 주어지는데, 아무튼 이걸 잘 짬뽕해서 어떻게 버스 노선을 신설할지 혹은 수정할지를 결과에 담아야 하는 것이었다.

처음에는 버스 노선 최적화 관련된 논문들을 읽었다. 이 쪽 분야도 참 다양했다.
누군가는 '굴곡도' 나 '중복도' 등 확실한 지표를 가지고 이야기했고, 또 누군가는 어떤 복잡한 공식 등으로 지표를 계산했다. 그러나, 교통 시스템 자체가 워낙 복잡한 데다가 한 두 가지의 지표만 가지고 모두를 납득할만한 솔루션을 이야기하기 어렵다. 게임 심시티를 해본 사람이라면 알 것이다. 교통 문제는 원래 이해관계가 많고 엄청나게 복잡하다.

난 그나마 설명하기도 편하고, 내가 이해하고 활용하기에도 직관적인 '굴곡도' 와 '중복도' 를 가지고 나름대로 분석했다.
최적의 노선 제시까지는 모르겠으나, 이 지표를 기준으로 값이 비효율적인 노선들을 찾아내 해당 노선에 수정이 필요하다고 주장한 것이었다. 이 이야기를 LH 윗 분들께 발표했으나, 역시 현실적인 문제들을 이야기하셨다. 이 두 지표 외에 다른 것들도 볼 필요가 있다는 것이다.
당연한 얘기다. 다만, 교통 시스템에 대해서 잘 모르는 내가 데이터를 보고 제시할 수 있는 역량은 이 정도였다.
이번에도 역시 도메인에 대한 장벽이 크다고 느꼈다.
장벽만큼이나, 내가 낸 성과에 대한 자신과 확신은 없었다.

나중에 대회가 끝난 이후, 상위권에 올라온 사람들이 제출한 분석 파일들을 살펴보았다.
역시 공간 분석에 대한 기본적인 도메인을 가진 사람들이 많았다.
보기에 훌륭한 분석들도 있었지만, 이건 정말 내 기준이지 이게 현실적으로 정말로 유의미한 분석인지 나는 판단할 수 없었다.
그리고 분석은 단순히 도구를 다루는 게 아님을 다시 한번 깨달았다.

6) 다시 대회 및 잡페어 참가

a. 데이콘의 각종 예측 대회

위 일이 끝나고, 다시 데이콘에 뜬 대회에 참여하며 공부해야겠다는 생각을 했다.
이제는 정성적인 분석보다는 정량적인 분석에 좀 더 관심이 갔고, 이를테면 예측 모델 만드는 것에 관심이 있었다.
데이콘에서 다음 세 대회에 참여했다.

  • 승차 인원 예측
  • 문자 스미싱 분류 예측
  • 반도체 박막 두께 예측

지금까지 탈잉 강좌에서 비싸게 배워온 내용을 직접 실습할 겸, 상위 참여자에도 도전해볼 겸 해보게 됐다.

계정을 구글로 이전하면서 이전에 참여했던 대회 기록이 다 사라졌다.

승차 인원과 반도체 박막 두께 예측은 Regression 문제였고, 문자 스미싱 분류는 말 그대로 Classification 문제였다.
승차 인원 예측은 피처 엔지니어링에 힘을 준 뒤 여러 모델들의 앙상블로 풀고, 반도체 박막 두께 예측은 MLP 모델 최적화로 풀어냈다. 문자 스미싱 분류 예측은 사전에 한국어 임베딩 책 및 NLP 를 조금 공부했고, Pre-trained Embedding + MLP 로 풀었다.
이 과정들은 뭐.. 그냥 계속 시도해보는 것의 연속이다. 피처 엔지니이링 기법 그 자체가 노하우고, 0.001 점이라도 점수를 올리기 위해 어떻게든 앙상블, 스태킹을 시도해본다. 그냥 대회 끝나기 전까지 실험의 연속이다. 하루에 제출 횟수가 3번으로 제한되어 있으니, 한 번 제출할 때마다 신중하게 잘해야 한다. 물론 이 과정 중에 내가 짜 놓은 CV 랑 Public score 랑 추세가 일치하지 않은 걸 목격하면서 멘붕에 빠지기도 했다.
결과적으로는 승차 인원 예측 대회는 약 상위 10% 정도에 들었고, 문자 스미싱 분류 예측과 반도체 박막 두께 예측은 약 상위 5% 정도에 들었다.

하면서 조금 아쉬웠던 건... 계속 시도해보면서 알아가야 한다는 것이고, 이 실험의 결과로 얻어낸 나름대로의 인사이트로 다음 실험을 설계할 때, 이 설계와 인사이트가 올바른 건지 잘 모르겠다는 것이다. 사실 인사이트라고 느낄만한 것도 잘 없었고, 그냥 이렇게 좀 틀어보면 어떨까? 저렇게 해보면 어떨까? 이런 식이었다. 결국 해본 뒤에 논리를 찾는 식이다.
그러다 보니, 실험의 기록들이 일정한 방향으로 흘러가지 않고 나중에는 알아보기 힘들게 된다. 조금 뒤늦게 깨달았다. 조그만 실험을 하더라도 좀 제대로 정리해놓아야 후에 내가 무엇을 했는지 일목요연하게 볼 수 있다는 것을.
또, 스코어를 올리기 위해 이래저래 모델들을 끌어와서 앙상블 하다 보면 스코어는 조금 오르기는 하나, 이 모델에 대한 설명이 매우 복잡해진다. 아니 사람이 알아듣게 설명하는 게 거의 불가능하다. 이게 스코어가 지표가 되는 대회라서 이렇지, 이게 과연 실무 현장에서는 의미가 있을까라는 의문점이 들었다.

b. 프로그래머스의 머신러닝 잡페어

또 때마침 프로그래머스에서 머신러닝 관련한 대회가 떴다.
취업도 할 수 있는 기회라, 이번에 각 잡고 제대로 해야겠다는 생각이 들었다.
이에 대한 설명은 이전 포스트 에 있으므로 여기서는 자세히 안 적겠다.

아무튼 이번에는 실험을 github issue에 적으면서 일목요연하게 잘 작성하기 위해 노력했다.

  • 실험 주제 (타이틀)
  • 실험 방법
  • 실험 결과

로 하나의 실험을 정리했다.
뭐 길지는 않다. 학부 때 일반물리실험 과목 극혐 했는데, 여기서 그 실험 보고서를 떠올릴 줄이야....
아무튼 결과적으로 Public 5위, Private 11위를 하게 됐다.

하나 느낀 건, 추천 모델과 같은 고도화 모델이 요구될 때 결국은 기존의 모델들을 사용하는 걸로는 매우 부족하다는 것이다.
예를 들어, 나는 최근에 한국어 임베딩을 배워서 임베딩 기법으로 데이터를 녹여내고 W2V, D2V 를 가져와 추천 모델을 만드려고 했으나, 아무래도 그대로 적용하기에는 한계가 있다. 아니 적용할 수는 있으나, 기존의 모델을 그대로 써먹으므로 큰 효율이 안 난다. 즉 커스터마이징이 필요하다. 그런데 커스터마이징을 하려면, 꽤나 많은 걸 알아야 한다. 일단 Loss 를 내가 짜야한다든가, 가중치 매트릭스는 어떻게 만들 것이며, 그리고 이러한 아이디어가 있다고 하더라도 케라스나 파이토치를 잘 활용해서 구현할 줄도 알아야 한다.
이제서야, 딥러닝 프레임워크가 배워보고 싶어 졌다. 내가 원하는 대로 모델을 만들어내고 싶었다.
왜 사람들이 대학원에 가서 2년 동안 공부를 하고, 왜 이런 직군에 석사 위주로 뽑는지 조금이나마 공감할 수 있었다.

아 그리고, 이 글의 초반 부에 최근에 두 개의 기업에 면접을 보고 왔다고 했는데, 둘 다 이 잡페어 대회를 통해 가지게 된 기회였다.


 

데이터 관련한 것들만 쭈욱 적어보았다.
잡페어 대회를 마지막으로, 나는 더 이상은 데이터 분석 및 머신러닝 관련 공부를 하지 않기로 마음먹었었다.
길이 너무 길어져 다음 포스팅에 글을 나누어 작성해야겠다.