본문 바로가기

데이터과학

(12)
광고 매출 공식 제목이 영 맘에 들지 않는다. 보통 제목을 정하고 일을 시작하는 편이다. 글의 제목을 먼저 정하고 상세한 내용을 적는다거나 프로젝트명이나 코드명이 맘에 들면 그 프로젝트나 프로그래밍이 그냥 잘 진행되는 것 같다. 때론 이름을 정했어도 빛을 보지 못하고 묻힌 경우도 많다. 어쨌든 좋은 이름을 가지면 기분이 좋다. 그래서 이번 글의 전개가 심히 걱정된다. 기업이나 개인이 광고를 집행함으로써 매출을 극대화하는 것에 관한 글이 아니다. 온라인 광고 플랫폼을 갖은 기업이 광고를 통해서 매출을 올리는 일반적인 방법 또는 전략을 수식의 형태로 정리한 거다. 수식이라 해서 뭔가 복잡한 건 아니다. 일부 용어의 생소함은 있겠지만 곱셈으로만 이뤄졌다. (부분적으로 나눗셈이 포함됐다고 반박할 수도 있으나 나눗셈도 곱셈의 변..
숫자에서 자유롭자 데이터 분석은 수놀음이다. 하지만 수만의 게임은 아니다. 여러 선택지 중에서 어떤 알고리즘 (모델)을 취할 것인가?라는 아주 흔한 상황을 생각해보자. 트레이닝 데이터로 모델들을 학습하고, 테스트 데이터로 각 모델의 정확도를 측정해서 가장 좋은 성능의 모델을 최종 선택할 거다. 원칙적으로 틀린 건 없지만 전적으로 옳은 것도 아니다. 숫자가 가장 객관적이지만 객관성만으로 모든 결정이 이뤄지는 건 아니다. A가 B보다 10% 낫다는 것이 과연 A가 답이다라는 걸 의미하는 걸까? 보통은 그렇다. 보통은… 숫자가 잘 작동할 때는 다른 여러 근거가 있는데 화룡점정으로 수치가 그 결정을 뒷받침해줄 때다. 아니면 어떤 수치를 얻었는데 그걸 제대로 해석하거나 다른 근거가 함께 동반될 때다. 게임이 복잡할수록 숫자 하나만..
AI, 그래프를 배우다 (Mastering GNN) 이전 포스팅에서 BDL을 푸는 방법을 간략히 정리했는데, 사실 이직 후에 처음 공부한 것은 Graph Neural Network (GNN)이었다. GNN도 카카오에서 마지막까지 남겨놨던 주제인데 운명의 장난처럼 이직하자마자 공부하기 시작했다. BDL과는 달리 GNN은 이미 많은 Survey 논문들이 있어서 체계를 잡는 데는 다소 쉬웠으나 처음 GNN이 어떻게 구성, 학습되는지를 이해하기까진 시간이 필요했다. 다행히 오래전에 배웠던 Message Passing 메커니즘으로 현재의 대부분 GNN을 설명할 수 있다는 걸 익힌 후론 진도가 빨라졌다. Signal processing의 filter 개념으로 시작해서 여러 수식들이 나올 때는 방황했는데 MP로 정리된 후로는 다소 쉬워졌다. 물론 지금도 필터로 설명한..
비공식 베이지언 딥러닝 체계 **Unofficial** 이직 후로 아직 업무를 본격 시작하기 전이어서 몇 가지 공부하고 있다. 산학 과제 때문에 Bayesian Deep Learning (BDL)을 좀 공부했는데, 카카오에 있을 때부터 이걸 계속 뒤로 미룬 이유를 알 것 같다. 나는 기본적으로 Frequentist여서 Bayesian의 방식을 받아들이기가 너무 어렵다. 여러 강의 자료와 많은 논문을 읽으면서 나름 가장 기초적인 걸 깨우친 듯해서 정리하려 한다. 좀 이상한 점은 BDL이 꽤 많이 연구됐는데, 이를 다룬 Survey 논문을 찾기가 어렵다는 거다. 2~3편이 있긴 한데 분야의 폭과 깊이에 비해서 많이 부족하다. 보통 새로운 분야를 시작할 때 일단 여러 서베이 논문을 읽으면서 그 분야의 전체를 일단 조망하고 필요한 세부 기술을 익히는 방법을 주로 사..
대체 데이터와 다크 데이터 ** 주의. 소개하는 대체 데이터와 다크 데이터를 제대로 공부해서 개념을 완벽히 이해한 상태로 글을 적는 것이 아니고, 이런 개념을 소개한 유튜브 영상과 책을 소개하기 위해서 적는다. 더 자세한 내용은 직접 찾아보고 익히길 바란다. 주식하는 분들에게 유명한 3프로TV에 11월 1일에 두 개의 영상이 올라왔다. 명지대학교 박정호 특임교수의 라이브 영상을 2 편으로 쪼갠 것인데, 대체 데이터를 이용한 투자 사례를 다룬 것이다. 부끄러운 고백인데, 데이터 과학자란 업에 오래 몸담고 있지만 대체 데이터 (alternative data)란 용어를 처음 접했다. 그동안 업무/서비스와 관련된 직접적인 데이터들이 많았기 때문에 굳이 불확실성이 높은 데이터, 즉 대체 데이터에 관한 생각을 할 필요가 없었는지도 모르지만,..
알고리즘을 경배하라? 우리는 알고리즘의 시대를 살고 있다. '알고리즘'이란 단어가 흔해졌다. 예전에는 평생 들어보지도 못했을 사람들의 입에서 알고리즘이란 단어가 심심찮게 나온다. 제대로 이해하고 말했다고는 보지 않지만 그만큼 알고리즘이란 단어가 흔해졌고 일종의 알 수 없는 전지전능한 무엇을 총칭하는 용어가 됐다. 이글에서 알고리즘의 사전적 의미까지 뒤질 필요는 없을 거다. 그냥 일반인들이 느끼는 알고리즘의 느낌적 느낌에서 시작한 글이다. 어느 순간부터 '알고리즘'은 그저 마법의 단어가 됐다. '알고리즘이 알아서 해줘요'라고 하면 모든 상황이 종결된다. 알고리즘의 간택으로 벼락 유명인이 된 콘텐츠 제작자들의 간증을 유튜브에서 심심찮게 볼 수 있다. 그 단맛을 잊지 못해서 다시 간택을 받으려고 알고리즘 친화적인 콘텐츠를 제작해서..
면접 과제 II 이전 글에서 원활한 진행과 바른 평가를 위해서 인터뷰 과제를 제시하곤 한다고 했다. 다양한 종류의 과제가 가능하겠지만, 본인이 참여한 인터뷰에서는 다음의 3가지 유형의 과제가 많았다. 예시 데이터와 함께 문제 상황을 설명하고 이를 어떻게 해결할지를 묻는 유형 제공된 데이터를 분석하거나 제시된 알고리즘을 구현하는 유형, 그리고 현업에 적용한 논문을 읽고 리뷰하는 유형 논문 리뷰 유형은 이전 글에서 자세히 적었고, 이번 글은 앞 두 유형에서 공통적인 걸 설명한다. 간혹 특정 기계학습 알고리즘을 특정 언어로 구현하라는 과제가 있을 수도 있으나, 문제 해결 방법을 요구하는 과제들은 '이것만이 정답이다'라는 그런 것이 없다. 다만 문제를 얼마나 포괄적으로 이해해서 다양한 시각으로 접근했는지를 보기를 원한다. 결론..
모델 복잡도 제어하기 무료하게 시간을 보내다 정신을 차리니 일요일 저녁이다. 1편에 이어 2편을 바로 적어야 할 것 같은 압박감에 급하게 적는다. 이 글은 모델 복잡도를 다루는 방법들을 종합/정리하는 차원에서 적기 때문에 개념적으로 설명한다. 개별 알고리즘의 상세 내용은 다른 레퍼런스를 참조하기 바란다. 작년에 팀에 새로 합류한 친구들과 약 스무 개의 모델 복잡도를 다루는 방법을 나열한 적이 있다. 모든 방법을 다 수긍한 것은 아니지만 일반적으로 활용하는 방법들은 대부분 정리된 듯하다. 당시에 논의했던 리스트는 지금 없어서 지금 당장 생각나는 방법들만 몇 개의 카테고리로 나눠서 적는다. 1편에서 적었듯이 모델 복잡도는 모델의 변수가 많고 차수가 높아서 복잡해지는 경우도 있고, 사용되는 데이터의 차원이 너무 크거나 데이터가 부..