YOMEDIA
ADSENSE
Phân loại bệnh rung nhĩ dùng XGBoost và học sâu
48
lượt xem 1
download
lượt xem 1
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Bài viết này đề xuất một phương pháp phân loại tín hiệu rung nhĩ được đo từ các thiết bị điện tâm đồ (ECG) cầm tay. Phương pháp tiếp cận của chúng tôi sử dụng kết hợp XGBoost và mô hình học sâu (deep learning) trong đó XGBoost được xây dựng trên bộ đặc trưng được tăng cường và tinh chỉnh qua thực nghiệm, thực hiện vai trò sinh dữ liệu cho mô hình học sâu.
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Phân loại bệnh rung nhĩ dùng XGBoost và học sâu
Nguyễn Hồng Quang và Đtg<br />
<br />
Tạp chí KHOA HỌC & CÔNG NGHỆ<br />
<br />
189(13): 85 - 91<br />
<br />
PHÂN LOẠI BỆNH RUNG NHĨ DÙNG XGBOOST VÀ HỌC SÂU<br />
Nguyễn Hồng Quang1*, Trịnh Văn Loan1, Phạm Ngọc Hưng3,<br />
Hà Quang Thái2, Bùi Trung Anh2, Phan Công Mạnh2<br />
1<br />
<br />
Trường Đại học Bách Khoa Hà Nội,<br />
Công ty TNHH phát triển phần mềm Toshiba (Việt Nam),<br />
3<br />
Trường Đại học Sư phạm Kỹ thuật Hưng Yên<br />
<br />
2<br />
<br />
TÓM TẮT<br />
Bài báo này đề xuất một phương pháp phân loại tín hiệu rung nhĩ được đo từ các thiết bị điện tâm<br />
đồ (ECG) cầm tay. Phương pháp tiếp cận của chúng tôi sử dụng kết hợp XGBoost và mô hình học<br />
sâu (deep learning) trong đó XGBoost được xây dựng trên bộ đặc trưng được tăng cường và tinh<br />
chỉnh qua thực nghiệm, thực hiện vai trò sinh dữ liệu cho mô hình học sâu. Chúng tôi sử dụng các<br />
kỹ thuật phân đoạn và sinh nhãn cho các đoạn tín hiệu, giúp tăng cường, tạo sự cân bằng và độ tin<br />
cậy cho bộ dữ liệu. Mô hình học sâu với hướng tiếp cận học chuyển đổi (transfer learning) được sử<br />
dụng để thực hiện phân loại các đoạn tín hiệu dưới dạng ảnh phổ tần số. Chúng tôi thử nghiệm mô<br />
hình trên bộ dữ liệu của cuộc thi PhysioNet/Computing in Cardiology Challenge 2017 (PCCC<br />
2017) để phân loại 4 loại tín hiệu: rung nhĩ, bình thường, các loại bệnh tim khác và nhiễu. Mô hình<br />
học sâu thể hiện khả năng dự đoán tốt trên các đoạn dữ liệu ngắn với kết quả F1 = 0.8397. Nghiên<br />
cứu của chúng tôi mở ra một hướng phát triển mới cho bài toán phân loại tín hiệu ECG khi thực<br />
hiện phân loại trên các đoạn tín hiệu ngắn, đồng thời mang đến một giải pháp ứng dụng các mô<br />
hình học sâu khi bài toán gặp những hạn chế về mặt dữ liệu.<br />
Từ khóa: Tín hiệu điện tim, Bệnh rung nhĩ, học sâu, XGBoost, mạng nơ ron tích chập, Biến đổi<br />
Wavelet rời rạc<br />
<br />
GIỚI THIỆU*<br />
Rung nhĩ (hay rung tâm nhĩ, atrial fibrillation)<br />
là một trong những bệnh rối loạn nhịp tim<br />
thường gặp. Rung nhĩ có nguy cơ dẫn đến suy<br />
tim, đột quỵ, và các biến chứng tim mạch<br />
nguy hiểm khác. Người bị bệnh thường phải<br />
đến bệnh viện khám định kỳ để theo dõi nhịp<br />
tim bằng hệ thống máy đo điện tâm đồ<br />
(ECG), tốn kém nhiều thời gian và chi phí.<br />
Những năm gần đây các nhà sản xuất đã cho<br />
ra đời nhiều loại thiết bị đo ECG cầm tay,<br />
giúp việc theo dõi nhịp tim trở nên thuận lợi<br />
và nhanh chóng hơn với người bệnh. Sự phát<br />
triển của các thiết bị đo này cũng mở ra nhiều<br />
cơ hội cho các nhà phát triển tích hợp các hệ<br />
thống phần mềm thông minh đi kèm. Tuy<br />
nhiên, so với việc sử dụng các hệ thống máy<br />
đo ECG 12 kênh (12-lead) thông thường, chất<br />
lượng tín hiệu của các thiết bị đo cầm tay sẽ<br />
kém hơn do chỉ đo đơn kênh (single-lead) và<br />
thường gặp rất nhiều nhiễu do tác động của<br />
môi trường, cũng như sai số do việc đo được<br />
*<br />
<br />
Tel: 0978 813688, Email: quangnh@soict.hust.edu.vn<br />
<br />
thực hiện bởi những người không chuyên.<br />
Những điều này đặt ra nhiều thách thức cho<br />
việc phát triển các thuật toán phân loại tín<br />
hiệu. Nắm bắt được xu hướng phát triển này,<br />
PCCC 2017 đã triển khai đề tài phân biệt tín<br />
hiệu bệnh rung nhĩ với các tín hiệu nhịp tim<br />
thông thường, tín hiệu nhiễu hay các tín hiệu<br />
bệnh tim khác.<br />
Trong nghiên cứu này, chúng tôi đề xuất một<br />
phương pháp giải quyết bài toán phân loại tín<br />
hiệu nhịp tim theo hướng tiếp cận sử dụng kết<br />
hợp XGBoost và học sâu, trong đó XGBoost<br />
đóng vai trò tạo ra dữ liệu, và mô hình học<br />
sâu thực hiện phân loại các mẫu tín hiệu.<br />
Trước tiên, chúng tôi trích chọn các đặc trưng<br />
từ tín hiệu ECG để xây dựng một mô hình<br />
XGBoost. Các đặc trưng sẽ được điều chỉnh<br />
và cải tiến qua quá trình thực nghiệm. Tiếp<br />
theo đó, mô hình XGBoost được sử dụng để<br />
sinh dữ liệu cho mô hình học sâu. Chúng tôi<br />
áp dụng kỹ thuật học chuyển đổi (transfer<br />
learning) trên một mạng CNN (Convolutional<br />
Neural Network) được huấn luyện trước<br />
(pretrained) là VGG-16 [16], kết hợp với một<br />
85<br />
<br />
Nguyễn Hồng Quang và Đtg<br />
<br />
Tạp chí KHOA HỌC & CÔNG NGHỆ<br />
<br />
kiến trúc Multi-layer Perceptron (MLP) với<br />
hai lớp ẩn.<br />
Bài báo này đề xuất một phương pháp mới có<br />
khả năng phát hiện các mẫu tín hiệu ngắn bất<br />
thường xuất hiện trong đoạn tín hiệu dài.<br />
Chúng tôi thử nghiệm và đánh giá mô hình<br />
này trên dữ liệu của PCCC 2017. Phần tiếp<br />
theo sẽ trình bày về các nghiên cứu liên quan.<br />
Phần 3 mô tả phương pháp đề xuất. Phần 4<br />
trình bày kết quả thử nghiệm và đánh giá.<br />
Phần 5 là kết luận và định hướng nghiên cứu<br />
tiếp theo.<br />
CÁC NGHIÊN CỨU LIÊN QUAN<br />
Bài toán phân loại tín hiệu ECG đã được các<br />
nhà nghiên cứu thử nghiệm và tiếp cận theo<br />
nhiều hướng khác nhau. Hướng nghiên cứu<br />
trích chọn đặc trưng (feature engineering) kết<br />
hợp các thuật toán phân lớp trong họ cây<br />
quyết định là một hướng tiếp cận phổ biến và<br />
hiệu quả. Chẳng hạn như Teijeiro và cộng sự<br />
[6] (đạt kết quả tốt nhất của PCCC 2017) đã<br />
thử nghiệm trên 79 đặc trưng, bao gồm các<br />
đặc trưng hình thái, đặc trưng thống kê và sử<br />
dụng XGBoost để tối ưu trên 8-fold crossvalidation. Zabihi và cộng sự [8] cũng sử<br />
dụng 491 đặc trưng, bao gồm các đặc trưng<br />
về hình thái miền thời gian, các đặc trưng<br />
miền tần số, các đặc trưng miền thời gian-tần<br />
số; sau đó 150 đặc trưng được lựa chọn và sử<br />
dụng bộ phân lớp Random Forest. Bin và<br />
cộng sự [7] sử dụng các đặc trưng riêng của<br />
bệnh rung nhĩ, hay các đặc trưng liên quan<br />
đến khoảng RR (khoảng cách giữa 2 đỉnh R<br />
của tín hiệu điện tim), sử dụng tập hợp cây<br />
quyết định huấn luyện bằng thuật toán<br />
AdaBoost.M2. Trên bộ dữ liệu MIT/BIH gồm<br />
5 loại nhịp tim, Emanet trích chọn các đặc<br />
trưng từ tín hiệu ECG sử dụng biến đổi<br />
wavelet rời rạc (Discrete Wavelet Transform)<br />
kết hợp với bộ phân lớp Random Forest và<br />
đạt độ chính xác 99.8% [9].<br />
Bên cạnh hướng trích chọn đặc trưng, không<br />
nằm ngoài xu hướng chung, học sâu cũng<br />
được thử nghiệm cho bài toán phân loại tín<br />
86<br />
<br />
189(13): 85 - 91<br />
<br />
hiệu ECG. Các nghiên cứu sử dụng mạng<br />
CNNs có thể kể đến Pyakillya và cộng sự<br />
[10] sử dụng 7 lớp 1D-CNNs và 3 lớp FC<br />
(Fully Connected) với đầu vào là dữ liệu<br />
chuỗi thời gian (time series), hay Al Rahhal<br />
và cộng sự [11] sử dụng CNNs với hướng tiếp<br />
cận transfer learning. Ngoài ra, các kiến trúc<br />
RNNs, GRU hay LSTM là một hướng triển<br />
vọng khác cho dữ liệu dạng time series như<br />
ECG. Sujadevi và cộng sự [12] sử dụng bộ dữ<br />
liệu MIT-BIH Physionet để thử nghiệm các<br />
kiến trúc RNNs, GRU, LSTM trên tín hiệu<br />
gốc, không cần qua các bước tiền xử lý như<br />
khử nhiễu hay lọc tín hiệu nhưng đạt độ chính<br />
xác 95% đến 100%. Mohamad M. Al Rahhal<br />
và cộng sự [13] thử nghiệm kết hợp CNN và<br />
LSTM (CRNN) trên dữ liệu ảnh phổ tần số<br />
được biến đổi từ tín hiệu ECG gốc.<br />
Các mô hình học sâu là một hướng tiếp cận<br />
phổ biến trong nhiều lĩnh vực với hiệu quả<br />
vượt trội so với nhiều thuật toán học máy<br />
truyền thống khác. Tuy nhiên học sâu thường<br />
chỉ phù hợp cho các bài toán có kích thước dữ<br />
liệu lớn. Trong khi đó các bộ dữ liệu về ECG<br />
như bộ dữ liệu của PCCC 2017 thường bị giới<br />
hạn về số lượng, đặc biệt là các mẫu nhịp tim<br />
thể hiện bệnh. Vì vậy các nghiên cứu ứng<br />
dụng học sâu trong lĩnh vực liên quan đến tín<br />
hiệu ECG vẫn chưa thực sự dồi dào do giới<br />
hạn về mặt dữ liệu. Nghiên cứu này của<br />
chúng tôi mở ra một hướng giải quyết để xây<br />
dựng các mô hình học sâu trong điều kiện hạn<br />
chế về mặt dữ liệu. Ngoài ra, điểm chung của<br />
các nghiên cứu kể trên là việc phân loại được<br />
thực hiện trên đoạn tín hiệu ECG dài (như bộ<br />
dữ liệu PCCC 2017 các tín hiệu dài 9 đến 61<br />
giây). Trong khi đó đặc điểm của rất nhiều<br />
bệnh tim (trong đó có bệnh rung nhĩ) là các<br />
dấu hiệu bất thường chỉ xảy ra bất chợt trong<br />
vài giây, đặt ra nhu cầu trong việc xác định<br />
được các mẫu tín hiệu nhịp tim bệnh trên cả<br />
đoạn tín hiệu dài. Phương pháp đề xuất của<br />
chúng tôi cũng có khả năng phát hiện các mẫu<br />
tín hiệu ngắn bất thường xuất hiện trong đoạn<br />
tín hiệu dài.<br />
<br />
Nguyễn Hồng Quang và Đtg<br />
<br />
Tạp chí KHOA HỌC & CÔNG NGHỆ<br />
<br />
PHƯƠNG PHÁP ĐỀ XUẤT<br />
Phương pháp chúng tôi đề xuất gồm các bước<br />
phân đoạn tín hiệu điện tim ngắn, lọc các<br />
đoạn tín hiệu điện tim ngắn sử dụng bộ phân<br />
lớp XGBoost, huấn luyện và thử nghiệm nhận<br />
dạng các đoạn tín hiệu điện tim ngắn sử dụng<br />
phương pháp học sâu.<br />
Phân đoạn tín hiệu điện tim ngắn<br />
Để có thể phát hiện các mẫu tín hiệu bất<br />
thường trong tín hiệu điện tim, chúng tôi thực<br />
hiện đánh giá trên từng đoạn tín hiệu điện tim<br />
ngắn. Vì tín hiệu ngắn nhất trong bộ dữ liệu<br />
PCCC 2017 có độ dài 2352 mẫu, và vì thông<br />
tin chúng tôi sử dụng để huấn luyện mô hình<br />
học sâu là thông tin trên miền tần số, do vậy<br />
chúng tôi chọn độ dài của đoạn tín hiệu điện<br />
tim là 2048 mẫu (giá trị lũy thừa của 2 lớn<br />
nhất nhỏ hơn độ dài trên).<br />
Như đã trình bày ở phần trên, để có thể huấn<br />
luyện mạng nơ ron sâu hiệu quả thì cần có bộ<br />
dữ liệu lớn và có phân bố đồng đều giữa các<br />
lớp. Tuy nhiên bộ dữ liệu của PCCC 2017 lại<br />
có sự phân bố không đồng đều giữa các lớp<br />
(mục 4.1). Do đó để tạo sự cân bằng dữ liệu<br />
giữa các lớp trong tập dữ liệu huấn luyện,<br />
chúng tôi lựa chọn khoảng dịch khi thực hiện<br />
phân đoạn dựa vào lớp của tín hiệu. Chúng tôi<br />
chọn cố định 20000 đoạn tín hiệu điện tim<br />
ngắn cho từng lớp. Như vậy với lớp có nhiều<br />
mẫu thì độ dịch lớn và ngược lại với lớp có ít<br />
mẫu thì độ dịch nhỏ. Từ đó với từng lớp<br />
Normal, AF, Other và Noise, chúng tôi tính<br />
được khoảng dịch là 2248 điểm, 150 điểm,<br />
400 điểm và 35 điểm.<br />
Lọc các tín hiệu điện tim ngắn<br />
Vì trong cả một tín hiệu điện tim dài, đã phần<br />
là ở dạng Normal, các dạng tín hiệu điện tim<br />
bất thường như AF, Other và Noise chỉ xuất<br />
hiện rải rác. Như vậy không phải tất cả các<br />
đoạn trong mẫu AF (Other/Noise) đều được<br />
gán nhãn là AF. Do vậy chúng tôi đã xây<br />
dựng một bộ lọc dựa trên mô hình XGBoost<br />
để gán nhãn lại cho từng đoạn tín hiệu điện<br />
tim ngắn.<br />
<br />
189(13): 85 - 91<br />
<br />
Đầu tiên chúng tôi thực hiện trích chọn đặc<br />
trưng. Các đặc trưng phổ biến cho tín hiệu<br />
ECG đã được phát triển và chọn lọc từ nhiều<br />
nghiên cứu trước [2], như các đặc trưng xử lý<br />
tín hiệu số sử dụng biến đổi wavelet [17], các<br />
đặc trưng về hình thái sóng [18] hay sử dụng<br />
mạng nơ-ron để xác định các đặc trưng cho<br />
tín hiệu ECG [19]. Ở trong nghiên cứu này,<br />
chúng tôi sử dụng 2 nhóm đặc trưng của tín<br />
hiệu ECG.<br />
<br />
Hình 1. Lựa chọn đoạn tín hiệu để huấn luyện mô<br />
hình deep learning cho lớp Normal<br />
<br />
Các đặc trưng thống kê: Một mẫu tín hiệu<br />
ECG đặc trưng sẽ xuất hiện các sóng P-QRST. Các thông tin liên quan đến vị trí, khoảng<br />
cách, biên độ các sóng này trên mỗi tín hiệu<br />
sẽ được thu thập. Ví dụ: các biên độ của sóng<br />
R, các vị trí của sóng R, các khoảng cách giữa<br />
2 đỉnh R, ... Các hàm thống kê như average,<br />
median, standard deviation, min, max,<br />
percentile [75%, 25%, 90%, 10%] được sử<br />
dụng để rút ra những đặc trưng thống kê trên<br />
mỗi miền đặc trưng thu thập được.<br />
Các đặc trưng biến đổi nhịp tim (HRV, HeartRate Variability) [14]: các đặc trưng HRV<br />
được trích xuất từ tín hiệu ECG qua các đặc<br />
trưng miền thời gian, miền tần số và phân tích<br />
thống kê, cung cấp thông tin về sự thay đổi<br />
giữa các nhịp tim liên tiếp. Chúng tôi sử dụng<br />
bộ công cụ Neurokit [15] để trích xuất các<br />
đặc trưng này.<br />
Chúng tôi sử dụng những đặc trưng trên để<br />
huấn luyện bộ phân lớp sử dụng mô hình<br />
XGBoost. Đầu vào của bộ phân lớp là một<br />
đoạn tín hiệu điện tim ngắn và đầu ra là 1<br />
trong 4 lớp Normal, AF, Other và Noise. Tiếp<br />
87<br />
<br />
Nguyễn Hồng Quang và Đtg<br />
<br />
Tạp chí KHOA HỌC & CÔNG NGHỆ<br />
<br />
theo đoạn tín hiệu điện tim ngắn được mô<br />
hình XGBoost nhận dạng khác với lớp của<br />
mẫu chứa đoạn tín hiệu này thì đoạn tín hiệu<br />
này sẽ bị loại bỏ [Hình 1]. Sau đó chúng tôi<br />
chuyển đổi đoạn tín hiệu ECG này sang dạng<br />
ảnh phổ tẩn số [Hình 2].<br />
<br />
189(13): 85 - 91<br />
<br />
toán điện tim. Đầu vào của mạng VGG-16 là<br />
các ảnh có kích thước 224x224x3. Vector đặc<br />
trưng đầu ra của khối convolution trong mạng<br />
VGG-16 có kích thước 25088 chiều. Chúng<br />
tôi xây dựng thêm một số lớp kết nối đầy đủ<br />
(fully-connected) phù hợp cho việc phân loại<br />
các tín hiệu ECG.<br />
THỬ NGHIỆM VÀ ĐÁNH GIÁ<br />
Bộ dữ liệu PCCC 2017<br />
<br />
Hình 2. Ví dụ ảnh phổ tần số của đoạn tín hiệu<br />
ECG<br />
<br />
Huấn luyện mạng nơ ron sâu để nhận dạng<br />
bệnh rung nhĩ<br />
Ảnh phổ tần số (224x224x3)<br />
Mạng VGG16<br />
Lớp kết nối đầy đủ (25088)<br />
Lớp kết nối đầy đủ (2048)<br />
Lớp kết nối đầy đủ (2048)<br />
Kết quả nhận dạng (4)<br />
Hình 3. Kiến trúc mô hình học sâu<br />
<br />
Chúng tôi đề xuất kiến trúc mô hình học sâu<br />
mới dựa trên mô hình mạng CNN để nhận<br />
dạng một đoạn tín hiệu điện tim ngắn thuộc<br />
vào một trong 4 lớp Normal, AF, Other và<br />
Noise [Hình 3]. Các mạng CNNs thường bao<br />
gồm 2 thành phần chính: phần trích xuất đặc<br />
trưng (các lớp convolution) và phần phân loại<br />
(là các lớp fully-connected). Chúng tôi áp<br />
dụng phương pháp “transfer learning” theo<br />
cách dùng 1 một mạng CNN đã xây dựng sẵn<br />
để làm bộ trích xuất đặc trưng. Phần trích<br />
xuất đặc trưng của nhiều mô hình CNNs đã<br />
được huấn luyện trên bộ dữ liệu lớn nên có<br />
khả năng học được các đặc trưng tốt cho phần<br />
lớn các dữ liệu cùng loại. Ở đây chúng tôi<br />
chọn mạng VGG-16 vì hai nguyên nhân. Thứ<br />
nhất mạng VGG-16 đạt thứ hạng rất cao (thứ<br />
2) trong cuộc thi phân loại ảnh ImageNet<br />
2014 [21]. Nguyên nhân thứ 2 là mạng VGG16 có số tầng không quá lớn, vì vậy phù hợp<br />
với bài toán có bộ dữ liệu hạn chế như bài<br />
88<br />
<br />
Bộ dữ liệu được sử dụng trong cuộc thi PCCC<br />
2017 bao gồm 8528 bản ghi ECG đơn kênh ở<br />
tần số 300Hz, với độ dài khác nhau, từ 9 giây<br />
(2700 giá trị) đến 61 giây (18300 giá trị). Dữ<br />
liệu được gán nhãn thành 4 lớp: N (Normal)<br />
bao gồm các tín hiệu nhịp tim thông thường,<br />
A (AF) là các tín hiệu nhịp tim của người bị<br />
rung nhĩ, O (Other) là các tín hiệu nhịp tim<br />
bệnh khác, ~ (Noise) là các tín hiệu nhiễu. Số<br />
lượng các mẫu trong từng lớp là không cân<br />
bằng, phần lớn là các mẫu Normal với 5076<br />
mẫu và Other với 2415 mẫu. Số lượng mẫu<br />
AF và Noise rất ít với 758 và 279 mẫu.<br />
<br />
Hình 3. Phân bố chiều dài của các mẫu dữ<br />
liệu trong tập huấn luyện (hình bên trái), tập xác<br />
thực (hình ở giữa) và tập thử nghiệm (hình bên<br />
phải), đồng thời tương ứng với 4 lớp Normal<br />
(dòng trên cùng), AF (dòng thứ hai), Other (dòng<br />
thứ ba) và Noise (dòng thứ tư).<br />
<br />
Nguyễn Hồng Quang và Đtg<br />
<br />
Tạp chí KHOA HỌC & CÔNG NGHỆ<br />
<br />
Chúng tôi chia dữ liệu thành 3 tập: tập huấn<br />
luyện (Training), tập xác thực (Validation),<br />
tập kiểm tra (Test). Trong đó, 70% số mẫu<br />
của mỗi lớp được dùng cho Training, 15%<br />
mẫu mỗi lớp dùng cho Validation, 15% mẫu<br />
mỗi lớp dùng cho Test.<br />
Nhìn hình 1 chúng tôi nhận thấy đa phần các<br />
bản ghi có chiều dài 9000 mẫu (tương ứng<br />
với 30 giây). Tuy còn có những bản ghi có<br />
chiều dài rất ngắn (khoảng 2500 mẫu) hoặc có<br />
những bản ghi có chiều dài lớn (khoảng<br />
18000 mẫu), tuy nhiên số lượng các bản ghi<br />
này khá nhỏ. Sự phân bố này đồng đều cho tất<br />
cả 4 lớp Normal, AF, Other, Noise, cũng như<br />
có sự phân bố đồng đều trên các tập huấn<br />
luyện, tập xác thực và tập thử nghiệm.<br />
Độ chính xác của mô hình được đánh giá bằng<br />
giá trị F1 = (F1n + F1a + F1o + F1n)/4, trong<br />
đó F1n, F1a, F1o, F1n lần lượt là giá trị F1 tính<br />
trên từng lớp Normal, AF, Other và Noise.<br />
Phân loại tín hiệu gốc dùng XGBoost<br />
Như chúng tôi đã đề cập, tín hiệu ECG thu<br />
thập qua các thiết bị cầm tay thường gồm rất<br />
nhiều nhiễu, vì vậy chúng tôi cũng kết hợp<br />
thử nghiệm việc lọc nhiễu tín hiệu trước khi<br />
đưa vào XGBoost. Chúng tôi phân rã tín hiệu<br />
thành các thành phần tần số khác nhau theo<br />
kỹ thuật Wavelet Multi-Resolution Analysis,<br />
sử dụng DWT, hàm ‘db6’, mức phân rã là 9.<br />
Những tín hiệu thành phần có tần số không<br />
phù hợp như D1 và D9 sẽ được loại bỏ.<br />
Bảng 1. Kết quả thử nghiệm phân lớp tín hiệu<br />
điện tim sử dụng bộ phân lớp XGBoost (tính theo<br />
F1-score)<br />
Đặc trưng<br />
Thống kê<br />
Thống kê + HRV<br />
<br />
Dữ liệu<br />
gốc<br />
0.7133<br />
0.7222<br />
<br />
Dữ liệu<br />
lọc nhiễu<br />
0.6898<br />
0.7421<br />
<br />
Chúng tôi thử nghiệm mô hình phân lớp<br />
XGBoost trên các loại đặc trưng khác nhau:<br />
đặc trưng thống kê và đặc trưng HRV. Các<br />
đặc trưng sẽ được trích xuất trên cả 2 bộ dữ<br />
liệu gốc và bộ dữ liệu đã được lọc nhiễu. Kết<br />
quả phân lớp tính theo F1-score được liệt kê<br />
trong Bảng 1.<br />
<br />
189(13): 85 - 91<br />
<br />
Như vậy, lọc nhiễu giúp mô hình dự đoán<br />
chính xác hơn ngoại trừ trường hợp chỉ dùng<br />
đặc trưng thống kê. Việc tăng cường thêm đặc<br />
trưng cũng giúp mô hình đạt được kết quả cao<br />
hơn cho dữ liệu gốc.<br />
Kết quả nhận dạng các đoạn tín hiệu ngắn<br />
ECG<br />
Chúng tôi thử nghiệm huấn luyện tối ưu mạng<br />
theo hai hàm loss: Cross-entropy loss và F1<br />
loss [5]. Kết quả phân loại F1-score được<br />
tổng hợp trong bảng 2. Kết quả ở bảng 2 cho<br />
thấy việc tối ưu trực tiếp theo F1 đem lại kết<br />
quả trên F1-score tốt hơn (0.8397 so với<br />
0.8304). Các mô hình thường gặp nhầm lẫn<br />
nhiều ở các trường hợp: AF bị nhầm thành<br />
Other và ngược lại. Trường hợp này thường<br />
dễ xảy ra do nhiều bệnh lý về tim khác<br />
(Other) cũng xuất hiện những dấu hiệu bất<br />
thường về nhịp tim như rung nhĩ, trong khi đó<br />
các hình thái của bệnh rung nhĩ cũng khá đa<br />
dạng. Kết quả F1 = 0.8397 là tương đương<br />
với kết quả của top 1 trong cuộc thi PCCC<br />
2017. Sự khác biệt cũng như ưu điểm trong<br />
phương pháp của chúng tôi là mô hình có thể<br />
dự đoán cho mẫu tín hiệu ngắn hơn.<br />
Bảng 2. Kết quả nhận dạng (F1) các đoạn tín hiệu<br />
ECG khi tối ưu theo cross-entropy loss và F1-score<br />
Lớp<br />
<br />
Tối ưu theo<br />
cross entropy<br />
loss<br />
<br />
Tối ưu theo<br />
F1-score<br />
<br />
Normal<br />
<br />
0.8747<br />
<br />
0.8759<br />
<br />
AF<br />
<br />
0.8316<br />
<br />
0.8427<br />
<br />
Other<br />
<br />
0.6915<br />
<br />
0.7098<br />
<br />
Noise<br />
<br />
0.9239<br />
<br />
0.9302<br />
<br />
F1 trung bình<br />
<br />
0.8304<br />
<br />
0.8397<br />
<br />
KẾT LUẬN<br />
Trong nghiên cứu này, chúng tôi đã đề xuất<br />
một hướng giải quyết mới cho việc ứng dụng<br />
học sâu trên các bài toán gặp hạn chế về dữ<br />
liệu nói chung và bài toán phân loại tín hiệu<br />
ECG nói riêng. Phương pháp của chúng tôi<br />
kết hợp 2 mô hình XGBoos và học sâu trong<br />
đó XGBoost được xây dựng trước và đóng<br />
89<br />
<br />
ADSENSE
CÓ THỂ BẠN MUỐN DOWNLOAD
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn