자동 분할과 ELM을 이용한 심장질환 분류 성능 개선 Performance Improvement of Cardiac Disorder Classification Based on Automatic Segmentation and Extreme Learning Machine원문보기
본 논문은 자동 분할과 extreme learning machine (ELM)을 이용하여 연속 심음신호에 의한 심장질환 분류의 성능을 개선한다. 자동 분할을 위한 전처리 단계에서 비정상적인 심음신호는 심잡음 (murmur)과 클릭음 (click)을 포함하고 있기 때문에 제1음 (S1)과 제2음 (S2) 시작점 검출 결과가 부정확하거나 누락되어 기존의 심장질환 분류 시스템의 정확도를 저하시키게된다. 이러한 분할 오류에 의한 성능 저하를 감소하기 위해 S1 및 S2의 위치를 찾고, S1 및 S2의 시간 차이를 이용하여 부정확한 시작점을 교정한 다음 한 주기 심음 신호를 추출한다. 특징벡터로는 단일 주기의 심음 신호로부터 추출된 멜척도 필터뱅크로그 에너지 계수와 포락선을 사용한다. 심장질환을 분류하기 위하여 한 개의 은닉층을 가진 ELM알고리듬을 사용한다. 9가지 심장질환 분류 실험을 수행한 결과, 제안 방법은 81.6%의 분류 정확도를 나타내며, multi-layer perceptron(MLP), support vector machine (SVM), hidden Markov model (HMM) 중에서 가장 높은 분류 정확도를 보여준다.
본 논문은 자동 분할과 extreme learning machine (ELM)을 이용하여 연속 심음신호에 의한 심장질환 분류의 성능을 개선한다. 자동 분할을 위한 전처리 단계에서 비정상적인 심음신호는 심잡음 (murmur)과 클릭음 (click)을 포함하고 있기 때문에 제1음 (S1)과 제2음 (S2) 시작점 검출 결과가 부정확하거나 누락되어 기존의 심장질환 분류 시스템의 정확도를 저하시키게된다. 이러한 분할 오류에 의한 성능 저하를 감소하기 위해 S1 및 S2의 위치를 찾고, S1 및 S2의 시간 차이를 이용하여 부정확한 시작점을 교정한 다음 한 주기 심음 신호를 추출한다. 특징벡터로는 단일 주기의 심음 신호로부터 추출된 멜척도 필터뱅크 로그 에너지 계수와 포락선을 사용한다. 심장질환을 분류하기 위하여 한 개의 은닉층을 가진 ELM 알고리듬을 사용한다. 9가지 심장질환 분류 실험을 수행한 결과, 제안 방법은 81.6%의 분류 정확도를 나타내며, multi-layer perceptron(MLP), support vector machine (SVM), hidden Markov model (HMM) 중에서 가장 높은 분류 정확도를 보여준다.
In this paper, we improve the performance of cardiac disorder classification by continuous heart sound signals using automatic segmentation and extreme learning machine (ELM). The accuracy of the conventional cardiac disorder classification systems degrades because murmurs and click sounds contained...
In this paper, we improve the performance of cardiac disorder classification by continuous heart sound signals using automatic segmentation and extreme learning machine (ELM). The accuracy of the conventional cardiac disorder classification systems degrades because murmurs and click sounds contained in the abnormal heart sound signals cause incorrect or missing starting points of the first (S1) and the second heart pulses (S2) in the automatic segmentation stage, In order to reduce the performance degradation due to segmentation errors, we find the positions of the S1 and S2 pulses, modify them using the time difference of S1 or S2, and extract a single period of heart sound signals. We then obtain a feature vector consisting of the mel-scaled filter bank energy coefficients and the envelope of uniform-sized sub-segments from the single-period heart sound signals. To classify the heart disorders, we use ELM with a single hidden layer. In cardiac disorder classification experiments with 9 cardiac disorder categories, the proposed method shows the classification accuracy of 81.6% and achieves the highest classification accuracy among ELM, multi-layer perceptron (MLP), support vector machine (SVM), and hidden Markov model (HMM).
In this paper, we improve the performance of cardiac disorder classification by continuous heart sound signals using automatic segmentation and extreme learning machine (ELM). The accuracy of the conventional cardiac disorder classification systems degrades because murmurs and click sounds contained in the abnormal heart sound signals cause incorrect or missing starting points of the first (S1) and the second heart pulses (S2) in the automatic segmentation stage, In order to reduce the performance degradation due to segmentation errors, we find the positions of the S1 and S2 pulses, modify them using the time difference of S1 or S2, and extract a single period of heart sound signals. We then obtain a feature vector consisting of the mel-scaled filter bank energy coefficients and the envelope of uniform-sized sub-segments from the single-period heart sound signals. To classify the heart disorders, we use ELM with a single hidden layer. In cardiac disorder classification experiments with 9 cardiac disorder categories, the proposed method shows the classification accuracy of 81.6% and achieves the highest classification accuracy among ELM, multi-layer perceptron (MLP), support vector machine (SVM), and hidden Markov model (HMM).
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 자동분할을 이용한 ELM 기반의 심장질환 분류기를 제안하였다. 연속심음 데이터를 인식하기 위하여 제1음과 제2음의 시작점들을 검출하고 이를 개선하는 알고리듬을 제안하였다.
따라서 청진 음으로부터 심장 질환의 유무와 종류를 자동 적으로 판단할 수 있으면 진단시간 단축과 정밀진단 필요 여부를 판정하는데 도움이 된다. 본 논문은 이를 위하여 청진 음으로부터 심장질환을 분류하고 질환 여부를 검출하는 방법을 제안한다.
심장질환을 분류하기 위하여 다른 학습 알고리듬과 비교하여 계산 시간이 작고 복잡한 문제에서도 우수한 성능을 얻는 extreme learning machine (ELM) [9] [10]을 이용한다. 연속 심음 신호를 이용하여 심장질환의 유무를 판단하는 초기진단 시스템에 적용할 수 있는 방법을 제안한다.
심장질환을 분류하기 위하여 다른 학습 알고리듬과 비교하여 계산 시간이 작고 복잡한 문제에서도 우수한 성능을 얻는 extreme learning machine (ELM) [9] [10]을 이용한다. 연속 심음 신호를 이용하여 심장질환의 유무를 판단하는 초기진단 시스템에 적용할 수 있는 방법을 제안한다.
가설 설정
(automatic threshold) [8]을 응용하였디-. 먼저 쉐논 에너지를 0〜255사이의 정수값으로 정규화한 이산 랜덤 변수를 X라고 가정하고, X의 히스토그램 N(X=i) 를 구한다. 식 ⑵로부터 레벨 값이 i 이하인 샘플의 개수 知)를 구하고, 식 ⑶을 이용하여 레벨 값이 i 이하인 샘플의 평균값 川⑴를 구한다.
제안 방법
ELM 알고리듬은 입력 가중치와 뉴런들의 바이어스들의 학습을 하지 않고 학습 데이터의 실제 출력 값과 목표 출력 값의 오차가 제로가 되도록 하는 신경망의 은닉층 출력행렬 丑와 목표 출력행렬 T를 이용하여 극소 놈 최소 자승해 8를 구하였다. 실제 출력 값과 목표 출력 값의 오차가 제로가 되는 학습 모델링을 얻었다.
추출한 고립심음 데이터를 사용하였다. HMM은 그 구조에 따라서 여러 기지 형태가 존재하는데 신호의 특성이 시간에 따라서 변하는 경우에는 자기 천이와 상태간의 천이가 왼쪽에서 오른쪽으로만 가능한 좌우 (left-to-right) HMMo| 기장 많이 사용된다 [12], 고립심음 데이터를 학습하기 위해서 그림 4에서 보는 바와 같이 좌에서 우로 천이하는 형태를 사용하였고 상태 개수는 동일한 질병 이라 도심 잡음의 위치와 특성이 다르므로 단일 주기의 고립 심음을 시작 상태와 끝 상태를 포함한 8개로 설정하였다.
추출한 고립심음 데이터를 사용하였다. HMM은 그 구조에 따라서 여러 기지 형태가 존재하는데 신호의 특성이 시간에 따라서 변하는 경우에는 자기 천이와 상태간의 천이가 왼쪽에서 오른쪽으로만 가능한 좌우 (left-to-right) HMMo| 기장 많이 사용된다 [12], 고립심음 데이터를 학습하기 위해서 그림 4에서 보는 바와 같이 좌에서 우로 천이하는 형태를 사용하였고 상태 개수는 동일한 질병 이라 도심 잡음의 위치와 특성이 다르므로 단일 주기의 고립 심음을 시작 상태와 끝 상태를 포함한 8개로 설정하였다.
미 검출구간의 평균주기 (巧)와 坛, 如 검출구간의 평균 주기 (P2)를 구하였다. P1 과 P2의 검출한 주기의 수를 계산하여 P1 과 P2의 검출된 확률을 구하고 심음신호의 한주기를 계산하기 위해 以과 P2의 검출된 확률을 가중치 값으로 적용하여 심음신호의 한 주기 값을 얻었다, 旨-也의 중간지점을중심으로한주기만큼 나누어 如, 农 검출 신호의 위치를 구하였다. 如 , t요 검출 신호의 위치에 대한 히스토그램을 구한 후, 如과 峑 신호를 구별하는 문턱값을 구하였다 구별된 知과 七의 평균 위치를 구하여 如 , 如 미검출 신호와 부정확한 위치에 존재하는 知, 峑 신호에 S1의 시작점 또는 S2의 시작점으로 표시하였다.
심음신호의 주파수 주성분은 1 kHz 이하에 분포하므로 8 kHz 샘플링율의 심음신호를 2 kHz 샘플링율의 심음 신호로 다운샘플링하여 심음신호의 샘플링율을 낮추어 변환하였다. S1 과 S2의 시간적 특성은 100 ms 범위 내외에서 변화하나 심잡음과 클릭음의 시간적 특성은 30 ms 범위 내외에서 변하므로 S1 과 S2의 첫 번째 하모닉 (harmonic) 요소의 3 사이클 (cycle)을 포함하도록 윈도우 크기를 30 ms로 선택하였으며, 심잡음은 짧은 시간 내에 특성이 변하므로 윈도우는 매 10 ms 마다 이동한다. 심음 신호의 특징 벡터를 추출하기 위해 그림 3에서 보는 바와 같은 과정을 거친다 [12],
질환의 종류를 분류하였다. S1/S2 시작점 검출 신호 妇 , 农과 개선된 S1/S2 시작점 교정신호 玲, 島을 이용하여 ELM을 이용한 연속심음 인식실험을 수행하였다. 기존의 분할 방식 知 , 如 신호를 이용한 심장질환 분류정확도는 79.
심음신호의 주파수 주성분은 1 kHz 이하에 분포하므로 8 kHz 샘플링율의 심음신호를 2 kHz 샘플링율의 심음 신호로 다운샘플링하여 심음신호의 샘플링율을 낮추어 변환하였다. S1 과 S2의 시간적 특성은 100 ms 범위 내외에서 변화하나 심잡음과 클릭음의 시간적 특성은 30 ms 범위 내외에서 변하므로 S1 과 S2의 첫 번째 하모닉 (harmonic) 요소의 3 사이클 (cycle)을 포함하도록 윈도우 크기를 30 ms로 선택하였으며, 심잡음은 짧은 시간 내에 특성이 변하므로 윈도우는 매 10 ms 마다 이동한다. 심음 신호의 특징 벡터를 추출하기 위해 그림 3에서 보는 바와 같은 과정을 거친다 [12],
SI, S2의 시작점과 한 주기를 알 수 있으므로 연속 심음 신호에서 단일 주기 고립 심음신호를 추줄하였다. 특징 벡터를 추출하기 위해 그림 12에서 보는 바와 같이 필터뱅크 로그 에너지 값과 심음신호의 포락선 값을 구하였다.
그 평균값을 이용하여 그림 11 (b)에서 보는 바와 같이 如에서 如 사이의 거리와 이외의 거리를 구분하고 S1 과 S2를 표시하였다. 검출한 如과 如신호를 이용하여 t41 이전 거리 (D1), 七鱼 이후 거리 (D2)를 측정하여 이과 D2의 히스토그램을 이용하여 焰 또는 如의 미검출 구간 (M)을 표시하였다. 미검출 구간의 거리는 대략 한 주기의 값을 가진다.
단일 주기 심음 신호의 포락선을 일기 위해 병렬적으로 균일한 길이를 가지도록 부세그먼트 (subsegment)로 분할하였다. 균일하게 나누어지지 않는 신호는 심음 신호의 마지막 부분에。으更 채워주고 40개의 균일한 길이를 가지는 부세그먼트로 분할하였다.
미검출 구간의 거리는 대략 한 주기의 값을 가진다. 미 검출구간의 평균주기 (巧)와 坛, 如 검출구간의 평균 주기 (P2)를 구하였다. P1 과 P2의 검출한 주기의 수를 계산하여 P1 과 P2의 검출된 확률을 구하고 심음신호의 한주기를 계산하기 위해 以과 P2의 검출된 확률을 가중치 값으로 적용하여 심음신호의 한 주기 값을 얻었다, 旨-也의 중간지점을중심으로한주기만큼 나누어 如, 农 검출 신호의 위치를 구하였다.
데이터로 구성된다. 본 논문에서 HMM 기반 심장 질환분류에서는 연속 심음을 그대로 사용하고, 신경 회로망 기반의 심장 질환 분류에서는 각 연속 심음 데이터로부터 본 논문에서 제안한 방법으로 추출한 각각 두 개의 단일주기 심음을 사용한다. 실험에 사용된 정상 및 심장 질환별로 나누어진 연속 심음 데이터 및 단일 주기 심음 데이터의 개수는 표 1과 같다.
데이터로 구성된다. 본 논문에서 HMM 기반 심장 질환분류에서는 연속 심음을 그대로 사용하고, 신경 회로망 기반의 심장 질환 분류에서는 각 연속 심음 데이터로부터 본 논문에서 제안한 방법으로 추출한 각각 두 개의 단일주기 심음을 사용한다. 실험에 사용된 정상 및 심장 질환별로 나누어진 연속 심음 데이터 및 단일 주기 심음 데이터의 개수는 표 1과 같다.
본 논문에서는 EM 알고리듬에서 은닉층 뉴런의 개수에 따른 심장질환 분류 실험과 각 실험에 대한 심장질환 검출률을 구하였다. 은닉층 뉴런의 개수에 따른 심장질환 분류 결과 그림 14에서 보는 바와 같이 500개와 1, 000 개의 은닉증 뉴런의 개수를 가질 때 우수한 성능을 보이고 있다.
본 논문에서는 뉴런의 개수는 500개를 가지고 500번째 실험에서 얻은 학습 모델링을 가지고 연속 심음 신호의 심장 질환의 종류를 분류하였다. S1/S2 시작점 검출 신호 妇 , 农과 개선된 S1/S2 시작점 교정신호 玲, 島을 이용하여 ELM을 이용한 연속심음 인식실험을 수행하였다.
검출하여야 한다. 본 논문에서는 단일 주기의 심음 신호를 검출하기 위해 그림 6과 같이 SI, S2 시작점을 검출하고 교정한다. SI, S2 시작점을 검출하고 교정히는방법은 아래에서 자세하게 서술한다.
검출하여야 한다. 본 논문에서는 단일 주기의 심음 신호를 검출하기 위해 그림 6과 같이 SI, S2 시작점을 검출하고 교정한다. SI, S2 시작점을 검출하고 교정히는방법은 아래에서 자세하게 서술한다.
본 논문에서는 자동분할 알고리듬으로 인한 분류 오류율을 최소화하기 위해 대역통과필터와 쉐논 에너지 (Shannon energy) 이용하여 제1음 (S1)과 제2음 (S2) 를 강조한 다음 영상 이진화 방법 [8]을 응용하여 S1과 S2구간의 시작점들을 검출하고, 시작점들 간의 거리를 이용하여 미검출 시작점을 추가하고 부정확한 시작점을 교정하는 개선된 자동 분할 알고리듬을 구축한다.
본 논문에서는 자동분할 알고리듬으로 인한 분류 오류율을 최소화하기 위해 대역통과필터와 쉐논 에너지 (Shannon energyX 이용하여 제1음 (S1)과 제2음 (S2) 를 강조한 다음 영상 이진화 방법 ⑻을 응용하여 S1 과 S2구간의 시작점들을 검출하고, 시작점들 간의 거리를 이용하여 미검출 시작점을 추가하고 부정확한 시작점을 교정하는 개선된 자동 분할 알고리듬을 구축한다. 단일주기의 심음신호를 추출하여 필터뱅크 로그 에너지 값과 심음 신호의 포락선 값을 구하여 특징벡터로 사용한다.
실제 수집된 연속 심음신호는 시작점이 랜덤하므로 순환 HMM을 이용하여 연속심음 인식실험을 추가하였다. 수집된 실제 심음신호는 그 시작점이 각각 다르므로 순환 HMM을 이용하여 연속심음 인식실험을 한 결과 심장질환 분류 정확도는 표 2에서 보는 바와 같이 평균 75.
발생한다. 실제 연속심음 데이터는 전자청진기를 이용하여 심음신호를 수집하므로 처음으로 들어오는 심음 신호의 구간을 알 수 없으므로 첫 번째 상태에서 한주기 심음신호의 모든 상태간의 천이가 가능하도록 그림 5에서 보는 바와 같이 순환 (circular) HMM을 이용하여 연속 심음 신호를 모델링한다. 점선 화살표는 첫 번째 상태에서 모든 상태간의 천이 가능을 나타내고 실선 화살표는 좌우 HMM의 상태간의 천이 가능을 나타낸다.
발생한다. 실제 연속심음 데이터는 전자청진기를 이용하여 심음신호를 수집하므로 처음으로 들어오는 심음 신호의 구간을 알 수 없으므로 첫 번째 상태에서 한주기 심음신호의 모든 상태간의 천이가 가능하도록 그림 5에서 보는 바와 같이 순환 (circular) HMM을 이용하여 연속 심음 신호를 모델링한다. 점선 화살표는 첫 번째 상태에서 모든 상태간의 천이 가능을 나타내고 실선 화살표는 좌우 HMM의 상태간의 천이 가능을 나타낸다.
8를 구하였다. 실제 출력 값과 목표 출력 값의 오차가 제로가 되는 학습 모델링을 얻었다.
심음신호에서는 知—如의 시간적 거리가 知-如의 시간적 거리, 미검출 신호로 생기는 거리보다 작다는 사전정보를 이용하여 각 시작점이 S1 인지 S2인지를 판별하였다.
있다. 심음신호의 주파수 주성분은 1 kHz 이하에 분포하므로 8 kHz 샘플링율의 심음신호를 2 kHz 샘플링율의 심음 신호로 다운샘플링하여 심음신호의 샘플링율을 낮추어 변환하였다. S1 과 S2의 시간적 특성은 100 ms 범위 내외에서 변화하나 심잡음과 클릭음의 시간적 특성은 30 ms 범위 내외에서 변하므로 S1 과 S2의 첫 번째 하모닉 (harmonic) 요소의 3 사이클 (cycle)을 포함하도록 윈도우 크기를 30 ms로 선택하였으며, 심잡음은 짧은 시간 내에 특성이 변하므로 윈도우는 매 10 ms 마다 이동한다.
있다. 심음신호의 주파수 주성분은 1 kHz 이하에 분포하므로 8 kHz 샘플링율의 심음신호를 2 kHz 샘플링율의 심음 신호로 다운샘플링하여 심음신호의 샘플링율을 낮추어 변환하였다. S1 과 S2의 시간적 특성은 100 ms 범위 내외에서 변화하나 심잡음과 클릭음의 시간적 특성은 30 ms 범위 내외에서 변하므로 S1 과 S2의 첫 번째 하모닉 (harmonic) 요소의 3 사이클 (cycle)을 포함하도록 윈도우 크기를 30 ms로 선택하였으며, 심잡음은 짧은 시간 내에 특성이 변하므로 윈도우는 매 10 ms 마다 이동한다.
심장질환 분류 실험을 하기 위해 爲, 爲 신호를 이용하여 한주기 심음신호를 추출하고 1개의 연속심음 신호에서 2개 고립심음 데이터를 구축하였다. 심장질환의 종류에 대한 인식실험은 비정상적인 심장질환에 대한 데이터의 개수가 적어 교차검증 (cross—validation) 방식을 이용하여 독립적인 연속 심음 인식실험을 하였다.
분류기를 제안하였다. 연속심음 데이터를 인식하기 위하여 제1음과 제2음의 시작점들을 검출하고 이를 개선하는 알고리듬을 제안하였다. 패턴 분류기로는 ELM을 사용하였는데, 다른 학습 방법들에 비해 속도가 매우 빠르고 일반화 성능이 우수하며, 한 개의 은닉층을 가진 단순한 신경회로망으로 구성할 수 있다는 장점이 있다.
부분에。으更 채워주고 40개의 균일한 길이를 가지는 부세그먼트로 분할하였다. 각 부세그먼트의 절대값의 평균값을 계산하여 40개의 포락선 값을 구하였다.
특징 벡터를 추출하기 위해 그림 12에서 보는 바와 같이 필터뱅크 로그 에너지 값과 심음신호의 포락선 값을 구하였다. 심음신호의 특징벡터인 필터뱅크 로그 에너지 값과 심음 신호의 포락선 값을 구하는 방법은 아래에서 자세하게 서술한다.
계산하였다. 필터뱅크 출력 값에 log값을 취한 후 discrete cosine transform (DCT)을 하여 mel frequency cepstral coefficients (MFCC) 값을 얻게 된다. MFCC 계수는 12개를 사용하며 프레임 로그 에너지를 추가 적으로 사용하여 특징벡터는 13차 벡터가 된다.
필터뱅크 출력을 얻기 위해서 전체 주파수 범위를 mel-scale에 맞추어 30개의 밴드로 분할하여 필터 뱅크 계수를 계산하였다. 필터뱅크 출력 값에 log값을 취한 후 discrete cosine transform (DCT)을 하여 mel frequency cepstral coefficients (MFCC) 값을 얻게 된다.
필터뱅크 출력을 얻기 위해서 전체 주파수 범위를 mel-scale에 맞추어 30개의 밴드로 분할하여 필터 뱅크 계수를 계산하였다. 필터뱅크 출력 값에 log값을 취한 후 discrete cosine transform (DCT)을 하여 mel frequency cepstral coefficients (MFCC) 값을 얻게 된다.
전처리에서 추출한 단일 주기 고립 심음 신호를 1개의 프레임으로 설정하였다* Hanmng 윈도우 함수가 씌워진 e(n) 에 대해서 2048-points 고속 푸리에 변환: (FFT)을 취하여 값을 얻는다. 필터뱅크출력을 얻기 위해 전체 주파수 범위를 mel-scale에 맞추어 0~1000 Hz를 100개로 분할하였다. 필터뱅크 출력값의 크기 (magnitude)를 구하고 log 함수를 취하여 100개의 필터뱅크 로그 에너지 값을 얻었다.
대상 데이터
HW기반 심장질환 분류기의 학습을 위하여 무선 전자청진기를 이용하여 수집한 실제 정상 고립심음 데이터와 추출한 고립심음 데이터를 사용하였다. HMM은 그 구조에 따라서 여러 기지 형태가 존재하는데 신호의 특성이 시간에 따라서 변하는 경우에는 자기 천이와 상태간의 천이가 왼쪽에서 오른쪽으로만 가능한 좌우 (left-to-right) HMMo| 기장 많이 사용된다 [12], 고립심음 데이터를 학습하기 위해서 그림 4에서 보는 바와 같이 좌에서 우로 천이하는 형태를 사용하였고 상태 개수는 동일한 질병 이라 도심 잡음의 위치와 특성이 다르므로 단일 주기의 고립 심음을 시작 상태와 끝 상태를 포함한 8개로 설정하였다.
학습 데이터를 구축하였다. 단일 주기의 고립 심음 신호는 시작 상태와 끝 상태를 포함한 8개로 설정하였다. 4개의 Gaussian mixture model을 이용하여 5번의 반복 학습을 통해 학습 모델링을 얻었다.
심장질환의 종류에 대한 인식실험은 비정상적인 심장질환에 대한 데이터의 개수가 적어 교차검증 (cross—validation) 방식을 이용하여 독립적인 연속 심음 인식실험을 하였다. 본 논문에서는 전체 심음 데이터 중에서 각 심장질환의 1개의 연속 심음 데이터에서 추출한 2개의 고립 심음 데이터만 인식용 데이터로 사용하고 나머지 데이터는 훈련용 데이터로 사용하였다. 이런 과정을 반복하여 모든 데이터가 반드시 한 번씩 인식용 데이터로 시용하게 되므로 적은 데이터를 이용하여도 신뢰성 있는 인식결과를 얻을 수 있도록 하였다.
계산량 증가에 비해 성능 증가가 크지 않다. 상대적으로 증가비율이 낮으므로 이후의 실험에서는 은닉층 뉴런의 개수를 500개로 고정하였다.
심음신호를 분류하기 위하여 심음분류 능력을 기르기 위해서 발행된 교육용 오디오 시디 (CD) [U]와 여러 기관에서 공개한 심음 데이터베이스로부터 추출한 심음 데이터를 수집하였다. 여기에 본 연구실에서 수집한 실제 정상인의 심음신호를 추가하였다.
심음신호를 분류하기 위하여 심음분류 능력을 기르기 위해서 발행된 교육용 오디오 시디 (CD) [U]와 여러 기관에서 공개한 심음 데이터베이스로부터 추출한 심음 데이터를 수집하였다. 여기에 본 연구실에서 수집한 실제 정상인의 심음신호를 추가하였다.
데이터처리
균일하게 나누어지지 않는 신호는 심음 신호의 마지막 부분에。으更 채워주고 40개의 균일한 길이를 가지는 부세그먼트로 분할하였다. 각 부세그먼트의 절대값의 평균값을 계산하여 40개의 포락선 값을 구하였다. 앞에서 구한 100개의 필터뱅크 로그 에너지 값과 40개의 포락선 값을 하나의 벡터로 연결하여 최종적으로 140차원의 특징벡터를 얻는다.
검출한 顷 场의 시간과 顷 袋의 이전시간의 차를 구하고 妇, 如의 시간적 거리를 내림차순으로 정렬한 후, 정렬된 ta, 如의 시간적 거리 값들에서의 작은 값들의 50 백분위수 (percentile)의 평균을 구하였다. 그 평균값을 이용하여 그림 11 (b)에서 보는 바와 같이 如에서 如 사이의 거리와 이외의 거리를 구분하고 S1 과 S2를 표시하였다.
2개 고립심음 데이터를 구축하였다. 심장질환의 종류에 대한 인식실험은 비정상적인 심장질환에 대한 데이터의 개수가 적어 교차검증 (cross—validation) 방식을 이용하여 독립적인 연속 심음 인식실험을 하였다. 본 논문에서는 전체 심음 데이터 중에서 각 심장질환의 1개의 연속 심음 데이터에서 추출한 2개의 고립 심음 데이터만 인식용 데이터로 사용하고 나머지 데이터는 훈련용 데이터로 사용하였다.
이론/모형
단일 주기의 고립 심음 신호는 시작 상태와 끝 상태를 포함한 8개로 설정하였다. 4개의 Gaussian mixture model을 이용하여 5번의 반복 학습을 통해 학습 모델링을 얻었다.
4. ELM classification performance comparison using the conventional starting-point detection algorithm and the proposed automatic segmentation algorithm.
Radial-basis function networks (RBFN) 커 널을 사용하였고 trade off 가중치 값 C는 그림 16에서 보는 바와 같이 계산량 증가에 비해 성능 증가가 크지 않으므로 상대적으로 좋은 성능을 보이는 500으로 설정하였다. One-per-class를 사용하여 멀티 클래스로 확장하여 학습 모델링을 얻었다.
단일주기의 심음신호를 추출하여 필터뱅크 로그 에너지 값과 심음 신호의 포락선 값을 구하여 특징벡터로 사용한다. 심장질환을 분류하기 위하여 다른 학습 알고리듬과 비교하여 계산 시간이 작고 복잡한 문제에서도 우수한 성능을 얻는 extreme learning machine (ELM) [9] [10]을 이용한다. 연속 심음 신호를 이용하여 심장질환의 유무를 판단하는 초기진단 시스템에 적용할 수 있는 방법을 제안한다.
단일주기의 심음신호를 추출하여 필터뱅크 로그 에너지 값과 심음 신호의 포락선 값을 구하여 특징벡터로 사용한다. 심장질환을 분류하기 위하여 다른 학습 알고리듬과 비교하여 계산 시간이 작고 복잡한 문제에서도 우수한 성능을 얻는 extreme learning machine (ELM) [9] [10]을 이용한다. 연속 심음 신호를 이용하여 심장질환의 유무를 판단하는 초기진단 시스템에 적용할 수 있는 방법을 제안한다.
5로 설정하였다. 활성화 함수는 시그모이드 (sigmoid) 함수를 사용하였고 학습 함수는 scaled conjugate gradient 알고리듬 [⑸을 사용하였다.
성능/효과
출력 층에 사용되는 활성화 함수는 선형함수를 사용한다. ELM 알고리듬의 주요 장점은 1) 반복학습을 하지 않기 때문에 다른 학습 방법들에 비해 속도가 매우 빠르다. 2) 경사 기반 학습빙법들은 오직 출력 오次를 최소로 히기 때문에 가중치들의 크기를 고려하지 않지만 ELM 알고리듬은 가장 작은 출력 오차와 놈 최소지승 방법을 이용하여 가장 작은 가중치들까지 구하기 때문에 일반화 성능이 우수하다.
ELM 알고리듬의 주요 장점은 1) 반복학습을 하지 않기 때문에 다른 학습 방법들에 비해 속도가 매우 빠르다. 2) 경사 기반 학습빙법들은 오직 출력 오次를 최소로 히기 때문에 가중치들의 크기를 고려하지 않지만 ELM 알고리듬은 가장 작은 출력 오차와 놈 최소지승 방법을 이용하여 가장 작은 가중치들까지 구하기 때문에 일반화 성능이 우수하다. 3) 경사 기반 학습 방법은 오직 미분 가능한 활성함수를 시- 용하지만 ELM 알고리듬은 미분가능하지 않은 활성 함수를 가지는 한 개의 은닉층으로 구성된 신경회로망을 학습할 수 있다 4) 경사 기반 학습 방법이 국부최소, 부적절한 학습률의 효과, over-fitting과 같은 문제점이 있는반면 ELM 알고리듬은 한 번의 학습으로 해에 도달하는 경향이 있다 [9] [10],
2) 경사 기반 학습빙법들은 오직 출력 오次를 최소로 히기 때문에 가중치들의 크기를 고려하지 않지만 ELM 알고리듬은 가장 작은 출력 오차와 놈 최소지승 방법을 이용하여 가장 작은 가중치들까지 구하기 때문에 일반화 성능이 우수하다. 3) 경사 기반 학습 방법은 오직 미분 가능한 활성함수를 시- 용하지만 ELM 알고리듬은 미분가능하지 않은 활성 함수를 가지는 한 개의 은닉층으로 구성된 신경회로망을 학습할 수 있다 4) 경사 기반 학습 방법이 국부최소, 부적절한 학습률의 효과, over-fitting과 같은 문제점이 있는반면 ELM 알고리듬은 한 번의 학습으로 해에 도달하는 경향이 있다 [9] [10],
은닉층 뉴런의 개수에 따른 심장질환 분류 결과 그림 14에서 보는 바와 같이 500개와 1, 000 개의 은닉증 뉴런의 개수를 가질 때 우수한 성능을 보이고 있다. 500개의 은닉층 뉴런의 개수를 가질 때 심장질환 분류 결과 75.9%를 보이고 1, 000개의 은닉층 뉴런의 개수를 가질 때 심장질환 분류 결과 78.1%를 보이고 있다. 상대적 개선률은 9.
SVM을 이용하여 연속심음 인식실험을 한 결과 심장질환 분류 정확도는 76.6%를 보이고 있다 심장질환 검출률은 96.6%를 보였다.
或을 이용하여 연속심음 인식실험을 한 결과 심장질환 분류 정확도는 73.1%를 보이고 있다 심장질환의 유무를 판정한 결과 96.9%의 검출률을 보이고 있다.
S1/S2 시작점 검출 신호 妇 , 农과 개선된 S1/S2 시작점 교정신호 玲, 島을 이용하여 ELM을 이용한 연속심음 인식실험을 수행하였다. 기존의 분할 방식 知 , 如 신호를 이용한 심장질환 분류정확도는 79.4%를 나타내었고 제안한 자동분할 방식 焉 , 蓦 신호를 이용한 심장질환 분류 정확도는 81.6%를 나타내었다. 표 4는 기존의 시작점 검출 알고리듬을 이용한 Em 심장질환 분류 정확도와 제안된 자동검출 알고리듬을 이용한 ELM 심장질환 분류 정확도를 나타낸다.
4)를 개선한 것이며, 이 수치는 비교 대상으로부터의 상대적 개선률을 의미한다. 따라서 ELM 기반의 심음 분류기는 HMM, MLP, SVM에 비교하여 24.6%, 31.6%, 21.4%의 상대적 개선률을 나타내었다.
추가하였다. 수집된 실제 심음신호는 그 시작점이 각각 다르므로 순환 HMM을 이용하여 연속심음 인식실험을 한 결과 심장질환 분류 정확도는 표 2에서 보는 바와 같이 평균 75.6%를 보이고 있다. 정상 데이터 80개, 비정상 데이터 80개의 연속 심음 데이터를 이용하여 심장질환의 유무를 분류한 결과 표 3에서 보인 바와 같이 93.
실험 시도 횟수에 대한 심장질환 분류 정확도를 조사한 결과 그림 15에서 보인 바와 같이 평균 80.6%의 정확도를 나타내었다.
패턴 분류기로는 ELM을 사용하였는데, 다른 학습 방법들에 비해 속도가 매우 빠르고 일반화 성능이 우수하며, 한 개의 은닉층을 가진 단순한 신경회로망으로 구성할 수 있다는 장점이 있다. 연속 심음 데이터를 이용하여 실험한 결과 ELM 기반 심장질환 분류 정확도는 81.6%로서 HMM, MLP, SVM 기반 심장질환 분류기에 비하여 21〜32%의 상대적 개선률을 나타내었다. 특히 심장질환 여부를 판정하는 실험에서 제안 방법은 96.
6%를 보이고 있다. 정상 데이터 80개, 비정상 데이터 80개의 연속 심음 데이터를 이용하여 심장질환의 유무를 분류한 결과 표 3에서 보인 바와 같이 93.2%의 평균 검출률을 보이고 있다.
좌우 HW을 이용하여 연속심음 인식실험을 한 결과 심장질환 분류 정확도는 72.8%를 보였다.
6%로서 HMM, MLP, SVM 기반 심장질환 분류기에 비하여 21〜32%의 상대적 개선률을 나타내었다. 특히 심장질환 여부를 판정하는 실험에서 제안 방법은 96.9%의 검출 정확도를 나타내어, 실용화 가능성을 볼 수 있었다.
표 6에서 보는 바와 같이 HMM, MLP, SVM, ELM 기반의 심장 질환 분류기는 각각 75.6%, 73.1%, 76.6%, 81.6% 의 분류 정확도를 나타내 었다. 표 7에서 보는 바와 같이 HMM, MLP, SVM, ELM 기반의 심장 질환 검출 정확도는 각각 93.
6% 의 분류 정확도를 나타내 었다. 표 7에서 보는 바와 같이 HMM, MLP, SVM, ELM 기반의 심장 질환 검출 정확도는 각각 93.2%, 96.9%, 96.6%, 96.9%의 분류 정확도를 나타내었다. ELM 기반 심음분류기는 HMM 심음분류기 오류율 24.
후속연구
ELM 기반의 심장질환 분류기 에서는 MLP 또는 SVM 알고리듬과 달리 반복학습을 하지 않기 때문에 학습 속도가 매우 빠르고 가장 작은 출력 오차와 놈 최소자승 방법을 이용하여 가장 작은 가중치들까지 구하기 때문에 일반화 성능이 우수한 반면에 단일 주기 심음신호로부터 구한 특징 벡터를 요구하므로 본 논문에서 제안한 바와 같은 고성능의 자동분할 알고리듬이 필요하다.
참고문헌 (17)
D. Barschdorff, S. Ester, T. Dorsel, and E. Most, "Neural network based multi-sensor heart sound analysis," Proc. Computers in Cardiology 1990, Chicago, IL, USA, 303-306, Sep. 1990
O. Abdel-Alim, N. Hamdy, and M. A. El-Hanjouri, "Heart diseases diagnosis using heart sounds," Proc. 19th NRSC, Alexandria Univ., Egypt, 634-640, Mar, 2002
D. Barschdorff, U. Femmer, and E. Trowitzsch, "Atuomatic phonocardiogram signal analysis in infants based on wavelet transforms and artificial neural networks," Proc. Computers in Cardiology 1995, Vienna, Austria, 753-756, Sep. 1995
M. El-Hanjouri, W. Alkhaldi, N. Hamdy, and O.A. Alim, "Heart diseases diagnosis using HMM," Proc. IEEE MELECON 2002, Cairo, Egypt, 489-492, May. 2002
A. Ricke, R. Provinelli, and M. Johnson, "Automatic seg-mentation of heart sound signals using hidden Markov models," Proc. Computers in Cardiology 2005, 953-956, Sep. 2005
김희근, 정용주, "Hidden Markov model를 이용한 심음분류에 관한 연구," 한국음향학회지, 3(25), 144-150, 2006
김희근, 정용주, "Ergodic hidden Markov model을 이용한 연속 심음분류에 관한 연구," 대한의료정보학회지, 13(1), 35-41, 2007
G.-B. Huang, Q.-Y. Zhu, and C.-K. Siew, "Extreme learning machine: A new learning scheme of feedforward neural networks," 2004 International Joint Conference on Neural Networks (IJCNN'2004), 2, 985-990, July, 2004
G.-B. Huang, Q.-Y. Zhu and C.-K. Siew, "Extreme learning machine: Theory and applications, Neurocomputing, 70, 489-501, 2006
Daniel Mason, Listening to the Heart: A Comprehensive Collection of Heart Sounds and Murmurs, (F. A. Davis Com-pany, Philadephia, 2000)
S. Young, G. Evermann, M. Gales, T. Hain, D. Kershwa, X. Liu, G. Moore, J. Odell, D. Ollason, D. Povey, V. Valtchev, and P. Woodland, Hidden Markov Model Toolkit v.3.4, (Cam-bridge University, 2006)
H. Liang, S. Lukkarinen, and I. Hartimo, "Heart sound segmentation algorithm based on heart sound envelogram," Proc, Computers in Cardiology 1997, Lund, Sweden, 105-108, Sep. 1997
M. Leshno, V. Y. Lin, A. Pinkus, and S. Schocken, "Multilayer feedforward networks with a nonpolynomial ac-tivation function can approximate any function," Neural Net-works, 6, 861-867, 1993
F. Schwenker, "Hierarchical support vector machines for multi-class pattern recognition," International Conference on Knowledge-based Intelligent Engineering Systems & Allied Technologies, Brighton, UK, 2, 561-565, 2000
Y. Liu and Y.F. Zheng, "One-against-all multi-class SVM classification using reliability meausres," IEEE International Joint Conference on Neural Networks, 2, 849-854, 2005
※ AI-Helper는 부적절한 답변을 할 수 있습니다.