비전문가들도 데이터 사이언스 공부해야하는 이유 (2)

0
565

몇 달전에 자살사고 관련된 설문조사를 몇 년동안 했다는 분의 데이터 모델링 요청을 받았다.

스트레스 받기 싫어서 보통은 일언지하에 거절하는데, 비트코인 가격 움직임 예측해서 돈 벌고 싶다는 헛소리도 아니고, 자살사고 예방이라면 취지가 좋은 것 같아서 일단 한번 말이나 들어보자는 생각에 뭘 원하는지 정리해서 보내달라고 했다.

아래는 그 때 받은 엑셀 파일에 있던 내용이다.

이런거 공개하면 메일 보내셨던 분께 무례가 될 수도 있다는 정도의 상식은 있지만,

  • 정말 너무 심하게 어이가 없어서,
  • 앞으로 유사한 메일 보내시는 분들도 좀 깨달으시라고,
  • 그리고 잘 모르면 이런 요청 좀 하지말라는 정보 환기 차원에서

무례를 무릅쓰고 Extra mile을 걸어본다.

사족을 좀 달면, 저 메일 받고 너무 어이가 없어서, 혹시 내가 잘못 생각하고 있는건가 싶어서, 이걸 주변의 박사 친구들에게도 보여주고, 교수로 재직 중인 학교 선배들한테도 보여줬었다. 한국 갓 들어오는 친구들일수록 충격먹은 표정으로 “앞으로 이런 사람들 상대해야되는거야?” 투의 질문을 했고, 교수나 연구원으로 재직 중인 선배들은 “그러길래 한국 왜 왔고, 컨설팅은 왜 해준다고 그랬냐 ㅋㅋ” 같은 반응들이었다.

 

황당한 점 1번. 98% 조건

일단 가장 황당한 점을 꼽으라면 98% 이상 정확도 요구조건이다.

무슨 MNIST 데이터 같은 low uncertainty 데이터 & 전처리 완료된 데이터도 아니고, 설문조사처럼 Noise & Bias가 잔뜩 섞여 있는 데이터에서 98% 이상의 정확도라는게 말이나 되는 조건인가?

머신러닝이라는게 요술봉이어서 한번 슥~ 휘두르면 100% 정확도가 뚝딱 나오는 줄 아는 사람이 아니고서야 저런 요청을 할 수가 없다.

 

황당한 점 2번, 일반분석, 머신러닝, 딥러닝 구분

이 블로그 포스팅들을 최소한 몇 개는 읽고나서 저런 메일을 보냈을텐데, 머신러닝은 Linear pattern 찾는 작업이 아니라 Non-linear pattern 찾는 작업에 쓰는 응용통계 모델링이라는 지적, 데이터가 랜덤 오차를 많이 갖고 있으면 Non-linear patterning이 먹혀들지 않는다는 지적, 딥러닝이라는건 머신러닝의 Neural Network 모델을 좀 더 Computationally heavy하게 쓰는 작업이라는 말을 몇 번이나 써 놨는데, 어떻게 저런식의 구분을 한 요청을 할 수 있을까?

 

황당한 점 3번, 분석에 포함된 모든 인원에 대한 비지도 학습 필수?????

Unsupervised learning이 도대체 뭔지 이해나하고 있는 상태에서 보낸 요청인지 궁금해진다. Unsupervised learning은 저런 종류의 설문조사 데이터라면 그룹을 묶어내는 용도로 밖에 쓸 수가 없다. 기껏해야 변인 20개로 자살할지 말지를 찾아내는 작업이니 Skewed data (또는 Imbalanced data) 처리를 위해서 일부 Unsupervised 컨셉을 활용할 수도 있겠지만, 저런식으로 “비지도 학습 필수” 같은 황당한 요청이 들어가는 건 모델링이 뭔지 전혀 이해를 못하고 있다는 뜻으로 밖에 볼 수 없다.

 

그 외에도 황당한 점 투성이의 요청이 잔뜩 든 메일이었는데, 한 마디로 요점을 정리하면 “그냥 아무것도 모르는 사람이 쓴 요청”이라고 정리하면 될 것 같다.

이런 요청이 한 번 뿐이었으면 그냥 웃고 넘어갈 수도 있는 이벤트였을 것이다. 근데 지난 1년간 저런 종류의 황당한 이메일을 최소한 10번은 받은 것 같다.  메일의 아마추어리즘 기준을 좀 더 올리면 10번이 아니라 30번도 헤아릴 수 있을 정도다.

 

만약에 내가 저런 요청을 보냈다면?

만약 내가 같은 종류의 요청을 보냈다면 아래의 3줄 메일에 데이터 column이름과 3번째 row 정도까지의 Screen shot을 보냈을 것 같다. 그래야 어떤 종류의 데이터를 갖고 있는지 짐작할 수가 있을거 아닌가?

데이터의 종류: 설문조사 데이터 (언제, 어디서, 어떤 목적으로, 어떤 종류의 질문들, 어떤 사람들을 대상으로 조사한건지)

연구 목적: 자살사고 예측, 자살사고 시도할 가능성이 높은 그룹 선별

추가요청사항: 플랫폼을 R로, n년치 데이터인만큼 시간의 흐름에 따른 고려 필수

딱 이렇게 보냈을 것 같다.

법적 자문을 구해야해서 변호사들을 만나는데, 법 지식이 거의 없는 나같은 사람이 어떻게 하면 가장 효율적인 일처리를 할 수 있을까? 변호사 친구들 이야기도 별반 다르지 않다. 현재 상황을 간단하게 요약 정리하고, 원하는 내용을 짧게 포인트로 정리하지, 괜히 법 조항 뭘 주워들었다고 이것저것 이야기를 늘어놓으면 변호사들한테 놀림감된다고. 어차피 복잡한 분쟁일수록 실력있는 변호사가 자신이 짜맞춘 스토리에 법 해석을 가미하는 작업이라고.

저 분께 답장을 이렇게 했었다.

(중략)

몇 가지 짚고 넘어가고 싶은 내용은, 무슨 모델을 써 달라, 98% 이상 정확도를 맞춰야한다 등은 모델러나 발주 측에서 정하는게 아니라, 데이터가 정하는것이라고 생각합니다.

저는 대상 데이터의 형태와 리서치 목표에 따라 합리적으로 보이는 모델들을 활용할 뿐입니다.

정확도라는 것도 어떤 모델을 어떻게 활용하느냐는 제한적인 성과 밖에 없고, 데이터의 퀄리티에 기인하는 바가 큽니다.

데이터를 보진 않았습니다만, “중복응답문항도 종종 있음”이라는 문구를 봤을 때, 단순 설문조사 데이터인 것 같은데, 그 정도 데이터라면 무거운 Neural net 모델 (일반에 딥러닝으로 알려져 있습니다)을 굳이 써야할 데이터는 아닌 것으로 판단됩니다.

그리고 비지도 학습이라는 건 데이터에서 input값만 알고 있고, output 값을 모를 때 데이터를 분류하기 위해서 쓰는 작업입니다. 모르는 내용을 알아 맞추는 작업이 아니에요.

(중략)

혹시나 다른 전문가 분께서 보시기에 필자의 답장이 잘못되었다고 판단되면 댓글로 or 이메일로 지적해주시면 좋겠다.

 

나가며 – 모르면 당한다

어느 보안전문 코스닥 상장사에 일하는 분이 수업에 찾아왔다가 정부 과제를 맡았는데 “무조건 99%가 나와야 된다네요. 머신러닝이 무슨 요술봉인줄 아는 사람이 많다는 말 안 믿었는데, 진짜 그런 사람 엄청 많더라구요 ㅠㅠ” 라고 하시더라.

그런 이야기를 들어주기도 정말 답답하더라.

합리적인 요청이 들어오면, 또 공익에 도움이 된다 싶으면 바쁜 와중에라도 짬을 내서 돕고 싶은 마음이 생기는게 인지상정이다. 그런데, 위에 보신 내용의 요청이 들어오면 박사 친구들끼리 낄낄거리는 웃음거리로 쓰지 않기 위해서 마음 수양을 해야한다. (or 메일을 빨리 삭제한다.)

그 동안 컨설팅 의뢰는 무조건 거절한다고 못을 박고, 외부 강의 요청도 어지간하면 칼같이 끊어버렸던게 모두 같은 이유에서였다.

누군가는 저런 요청에도 무조건 맞출 수 있다는 식으로 프로젝트를 우선 따오는게 중요하지 않냐, 그게 진정한 세일즈의 마인드 아니냐고 반문하실수도 있겠다. 왠지 잘 모르는 “갑”을 골려먹는 “을”들이 평소에 하는 말인 것 같기는 하지만….

이런 종류의 지적 노동의 결과물을 의뢰하는 작업은 언제나 “갑”이 얼마나 똑똑하냐에 따라 실력이 좋은 “을”을 골라낼 수 있느냐가 결정된다. 비슷비슷한 상품 중에 가격이 낮은 상품을 구매하는게 아니라, 좋은 퀄리티의 상품을 구매하지 않으면 돈만 버리는 꼴이 되기 때문이다.

실력 좋은 사람 추천해달라고 전화 & 메일 받을 때마다 하는 이야기다.  당신들이 실력이 있어야 실력 좋은 사람을 알아볼 수 있는거 아닌가?

변호사 수임료 1억원을 써야하는데 백만원내고 수업 하나 들으면 훨씬 더 좋은 변호사를 찾을 수 있고, 시간을 효율적으로 써서 시간 당 페이 금액을 줄일 수 있다면 어떻게 하시겠는가?

 

비전문가들도 데이터 사이언스 공부해야하는 이유 (1)