본문 바로가기

전체 글86

[비전공자의 머신러닝 의학연구 #12] 강화학습 머신러닝을 분류하면 지도학습, 비지도학습, 강화학습으로 나눌 수 있다. 지도학습은 "입력과 정답이 주어진 데이터로 학습"하는 방식으로, 회귀분석과 같이 많이 사용하던 통계의 학습방식이다. 강화학습은 이런 지도학습과는 다른 차원의 학습과정으로 그 방법이 지도학습과는 닮은듯 하면서도 많이 다르다. 특히 의학의 경우, 어떤 환자의 진단부터 치료, 그리고 이후 추적관찰까지의 진료과정에서 순차적 의사결정과정을 거치게 되는데, 이는 한번의 예측이 아니라 시간에 따라 계속 결정을 내려야 하는 문제이다. 이런 문제를 푸는 게 강화학습(Reinforcement Learning, RL) 이며, 이러한 특성은 오히려 지도학습보다 임상상황에 더 자연스러운 적용이 될 수 있다.이번 글은 길지만 지도학습에 익숙해져 있는 상태에서.. 2026. 7. 3.
[비전공자의 머신러닝 의학연구 #11] 머신러닝을 위한 데이터 전처리 의학연구를 하다 보면 SAS·SPSS·Excel로 정리된 데이터를 쓰는 게 익숙한데, 머신러닝 모델은 전혀 다른 형식을 요구한다. 결측치는 어떻게 처리할지, 범주형 변수는 어떻게 숫자로 바꿀지, 나이와 검사 수치처럼 스케일이 다른 변수들을 어떻게 맞출지, 그리고 PyTorch나 TensorFlow에 넣으려면 또 어떤 형태로 변환해야 하는지, 이것에 전처리(preprocessing) 가 필요하다.이번 글에서는 의학연구자의 입장에서 머신러닝을 시작할 때 반드시 알아야 할 데이터 전처리 과정을 파일 불러오기부터 텐서 변환까지 순서대로 정리한다. 1. 데이터 파일 불러오기의학연구에서 다루는 데이터 파일은 주로 세 가지다 — CSV, Excel, SAS. 각각 읽는 방법을 정리한다.1-1. CSV 파일 — pd... 2026. 7. 3.
[비전공자의 머신러닝 의학연구 #10] SHAP — 머신러닝 모델의 해석 대부분의 머신러닝 모델들은 예측성능은 좋아도, 블랙박스 모델의 특성으로 해석이 어렵다. 즉, 어떤 변수가 어떻게 예측에 기여했는지 알기 어렵다. 하지만 의학연구에서는 이 해석이 중요하고, 인과관계를 밝히는 연구에서는 이 해석이 전부라고 보아도 과언이 아니다. 따라서 블랙박스 모델의 특성상 의학연구에서 머신러닝은 모델은 아무리 성능이 좋아도 그 적용이 어렵다. 하지만 머신러닝 모델해석방법이 몇가지 있는데, 이번엔 머신러닝 모델의 예측을 해석하는 표준 방법인 SHAP (SHapley Additive exPlanations) 를 정리한다. 1. SHAP이란?SHAP 은 각 예측에 대해 각 변수가 얼마나 기여했는지 정량화하는 방법이다.원논문은 Lundberg & Lee, "A Unified Approach to.. 2026. 7. 3.
[비전공자의 머신러닝 의학연구 #9] RNN과 LSTM — 시간 순서를 학습하는 신경망 MLP는 딥러닝의 가장 기본적인 구조로 딥러닝에는 이 뿐만 아니라 CNN, RNN 등 다른 모형들이 존재한다. MLP는 각 변수가 독립적 인 표 형식 데이터. 환자의 나이·병기·종양크기 등 — 변수 간 공간적·시간적 관계가 없는 데이터에 적합하며, 이를 생존분석에 확장한것이 DeepSurv 였다. 이 같은 모형은 각 환자에게 한 번만 측정되는 변수 (시간-고정 변수) 를 다뤘다. 하지만 의학연구에는 시간에 따라 변하는 변수도 흔하다. 이런 시간 순서가 있는 데이터를 다루는 딥러닝이 Recurrent Neural Network, RNN이고, 그 개선버전이 Long-Short term memory, LSTM이다. 1. 왜 RNN이 필요한가?의학연구에서 시간 순서가 있는 데이터는 흔하다. 이런 데이터는 각 시.. 2026. 7. 3.
[홈서버 만들기 #8] OpenMediaValut 나는 예전에는 Synology NAS 에 docker를 올려서 사용하였다. 하지만 이런저런 이유로 보낸뒤에, 라즈베리파이를 사용하였다가, N100 CPU의 존재를 안 뒤에는 N100 미니pc 에 Proxmox 를 설치하여 이것저것 올려서 사용하고 있다. 이번에는 OpenMediaValut (OMV) 라는 NAS 프로그램을 설치하고자 한다. 시놀로지에 비하여서는 편의성이 부족하지만, 조금만 세팅하면 웬만한 시놀로지 기능은 다 이용가능하다. 1. Proxmox에 설치하기Proxmox VE-helper script에 openmediavault 의 설치방법도 있다. 하지만 설명을 보면 이것은 LXC의 형태로 설치를 하는것이고, WARNINGS으로 VM 이 아니라면 복잡한 설정이 필요할 수 있다고 경고를 한다. .. 2026. 6. 3.
[비전공자의 머신러닝 의학연구 #8] DeepSurv — Cox 회귀 + 신경망 랜덤포레스트를 생존분석에 확장한것이 Random Survival Forest 였다면, 딥러닝 모델을 생존분석에 적용한 모델은 DeepSurv 이다. Katzman et al. 2018, BMC Medical Research Methodology (https://link.springer.com/article/10.1186/s12874-018-0482-1) 에서 소개된 모델로, Cox partial likelihood를 신경망의 손실 함수로 직접 사용 하는 것을 제시하여 생존분석 딥러닝의 시작점이 되는 모형이다. 1. DeepSurv의 핵심 — Cox β'X 를 신경망으로 대체DeepSurv는 한마디로 Cox 비례위험 모형의 β'X 를 신경망으로 대체 한 것이다. Cox 회귀DeepSurv h(t|X) =.. 2026. 5. 10.