본문 바로가기

DM ML AD

(128)
데이터 과학자의 취준 (자기소개와 면접) ** 주의: 현재 속해있는 조직 (회사, 팀)의 공식 정책/방향/입장이 아니다. 순전히 개인 의견이다. 데이터 과학자 채용을 위한 개별 인터뷰 질문 별로 언젠가는 글을 적기는 해야겠지만, 오늘은 지난 몇 년 동안 인재 영입 과정으로 서류를 검토하고 면접에 참여하면서 공통적으로 느낀 아쉬움에 관해서 적는다. 데이터 과학자뿐만 아니라 다른 개발 직군도 글에서 밝힌 것과 크게 다르지 않으리라 본다. 기획, 영업, 마케팅 쪽은 다소 다를 수도 있지만, 기본 원칙은 크게 차이가 없을 테니 독이 되지는 않을 거다. 제한된 경험이지만 백 명 넘는 지원자의 이력서를 검토했고 그중 수십 명은 직접 면접관으로 참여했다. 새로운 사람을 맞이하는 건 늘 설레기에 영입 시스템에 새로운 이력서가 등록되거나 면접 참석 요청이 오면..
데이터 과학자가 되고 싶어요. 데이터 과학의 스펙트럼이 워낙 다양해서 이것, 이것, 이것만 순서대로 하시면 됩니다 라고 말하기 어렵다. (구분이 좀 무의미하지만) 새로운 알고리즘 개발에 집중하는 연구자도 있고 다양한 문제 상황에서 알고리즘/기술을 적재적소에 활용하는 응용가도 있고 빠른 실행 속도나 쉬운 이용 등을 위해 코드 최적화에 뛰어난 프로그래머도 있고 때론 결은 조금 다르지만 데이터 과학/인공지능에 특화된 하드웨어를 개발하는 이들도 있다. 여러 분야를 두루두루 다 잘하는 만능/천재 데이터 과학자가 되면 좋겠지만...(ㅠㅠ) 일반인들이 흔히 생각하는 데이터 과학자를 가정하고 글을 적는다. 하지만 각자는 '나는 어떤 데이터 과학자가 되고 싶다'를 명확히 해서 테크트리를 밟았으면 하는 바람이다. 종종 비슷한 류의 질문을 받는데 다양한..
그래서 RIG가 뭔데? 다른 팀, 특히 데이터 과학과 무관한 개발자나 기획자들과 시스템/모델 개편에 관해서 회의할 때 예측 모델의 성능 평가는 RIG로 하겠다고 하면 '근데 RIG가 뭐예요?'라는 질문을 거의 매번 듣곤 한다. 그냥 예전부터 으레 사용하던 지표라서 그냥 RIG를 보면 된다는 생각을 가졌는데, 이걸 비전공자들에게 정확히 설명하기가 어려웠다. 그냥 모델의 정확도를 측정하는 지표예요 정도로 얼버무리고 회의를 끝낸다. 상대방도 굳이 RIG에 대해서 더 궁금해하는 것 같지 않은 눈치다. 설명하기도 힘들고 짧게 설명 듣고 바로 이해하기도 힘드니 대강 얼버무리는 게 서로에게 좋았다. 데이터 과학이나 머신 러닝을 오래 한 이들도 RIG라는 용어를 처음 들어보거나 알더라도 정확히 무슨 개념이고 어떻게 계산하는지 쉽게 설명하기 ..
전환 예측은 왜 어려운가? 달고나 19에서 불확실성이 과금 방식의 변화를 이끌었다고 설명했다. 광고주의 불확실성을 해소하기 위해서 전환 중심의 광고가 나올 수밖에 없지만, 플랫폼은 오히려 확실한 트래픽에서 불확실한 전환으로 전이됨으로써 큰 공경에 빠질 수 있다. 만약 플랫폼이 전환을 정확하게 예측할 수 있다면 광고주의 불확실성과 플랫폼의 불확실성을 모두 해소할 수 있다. 하지만 정확한 전환 예측이 어렵기 때문에 문제다. (노출 후) 클릭 (CTR)은 거의 정확히 예측하고 있으니 개념적으로 보면 (클릭 후) 전환 (CVR)도 쉽게 예측할 수 있으리라 오인할 수 있다. 이 글에선 왜 전환 예측이 어려운지 대략적으로 설명한다. 2018년도 If Kakao에서 발표한 슬라이드를 가져왔다. (참고로 상단의 Imp/Click/Conv 그림은..
논문읽기 My Style of Reading Papers 다른 분야도 비슷하겠지만 데이터 과학, 머신러닝 및 인공지능 관련 연구/업무를 하다 보면 논문을 읽어야 할 때가 종종 있다. 단순히 최신 동향이나 기술을 익히기 위함도 있지만, 새로운 분야, 문제, 데이터를 만날 때마다 기존의 지식, 경험, 휴리스틱만으론 부족하거나 해결하지 못하는 경우가 있다. 잘 정리된 텍스트북이 있으면 좋겠지만 업데이트/리비전에 시차가 있어서 최신 기술이나 문제를 다루지 못하는 경우도 많다. 뿐만 아니라 텍스트북은 그 분야 전체를 종합적으로 다루는 경향이 있어서 당장 알고 싶은 내용이 부실하거나 책의 여러 파트에 쪼개져 기술돼있어서 빠르게 기술을 습득하기 어렵기도 하다. 물론 처음부터 끝까지 완독 하면 좋겠지만... (ㅠㅠ) 어렴풋이 알고 있는 개념을 확인하기 위해서 예전에 읽은 책..
Exploration과 Multi-Armed Bandit 기계학습 (Machine Learning)의 최대 장점은 배운 대로 잘 한다는 점이다. 하지만 최대 단점은 배운 것만 잘 한다는 점이다. 즉 학습데이터가 커버하는 영역 내의 샘플은 잘 예측하는데, 영역 밖의 샘플은 보통 예측에서 많이 벗어난다. 학술 용어로 -- 학술 용어같지 않지만 -- Explorarion-Exploitation Tradeoff라 한다. 영어 사전에서 Exploration과 Exploitation을 찾아보면 탐험, 탐색, 개척, 개발 등으로거의 비슷하게 번역돼있고, 어떤 한글책에는 '탐험과 이용'이라고 표현한 것도 봤다. '탐험'은 맞는데 '이용'은 다소 부족한 느낌이다. 어쨌든 Exploitation (탐색?)은 우리가 알고 있는 영역 내를 샅샅이 훑어보는 조사라면, Explora..
내맘대로 알고리즘의 분류 Remark. 이 글은 이해를 돕기 위한 지극히 개인적인 관점에 의해 작성한 것이므로 일반화하지 말기 바람 개별 알고리즘의 상세한 설명은 다른 텍스트북이나 리소스를 참조하기 바람 일반적으로 기계학습 알고리즘은 크게 Unsupervised (비지도) 학습과 Supervised (지도) 학습으로 나뉜다. 최근에는 여기에 Reinforcement (강화) 학습을 추가해서 3개고 분류하는 경향이 있다. 좀 더 깊이 들어가면 정답 데이터 (Y)를 얻기 힘든 현실을 반영해서 Unsupervised와 Supervised의 특성을 결합한 Semi-supervised 학습이 추가될 수 있다. 정답은 아니지만 바람직한 방향으로 가이드하는 Reinforcement도 Supervised의 일종으로 봐야 한다는 게 저 개인의 ..
모델 복잡도 제어하기 무료하게 시간을 보내다 정신을 차리니 일요일 저녁이다. 1편에 이어 2편을 바로 적어야 할 것 같은 압박감에 급하게 적는다. 이 글은 모델 복잡도를 다루는 방법들을 종합/정리하는 차원에서 적기 때문에 개념적으로 설명한다. 개별 알고리즘의 상세 내용은 다른 레퍼런스를 참조하기 바란다. 작년에 팀에 새로 합류한 친구들과 약 스무 개의 모델 복잡도를 다루는 방법을 나열한 적이 있다. 모든 방법을 다 수긍한 것은 아니지만 일반적으로 활용하는 방법들은 대부분 정리된 듯하다. 당시에 논의했던 리스트는 지금 없어서 지금 당장 생각나는 방법들만 몇 개의 카테고리로 나눠서 적는다. 1편에서 적었듯이 모델 복잡도는 모델의 변수가 많고 차수가 높아서 복잡해지는 경우도 있고, 사용되는 데이터의 차원이 너무 크거나 데이터가 부..