-
[비공개] 임의성의 활용 (On Randomness)
마지막 포스팅 이후로 꽤 시간이 지났다. K에서 S로 이직하면서 스스로 입단속한 것도 있고 새로운 환경에 적응하는 시간이 필요했다. 재택을 종료하고 출퇴근 시간이 길어졌고 퇴근 후에 밀린 유튜브를 보기에도 빡빡하다. 면접관의 입장에서 인터뷰가 어때야 한다는 여러 편의 글을 적었지만, 역으로 면접자의 입장에서 놓이니 글과는 미묘한 다름이 있었다. 기회가 되면 허용된 범위 내에서 K와 S의 장단점에 관한 글도 적을 수 있길 바란다. 그동안 적고 싶었던 몇 개 주제가 있었지만 이미 기억의 저편으로 지나갔고, 지난 주말에적으려 했던걸 짧게 적는다. 예를 들어, 랭킹 시스템을 만든다고 했을 때 가장 최악의 알고리즘은 뭘까? 내가 생각하기에 최악은 단순히 성능 (정확도)가 낮은 알고리즘이 아니라 기준이 없는 알고리즘이다. 명확한 기준에 ..추천 -
[비공개] 알고리즘을 경배하라?
우리는 알고리즘의 시대를 살고 있다. '알고리즘'이란 단어가 흔해졌다. 예전에는 평생 들어보지도 못했을 사람들의 입에서 알고리즘이란 단어가 심심찮게 나온다. 제대로 이해하고 말했다고는 보지 않지만 그만큼 알고리즘이란 단어가 흔해졌고 일종의 알 수 없는 전지전능한 무엇을 총칭하는 용어가 됐다. 이글에서 알고리즘의 사전적 의미까지 뒤질 필요는 없을 거다. 그냥 일반인들이 느끼는 알고리즘의 느낌적 느낌에서 시작한 글이다. 어느 순간부터 '알고리즘'은 그저 마법의 단어가 됐다. '알고리즘이 알아서 해줘요'라고 하면 모든 상황이 종결된다. 알고리즘의 간택으로 벼락 유명인이 된 콘텐츠 제작자들의 간증을 유튜브에서 심심찮게 볼 수 있다. 그 단맛을 잊지 못해서 다시 간택을 받으려고 알고리즘 친화적인 콘텐츠를 제작해서 알고리..추천 -
[비공개] 최적화 알고리즘
누군가 '인생은 속도보다 방향이 중요하다'라고 말하면 이과생이 등장해서 '속도는 벡터로 이미 방향을 포함한 값이므로 속도가 아니라 속력이다'라고 정정할 거다. 정의상 속도는 힘의 방향과 힘의 크기가 결합된 벡터, 즉 '속도 = 방향 + 속력'이다. 늦더라도 언젠가는 원하는 목표를 이루는 사람들을 보면 인생에서 방향이 중요한 듯하다가도 속력이 크면 더 빨리 성공하거나 실패하더라도 아직 젊으니 새로운 도전을 할 수 있어 속력이 더 중요한 듯하기도 하다. 사람마다 가치관과 방식이 모두 다르니 방향이니 속력이니 하는 논쟁은 각자의 사정에 맞게 잘 조절하면 된다. 어쨌든 인생에서 방향과 속력이 모두 중요하듯이 최적화도 방향과 속력이 중요하다. 머신러닝 모델을 최적화하는 방법은 "An Overview of Gradient Descent Optimization Algorithms"는 논문을 참..추천 -
[비공개] SOTA와 휴리스틱
매우 다양한 사람들이 데이터 과학이나 기계학습에 참여하고 있다. 그 다양성을 모두 나열할 수 없지만 아주 단순화해서 양 극단의 두 부류의 데이터 과학자가 있다. 많은 문제를 감으로 해결하려는 휴리스틱파와 무조건 최고의 알고리즘을 사용해야 한다는소타파가있다. 쉽게예상하듯이나는 휴리스틱파 쪽이다. Beyesian vs Frequentist 논쟁도 아니고, 어느 쪽이 낫다/맞다를 논하려는 건 아니다. 휴리스틱 Heuristic은 '복잡하고 불확실한 상황에서 문제를가능한 한빨리 해결하기 위해 쓰는 직관적 판단 또는 추론' 정도로 정의한다. 어떤 사전은 '주먹구구식 셈법'이라고 소개하기도 했지만 본 글의 취지와는 맞지 않아 보인다. 어쨌든 복잡하고 불확실한 상황에서 명확한 답을 찾기 어려울 때 상황적 증거를 바탕으로 경험적 지식으로그럴듯한해결책 (feasible s..추천 -
[비공개] 데이터 과학자와 머신러닝 개발자
별로 대수롭지 않은 주제지만 타임라인에 왕왕 등장해서 그냥 짧게 적는다. 평소에 나는 데이터 과학자 (Data Scientist)인지 아니면 머신러닝 개발자 (ML Enginerr)인지를 궁금해한 적이 별로 없었다. 데이터 과학자가 머신러닝 개발자인 듯하고 머신러닝 개발자가 데이터 과학자인 듯하고그게그거라생각했다. 데이터 과학을오래 하다 보면머신러닝 개발자가 돼있고 반대로 머신러닝 개발을오래 하다 보면자연스럽게 데이터 과학자가 돼있다고 본다. 그럼에도 굳이 구분을 해야 하는 걸까? 데이터 과학자든 머신러닝 개발자든 공통적으로 수학 지식, 프로그래밍 스킬, 그리고 도메인 이해가 필요하다. 이것에 이견을 갖는 사람은 거의 없을 거다. 기본기술 세트가같으니 '데이터 과학자 = 머신러닝 개발자'인 듯한데, 또곰곰이생각하면 용어 (데이터 vs 머신러닝..추천 -
[비공개] 라떼의 텍스트 마이닝 Text Mining for Dummy
텍스트 마이닝이란 표현도 이젠 좀 올드해 보인다. NLP는 이미수십 년전부터 있던 건데 여전히 유효하고 딥러닝 이후 더 중요해졌다. 랭귀지 모델이란 용어는 언제부터 사용된 걸까? 어쨌든 요즘 자연어 연구의 방법은 다소 획일화된 듯하다. 일단 단어를Word2Vec이나GloVe 등으로워드 임베딩을하고, 이를 문장 (등의) 단위로 연결해서 RNN 또는 이후 등장한 여러 딥러닝 기반 모델에 넣으면 그냥 끝난다. 자연어처리와는다소 무관한 경력을쌓긴 했지만그래도 키워드와 텍스트는 늘 조금씩 다뤄왔기에 전통적인 텍스트 마이닝 기법들을 정리, 소개하려 한다. 최근에 입문한 분들은 요즘 방식이 더 친숙하겠지만, 과거의 방식에서 여전히 유효한 것들이 많으니 참고 삼아 읽으면 보면 좋을 거다. 텍스트 마이닝이라고 했지만, 오랫동안 검색 서비스 관련 업무에 ..추천 -
[비공개] 미래의 데이터 과학자
인턴 파투 이후로 준비했던 과제를 직접 구현해서 실험해야 했다. 전에도 적었지만 데이터 과학자로서 나의 결정적인 단점은 프로그래밍에 능하지도 않고 즐기지도 않는다는 거다.잘하지못하니 즐기지 않는 것인지 아니면 즐기지 않으니잘하지못하는것인지는구분하기 어려우나 현재는잘하지도못하고 즐기지도 못한다. 평소에는 여러 문제 상황에서 머리로만 검토해서 해결 방법을 제시하거나 필요한 데이터만 간단히 SQL과 엑셀 잡으로 분석하고, 더 정교한 실험이나 프로덕션은 더 잘하는 담당자에게 넘겨주면 된다. 그럼에도 1년에한두 번꼴로 직접 더 복잡한 프로그램을코딩해야 할때가 가끔 있다. 모두 바빠서 손이 없을 때도 있고 이전 업무와는 결이 다른 POC 작업일 때도 있고 아주 가끔은 아직 서비스와는 조금 먼 최신 기술을 직접확인해봐야 ..추천 -
[비공개] 데이터 과학자의 글쓰기
글쓰기 테크닉에 관한 글이 아니다. 내가 글을 수려하게 잘 적는다는 의미도 아니다. 그냥 데이터 과학자를 포함한 모든 지식 노동자는, 아니 누구나 평소에 글 적는 걸 즐기고 연습해야 한다는 취지다. 생각은 글로 표현되고 글에서 행동이 나온다. 여름 인턴 멘토링을 준비하면서 멘티들에게 책을 추천, 선물하는 과정이 있었다. 정리 문서에 '개발자의 글쓰기'란 책이 중복 추천되는 걸 봤다. 팀의 다른 멘토가 이 책을 언급했지만 다른 개발자들도 글쓰기의 필요성과 중요성에 공감하고 있는 듯하다. 물론 해당 책은 개발자들이 주로 다루는 네이밍 방식, 소스 코드나 커밋 로그에 주석이나 릴리즈 노트 적는 법, 위키나 지라 작성 법, 제안서 적기 등 Technical Writing을 다루기는 하지만, 적어도 개발자에게 글쓰기가 중요하다는 점은 시사하고 있다. 재택..추천 -
[비공개] 데이터 과학자의 생각법
원래는 지난 면접들을 통해서 '얘네들이 아직은 데이터 문제를 해결하는 프로세스 또는 프랙티스가 약하구나'라는 발견에 기반해서 '데이터 문제 해결하기'라는 글을 적으려 했었다. 그런데 이미 달고나 초기에 '데이터 문제 해결 프로세스' (https://brunch.co.kr/@jejugrapher/219)라는 글을 적었다는 깨달았다. 그럼에도 생각은 늘 상황에 따라서 바뀌는 거라서 지난 인터뷰에서 느낀 감정과 생각으로-- 1~2주를 쉰 후에 -- 같지만 다른 글을 적어야겠다고 마음먹었는데, 지난밤에 우연히 봤던 글을 함께 공유하면 좋을 것 같아서 짧게 적는다. 인터뷰에서 느꼈던 감정은 큰 부분이 결국 생각하는 방법에 관한 거였다. 요즘 데이터 과학이나 ML 개발자를 하겠다는 친구들의 스킬은 분명 내가 그네들의 나이 때 가졌던 것보다 월등하다는 걸 알고 있다. 그럼에도 아직은..추천 -
[비공개] 좋은 데이터 과학자란?
인턴십 인터뷰가 거의 끝나갈 무렵 현타가 왔다. 지원자에 대한 나의 평가는 온당한가?라는 의문이 문득 들었다. 아무리 객관적이려고 해도 평가라는 게 완전한 객관성을 담보할 수 없다. 나는 괜찮게 봤는데 다른 면접관들은 별로라고 한다. 그 반대의 경우도 흔하다. 모두가 좋다고 하거나 모두가 아니다고 하는 경우는 마음이 편한데, 의견이 엇갈리면 심적으로 미묘한 갈등이 생긴다. 내 돈으로 월급을 준다거나 직급이라도 있어서 내가 책임질 수 있으면 내 주장을 더 강하게 내세우겠지만, 그렇지 않기 때문에 의견을 포기하는 경우가 흔하다. 나를 아는 또는 같이 면접에 들어간 이들이 이걸 보면 동의하지 않을지도 모르겠으나 누군가 이 지원자를 합격시켜야 한다고 했을 때 탈락 의견을 내지도 않았고, 탈락시키려는 걸 굳이 합격으로 고집하지..추천