의학계와 데이터 사이언스

얼마전 의학 연구직으로 있는 학창 시절 친구를 만났다. 자기네가 데이터 작업을 하고 있는데, 여기에 머신러닝인지 인공지능인지라는걸 쓰면 뭔가 좀 더 획기적인 정보를 찾아낼 수 있냐고 묻더라.

논문을 한 번 읽고, 두 번 읽고, 세 번 읽고, 아무리 생각해봐도 별 대단할게 없는 사회학자들 데이터 리서치하는 수준의 정보들인데, 여기에 머신러닝을 어떻게 써보겠다는건지 잘 이해가 안 되더라. Pabii 수업 시간에 계속 주장하는대로, 데이터에 Non-linear 패턴이 없으면 머신러닝이라는 계산 작업은 아무런 의미가 없다. Linear 관계를 찾는 작업, 특히 데이터 샘플이 랜덤 오차를 갖고 있는 경우라면 단순한 OLS가 최적의 Estimation 방법이기 때문이다.

굳이 뭔가 더 작업을 해 보겠다면 Latent variable을 찾아내기 위해서 Factor Analysis를 해 볼 수는 있다. 근데, 그렇게 찾아낸 Factor들에 이름을 달아주지 않고 의학 저널에 논문을 Publish 할 수 있을까? 적어도 내 연구 필드에서는 (거의) 불가능한 부분이었기 때문에, 의학 저널들이 제대로 통계 스터디를 한 논문에게만 bar를 넘을 수 있도록 해 준다면 어렵지 않을까 싶다.

(Source: Powerful Medical)

 

그럼 좋은 논문이란 뭘까?

몇 달 전에 수업에 찾아오셨던 약학 전공자 분이 수업 끝에 Nature 논문 하나를 보여주시던데, 거기에 딱 위의 Factor Analysis 개념을 활용한 Neural Network 모델이 있었다. 참고로 이런 모델의 공식 명칭은 Auto-encoder다.

약학 쪽 지식을 하나도 안 갖고 있기 때문에 무슨 말인지는 몰랐지만, 어쨌건 입력 변수 n개는 매우 많았는데, 이걸 5개의 Key element들로 추려내려고 Auto encoder를 활용했고, 그래서 이전과는 다른 결과값을 찾아냈다는게 논문의 요지였다.

분명히 그들이 찾아낸 결과값이 충격적이었기 때문에 Nature라는 어마어마한 저널에 출판이 되었을 것이라고 생각한다. 여기서 Auto encoder의 역할은 통계학 수업 때 배우는 Factor Analysis를 좀 더 그래픽 모델 스럽게 구현한 것에 불과하다. (좀 더 수학적으로 정확하게 이야기하면, Latent variable을 찾아내는 계산을 Linear말고 Non-linear하게 했다는 뜻이다.) 말을 바꾸면, Auto encoder를 썼기 때문에 그 논문이 Nature에 나가는 대박 논문이 된게 아니라, (Non-linear) Factor Analysis 덕분에 남들이 그 동안 찾지 못했던 결과를 찾아낸 것이라고 봐야한다.

글 첫머리에 이야기한 그 의학 연구직에 있는 친구가 필자를 찾아온 것은 아마도 본말이 전도된 정보를 들었기 때문일 것이다. 의학 분야에서 도메인 지식이 하나도 없는 필자가 그 친구를 도와줄 수 있는 것은 모델 코드를 쳐 주고, 특정 모델이 왜 작동하지 않는지, 어떤 모델을 쓰는게 논리적으로 맞는 건지에 대한 통계학적 경험을 전달해 줄 수 밖에 없다.

아주 최근에는 비슷한 일을 의학 교수님 한 분과도 겪어 봤다. 특별히 대단할 것 없는 Non-linear regression을 돌린 모델이 들어간 논문인데, 그 분야에서는 뭔가 중요한 결론이었을지 모르지만, 통계 모델만 봤을 때는 “오~ 여기에 머신러닝의 Ensemble 모델을 쓰면 결과를 완전히 뒤 엎을 수 있습니다” 따위의 코멘트는 할 수 없는 논문이었다. 기대한 것과 다르다고 불편한 답장을 보내셨는데, 뭐라 할 말이 없더라. (Pabii 수업까지 한 달 들으신 분인데, 이분 수업 헛들었다는 생각이 들어서 메일 받고 좀 기분이 나빴다.)

아마도 거의 대부분의 연구들이 다루는 데이터가 Non-linear 패턴을 갖고 있는 데이터가 아닐 것이다. 빅데이터 정의하는 글을 이미 여러번 썼지만, 데이터가 랜덤 오차를 갖고 있으면 Linear 계산법이 맞고, 당연하겠지만 머신러닝 모델을 쓸 수 있는 여지는 확 줄어든다.

 

머신러닝 방법론을 쓴다는 (양산형) 논문들

설령 Non-linear 계산법들 (속칭 머신러닝 계산법)을 써서 약간 더 Fitting이 좋게 나왔다고 해도, 그 방법론에 절대적인 믿음을 가지지는 말았으면 하는게, 모든 데이터는 약간의 오차를 항상 갖고 있고, 그 오차 때문에 일부 Non-linear 모델들의 Fitting이 좀 더 좋게 나오는게 그렇게 놀라운 일은 아니다. 다만, 데이터 셋이 바뀔 때마다 Fitting이 더 잘 나왔던 모델이 지속적으로 높은 Fitting을 보여줄 확률은 매우 낮다. 약간의 오차를 더 잘 잡아내는데는 도움이 되었지만, 오차의 형태가 바뀌면 더 이상 Fitting을 높게 유지할 수 없기 때문이다.

가끔씩 받는 의학 분야 저널 논문을 보면, 거의 대부분이 Multivariate Linear regression vs. 머신러닝 계산법 10가지 비교를 통해, 머신러닝 계산법 중 어떤 특정 계산법이 제일 좋더라는 결론을 내고 있다. 이해가 되는 부분은, 그 분들이 다루는 데이터 중 일부는 구간별로 유의미함이 달라지는 경우 (ex. 5~10, 20~30 구간만 영향을 주고, 나머지는 효과 x)이거나 , 병이 걸린 환자들을 대상으로한 데이터이기 때문이다. 앞의 경우는 Tree 계열 모델들이 Euclidean space에서의 계산법보다 더 fitting이 잘 나오는게 당연하고, 뒤의 경우는 데이터 자체가 이미 Multi-pattern을 갖고 있다고 봐야한다. 머신러닝 계산법 10가지를 다 써보고 그 중에 어떤 방법이 제일 낫더라는 결과론적인 계산값들을 공유한 기초적인 논문들이 SCI 논문이라고 나오는걸 보면 내 입장에서는 황당할 수 밖에 없다.

정말 제대로 된 리서치라고 하려면, 데이터의 형태에 맞춰 Tree 계열 모델을 써야할지, Euclidean space 기반의 모델을 써야할지에 대한 적절한 판단을 내려서, Tree 계열 모델을 쓰기로 결론 내렸으면 어떤 계산법을 써야하고, 데이터는 어떻게 처리하는게 맞는지에 대한 고민을 해야하지 않을까? 머신러닝 모델 10개를 다 써 봤더니 뭐가 제일 좋더라….는 정말 심각하게 잘못된, 학부 수준도 안 되는 적용방법이다. 머신러닝 모델 10개를 우리 데이터 셋에 맞게 어떻게 고친 상태에서 돌려봤더니 어떤 모델이 제일 좋더라고 하면 백번 양보해서 타협할 수 있다. 그 전에 데이터 전처리가 더 우선이기는 하겠지만… 의학을 하나도 모르는 통계학자는 그 동네 상황을 잘 모르니 데이터 전처리를 함부로 할 수 없다. 의학 하시는 분들이 방법론을 공부하거나, 통계학 하시는 분들이 의학 공부를 하시는 수 밖에.

 

계산법을 갖다쓰지말고 데이터를 전처리하면?

공학이나 사회학으로 가도 상황이 비슷비슷하더라. 필자가 위의 구간별 유의미성이 다른 데이터를 다루고 있었으면, 어떤 형태로 튀어나올지 예측 불가능한 Non-parametric 모델 (ex. Tree 계열 모델들)을 쓸게 아니라, 데이터를 가공했을 것이다. 효과가 있는 투약 구간이 5~10, 20~30이면, 그 구간에 걸리는 대상들을 1, 나머지는 0으로 놓는 Dummy 변수를 하나 더 추가하면 기존의 Multivariate regression 모델로 충분히 좋은 결과를 낼 수 있다.

Multivariate Regression 계열의 모델들은 어떤 변수가 어느 정도의 효과를 갖는지를 눈으로 직접 보고 직관적으로 쉽게 확인할 수 있다는 장점이 있기 때문에 글로벌 IT회사들이 Classification을 할 때 괜히 복잡한 Kernel SVM이나 Tree기반 Random Forest, Gradient Boosting을 쓰는대신 Logistic regression을 쓴다. (사실 그런 Kernel function을 쓰는 작업도 데이터 전처리로 치환할 수 있으니까.) 위와 같이 데이터 전처리를 살짝만 하면 충분히 Logit을 쓸 수 있다는 사실을 인지하고 있고, Logit이 관리에 더 적합한 모델이라는 사실을 아는 사람들이 굳이 다른 모델들에 관심을 가질까?

머신러닝 방법론을 쓴다는 양산형 논문들이 가지는 가장 큰 문제가 바로, “잘 모르니까 덮어놓고 이것저것 다 써 봤더니 어떤게 제일 좋더라”는 저급한 이해도에서 출발했다는 점이다. 학위 과정 중에, 평소에 데이터로 공부하는 중에 한번이라도 데이터의 형태를 변형해서 원하는 모델과 매칭시키는 작업을 해 봤다면 저런 논문을 쓰게 될까?

저런 계산법만 갖다써서 Non-linear 계산법 중 어떤 방법이 더 좋다는 결론을 특정 데이터 셋에서 얻어내고 난 다음 스텝은 뭘까? 다른 데이터 셋에서는 그 계산법과 유사하지만 다른 계산법이 더 Fitting이 좋다는 결론이 얼마든지 나올 수 있는데?

비슷한 여러개의 샘플에서 지속적으로 특정 군의 계산법이 더 Fitting이 좋게나오면, 이 데이터는 어떤 특정한 구조를 갖고 있겠구나는 결론을 내리고, 그 구조를 찾아내서, 그동안은 못 찾았던 병리학적인 원인-결과 관계를 찾아내는게 더 적합한 “연구”가 아닐까? 위의 약학에서 Autoencoder 썼다는 논문에서 저자들의 의도가 정말로 그랬는지는 모르겠지만, 결과론적으로 봤을 때는 100개가 넘는 변수들은 결국 5개의 Factor들로 정리될 수 있다는 결론, 그게 특정 약의 적용 기제와 연결되어 있다는 걸 알려줬기 때문에 Nature라는 초특급 저널에 실릴 수 있었을 것이라고 생각한다.

이래서 머신러닝에서 쓰는 계산법을 소개하는 수업 대신 기본적인 통계학 훈련을 더 받아야한다고 주장하는 것이다.

 

나가며 – 머신러닝? 데이터 전처리와 모델링이 먼저다!

뱅킹 시절 인턴으로 썼던 학부 후배가 모 투자사에 있어 Pabii의 사업 모델을 이야기 한 적이 있다. 스마트폰에 앱을 깔고, 그 데이터들을 가공해서 광고주들이 원하는 사람에게 Target 광고를 뿌릴 수 있도록 해 준다는 단순 요약한 아이디어를 던졌더니, 왜 고생스럽게 스마트폰에 앱을 깔게 하느냐, 그냥 광고주들한테 데이터 받으면 되는거 아니냐는 반문을 받았었다. 그거 남들이 이미 다 하고 있다고, 근데 그런 데이터로 할 수 있는 작업이 한계가 있어서, 아예 개인 스마트폰에서 더 핵심적인 데이터를 받아와야 시장 구조를 바꿀 수 있다고 설명해줬는데, 왜 그런 데이터가 필요한지 도무지 이해를 못 하는 표정이어서 좀 안타까웠다.

위의 의학 연구직군 분들이 데이터 사이언스에 대한 과도한 기대를 갖고 있는 부분과 Pabii 사업모델에 학부 후배가 던진 반문의 공통점은 뭘까? 어떤 데이터가 있어야, 어떻게 전처리해야 데이터 사이언스 모델이 파워를 발휘할 수 있는지에 대한 이해가 좀 더 깊었다면 그런 대화를 굳이 하지 않았어도 되었을 것이다.

수업시간 마지막에 잠깐 이야기하지만, 결국은 계산법 싸움이 아니라 데이터 싸움, 모델링 테크닉 싸움이고, 데이터를 많이 갖고 있다의 싸움이 아니라, 필요한 데이터를 갖고 있느냐의 싸움, 그 데이터를 어떻게 가공해서 적절한 모델을 만들어 낼 수 있느냐의 싸움으로 귀결이 된다. (수학적으로는 Target vector space를 커버할 수 있는 Data를 갖고 있느냐, 필요에 따라 vector space를 Kernel transformation할 수 있느냐, 그 kernel처리된 vector space를 설명하는 방정식을 찾을 수 있느냐로 바꿔 쓸 수 있겠다.)

데이터 사이언스의 어떤 테크닉(계산법, ex. Deep Learning)을 이용하면 대박이 난다는 단순한 관점에서 벗어난 사람들이 좀 많아졌으면 좋겠다.

You may also like...

38 Responses

  1. ming 댓글:

    예전에 탐색적데이터분석 강의에서 교수님께서 내가 가지고 있는 데이터가 어떤 것인지 잘 파악하고 데이터 전처리가 제일 중요하다고 귀에 못 박히도록 강조하시던게 생각납니다. 다른 교수님도 그게 매우 중요하니 졸업하기 전에 EDA 수업은 꼭 듣고 졸업하라고 하셨었지요. 처음에 통계학 공부 시작할 때는 통계학에서 이런 것도 다루는구나, 이런 방법론 공부해서 써먹으면 엄청 나겠다 싶었는데 막상 연구에 참여해보니 항상 그놈의 데이터가 말썽이더라는 것을… 깨달았습니다 ㅎㅎㅎ

  2. huh 댓글:

    공부하다가 가끔씩 머신러닝 관련해서 좋은 논문이 없을까하고 국내 저널들을 검색해보는데, 많은 경우 도입부에 이러이러한 알고리즘들이 있고 다 써봤는데 성능이 이게 제일 잘 나오니 이게 결론이다 라는 논지로 진행되는 글들이 많더군요.

    • kjw1oo 댓글:

      대부분 그런식이죠… 사실 data preprocessing은 한 두 문단정도?
      저자 입장에서는 충분히 많은 검토 끝에 나온 데이터 전처리겠지만 (아닐 수도 있고..) 정작 그 부분은 별로 조명을 안해줘서 아쉽긴 하죠 ㅎㅎ
      그리고 아무래도 모델의 퍼포먼스가 직관적으로 혹은 수치적으로 좋으면 조명을 받기가 쉬워서 그런 논문들이 많은 환경이 되지않았나 싶네요.

  3. Simon 댓글:

    의료 M/L Proj에 참가하고 있는 일원으로 충분히 공감됩니다.
    예로드신 Auto-Encoder 로 유의미한 결론을 찾은 부분에서 저는 한편으론 공감하고, 한편으로는 저의 경험상 다른 의견이 있습니다.

    제 경우엔, 환자를 진단하기 위해 의료진이 행하는 모든 행위에서 발생하는 데이터들 중 주요 팩터 몇개가 영향을 미친다고 가정한
    결과보다 노하우가 쌓인 논문들에서 추출한 수백개의 팩터들이 상호 연관되어 NN으로 분류시켜 보니 사람보다도 더 정확히 분류해
    내는 사례를 경험해 봤습니다.

    제가 내린 결론은 분석기법이 무엇이든 테마가 명확해야 되고, 그 설정된 테마에 가장 적합한 분석기법을 사용해서 아웃풋을 만드는것이
    최고의 결과물을 얻을 것이라고 생각합니다.

    • ming 댓글:

      댓글을 읽고 궁금한 점이 생겨 질문 드립니다. 의료 분야에 적용되는 머신러닝에 관심이 많은 학생인데 현직자라고 하시길래 여쭤보고 싶었습니다!
      먼저 저는 본문과 댓글에서 언급된 논문에서의 유의미한 결과라는 것이 auto encoder를 통해 여러 변수들이 homogeneous한 그룹으로 분류되었고 각 그룹에 속한 변수들을 약학 쪽 도메인 지식으로 살펴보니 각 그룹을 대표할 수 있는 유의미한(약학적으로) factor가 있더라는 것이 아닐까 싶습니다. 그런데 그 factor가 논문에서 다루는 주제에 영향을 끼친다는 것이 매우 의미있는 새로운 사실이어서 Nature 같은 논문에도 실린거고요. 그런데 댓글에서는 모델의 정확도를 기준으로 하셔서 제가 이해한 것과는 다른 것 같아서 이 점이 궁금했습니다.
      둘째로 수백개의 변수들을 NN으로 모델을 만들었더니 사람보다 더 잘 분류를 했다고 하셨는데 이런 모델의 효용성에 대한 의문입니다. 변수들을 여러 논문을 통해 찾았다고 하신걸 보니 제가 상상할 수 있는 범위 내에서는 환자를 진단하려는 모델 같은데요… 실제 의료 현장에서 환자를 진단하기 위해 수백개의 변수들의 결과값을 알아야 한다면 그게 유용한 모델일까요? 의사가 진단을 한다면 그 정도로 많은 단서들이 필요하지는 않을탠데요… 물론 정확도가 높아지셨다고 했는데 그게 정확도를 얼마나 개선했는지, 수백개의 변수들의 결과값을 찾아야할 정도로 의미가 있는 개선인지 궁금합니다. 아니면 아예 다른 목적의 모델이었나요?

      • 지나가던 1인 댓글:

        Autoencoder랑 Neural Net이 부분집합 관계의 모델명이라는 걸 이해못하시는 분 같은데요? Neural Net이 non linear fitting 작업이라는 것도 잘 이해 못한 분 같고, 여러 변수를 써서 더 fitting이 높게 나온다고 하는건 adjusted R squared 개념도 공부 안 한, 통계 모르는 엔지니어 같습니다. 분석기법이라는 단어도 파비 대표님이 극혐하는 표현 아닌가요? 그냥 통계학 모르는 엔지니어가 여기 글 하나만 읽고 댓글 단 것 같습니다. 제 댓글 읽으시는 분들이 기분 나쁠수도 있다는거 이해합니다만, 저런 분들이 의학계건 어디건 학계에서 머신러닝을 하고 있다는게 참 어이가 없네요. 한국 사정 잘 모르는 박사유학생입니다만, 진짜 저런 사람들만 만나면 무조건 암 걸릴듯 합니다.

        • Simon 댓글:

          네, 통계쪽은 님께서 언급하신 정도로 공부하진 않았습니다. 하지만 통계는 제대로 파보려 이제 시작하고 있구요… 통계학에 나오는 용어 몇개 이해하지 못한다고 해서 수십년의 도메인 경험치를 갖고 있는 엔지니어를 무시할 정도는 아닌것 같습니다. 그리고 인공지능은 십수년 전부터 주가지수 forecasting하려, 기초 알고리즘을 공부했던 분야구요. 통계학이 거창한거 같아도 결국 논리적으로 보면 상식에서 크게 벗어나지 않더군요. 박사하러 가셨으니 부디 한국을 빛낼 정도로 깊이 연구하셔서 뭔가를 이루시길 기원드립니다.

          • Keith 댓글:

            지나가던 1인 분이 항상 어조가 강한 건 사실입니다만, Simon님 댓글보면 정말 이해 못하는데 머신러닝하는 분이구나는 생각을 안 할 수가 없습니다. non-linear fitting이니 adjusted R squared니 하는 표현은 학부 2학년 수준의 통계학입니다. 머신러닝이라는게 응용통계학의 한 영역이라는 점에서 미뤄볼 때, 학부 2학년 기초 통계학도 모르고 고급 통계학인 머신러닝을 기업 프로젝트 형태로 하고 있으시다는건 솔직히 심하게 부끄러워해야할 상황입니다. 오상방위 모르는 법대 교수급의 충격이에요. NN의 작동방식처럼 세밀하게라는 표현을 쓰시면서 autoencoder가 특정 factor의 기전을 밝히는데 사용이라고 말씀하시는 걸로 봤을 때, Autoencoder는 Neural Network 모델의 여러 가지 형태 중 Factor Analysis의 구조를 빌려온 네트워크라는 걸 제대로 인지 못하시는 걸로 보입니다. 어조가 강해서 듣기 불편하신 부분은 충분히 공감합니다만, 틀린 지적이 아니네요. 거기다 주가지수 Forecasting이라니요… Random을 어떻게 projection하냐고 제 강의 첫날 지적합니다. 주가지수를 제대로 Forecasting 할 수 있는 모델을 만들 수 있다면 지난 40년간 쌓아올린 Finance쪽 연구들을 완전히 붕괴시키는 겁니다. 그들이 말하는 인공지능은 대부분 허구에 불과합니다.

            통계학이 결국 논리와 상식이라는 부분은 백번 공감합니다만, 통계학을 깊게 이해하시는 분들이 쓰셔야 되는 표현이 아닐까 싶습니다.

            +지나가던 1인님, 꽤나 공격적인 어조의 블로그를 운영하는 입장에서 할 말은 아닙니다만, 그래도 어조를 조금만 조절해주시면 좋겠습니다. 부탁드립니다.

          • Simon 댓글:

            Keith님, 언급 주셔서 감사드립니다.
            부족한 것을 알기에 통계학을 올해는 제대로 공부해 볼 예정입니다. 제가 글주변이 없어 전달하고자 했던 바를 제대로 전달 하지 못한것 같습니다. 또한 기업프로젝을 하면서 저의 역할이 알고리즘 부분이 아니라는 말씀을 드리지 않은 것은 저의 잘못이군요. 저는 OCS 개발/설계자라 데이터 가공 및 피딩을 해줬습니다.
            그리고 팀내에 통계학 알고리즘 담당자가 별도로 있습니다. 하지만 데이터의 생성, 발전, 이용, 소멸 측면에서 전 과정을 경험해 본 바, 각 데이터들이 어떤 의미를 지니고 있는지에 대한 정보 하나하나가 중요하게 생각돼더군요. 그래서 팀내 담당자들이 세운 알고리즘과 다르게 제가 NN을 이용해 적용시켜 본 것이구요. 이유는 예전에 지수 forecasting 하는 문제에 어떻게 접근할까 고민하던 때에 사용한 알고리즘을 적용해보니 output이 훨씬 더 잘나왔습니다. 여러가지 이유로 제가 만든 모델을 최종 결과물에 반영하진 않았으나, 살면서 경험한 바로는 아는 만큼 보이는게 세상이더군요. 저또한 통계학은 아는 바가 일천하니 안보이는 것일 수도 있습니다. 제대로 한번 파보고 논리적으로 합당한 이유를 밝혀 스스로를 설득할 수준이 되면 그때 다시 공개할지 말지 고민해 보겠습니다. 마지막으로 Keith님, 주가지수 forecasting 에 관해서는 주변 지인이 random 하다는 걸 증명했다고 논문을 보여주더군요. 하지만 그 논문에는 제가 보던 관점이 반영되 있지는 않았습니다. 쉽게 하나의 예만 말씀드리면 MA를 상향한 경우 특정 필터를 사용하면 높은 P/F 가 1.5 이상인 signal을 만들 수 있을까 등등의 논문은 없더군요. 그리고 몇몇 헤지펀드들이 이미 NN을 이용한 HFT등 실제 트레이딩에 적용하고 있는 것으로 알고 있습니다. 그리고 기회가 되면 Keith님 강의를 수강해보면 매우 도움이 되겠다는 생각도 들어 블로그에 간혹 들어오고 있습니다. 다만, 시간이 안나서 … 안타깝습니다. 마지막으로 좋은글 올려 주셔서 감사드립니다.

          • Keith 댓글:

            주가지수가 랜덤 프로세스를 따르는건 논문 한 두개가 증명하는정도의 수준이 아니라 40년간 Finance쪽 리서치의 근간입니다. MA가 Moving Average를 말하시는건지는 잘 모르겠습니다만, 어떤 필터를 쓰시건 필터를 골라쓸 때는 그 데이터의 시계열 프로세스가 어떤 로직을 따라가느냐로 잡아내야죠. 관련해서 AR(I)MA 기반의 방대한 리서치가 있고, 또 자산 가격 지수의 Volatility의 움직임만을 보는 ARCH, GARCH 등의 모델도 매우 긴 시간의 리서치가 쌓여있습니다. 다만 90년대 이후로 이런 모델을 금융상품 가격을 합리적으로 계산하는데 쓰지, 예측해서 돈 벌겠다는 방식으로 쓰지 않아요. Hedge Fund들 몇 개가 Neural Net을 쓴다고 하는 것도 매우 피상적인 이해라고 보입니다. Neural Net은 기본적으로 Non-linear fitting을 Network 형태로 해 주는 모델 중 하나에 불과합니다. 자산 가격의 움직임이 Non-random으로 나타나는 아주 짧은 시간에 대해서 (금융시장에서 재료의 효과가 나타나는 시간 정도겠죠), 그 non-random인 부분을 잡아내는데 어떤 fitting이 제일 좋으냐를 보다가, 그 중에서도 몇몇 경우에만 Neural Net을 쓰는 겁니다. 이게 제 박사 전공인데 저 보다 업계 쪽 전문가가 아닌 분이 제 앞에서 Partial info만 갖고 말씀 하시는게 좀 많이 불편하네요.. 솔직히 같이 일하시는 통계학 알고리즘 담당자 분의 퀄리티에 대해서도 의심이 가는 문구들을 계속해서 읊고 계십니다.

        • kjw1oo 댓글:

          궁금한게 있는데
          여러 변수를 쓰면 해당 데이터셋에 한해서 R2가 무조건 높게 나오는건 맞는데 (오버피팅)
          이럴 때 말하는 모델의 정확도라는건 보통 교차 검증에서의 성능을 말하는데
          실제로 simon님이 어떤것을 말씀하신게 어떤 부분인지는 상관없이
          만약 교차검증 성능이 그렇다면 그때의 성능은 predicted R squared 개념으로 보면 acceptable 하지 않은가요?

          • Keith 댓글:

            데이터 더 쓰면 Fitting은 in theory, non-decreasing이겠죠. Overfitting은 정확하게 말하면 입력 변수가 늘어서라기보다, Non-linearity를 과도하게 집어넣어서입니다. 일반적인 Regularization 작업은 Non-linearity를 축소시키는 작업인데, 특이한 몇몇 경우에는 Regularization 작업이 몇몇 변수를 (거의) 안 쓰도록 만들 수도 있기 때문에 사람들이 오해하는거에요.
            통계학 하는 사람 입장에서 보통 변수 추가 후 fitting이 더 증가하면 degrees of freedom 줄어들었다고 t-stat 값 바뀐거 확인하고, 그래도 굳이 그 변수를 더 써서 얻을 수 있는 Marginal benefit은 뭘까를 고민합니다.
            추가된 몇몇 데이터들이 새로운 Vector Space를 span할텐데, 그게 아주 쬐끔만 더 fitting에 도움이 되는 information space 였다면 솔직히 쓰는게 무의미한 데이터 셋이 되는거죠.
            단순히 교차검증의 fitting값이 좀 더 커졌다는 이유로 여러 변수를 쓰느니 마느니는 굉장히 1차원적인 접근법입니다.

          • kjw1oo 댓글:

            오 답변 감사합니다.

            이론적으로는 r-square가 증가함수지만 교차검증 결과에서도 non-decreasing인지는 잘 모르겠습니다. 신경망의 경우 어떤 데이터같은 경우는 넣어봐야 오히려 안좋아질 때도 많아서 일일이 실험해보고 넣고 있습니다. 안좋아지는 경우는 제 개인적으로는 모델복잡도를 쓸데없이 늘리기만 해서 안좋은 영향을 끼치는 것으로 보고 있습니다.

            같은 데이터 포인트를 가정했을 때 입력 변수가 늘면 결국 그걸 fitting 하기위한 모델의 복잡도가 커지고 그게 곧 overfitting의 원인이 되죠. 결국 출력의 비선형성이 높아지는 것은 똑같다고 보네요.

            뭐 사실 교차검증에 의한 방법이 1차원적인 접근이라는 것에는 동의합니다만
            제가 보통 회사에서 신경망을 (무조건) 써야하는 입장이고 조금이라도 성능을 높이겠다고 발버둥치는게
            일상이다보니 변수 선택을 하는데 (차이가 미미하더라도) 1차원적인 접근을 위주로 사용하게되더군요 쩝~

            저로써는 수많은 회귀분석의 집합체인 신경망을 weight 추적해서 분산분석이니 뭐니 해도 유의미한 결과가 보이지 않네요.

          • Keith 댓글:

            참고로 변수 선정은 함수 전체의 fitting으로 하는게 아니라, 각 변수별 p-value값으로 해야합니다. 함수 전체의 fitting이 바뀌는걸로 어느 변수를 쓸지를 결정하는 것은 엄밀히 말해서 틀린 작업입니다. 여러 변수가 linear dependence가 있을 수 있기 때문이죠. 이건 regression 모델에만 국한된 논리가 아니라, tree계열의 network 모델에도 유효합니다.

            변수 추가 후 cross-validation에서 fitting이 감소하는 건 추가된 training data set에 좀 더 특화된 fitting이 되었는데 validation data set은 그런 패턴을 갖고 있지 않았기 때문이라고 봐야합니다. 모델의 비선형성이 더 높아졌다고 연결짓기는 위험합니다.

            그나저나 무조건 neural net을 써야되는 억지같은 프로젝트는 왜 돌아가는지 모르겠습니다. 그런 말도 안 되는 억지 부리는 무지몽매한 senior들을 싸그리 청소기로 쓸어내버려야할텐데요. weight를 하나하나 뒤져서 어떤 변수를 쓸지, hidden layer를 어떨게 구성할지를 고민하시기 전에, fat net vs. deep net 같은 고민, autoencoder vs. factor analysis 같은 고민들에 좀 더 귀를 기울이시는건 어떨까요?

            그나저나 Pabii 블로그에 장기간 방문하시면서 통계학적으로 틀린 부분 때문에 제가 굳이 설명을 해야하는 댓글을 오랫동안 달고 계신데, 간단하게나마 본인 스펙을 알려주시면 좋겠습니다. 지금까지 제가 보고 느낀바는 학부를 산공이나 컴싸 정도로 하고 그 내공으로만 어느 회사에서 일 하시는 분 같아요. 외람됩니다만, 본인은 많이 알고 있다고 생각하시는 것 같은데, 본인께서 인지하고 계신 지적 수준과 댓글에서 제가 마주하는 지적 수준 차이가 상당해서 답글을 달 때마다 매우 불편합니다.

          • kjw1oo 댓글:

            참고로 변수별 p값을 보는건 제가 말한 일반 통계적 분석에 매우매우 ‘당연히’ 들어갑니다. 일반 통계적 분석의 예시로 언급드린 분산분석을 하면 자연스럽게 알 수 있는 사실로 알고 있습니다.
            문제는 (엿같은) 신경망은 출력값 자체가 회귀분석이나 트리 모델과 같이 결과 자체가 robust하지 않다는 겁니다. 같은 조건이어도 값이 조금씩 다르죠. 그래서 한번 판단할때 여러번 돌려서 판단하게 되는데 이렇게해서 유의확률에 기반하여 변수선택해봐야 그렇게 좋은 결과가 나오지 않더군요. 이것 외에도 이것저것 해본 것중 하나가 weight 추적이었구요.
            training data set에 특화되어 있다는 것이 결국 over fitting이라고 보통 말하는데 그것을 비선형성이 늘어난다고 단순하게 생각하고 있었네요.
            또 외람되지만 말씀하신 fat vs deep 같은 파라미터 튜닝보다는 데이터가 먼저라는게 제 잠정적인 결론입니다. GIGO라고 하죠? 파리미터 튜닝으로는 미세한 상향은 있어도 완전한 level up은 힘들고, (사실 그런 parameter sensitivity가 엄청난 모델은 쓰기도 어렵다고 생각합니다.) 결국 데이터가 문제죠. fat net은 결국 latent variable이 그만큼 있을 거라는 가정인데 실질적으로 latent variable 이상 넘어가면 거의 유의미한 차이가 없는 것으로 결론 내렸습니다. 마찬가지로 deep net의 경우에는 결국에는 한번에 패턴 못찾을거 찾을 때까지 해보자라는 컨셉인데 데이터 자체에 패턴이 미미하면 결국 큰 차이가 없다고 보여지고요.
            factor analysis vs auto encoder는 무슨 소린지 모르겠네요. auto encoder 자체가factor analysis에 포함되어있지 않나요? 아니면 주성분 분석 과 오토인코더 말씀하시는건가요?
            이 블로그는 일하다가 가끔 보는 정도인데 공감가는 부분도 있어서 보고있습니다.
            참고로 저 여기 글에 댓글다는거 두번째인 걸로 아는데 아마 블랙박스에 관한것이었죠? 확인해보니까 약 3개월정도 됬네요.
            개인적으로 제 지적 수준이 별로 높다고는 생각 안하지만 그냥 아는데로 말하거나 질문드리는 거나, 혹은 의문을 제기하는 것인데 불편하셨으면 죄송합니다.
            어떤점에서
            ‘본인께서 인지하고 계신 지적 수준과 댓글에서 제가 마주하는 지적 수준 차이가 상당해서 답글을 달 때마다 매우 불편합니다.’
            이런 느낌을 받았는지는 모르겠네요.
            제가 뭐 자랑하거나 했던 것같지는 않은데요.. 아니면 그냥 말대꾸같이 느끼셨나요.? ㄷㄷ

            p.s
            뭐 일단 스펙을 물어보셨으니 대답하자면 산공과 학부 졸업은 맞고요. 컴과 랩실에서 석사과정 마치고 현재는 회사에 재직중입니다.
            박사까지 가지 않은 이유는 배우는게 별로 많지 않았습니다. 교수님께서 데이터 사이언스 애초에 잘 모르시고 가르쳐주시는 것도 별로 없어서 석사에서 멈췃네요. 저는 교수가 연구자라는 생각을 하고 있었는데 회사 프로젝트 따오는 마케터 영업맨이라는 생각이 들고 정작 배우는 것이 별로 많지 않았네요.
            그래서 학부시절에 배운 통계를 베이스로 하고있고 데이터 사이언스 쪽은 거의 혼자 공부했습니다. 그래서 keith님이 보시기에는 당연히 부족한 부분이 많겠지요. 최근에 놓고있던 통계공부를 다시 시작했습니다. 아직 아리까리한 부분이 많습니다 ㅋㅋ
            랩실에 있는 토이데이터나 따온 프로젝트에서 제공되는 한정된 데이터보다 회사에 들어가서 생생한 데이터를 가지고 분석하는 것이 생산적이라고 생각해서 회사에 들어오게 됬고 현재 일한지 1년 좀 안됬네요. 그래도 개인적으로 동기부여가 잘되서 랩실보다는 낫네요.

          • Keith 댓글:

            한국 공대 교육 시스템의 한계를 여실히 보여주는 댓글을 달아주신 것 같습니다. 대학원을 가면 수학, 통계학 같은 방법론을 더 배워서 연구의 깊이를 더하는게 아니라, 프로젝트 매니저가 된 교수들 따라서 돈 벌이에 투입되는게 우리나라의 현실이죠. 그 프로젝트라는 것도 세상에 대한 거대한 도전인 경우는 극소수에 불과하고, 대부분은 교수들 연봉을 더 올려주고 대학원생들 학비 보조용으로 쓰는 것도 모두가 알고 있지만 말하지 않는 진실이구요. kjw1oo님의 내공이 학부 수준에서 멈춘 것도 같은 이유에서일껍니다.

            fat vs. deep은 hidden layer를 어떻게 구성하는게 합리적인지 logic을 따져보시라고 써 놓은겁니다. auto encoder는 neural net으로 factor analysis 하는 작업인데, tree의 구조를 빌려온 덕분에 FA에서는 하기 힘들었던 Non-normal distribution 데이터들도 Factor analysis를 할 수 있도록 되어 있습니다. 대신 encoder, decoder 설계하는 부분이 당연히 고민을 해봐야할 부분이고, 여기서 fat vs. deep의 직관과 만나게 됩니다. 어떻게 hidden layer를 구성하는게 가장 합리적인지 고민할 수 있는 logic을 제공하는거죠. fat net이 사실상 Taylor expansion의 network 버젼이라는 것도 이해하고 나면 좀 더 도움이 될라나요? 저번에 아무리 설명해줘도 블랙박스라고 끝끝내 고집을 꺾지 않으시던 댓글에 대한 답변도 함께 되리라고 생각합니다.

            말대답이라는 생각이 계속 드는게, 저는 kjw1oo님이 틀린 부분들이 계속 보여서 계속 지적질을 하고 있는데도 불구하고 자신의 논리를 굽히질 않고 계십니다. 뜬금없이 “외람되지만 데이터가 제일 중요하다고 생각하구요”가 지기 싫어서 하는 말 아닌가요? Fat vs. Deep이나 Autoencoder vs. FA가 나온 맥락이 이해가 안 되니 본인 스타일로 자기멋대로 해석한 것도 왜 저러나는 생각이 드네요. 본인이 얼마나 피상적으로 Neural net 모델을 이해하고 있는지 모르니까, 자기만의 세상이 전부니까 제가 던지는 포인트들을 자기만의 세계에서만 소화하고 있는거에요. 그러니까 블랙박스 아니라는 제 설명에 끝까지 아니라고 바득바득 우긴거겠죠. 거기다, Raw 데이터와 데이터 전처리가 제일 중요하다는거 제가 거의 모든 글에 매번 강조하는 내용이라는거 재삼 강조해야하나요? 얼마나 지기 싫은 감정이 강했으면 제가 매번 하는 이야기를 반박으로 들고나와요?

            “참고로 변수별 p값 보는.. 당연히…”라는 문장도, 본인이 계속 함수 레벨의 fitting으로 변수 선정한다니까 제가 틀렸다고 지적하니 이제와서 ‘당연히’라니. 아예 틀린 approach에 대한 언급을 안 했었으면, 틀렸다고 지적질하면서 설명해줘야할 이유도 없었던 내용이에요. 배운적이 있었을지는 모르겠지만 최소한 함수레벨의 fitting으로 변수 선정한다는 이야기하던 시점에는 쓰지 않은 지식이었을테죠. 이래저래 아무리 따져봐도 나는 너한테 지기싫다, 나는 잘났다가 마음 속 깊숙하게 박힌 사람의 태도입니다. 지금까지 계속 만나고 있는 공대 출신 짝퉁 데이터 사이언티스트들에게 제가 그런 지식 수준으로 명함 내밀지 마라고 강한 어조로 상대할 수 밖에 없었던 공대생들의 아집을 kjw1oo님한테서도 강하게 느낄 수 있습니다. 그런 이해도로 그런 고집을 피우면, 솔직히 수학도 하찮은 공대 주제에 어디서, 누구 앞에서 감히 까불어? 라는 표현이 튀어나올 수 밖에 없어요. 어디 괜찮은 학교에서 박사하고 잘난 논문있는 분이 이런 지식 수준과 대답 태도를 보이셔도 ‘제대로 공부한거 맞나?’는 의문, ‘아카데믹이 토론하는 스타일이 왜 저래?’라는 반문이 생길법한데, 학부 수준 지식으로 저한테 이렇게 말대답을 따박따박하니 내가 널 왜 상대해줘야하나는 생각이 듭니다. 제가 kjw1oo님 친구들 수준으로 보입니까?

            제 박사시절에 kjw1oo님의 attitude를 갖고 있었다면 지도교수님이 저더러 박사 코스웍 다시 들으라고 강제하거나, 아예 지도교수 바꾸라고 했을 것 같아요. 답변을 해드리는건 이번이 마지막이 될 것 같습니다.

          • kjw1oo 댓글:

            여튼 불편을 드렸다니 유감이군요. 앞으로는 댓글 다는 것을 지양하도록 하겠습니다. 제딴에는 의문점이나 궁금한것이 있어서 댓글 단건데 무섭네용..

          • kjw1oo 댓글:

            글을 잘 읽어보시면 제가 두가지 접근법을 사용했고, ‘당연히’라고 표현한 접근법(분산분석)에서는 그렇게 접근했고 그게 안되서 fitting으로 했다는 것을 충분히 알았을테고 그러면 쓸데없는 포인트에서의 지적이 없었을텐데 잘 안읽으셨나보네요. 제대로 대화가 안되는게 지식은 많을지언정 뭔가 포인트를 잘 못집어내시는것 같으세요.
            자꾸 포인트에 빗나간 대답을 하고계시니 ㅠ
            만약 지도교수님이었다면 실제 데이터로 좀더 생산적인 문답을 했을 것 같습니다. 여기서는 실제로 못하니 자꾸 포인트가 빗나가는 듯해요~
            블랙박스 때도 관점의 차이라고 적엇는데 끝까지 포인트가 빗나간 이야기를 하셔서 답답하다는 이야기를 많이 했는데 결국 그런가보네요. 그때 언급했듯이 이해를 못하시는건지 하려고 안하시는건지 모르겠어요.’
            아니면 마음속으로 ‘한국놈 따위가 미국 박사 출신인 나한테 말대꾸?’ 이런 생각하시고 있는지도 모르겠네요 ㅎㅎ
            엔간하면 논리적으로 납득이 되면 추가적인 의문을 제기하지 않는데 대부분 납득되지 않네요.
            공대생의 아집이라고 우기면 어쩔수 없습니다만..
            저도 이만 마지막으로 글씁니다. 넵 수고하셔요~

      • Simon 댓글:

        제가 약동학이나 그쪽에 대한 깊이는 없으나 어떻게 작용한다는건 매우 얕게 이해하고 있습니다. 하지만 제가 아는 선에서 답변을 드려보면, autoencoder가 말씀하신 것 처럼 특정 factor의 기전을 밝혀내는데 사용한 것이고, 그것이 새로운 사실이라, 논문에 실린데에는 100% 공감합니다. 제가 모델의 정확도를 언급한 이유는 도메인 지식이 없는 통계전공자가 각 factor들의 의미를 세부적으로 따져보지 않고 자기가 알고 있는 얕은 지식한도 내에서 팩터들을 재단하는 것을 보고 저런 문제점이 있겠구나 생각한 바 정확도에 대한 언급을 드렸습니다.

        두번째는, 모델의 효용성관련 언급하셨는데 실제 의료계에서 예로들면, 종합병원에서 환자를 치료하기 위하여 하는 행위에서 발생하는 데이터들이 종류는 훨씬 많습니다. 제가 이천년도 초반부터 최근까지 의료정보쪽에 몸담고 있어서 말씀드리는 건데 한국처럼 데이터가 풍부하게 비교적(?) 잘 정련된 상태로 데이터가 쌓인 곳이 별로 없더군요. (미주, 유럽, 동남아 등등… 돌아다니면서 본겁니다.)
        제 경험에서 나오는 말씀을 드리면, 이미 의사나 간호사가 기존의 프로세스 외에 다른 작업을 하지 않더라도 기존 프로세스에서 발생하는 데이터들만 가지고도 pubmed에서 언급하고 있던 다양한 factor를 카버할 정도로 데이터가 쌓이고 있다는 말이고, 의사들의 진단도 경험치에서 오는 한계로 인해 수많은 factor에 대한 고려는 NN의 작동방식 처럼 세밀하게 뽑아내진 못한다 보고 있습니다.
        수고하세요.~

        • ming 댓글:

          솔직히 의대생 입장에서 ‘의사들의 진단도 경험치에서 오는 한계 때문에 NN만큼 세밀하지 못하다’는 표현은 매우 거슬립니다. 의사들의 진단에서 경험은 무시 못할 요인이지만 어떤 질환을 진단하기 위해 의학계에는 국제적으로 공인된 가이드라인이 있습니다. Decision tree 알고리즘 형태의 진단 및 치료 가이드라인이 있고 의사들은 기본적으로 그에 따라 진단할 것을 혹은 치료할 것을 권고받고 이를 따르고 있습니다. 현대의학은 ‘근거중심의학’이니까요.
          만약 데이터를 이용해 환자를 진단하는 모델을 만들고자 하고 그 효용성을 입증하고 싶다면 이미 의학계에 있는 가이드라인에 입각하여 진단을 하는 것보다 그 모델이 낫다는 것을 증명해야 한다고 생각합니다. 어려울 것 없는게 진단 및 치료 지침도 앞에서 말했듯 decision tree 모델입니다. 즉 모델 대 모델을 비교할 수 있다는 것입니다. 막연하게 ‘의사의 경험’과 비교하는 것이 아니라요. IBM 왓슨이 다른 분야가 아니라 종양학부터 건드린 것도 그런 이유에서잖아요. 다른 의학 분야보다 그러한 가이드라인이 훨씬 체계적으로 확립된 곳이 종양학 분야입니다. 또 의학 연구 결과에 기반하지 않고 데이터만으로 decision tree를 모델링해서 가이드라인을 만들어봤는데 임상연구에 기반하여 만든 가이드라인보다 나은 가이드라인을 만들 수 있었다는 연구결과도 있는 것으로 알고 있습니다.
          제가 궁금했던 것은 “어떤 질환에 대해서 현재 권고 되고 있는 진단 지침 혹은 치료 지침보다 수백개의 변수 값을 신환에 대해서 조사할 가치가 있을만큼 simon님께서 만든 모델이 훨씬 나았느냐”는 것입니다. 막연히 데이터는 많으니 문제 없고 NN이 의사들보다는 나은거 같더라, 이 정도의 답변이 아니라요…. 댓글로 답하기에는 너무 무리한 요구를 제가 하는 것인지요?
          제가 학생이라고 대답을 대충한 것이었으면 좋겠네요. 의학 데이터에 통계모델링을 보다 높은 수준으로 적극적으로 도입해보고 싶은 꿈을 가지고 있는데 현직자라고 하시는 분께서 ‘의사들의 경험치’와 NN을 비교하는 뉘앙스의 대답을 하신 것을 보니 좀 실망이 큽니다..

          • Simon 댓글:

            정보를 세부적으로 오픈하지 못한점 죄송하게 생각합니다. 그리고 모델은 님께서 언급하신 이미 의학계에 존재하는 가이드라인/논문/기타 정보에 의거해서 팩터들을 추출, 구축한 모델이구요. 그 모델에서 뽑아낸 팩터들의 상호 연관이 Decision Tree 알고리즘 보다는 NN이 20% 정도 상회하는 정도로 분류 추정을 더 잘하더군요. 의사들의 경험치와 비교는 인풋되는 팩터들의 갯수가 180개 가까이 되는데 모든 팩터들을 종합적으로 짧은 시간내에 환자의 상태를 판단하는데 소요되는 인간적 한계를 말씀드린 것입니다. 그렇다고 의료계에서 수십년 동안 근무하신 경험많은 의사 쌤들보다 우수하다는 의미는 절대 아닙니다. 그리고, 통계를 제대로 파본 후 저렇게 차이가 나는 원인을 스스로 규명할 정도가 되면 그 이후 보다 폭넓은 의료분야 적용을 시도해 볼 예정입니다.

          • MJ 댓글:

            아래 Simon님, 혹시 NN도 decision tree와 같은 방식의 tree형 모델이라는걸 이해하신 상태로 모델을 만드셨는지 여쭤봐도 되겠습니까?

            어느 모델이 더 좋다고 말하는 사람들, 특히 NN이 (무조건) 제일 좋다는 사람들을 다 “사기꾼”으로 몰아세우시던 대표님 강의가 떠오르는 문구여서 무례를 무릅쓰고 여쭤봅니다.

          • Simon 댓글:

            MJ님, 제가 이해하는 바는 노드에서 가중치 계산에서 두 알고리즘이 다른것으로 이해하고 있습니다. 그리고 나이스 하게 질문하신 것으로 보아 인터넷 규범을 잘 지키시고 계시는군요. ^^ 저도 팀장으로도 팀원으로도 일합니다만 기술이전에 인간이 우선이란 생각으로 사회생활 한지 수십년 됩니다. 마지막으로 세부적 알고리즘은 한분야 최고 전문가께서 말씀하신것이 맞겠죠. 제대로 된 답변을 못드린 것 같아서… 어쩌죠. ^^

  4. 강구현 댓글:

    기대한 것과 다르다고 불편한 답장을 보내셨는데, 뭐라 할 말이 없더라. (Pabii 수업까지 한 달 들으신 분인데, 이분 수업 헛들었다는 생각이 들어서 메일 받고 좀 기분이 나빴다.)
    —> 제 얘기 같네요. 블로그 잘 보고 있습니다. 그 당시 서로 ‘miscommunication’ 있는 것 같아 기분 나쁘셨다면 죄송하다고 했던 기억이 납니다. 제가 기대한 것과 다르다고 한 것은 같이 향후 사업(?)에 대해 얘기 더 하고 싶었는데 논문 같이 쓰자는 정도로 받아드리신 것 같아서 드린 말씀입니다. 그 논문은 처음 뵈면서 공통 화제를 위해 한 회사의 예를 보여드린 겁니다. 기분 나쁘셨으면 다시 사과 드립니다. 상계백병원 강구현 드림

    • Keith 댓글:

      안녕하세요 강구현 교수님,
      제가 학계에 있지도 않은데다 심지어 제 전공도 아닌데 굳이 논문을 같이 써야할 이유가 있을까요? 아카데믹 명성에 대한 욕심은 이미 오래전에 내려놨습니다. 보내주신 논문들은 제가 위에서 비판해놓은 논문들과 크게 다르지 않은, 통계학 모델링 측면에 봤을 때 매우 기초적인 수준이었습니다. 그 논문들로 무슨 사업을 해야할지 전혀 감을 잡을 수 없을만큼 의학 지식이 없어서 달리 도와드릴 수 있는 부분이 없는 상태입니다. 지난번에 뵈었을 때 말씀드린대로, 특정 목적으로 수집한 데이터와 연구 목적이 주어진 상태에서, 모델링 작업에서 어려움이 있으신 부분이 있으면 충분히 도와드릴 의향은 있습니다. 사업을 할지말지 여부는 강 교수님의 경험 + 아이디어를 제 모델링 스킬로 컨펌한 사업 모델이 나온 후에나 논의할 수 있는 부분이라고 생각합니다.
      감사합니다

  5. TED 댓글:

    대표님의 말씀에 동감하고 반성합니다.
    저도 수강전까지는 정말 분석방법론적으로 허접한(?) 논문들을 보고 와 대단하다고 생각을 했었지만…

    대표님 강의 수강후 나름대로 통계 쪽을 계속 공부하다보니… 의학통계는 정말… 뭐랄까… 타 분야의 분석과 커다란 수준의 차이가 있다고 느꼈습니다.

    물론 데이터의 구성자체가 한계가 있을 수 밖에 없다보니 생기는 문제도 분명 있지만… 많은 의학통계를 돌리는 사람들이 충분한 통계적 배경이 없이 분석을 하는 것이 큰 영향을 미친다고 생각합니다.

    일례로 Cox proportional model 돌리면서 base hazard funtion 이 뭔지도 모르면서 Cox 분석을 하는 사람이 많은게 현실입니다.

    솔직히 까놓고 말해서 의학통계를 전공하셨다는 분들이 참여한 논문을 지금 제 수준에서봐도 이게 정말 맞는 말인가 하는 의문이 드는게 많은데… 정말 통계를 전문으로 하시는 분들이 보면 답답하시겠죠…

    이게 하루아침에 바뀔 수 있는 문제는 아니라고 생각됩니다만… 노력하다보면 언젠가는 조금씩 바뀌지 않을까 생각합니다.

    사족으로 대표님께서 말씀하신 논문이 제가 아는 것과 같은
    논문이라면 (로지스틱과 10가지 방법을 비교한 논문), 그 논문은 컴공과 출신의 의사가 1저자인 것으로 알고 있습니다. 돌이켜보니 어쩌면 당연한 결과이라고 생각되네요…

    좋은 하루 되십시오^^

  6. MJ 댓글:

    여기 대표님 수업 들으러 가야되는 사람들 댓글 많니 보이네요. 아니, 아예 들으러 갈 레벨도 안 되는 사람도 있구요.

    꼼꼼하게 댓글로 설명해주는거 안 하셔도 될 듯 합니다. 수강자 입장에서 수업시간에 설명해주시는거 안 듣고 동영상만 봐서는 혼자서 이해하기 어려울 것 같아요. 댓글은 더더욱 어렵겠죠. 수업들은 사람 입장에서야 대표님이 왜 어이없어하면서 댓글로 설명하시는지 이해됩니다만, 제 주변에 대표님 댓글 설명을 제대로 이해하는 공대 출신들 전무합니다 ㅠㅠ 저도 학부 때 통계학 할껄 그랬어요 ㅠㅠ

    괜히 댓글에 힘 빼지 마세요.

    • D4R6 댓글:

      ㅠㅠ 설명 해주셔야되여 ㅠㅠ 흐흐.. 다른 분들은 까칠하다고 생각하실지 모르지만.. 사실을 말씀주시고 자세한 설명으로 어깨 너머 제가 아~~주 조금 이나마 흡수 하면서.. 배우고 잇거든요 .. 사기와 조작 의 그늘에서 .. 국가 부도의 날 영화에서도.. “까칠하면 어때 일 잘하면 됬지” 의 문구가 생각 나는 느낌이랄까요 ㅎㅎ 대신 MJ님 말씀대로 댓글에 힘 빼지는 마셔요 ㅎㅎ 좋은 글! 항상 감사합니다.

  7. ㅇㅇ 댓글:

    양산형 저널도 아니고 네이쳐에 그런 논문이 실렸다는게 믿겨지지 않네요..

    • 지나가던 1인 댓글:

      네이쳐에 실린 논문은 autoencoder 써서 non linear factor analysis 한 논문이고, 나머지 계산법 10개 같은 논문들은 SCSI급(이라고 쓰고 교수들이 연구한다고 우길려고 하는 종이 낭비 저널) 저널에서 본 논문이라고 하시는거 아닌가요?

      국내 거의 대부분의 저널들이 저런 식이에요. 교수 자리 유지시켜줄려고 만들었다고 욕 먹는? 응?

  8. 지나가던 1인 댓글:

    대표님 쓰신 글이나 댓글들을 보면 틀린 이야기가 나오면 조목조목 비판하시지만, 기술적으로 옳다 그르다를 구분할 영역이 아닌 부분은 가볍게 넘어가시는 성향인 것 같습니다.

    저도 비슷한 성격이라 제 자신에 대한 변명일수도 있겠지만, 틀린걸 지적하는 아카데믹 본능, 토론 본능을 갖고 있는게 성격이 나쁜 건가요?

    저 위에 kj******님 댓글도 대표님이 하나씩 하나씩 짚어주시는데도 불구하고 계속 안 질려고 말대답 변명이나 말돌리기하니까 화나신거겠죠.

    맘이 착하신 분이니까 저렇게 하나하나 설명해주시는 걸텐데… 까칠한? 성격이신지 저는 잘 모르겠습니다. 저런 부분에선 지적 내공도 부족하면서 설명해주는 분께 고집을 피우는 질문자의 성격을 지적해야 된다고 생각합니다.

    본인이 틀린 부분 지적해주는 사람 만나는게 얼마나 큰 행운인데, 일면식도 없이 블로그에서 저렇게 자세하게 설명해주면 고마운 줄 알아야죠. 안 질려고 마지막까지 2가지를 주장했다는둥 어쩌고하는 저 댓글들보면 저도 열 받네요.

    이해가 안 되면 본인이 공부를 해야지, 돈 한 푼 안 받고 친절하게 설명해주시는 분께 논리로 안 질려고 변명하고 설명이 부족하다고 하는 저런 무개념을 왜 상대해줘야 되나요?

    앞으로는 댓글에 에너지 낭비 안 하셔라는 말씀에도 공감하고, 좀 골라가며 답변하시는건 어떨까 싶기도 합니다. 건전한 토론 문화를 만들수만 있으면 좋을텐데요…

    +앞으로는 댓글에 쓰는 단어에 신중을 기하겠습니다. 불편을 끼쳐드려 죄송합니다.

    • D4R6 댓글:

      맞습니다. 사실을 말씀주시는 부분에서 뜨끔하여 “까칠한” 이라고 적엇던 제 자신이었던 것 같습니다. 그리고 아카데믹 본능, 토론 본능 이라는 부분은 제가 인지 못했던 부분 이었던 것 같습니다 ㅠ 공감합니다. 그리고 감사합니다!

  9. JD 댓글:

    나름 ‘다른 의사들 보다는’ 데이터사이언스에 좀더 가깝다고 생각했었는데, keith 님의 가감 없는 직설은,
    가감없이 저의 안일한 생각을 깨부수어 주시내요 ^^;

    제가 의학계를 대변할만한 능력도 깜량도 되지 않지만 저의 짭은 소회를 말씀드리자면,

    의학의 문제는 다른 분야보다는 좀더 엄격한 잣대를 요구하는것 같습니다.
    의학에서는 예측 모델링과 달리 추론이 좀더 중요한 분야이며, 분산이 많은 모델 보다는 바이어스를 줄이는것이 더 효율적이고 안전한 모델이기 때문에, 복잡하고 심오한 모델링 보다는 단순하고 해석이 편리한 모델을 선호한다고 생각 합니다.
    그럼에도 불구하고 의료관련 통계 혹은 예측 모델이 다른 분야, 특히 경제학 분야에 비하여 많이 뒤떨어 진다는 점은 명백해 보이나, 대체로 선진 기술 도입에 다른 분야 보다 한 발짝 늦는 의료계의 현실은, 생명을 다루는 분야이기 때문에 좀더 엄격한 잣대를 요구하는 의료의 본질적인 문제에 기인하는 바가 있다고 생각 합니다.
    헤겔의 ‘정반합’ 변증법의 논리 처럼, 현재 고전적인 통계를 고수하는 의료 통계 분야의 보수성과 최근에 부상하는 새로운 통계학적 방법들의 충돌은, 의학 통계 분야의 발전을 자극 및 선도할 것이라고 생각 됩니다.

    이런 점에 있어서 keith님의 문제제기는 의료분야에 자극이 되는 ‘뼈깊은’ 직설이라고 생각 됩니다!!

    • Keith 댓글:

      음…. 댓글은 앞으로 외면할려고 했는데, 너무 잘못된 관점을 봐서 결심을 번복해야할 것 같습니다.

      기존의 통계학 방법론들이 수학적으로 봤을 때 압도적으로 더 Robust한 방식이고, 머신러닝 관련 모델들은 모두 엄격하지 못한 잣대에 기반한 Non-linear pattern matching 계산이라고 생각하시는게 옳습니다. 머신러닝을 통계학자들 상당수가 “사기”라고 생각하는 것도 같은 이유겠죠. 이게 선진기술이기 때문에 도입이 늦었던 것이 아니라, 편법 계산이기 때문에 통계학계에서 배척당하는 계산법이었고, 데이터에 Multi-pattern이 들어가있는 빅데이터 시대가 왔기 때문에 그런 편법이 수용되고 있을 뿐입니다. 쉽게 말해서, 통계학과 학부 2학년 회귀분석 모델이 박사들의 Non-linear fitting보다 더 “수학적으로 우월”하다고 생각하던 관점이 힘을 잃은거죠.

      석사 이후로 공부에 손을 놓은 경제학에서도 예측 모델링보다 수리통계 모델의 Robustness와 결과 해석에 대한 냉혹한 검증이 훨씬 더 중요했었습니다. 경제학 예측은 맞으라고 하는게 아니라, A정책이 B,B’,B”,… 중 어떤 효과를 낼지에 대한 이해를 위한 경우가 대부분입니다. Linear건 Non-linear건 변수를 어떻게 쥐어짜건 상관없이 무조건 예측값의 Fitting이 맞는게 제일 좋다는 논리가 지배하는 머신러닝과는 철학적으로 완전히 다른 접근입니다. 의사분들 관점으로 보면, FDA 승인을 받은 약만 처방해야한다는 보수적 견해와, 대체의학이건 뭐건 병이 낫기만하면 일단 처방하고 본다는 실용적인 견해에 대비될만한 철학적인 격차가 있다고 생각합니다.

      엄격한 잣대가 요구되는 의료 현실…이라는 말은 외람된 표현입니다만 통계학을 잘 모른채 논문을 찍어내고 있는 의료계 현실에 대한 비겁한 변명이라고 생각합니다. 사회학과에서 통계 리서치하는 것과 비슷한 수준이라고 폄하하는게 같은 이유죠. “엄격한 잣대가 요구되기 때문에”가 아니라, “통계학에 대한 깊이 있는 이해가 없기 때문에” 사회학이나 의학계나 유사한 레벨의 통계학을 논문에 쓰고 있다고 생각합니다. 의료 현장에서 생명을 지키기위해 치열한 삶을 살고계신 의사분들이 통계학을 모른다고 비난하고 싶은 생각은 전혀 없습니다만, 모르면 안 쓰거나, 제대로 배우거나 해야할텐데, JD님처럼 잘못된 이해를 갖고 있는 상태로 의학계에서 머신러닝 방법론을 활용하는 리서치를 하고 있는게 답답할 뿐입니다.

      하나만 덧붙이면, 수학적인 방법론이 중요한 학계에서 자기 논문의 수학 증명이 약간이라도 흠이 있으면 논문 출시는 불가능하고, 사후에 오류가 발견되면 그런 분은 학계에서 퇴출됩니다. 엄격한 잣대만 놓고보면 특별히 의료계가 더 요구조건이 높을 것이라고 생각하지 않습니다.

  10. 바보학과 댓글:

    21세기 한국판 대약진운동이 아닌가 합니다. 선진국 산업을 따라잡으려면 공업용 철을 어떻게 만드는지, 용광로를 건설하고 생산,관리 방법을 배울 생각을 해야하는데 고작 만드는게 토법고로로 만드는 야금철이라니요..

댓글 남기기