'컴퓨터사이언스'에 해당되는 글 1건

  1. 2013.12.26 학과/전공에 따른 데이터마이닝 구분
Share           Pin It

최근 빅데이터 Big Data, 스마트 데이터 Smart Data, 데이터분석 Data Analytics, 예측분석 Predictive Analytics, 데이터 사이언티스트 Data Scientist 등과 같은 용어가 범람하는 것은 그만큼 데이터마이닝 Data Mining에 대한 수요와 인기가 높아졌다는 반증일 것입니다. 이전 글에서 데이터마이너가 되기 위해서 이런 학과에 진학하거나 수업을 들으면 된다는 류의 Q&A를 몇 차례 다뤘습니다. 일반적인 의미에서 그런 진학/진로 상담이 별로 어렵지는 않습니다. 하지만 세부적으로 들어가면 각 학과마다 조금씩 관점의 차이가 있기 때문에 단순히 이런 수업을 수강하면 된다 식의 조언으로는 충분치 못한 것같아서, 오늘은 학과/전공별로 데이터마이닝이 어떻게 다른지에 대한 글을 적으려 합니다. 데이터마이너가 되기 위한 테크트리는 일반적인 마이닝 수업을 들으면 충분하지만, 어떤 학과에 진학하느냐에 따라서 문제를 대하는 관점과 솔루션에 접근하는 방법이 조금 다를 수 있습니다.

일반적으로 데이터마이너가 되기 위해서는 컴사/컴공과나 수학/통계학과를 진학하고, 나중에 머신러닝이나 인공지능 관련 대학원에 진학하라고 조언했습니다. 대부분의 데이터마이너들이 이 두 과에서 배출된 것도 사실이기 때문입니다. 여기에 추가적으로 저와 같이 산업공학과를 진학해서 데이터마이닝을 하시는 분들도 다수 계시고, 또 다른 전자, 화학/화공, 생명과 등을 진학해서 특화된 분야에서의 데이터마이닝/분석을 전공하시는 분들도 여럿 있을 것입니다. 그러나 제 주변의 IT기업이나 금융 분야에서는 컴사/컴공, 수학/통계, 산공과 출신들이 대부분 데이터 분석 업무를 하고 있습니다. (어떤 과를 진학하더라도 수학과와 컴공과의 관련 과목들은 대학시절에 -- 복수/부전공까지는 아니더라도 -- 이수/청강해두는 것이 좋습니다.)

가장 먼저 수학/통계학과 출신들은 문제를 수학적으로 잘 정리하고, 수학적 논리로 해결하는 경향이 강한 듯합니다. ANOVA 분석에서 많이 사용하는 기무가설 H0[각주:1]를 세우고, 수집된 데이터를 통해서 이 가설의 기각 여부를 따지는 경우가 많습니다. 최근에 빅데이터에서 왜 수학/통계학자들이 두각을 못 나타내느냐라는 여러 설명에서도, 기본적으로 수학/통계학자들은 많은 데이터에서 의미있는 패턴을 찾아내는 것이 아니라, 먼저 가설을 세우고 그 가설의 유의미를 판단하도록 프로그래밍되었기 때문에 빅데이터 환경에서는 맞지 않다는 얘기를 종종 합니다. 즉, 이미 가설이라는 솔루션 (또는 의미)을 미리 산정해두고 그것이 맞느냐 틀리냐를 묻는 것이 통계학자들의 접근방법이기 때문에, 데이터 더미에서 의미 (있을 수도 있는 것)를/을 찾는 것과는 방향이 반대입니다. 수학/통계학과의 경우 다양한 알고리즘이나 (문제에 맞는) 접근법의 개발/구현보다는 정형화된 프로세스에 따라서 현상을 분석, 해석하는데 강점이 있습니다.

컴퓨터사이언스 또는 컴퓨터공학과 출신의 데이터마이너들은 좀더 소프트웨어적입니다. 데이터 분석을 위한 인프라 구축에도 조금 더 능하고, 어떤 알고리즘을 사용해서 더 최적의 솔루션을 구현해낼 것인가에 많은 관심이 있는 것같습니다. 어릴 때부터 컴퓨터 구조와 프로그래밍에 친숙해서 주어진 문제를 가장 효율적인 (메모리 사용 및 계산 시간 단축) 코드로 해결할 것인가?에 많은 관심을 가지고 있습니다. 연구실마다 관심분야가 조금씩 다르긴 하지만, 문제 중립적인 데이터마이닝/인공지능/패턴분석 알고리즘 개발이 컴공과에서 나오는 것은 당연한 결과입니다. 수학/통계학과에서 수학적 모델링에 강하다면 컴공과에서는 알고리즘의 구현과 개선에 더 강점이 있는 듯합니다.

그리고 산공과 출신은… 일반적으로 산업공학과를 생각하면 최적화, 효율과, 표준화 등이 가장 먼저 떠오르지만, 저는 산업공학과는 문제해결 problem-solving 이라는 단어가 가장 먼저 떠오릅니다. 산학연구를 하면서 흔히들 '다른 과에서 못하면 우리가 해야죠'라며  말하면서, 수학/통계과나 컴공과 또는 다른 과에 특화된 문제가 아니면 거의 모든 문제를 해결해줄 수 있다고 생각하는 과가 산공과입니다. 그래서 산공과 마이너들은 다양한 문제 상황에서 어떻게든 적당한 feasible/viable 솔루션을 찾아내는데 강점이 있습니다. 산공과 학생들도 컴공과 수업을 많이 듣지만, 그래도 알고리즘 구현 능력보다는 다양한 분석툴을 사용해서 결과를 제공해주는 응용력이 높은 편입니다. 당연히 수학적 증명은 수학과만 못하고 솔루션 구현은 컴공과만 못하지만, 문제 해결능력/응용력에 강점이 있기 때문에 다양한 산업 분야로 진출할 수 있습니다.

전자 (시그널 프로세싱), 화공 (플랜트/프로세스 컨트롤), 생명/의약 (바이오 인포메틱스) 등에서도 데이터분석 및 마이닝을 전공하는 연구실들이 많이 있지만, 이들은 워낙 애플리케이션이 명확해서 주변에 데이터마이닝을 많이 사용하는 IT/인터넷이나 금융권 (은행권, 카드회사, 보험회사 등) 쪽으로는 별로 진출해있지 않은 듯합니다. 특화된 애플리케이션에 대한 이해도가 이들의 강점이지만, 앞서 설명한 과들의 강점은 가지지 못했을 가능성이 높습니다.

그래서 요약하자면.. 단순히 데이터 마이너가 되고 싶다라는 모호한 목표가 아니라, 자신이 원하는 분야 또는 방식을 명확히 정해서 수학적 모델링이나 가설검증 등에 재능/관심이 있으면 처음부터 수학/통계학을 전공하고, 알고리즘 개발 및 구현에 탁월하다면 컴사/컴공으로, 다양한 문제들을 해결하는데 재미가 있을 것같으면 산공과를, 그리고 다른 특화된 분야의 데이터마이닝으로 진출하려면 그 과로 진학하는 것이 좋습니다. 그리고 관련 과들이 필요한 수업은 모두 이수하는 것이 이상적입니다.

언급된 모든 과를 면밀히 알고 있는 상태에서 기술한 것이 아니기 때문에, 세부적으로 다양한 이견이 있을 수 있습니다. (적어도 산업공학과는 다양한 애플리케이션에서의 문제해결능력은 맞습니다.) 자기 하기 나름이라고 생각할 수도 있겠지만, 대학에 진학해서 듣는 수업들 및 주변 분위기 (교수, 선배, 동료, 후배 등과의 관계/대화)에서 각 학과에 맞는 세계관 또는 문제/솔루션에 접근하는 방식 등을 몸으로 습득하게 됩니다. 그렇기에 각 학과의 강약점 및 접근법에 대한 차이를 알고, 나와의 조화/궁합을 생각해서 진학하는 것이 여러모로 좋습니다.

==

페이스북 페이지: https://www.facebook.com/unexperienced

  1. 기무가설 (Null Hypothesis) 은 'A와 B는 통계적으로 유의미하게 같다' 식으로 표현합니다. [본문으로]

댓글을 달아 주세요