[수강후기|개발자를 위한 통계와 머신러닝 CAMP] “알고리즘과 수학은 불가분의 관계죠”_4기 박치민님

[수강후기|개발자를 위한 통계와 머신러닝 CAMP] “알고리즘과 수학은 불가분의 관계죠”_4기 박치민님

scikit_stu_2.001

  

1. 안녕하세요 박치민님, 인터뷰를 시작하기 앞서 간단한 소개 부탁드립니다.

안녕하세요, 현재 IT회사에서 프로그래머로 근무하고 있는 박치민입니다. 주로 웹 쪽 개발을 하고 있습니다.

 
2. 반갑습니다. [ 개발자를 위한 통계와 머신러닝 CAMP ]는 어떤 계기로 수강하게 되셨나요?

사실 2015년도 말부터 패스트캠퍼스의 강의를 듣기 시작했습니다. 임경덕 강사님이 진행하시는 [ R을 활용한 데이터 분석 입문 CAMP ]로 시작해,  김도형 박사님의 [ 시계열 분석 CAMP ], 강필성 교수님의 [ R을 활용한 머신러닝 CAMP ]까지 꾸준히 이쪽 분야에 대해 공부해왔습니다. 평소에도 주기적으로 패스트캠퍼스 사이트를 살펴보다보니 자연스럽게 이 강의에 관심을 가지게 되었습니다. 앞서 말한 것처럼 [ R을 활용한 머신러닝 CAMP ]를 수강했는데. 그 강의를 통해 여러 알고리즘의 특징을 이해하고 실무에 어떻게 적용할지는 알 수 있었는데, 여기저기 간단히 적용해보다보니 “어떻게 사용하냐”뿐만 아니라 “수학적인 배경지식”도 궁금해져서 이 수업을 듣게 됐습니다

더불어, 제가 지금 주로 하는 일이 ‘검정’과 관련되어 있습니다. 여기서 ‘검정’이란 A/B 테스트를 한 후 실제로 그 결과가 통계적으로 유의미한지 아닌지에 대해 판단하는 과정을 의미합니다. 물론 인터넷을 뒤져보면, 몇가지 관련된 아티클을 접하기도 하는데 아무래도 실무에서는 정확한 내용을 가지고 업무를 진행해야 하기 때문에, 아티클에 나온 이론만 가지고 실무에 적용하는 것은 어렵습니다. 실제 적용과정에서 애매한 부분이 생기기도 하기 때문이죠. 늘 그런 부분에 고충을 가지고 있었는데, [ 개발자를 위한 통계와 머신러닝 CAMP ]의 커리큘럼을 살펴보고 이런 부분을 해결할 수 있을 것 같아 수강을 결심하게 되었습니다.

 
3. 그렇군요. 알고리즘을 학습하는데 있어, 왜 수학을 심도있게 배워야겠다고 생각하셨나요?

음, 그 부분은 개인에 따라 차이가 있을 것 같습니다. 정말 필요한 알고리즘을 활용해 원하는 기능을 구현하는 것만을 목적으로 하는 실무자라면, 솔직히 그와 관련된 수학 이론을 깊이있게 공부할 필요는 크게 느끼지 못할 것 같아요. 제 경우는 개인적인 궁금증을 해소한다는 게 가장 큰 이유였습니다. 현재 대부분의 머신러닝 관련 강의나 아티클들이 ‘이 알고리즘을 적용하면 이런 결과물이 나온다.’에 그치는 경우가 많고, 그게 왜 되는지에 대해 다루지는 않습니다. 제 생각으로는 결과물은 그저 하나의 현상, 그러니까 이 결과물이 나오기까지의 히스토리가 있고, 검정과 증명이 있는건데 그 부분은 언급하지 않죠. 따로 인터넷으로 찾아보려고 해도 몇 개의 아티클만으로는 그 원리를 이해하기 힘들었습니다. 개인적으로 진짜 알고 쓰는 사람에게 직접 배우고 싶은 니즈가 있었습니다.

저와 같은 경우가 개발자 모두에게 100% 해당된다고 말할 수는 없겠지만, 한가지 확실한 것은 본인이 맡은 업무를 지속하려면 현재에 존재하는 모델만 사용하는 것이 아니라 시간이 지나면서 발전되는 방향을 따라가야 하는데 알고리즘의 기반이 되는 수학적 알고리즘을 제대로 이해하지 못하면 뒤쳐질 수 밖에 없습니다. 현재 상태만 가지고는 그 다음에 어떻게 될 지 예측할 수 없기 때문이죠. 그리고 개선된 모델을 접해도 어떤 부분에서 어떻게 달라졌는지 이해하지 못하게 됩니다. 변화하는 내용을 따라가려면 현재 문제가 무엇인지를 정확히 파악하고, 그 문제가 어떻게 개선되고 있는지, 혹은 어떻게 개선할 수 있는지 스스로 생각할 수 있어야하죠. 이 강의가 그런 역량을 키워주는데 적합하다고 생각했습니다.

 
4. 수학의 필요성에 대해 좀더 구체적인 예시를 들어주실 수 있나요?

예를 들어 activation function이 어떤 식으로 개선되었다는 논문이 나왔을 때, 기존에 어떤 문제가 있었는지 수학적으로 파악을 못하고 있으면 개선된 내용에 대해서 이해하기 힘듭니다.

 
5. 실제 강의를 들으시면서, 어떤 부분이 가장 좋으셨나요?

일단 강사님이 질문에 적극적으로 대답해주신다는 점이 가장 좋았습니다. 그리고 [ 개발자를 위한 통계와 머신러닝 CAMP ]이라는 강의명에 맞게 개발자도 쉽게 이해할 수 있도록 다양한 알고리즘을 수학적으로 설명해주는 것이 좋았습니다. 예를 들어 최적화를 할 때 수렴이 잘 안되는 문제가 생기면, 어떤 부분을 살펴봐야 하고, 이럴 때는 스케일을 조절해서 개선해야 한다고 말해주십니다. 그리고 도형으로 시각화하여 그 해결 과정을 설명해주셔서 수학적으로 보다 깊이있게 이해할 수 있었습니다. 눈에 보이는 수식을 가지고 설명을 하니 알고리즘의 구조도 좀 더 명확히 파악할 수 있었습니다. 그러고 나니, 실무에서는 ‘아, 스케일링할 때 이런 부분이 잘못되면, 이 공식에서 이 부분이 틀어니지까 이렇게 하면 안되겠다.’라고 파악할 수 있게 되었습니다.

그리고 강의가 좋았던 점이면서 동시에 재미있었던 점은 강의에서 다루는 수학적인 내용이 제가 학부생일때 배웠던 내용이더라구요. 물론 오랜 시간이 지나 전혀 기억이 나지 않았지만요. 잊고 있었던 수학/통계를 다시한번 찬찬히 되짚어볼 수 있었다는 데서 참 유의미했습니다.

 
6. 강의에 대해 혹시 아쉬웠던 점이 있으셨다면 말씀해주세요.

강의에 아쉬웠다기보다는 스스로에게 아쉬웠던 부분이 있었습니다. 사소하게는 순열에 대한 수학기호조차 까먹어서 수업중에 질문을 한 적이 있는데요. 좀 더 시간을 내서 예습을 했더라면 이런부분들을 미리 찾아보거니 수업전에 질문을 해서 수업내용을 좀 더 잘 따라갔겠다는 아쉬움이 있습니다. 그리고, 아무래도 수학공식이 많이 나오고 많은 내용을 설명해주시기 때문에 수업 끝나고 한두시간정도 복습을 해두지 않으면 머릿속에 안남는 어려움이 있었습니다. 예습은 거의 못하고 복습만 간간히 하는 수준이여서 수업내용을 다 따라잡지 못한게 아쉽습니다. 적은 돈이 아닌만큼 많이 가르쳐주시는게 문제될건 없다고 생각하구요, 다만 따라잡지 못한게 아쉽습니다.

아, 그리고 하나 제안드리자면 강의 중에 수시로 퀴즈나, 간단한 테스트를 보면 좋을 것 같습니다. 테스트라는게 평가의 의미도 있지만 동시에 수강생이 무엇을 알고, 무엇을 모르는지 판단할 수 있는 수단이 될 수도 있으니까요.

 
7. 정말 좋은 의견이네요. 바쁜 와중에도 이렇게 인터뷰에 응해주셔서 감사합니다. 그럼 마지막으로, 본 강의에 관심을 가지고 계신 분들에게 한마디 부탁드립니다.

알고리즘에 대한 수학적 이해를 원하신다면 본 강의를 적극 추천합니다. 뿐만 아니라, 내 업무 분야에 맞는 최적의 알고리즘이 무엇인지 판단할 수 있게됩니다. 현재에 머무르지 않고, 스스로를 보다 발전시키고 싶은 분들이라면 본 강의에서 원하는 것을 충분히 얻어가시리라 믿습니다.
  

scikit_2_45.001

강의에 대해 궁금하신가요?
[ 개발자를 위한 통계와 머신러닝 CAMP ]  자세히 보기 >>

Recent Posts