머신러닝쪽에서 일할려면 수학이나 통계를 얼마나 잘해야하나요?

  • #3008389
    궁금 98.***.144.87 10620

    제 전공이 응용수학(통계)인데 처음에는 데이터 사이언스쪽으로 갈려다가 제가 수학/통계를 잘못하고 오히려 컴퓨터 프로그래밍 수업같은것들이 성적이 더 잘나와서 석사를 CS쪽으로 가서 머신러닝쪽으로 팔려는데 머신러닝쪽을 갈려면 수학적 지식이 어느정도 있어야 하나요?

    • 백문이불여일견 107.***.248.42

      알고리듬/ 코딩도 중요하지만, 수학에 상당한 자신감이 있으셔야 해요. 머신러닝쪽으로 대학원 가게되면 보시게 될 책들 중에 한권정도 보여드릴게요. 보시면 대략 답 나옵니다. One look is worth a thousand words — http://users.isr.ist.utl.pt/~wurmd/Livros/school/Bishop%20-%20Pattern%20Recognition%20And%20Machine%20Learning%20-%20Springer%20%202006.pdf

    • 현직입니다 76.***.129.216

      어느 정도 알고 계신지는 모르겠지만,

      Regression이나 classification model들을 만들 때

      Target vector가 feature space에 project되는지

      디멘션을 구분지을때 어떤 방식으로 하는지

      이정도만 아시면 됩니다.

      당연히 gauss markov theorem 정도는 증명하실줄알아야되구요

      OLS가 왜 unbiased mean+minimum variance릉 창출해내는지

      Newton rhapson method까지는 아시는게좋음

      어떤방식으로 특정 parameter들이 업데이트되는지..

      MLE가 뭔지, 각각 distribution fisher’s information까지는 derive할줄알면 됨

      GLM은 link랑 왜 deviance로 model performance를 측정하는지 음 quadi까진 몰라도됨

      아 그리고 왜 poisson model이 count data쓸 수 있는지 정도만 아시는 실력 되시면 됨 답은 뭐 t=1이기 때문이지만요

      Ridge, Lasso regression은 당연히 아셔야함 elastic net은 뭐 두개 아시면 자연스레 배우게됨

      Artificial neural network는 feed foward, back propagation 정도만 아시면 됨 즉 어떻게 파라미터들을 업데이트 하는지..

      뭐 tree based model들은 쉬우니까 당연히 아셔야함. Boundary가 어떤 방식으로 업데이트되는지.. 왜 그런지
      pca,svm,hierarchical model,lda,qda.. kernel method증명 rkhs properties.. etc

      뭐 더 많지만 사실 놀랍게도 이 모든걸 몰라도 되구요

      프로젝트만 잘해서 입잘털면됨

      • 묻어가는 129.***.151.28

        현직님을 만나뵙게 되어 영광입니다. 저희도 묻어가는 질문을 하나 올립니다. 제 와이프(외국인)가 수학을 학사+석사 하고 Medical imaging에서 연구직으로 일하고 있습니다. 수학 알고리즘짜고 Matlab으로 코딩한다더군요. Career 다음 단계로 Machine learning in medical imaging PhD 고려중인데 대부분 computer science나 electrical engineering department에 있더군요. 혹시 이런 경우 CS/EE background가 없는 상황에서 PhD를 EE로 할 수 있을까요? ML 분야 학교들은 다 크고 좋은 학교들밖에 없더군요. 고맙습니다.

    • 현직입니다 76.***.129.216

      폰으로 쳐서 오타가 좀 있네요

      위에 마지막 글은 역시 취직이 최종 목표실테니 한 말입니다

    • 람격 115.***.22.8

      박사 필수인가요 이분야는??

    • 현직님 59.***.95.239

      궁금한게 있는데 머신러닝을 하기위해서 먼저 공부해야 하는 분야가 뭐가 있을까요?
      제가 알기로는 통계, 데이터 베이스 그리고 c언어 정도로 알고 있는데 더 필요한것이 있을까요??

      • 잉여인간 61.***.29.205

        머신러닝 선수과목으로는 주로 확통,미적분학,선형대수학을 꼽습니다.
        랭귀지로는 C언어보다 R과 파이썬을 할 줄 알면 됩니다.

        • 잉여인간님 59.***.95.239

          혹시 데이터베이스는 해야하는지 여쭤볼수 있을까요?
          또 말씀하신 확통에 실험계획법과 회귀분석이 포함될까요? 회귀분석은 간단히 일원, 이원 개념만 알고 있는데 어느 정도 까지 알아야 하나 고민이 많네요. 아니면 기초 통계만 마친 후 바로 머신러닝 공부해도 괜찮을까요?

          • 잉여인간 61.***.29.205

            DB는 알고 있으면 뭔가 스케일이 있게 구현하는데 도움이 되겠지만
            머신러닝을 배우는데에 있어서는 당장 필요가 없습니다. 사실상 별개의 과목이라고 보시면 됩니다.
            또 기본적인 확통 개념을 알고 있다면 학부확통 내용을 모두 다 훑을것까지는 없을 것 같습니다.
            그때그때 필요한 개념을 찾아 학습해보시길

            • 감사합니다. 59.***.95.239

              이번에 미국으로 대학원 유학을 가게 되었는데 정말 감사합니다. 항상 행복하시길 바랍니다~

    • 현직입니다 76.***.129.216

      박사 필수는 아니구요 박사하시면 하는 일이 다르실수 있습니다 예를 들어 R&D에 수월하게 들어간다던지..등

      머신러닝을 쉽게 공부하시려면 제가 위에 써놓은 것 처럼 regression과 classification이 의미하는 바만 아시면 됩니다

      데이터베이스는 딱히 모르셔도 상관없습니다

      박사학위는 학사 석사 전공 상관없이 가실수 있으십니다

      저희학교 교수도 무슨 음악전공 학사 하다가 컴싸 재밌어보여서 컴싸 박사하고나서 교수된사람도 있습니다

      윗분이 말씀하셧듯이 R과 python만 아시면 문제 없어요

      실리콘밸리 취직이 목표시면 하둡 스파크 알아서 나쁠거 없습니다

      Medical imaging은 matlab sas python좀 쓸겁니다

      물론 R도 쓰실수 잇으시지만

      어차피 한 언어만 아시면 다른 언어 쓰실 때 명령어만 잘 찾으면 쓰시는데 부담없어요(즉 뭘할지만알면)

      기초통계만 아신다고해서 머신러닝을 수학적으로 풀수 잇을지는 좀 힘들수도있어요.

      수학은 linear algebra는 필수구요 절대로 이 수업때 저처럼 띵가띵가 노시면 안됩니다

      Taylor expansion을 왜 하는지 정도 아시면 되구요

      통계학 바이블 – https://www.amazon.com/Statistical-Inference-George-Casella/dp/0534243126

      수학좀 되시면 볼만한 머신러닝 북 –

      http://statweb.stanford.edu/~tibs/ElemStatLearn/printings/ESLII_print10.pdf

      위에거 다 무시하고 머신러닝, 통계에 대해 큰 픽쳐를 보고싶을 때 볼만한 레벨의 북-
      http://www-bcf.usc.edu/~gareth/ISL/ISLR%20First%20Printing.pdf

      • 묻어가는 129.***.151.28

        현직님 자세한 댓글 정말 감사드립니다. 책까지 검색해서 링크 올려주시니 더욱 감사합니다. 좋은 하루 보내시고 종종 게시판에 ML 현장 이야기 많이 들려주시기를 부탁드립니다. 정말 고맙습니다!

    • Data Scientist 172.***.18.242

      위에 답변이 정성스럽게 잘 요약되어있네요. 감탄합니다.

      Data Scientist로 취업이 목표하실 경우 , Database쪽과 관련해서 하나 첨부하자면, SQL 기본 Query 문제 물어보는 회사들 많습니다 (대기업 포함). R에서도 그렇지만 Python (Pandas library)에서 Data manipulation할 때 SQL query 비스무리하게 많이 쓰이구요. Normalization까지 들어갈 필요는 없지만 기본 query는 물론 join type들 자유자재로 쓰실 정도면 충분할 듯 합니다. (인터뷰시 Data Science+확률+통계+Experimental design + 간혹 CS algorithm 문제들 잘 준비하시면 됩니다).

      뭐 응용수학하셨다니 R / Python 숙달하셔서 은행권에서 Data Scientist로 취업하는 것도 좋겠네요.

    • vol 148.***.4.133

      페북에서 AI/Machine Learning./TensorFlow관련 그룹 한인모임이 활발합니다. 실력자분들도 많이 계신것 같구요. 가입하시고 거기에 질문을 올려보시는것도 방법입니다.

      https://www.facebook.com/groups/AIKoreaOpen/

      https://www.facebook.com/groups/TensorFlowKR/

    • 조교수 128.***.229.200

      관련분야에서 교수로 일하고 있습니다. 데이터 사이언스, 데이터 아날리틱스, 머신러닝, 인공지능, 응용통계, 등등 말은 다양하지만 결국 확률론에 기반을 두고 있으며 그말은 결국 응용수학의 한 갈래에 불과합니다. 진로를 결정할때는 내가 백그라운드가 충분히 있느냐도 고려하시겠지만 결국은 얼마나 이게 하고 싶은지가 더 중요합니다. 백그라운드는 열심히 하다보면 서서히 다 채워지는 것 같습니다.

    • 없지는않음 35.***.223.47

      위에서 나온 머신러닝 관련 알고리듬이나 그 것의 기반이 되는 수학에 대해서 많이 이야기 하긴 했는데,
      EE/CS (or CE)에는 저런 이론적인 부분 말고, 좀 엔지니어링 적인 부분에서도 많이 연구가 되고 있습니다.
      알고리듬은 기존에 있는 것을 그대로 쓰지만, 그 것을 이용한 전체 시스템을 개발한다던가, 또는 코드를 최적화 한다던가 (GPU를 쓸건지 전용 하드웨어를 쓸건지 등도 포함하여) 아니면 머신러닝을 수행하기 위한 전용 하드웨어 개발 분야도 있습니다.
      예를들어, 애플의 시리를 보면 음성인식, 자연어 처리 등 알고리즘 측면에서도 다양한 부분이 있지만, 시리 프로그램 자체를 만드는 일, 다른 앱과 연동시키는 부분, 그리고 시리를 어떻게 실행할 건가에 대한 부분…등등이 좀 더 엔지니어링적인 부분도 많습니다.
      순수하게 머신러닝하신 분들은 이런부분을 머신러닝 영역에 취급해 줄지는 모르겠지만, 하두 이쪽에 연구비가 많이 모이다 보니, 많은 EE/CS 에서 하드웨어/보안/OS/컴파일러 분야에서도 머신러닝 관련된 부분을 하고 있습니다.