• 검색 결과가 없습니다.

D. 딥러닝 기반의 만성 신질환 위험도 예측 모델

3. 다양한 구조 계층(Various structure layer)

31

그림 14. 만성 신질환 위험도 예측 모델 기본 구조

32

33

예를 들어, 아래 그림과 같이 n번째 환자의 데이터가 존재한다면 4 번 방문 기록이 있기 때문에 H(I)= 4가 되고 <$, <&, <', <K의 멀티핫벡터로 인코딩 된 방문데이터로 나타낼 수 있다.

그림 15. 멀티 핫 벡터 변환 예시

34

35

36

3. 다양한 구조 계층(Various structure layer)

임베딩된 진단과 처방 정보를 다양한 구조의 모델을 통해 학습시킨다.

사용한 신경망은 순환 신경망과 합성곱 신경망이며, 순환 신경망은 어텐션 메커니즘을 추가로 구축한다. 모델 구조의 종류는 단일 모델과 복합 모델이 있으며 단일 모델은 하나의 신경망을 사용하며 복합 모델은 순환 신경망과 합성곱 신경망을 병렬 또는 직렬로 쌓아 학습한다.

(A) 합성곱 신경망을 이용한 단일 모델

그림 16. 순환 신경망을 이용한 만성 신질환 위험도 예측 모델

순환 신경망을 이용한 모델의 구조는 단방향 쥐알유 모델이 있고 양방향 모델이 있다. 양방향 모델의 구조는 전방향 은닉 쥐알유 계층(forward hidden GRU layer)과 후방향 은닉 쥐알유 계층(backward hidden GRU layer)으로 나뉜다. n=는 메드투백으로 임베딩된 벡터이다. 전방향 은닉 쥐알유 계층은 아래와 같이 구할 수 있다.

k= = â(Oäãån=+ Oããåℎç⃗=è$+ Rãå)

37

38

öC = exp (LCELv)

∑ exp (= LCELv) õC = \ öCC

C

(B) 합성곱 신경망을 이용한 단일 모델

그림 17. 합성곱 신경망을 이용한 만성 신질환 위험도 예측 모델

모든 시점의 벡터들을 하나로 구성하여 행렬로 나타낸 뒤 합성곱 필터를 통해 합성곱 연산을 하고 렐루에 통과시켜 환자의 처방 정보의 여러 압축 버전으로 생성, 이후 완전 연결 계층을 통해 하나의 벡터로 변환시킨다. 이 때 필터의 열(column)은 임베딩 크기로 고정되는 데 이미지와 달리 입력값의 열은 순서가 존재하지 않으며 임베딩된 자질들이기 때문이다.

39

(C) 복합 모델

순환 신경망과 합성곱 신경망을 직렬 또는 병렬로 쌓아 학습한다. 아래의 그림은 두 신경망을 직렬, 병렬로 쌓은 구조의 예시이다.

그림 18. 직렬과 병렬 구조로 쌓은 예측 모델 구조. (A) 직렬 구조의 예측 모델 구조 (B) 병렬 구조의 예측 모델 구조.

본 연구에서는 진단과 처방 정보를 함께 벡터로 변환하여 사용하기 때문에 추가적인 복합 모델로 두 정보를 서로 다른 신경망을 통과시켜 학습되도록 하였다. 아래의 그림은 임베딩된 진단 및 처방 정보를 나누어 순환 신경망을 통해 진단 정보를 학습하고 합성곱 신경망을 통해 처방 정보를 학습하는

40

구조의 모델 예시이다. nu=는 t 시점의 임베딩된 진단 코드 벡터들을 의미하며, nx=는 t 시점의 임베딩된 처방 코드 벡터들을 의미한다.

그림 19. 도메인별 병렬적으로 학습되는 예측 모델 구조 예시

41

4. 예측 계층(Prediction layer)

다양한 구조 계층에서 추출된 벡터를 컨캣 연산한다. 그 후, 완전 연결 계층을 통해 레이블(label) 크기로 변환하고 소프트맥스 함수를 거쳐 최종 결과값인 b= = {0,1}|ú|가 출력된다. 최종 출력값은 만성 신질환 진단을 받는 것과 만성 신질환 진단받지 않는 것으로 나뉘기 때문에 |ù|의 값은 2 가 된다.

{ = õ`ûêNá<(OP[1uC, 1xC] + RP) õ`ûêNá<(<C) = TäÉ

∑ TC äÉ

42

GPU NVIDIA GeForce GTX Titan X SLI 2 way

OS Ubuntu Linux 16.04 LTS (Linux Kernel 4.15)

Python 3.5.2

Jupyter notebook 5.7.0

Abbreviations: CPU, Central processing unit; RAM, Random access memory; GPU, Graphics processing unit; OS, Operating system;

43

표 7. 개발에 사용된 파이썬 라이브러리

Python library Details

Matplotlib 2.2.2

NumPy 1.14.5

Pandas 0.23.1

Pymssql 2.1.3

SciPy 1.1.0

Scikit-learn 0.0

TensorFlow 1.8.0

44 F. 평가 척도

본 연구의 성능을 평가하기 위한 지표로 정확도(Accuracy), 에이유알오씨(The Area under the Receiver Operating Characteristics Curve, AUROC), 에이유피알씨(The Area under the Precision-Recall Cruve, AUPRC), 웨이티드 에프원 스코어(Weighted F1-score)를 사용했다.

평가 척도를 정의하기에 앞서 지표에 사용되는 혼동 행렬(confusion matrix)은 표 8 과 같으며, True Positive(TP), True Negative(TN), False Positive(FP), False Negative(FN)는 혼동 행렬의 셀을 의미한다.

표 8. 혼동 행렬

Actual

Disease No Disease Predicted Positive(P) True Positive

(TP)

45

1. 정확도(Accuracy)

정확도는 실험에 사용된 전체 환자 수에서 모델이 정확하게 분류한 환자 수에 대한 비율이며 다음과 같이 정의된다. 데이터가 균등할 때 주로 사용하는 지표이다.

정확도= 모델이 정확하게 분류한 환자 수(TP + TN) 검증에 사용된 환자 수 (TP + TN + FP + FN)

46

2. 에이유알오씨(The Area under the Receiver Operating Characteristics Curve, AUROC)

에이유알오씨(AUROC)는 알오씨(ROC) 곡선 아래 영역의 넓이 값으로 알오씨 곡선에서 x 축은 1-특이도(Specificity), y 축은 민감도(Sensitivity)로 표현된다. 민감도와 특이도는 다음과 같이 정의된다.

민감도=모델이 정확하게 분류한 타겟 환자 수(TP) 실제 타겟 환자 수(TP + FN) 특이도=모델이 정확하게 분류한 비교 환자 수(TN)

실제 비교 환자 수 (TN + FP)

그래프 모형은 다음과 같다. 파란색 점선인 y=x 그래프보다 상위에 존재하고 그래프의 곡선이 위로 갈수록 성능이 좋은 모델이라 평가한다.

그림 20. 알오씨 곡선의 예시

47

3. 에이유피알씨(The Area under the Precision-Recall Curve, AUPRC)

에이유피알씨(AUPRC)는 피알씨(PRC) 곡선 아래 영역의 넓이 값으로 피알씨 곡선에서 x 축은 재현율(recall), y 축은 정밀도(precision)로 표현되며 파라미터 조절에 따른 값의 변화를 그래프로 표현한 것이다. 정밀도와 재현율은 다음과 같이 정의된다.

정밀도=모델이 정확하게 분류한 타겟 환자 수(TP) 모델이 타겟환자로 예측한 수(TP + FP) 재현율=모델이 정확하게 분류한 타겟 환자 수(TP)

실제 타겟 환자 수(TP + FN)

피알씨 곡선의 그래프 모형은 다음과 같다.

그림 21. 피알씨 곡선의 예시

48

4. 에프원 스코어(F1-score)

에프원 스코어(F1-score)는 정밀도와 재현율의 조화평균으로 계산되며 가중치를 준 평균이라고 해석할 수 있다. 주로 데이터가 불균등할 때 사용된다.

수식은 아래와 같다.

에프원 스코어 = 2 × 정밀도× 재현율 정밀도+ 재현율

에프원 스코어는 매크로(macro), 웨이티드(weighted), 마이크로(micro)로 나뉜다. 매크로는 클래스 크게 가중치를 주지 않아 클래스 크기에 상관없이 모든 클래스를 같은 비중으로 다룬다. 웨이티드는 클래스별 샘플 수로 가중치를 두어 평균을 계산한다. 마지막으로 마이크로는 모든 클래스의 TP, FP, FN 의 총 수를 헤아린 후 수치를 계산한다. 본 연구는 클래스별 샘플 수가 다르기 때문에 웨이티드를 성능 평가에 활용했다.

에프원 스코어는 결합된 지표이기 때문에 정해진 클래스 판별 기준값(threshold)이 존재하지 않는다. 다만, 알고리즘을 서로 비교할 때 정밀도과 재현율을 복합적으로 고려하고 싶을 경우 에프원 스코어를 통해 비교한다.

49

. 실험 결과

A. 예측 모델별 성능

모델별로 초매개변수 설정 실험을 통해 최적의 성능을 결과로 추려 비교하였다. 성능 비교에 앞서 모델별 구조 설명은 다음과 같다.

표 9. 모델별 구조 설명

모델 이름 구조 설명

RNN 단일 RNN

BRNN 양방향 RNN

CNN 단일 CNN

Series CRNN 진단+처방 정보를 직렬구조의

CNN, RNN 으로 학습 Parallel CRNN-All 진단+처방 정보를 병렬구조의

CNN, RNN 으로 학습 Parallel CRNN-Dx,Rx 진단 정보를 CNN, 처방 정보를

RNN 으로 병렬 학습 Parallel CRNN-Rx,Dx 처방 정보를 CNN, 진단 정보를

RNN 으로 병렬 학습

50

51

52

Parallel CRNN-Dx,Rx with

Attention

0.7775 0.8678 0.6047 0.7923

Parallel CRNN-Rx,Dx

0.8207 0.8824 0.6361 0.8293

Parallel CRNN-Rx,Dx with

Attention

0.8047 0.8796 0.6139 0.8135

웨이티드 에프원 스코어를 기준으로 국민건강보험공단 표본연구 DB 데이터셋의 경우, Parallel CRNN-Rx,Dx with Attention 모델이 가장 좋은 성능을 나타냈고 아주대학교병원 데이터셋의 경우, Parallel CRNN-Rx,Dx 모델이 가장 좋은 성능을 나타낸 것을 확인할 수 있다.

53

1 376112 Diabetic polyneuropathy 1.9 2 319835 Congestive heart failure 1.8

3 4319447 Urolithiasis 1.7

4 133637 Second degree burn of lower limb 1.6 5 443729 Peripheral circulatory disorder

associated with type 2 diabetes mellitus

1.5

6 4174977 Diabetic retinopathy 1.4 7 4091164 Tuberculosis of intrathoracic lymph

nodes, confirmed bacteriologically and histologically

1.1

7 4313846 Granulomatous hepatitis 1.1 7 381854 Disorder of conjunctiva 1.1 7 381252 Benign neoplasm of eye 1.1

54

결석 환자는 만성 신질환의 위험이 2 배가 높으며, 여성이고 과체중일 경우 위험성이 증가하는 것을 확인할 수 있다(Gambaro et al., 2016). 따라서, 3 순위를 차지한 요로결석(urolithiasis)은 만성 신질환과 관련이 깊음을 시사한다. 4 위를 차지한 하지의 2 도 화상(Second degree burn of lower limb) 환자의 경우, 신장 기능 장애가 올 확률이 높아 만성 신질환과 관련이 있는 것을 확인할 수 있다(Ibrahim et al., 2013).

55

1 432585 Blood coagulation disorder 30

2 134569 Erythema infectiosum 12

3 443731 Renal disorder due to type 2 diabetes

mellitus 11.3 4 4174977 Diabetic retinopathy 9.4

5 197320 Acute renal failure syndrome 9.0

6 444078 Inflammation of cervix 8.8

7 376065 Neurologic disorder associated with type 2 diabetes mellitus

8.8

8 381849 Degenerated eye 8.1

9 4166909 Superficial injury of lower limb 7.9

10 442752 Muscle pain 7.4

56

위험 인자로 소개하고 있다(Wong et al., 2013). 10 위에 위치한 근육통(muscle pain)은 만성 신질환 환자들의 공통적인 증상으로 알려져 있다(Caravaca et al., 2016).

57

mellitus), 안질환(eye disease), 혈액응고장애(blood coagulation disorder), 신장질환(renal disease), 근육통(muscle pain), 울혈성 심부전(congestive heart failure), 요로결석(urolithiasis), 하지의 2 도 화상(Second degree burn of lower limb) 으로 만성 신질환의 중요한 위험 요인인 것을 문헌을 통해 확인할 수 있었다. 문헌에서 발견하지 못한 전염성 홍반(erythema infectiosum), 자궁 경부염증(inflammation of cervix), 하지 표면 상해(superficial injury of lower limb), 결핵(tuberculosis), 결막 장애(disorder of conjunctiva), 눈의 양성 종양(benign neoplasm of eye)은 만성 신질환과 관련성을 확인하지 못하였다. 그러나 임상적으로 만성 신질환의 드러나지 않은 위험 요인들이 계속해서 발견되고 있기 때문에 확인되지 않은 자질들은 잘못 추출된 것이 아니라 아직 밝혀지지 않은 숨겨진

58

76.3%였고 에프원 스코어는 19.2%, 21.3%였다(Vijayarani and Dhayanand, 2015). Ramya and Radha 연구에서는 나이, 성별, 검사 데이터를 이용하여

59

고안해야 할 필요가 있을 것으로 생각된다. 또한, 어텐션 메커니즘의 1 차원적인 결과값만을 추출하여 패턴 정보의 흐름을 확인하지 못하였는데 단순히 높은 가중치만을 볼 것이 아닌 시점별로 가중치를 시각화하여 2 차원적인 패턴의 흐름을 추후 확인할 필요가 있다.

60

Ⅵ. 결론

본 연구를 통해 이에이치알 데이터를 활용한 딥러닝 기반의 만성 신질환 위험도를 예측하였다. 진단 및 처방 정보만을 이용하여 만성 신질환의 진단 여부를 예측하고, 시계열 정보를 고려하는 데 효과적인 딥러닝 기반의 모델을 적용하여, 다양한 모델 구조를 통해 성능을 비교 분석하였다. 또한 이에이치알 데이터를 바로 신경망에 입력하지 않고 임베딩을 통해 데이터의 희소성을 완화하고 어텐션 메커니즘을 적용하여 어떤 시점에서 만성 신질환 위험도 예측에 결정적인 영향을 미쳤는지 분석하였다.

진단 정보와 처방 정보만을 이용하여 조기 발견이 어려운 만성 신질환을 보다 효과적으로 예측하여 만성 신질환의 발병 지연 및 유병률 감소에 기여할 수 있을 것이며 더 나아가 본 모델이 다기관에 범용적으로

진단 정보와 처방 정보만을 이용하여 조기 발견이 어려운 만성 신질환을 보다 효과적으로 예측하여 만성 신질환의 발병 지연 및 유병률 감소에 기여할 수 있을 것이며 더 나아가 본 모델이 다기관에 범용적으로

관련 문서