Dự đoán tình trạng suy tim ở người sử dụng mạng nơ-ron học sâu

Heart Failure prediction using Deep Neural Network

Trong nghiên cứu này, chúng tôi mong muốn kiểm tra tính hiệu quả của các thuật toán học sâu khác nhau trong việc dự đoán tình trạng suy tim nhằm xây dựng một hệ thống dự đoán đưa ra kết quả đáng tin cậy và phù hợp về mặt lâm sàng. Để đạt được mục tiêu này, chúng tôi đã sử dụng nhiều kỹ thuật khác nhau, bao gồm… để xây dựng các mô hình dự đoán. Để cải thiện khả năng hội tụ của các mô hình, chúng tôi đã áp dụng phân cụm k để xử lý trước tập dữ liệu và chia tỷ lệ cho nó. Tập dữ liệu được sử dụng trong nghiên cứu này được cung cấp công khai trên Kaggle. Tất cả quá trình tính toán, tiền xử lý và trực quan hóa đều được thực hiện trên Google Colab bằng Python.

TÁC GIẢ

Nguyễn Văn Đạt, Lê Thị Ngọc Diễm

GIẢNG VIÊN HƯỚNG DẪN

NGÀNH

Năm:

Tổng quan đồ án

Bệnh suy tim là một tình trạng bệnh lý nguy hiểm khi tim bị suy giảm chức năng bơm máu để cung cấp đủ máu cho nhu cầu của cơ thể. Đây là một hội chứng rối loạn chức năng tâm thất. Suy thất trái sẽ gây khó thở và mệt hỏi trong khi suy thất phải sẽ gây tích tụ dịch ngoại vi và dịch trong ổ bụng. Triệu chứng của bệnh suy tim phát triển chậm rãi qua một vài dấu hiệu như khó thở khi hoạt động hoặc khi nằm, giảm khả năng hoạt động để chất, nhịp tim tăng nhanh hoặc không đồng đều, tăng cân không kiểm soát do tích tụ chất lỏng và gây đau ngực nếu suy tim do nhồi máu cơ tim. Theo Tổ chức Y tế Thế giới (WHO), trong năm 2019, ước tính 17.9 triệu người đã tử vong khi mắc bệnh suy tim, chiếm 32% tỉ lệ tử vọng toàn cầu [1]. Tại Việt Nam, theo Bộ Y Tế, mỗi năm có khoản 200.000 người tử vong vì bệnh tim, chiếm 33% số ca tử vong trên cả nước.

Bênh cạnh đó, những phương pháp chẩn đoán suy tim thông thường như chụp CT (Computed Tomography Scan) và hay siêu âm tim (Echocardiography) là những biện pháp có hiệu quả nhưng có phần tốn kém và mất nhiều thời gian để đưa ra kết quả chẩn đoán. Ngoài ra, việc chụp CT còn để lại nhiều tác dụng phụ như gây cho bệnh nhân phơi nhiễm bức xạ do việc điều chỉnh lượng tia bức xạ không phù hợp, dẫn đến tăng nguy cơ ung thư và người bệnh có khả năng phản ứng dị ứng với thuốc cản quang trong quá trình chụp CT.

Để khắc phục các hạn chế của những phương pháp chẩn đoán suy tim truyền thống, các phương pháp dự đoán không xâm lấn dựa trên các mô hình học máy và học sâu đã được các nhà nghiên cứu tập trung phát triển, nhằm xây dựng một hệ thống dự đoán bệnh suy tim có hiệu quả cao hơn. Những phương pháp này không chỉ nâng cao độ chính xác và hiệu quả mà còn giúp giảm bớt sự phụ thuộc vào các quy trình chẩn đoán phức tạp và tốn kém. Các cách tiếp cận dựa trên mô hình học máy tận dụng những thuật toán tiên tiến để phân tích và dự đoán suy tim từ dữ liệu y tế. Các mô hình như Random Forest (RF), Logistic Regression (LR), Boosting, Neural Networks (NN), và Support Vector Machine (SVM) đã được áp dụng rộng rãi. Những mô hình này có thể xử lý các tập dữ liệu lớn và phức tạp, giúp nhận diện các mẫu có thể dự đoán sự khởi phát của suy tim.Đặc biệt, RF được biết đến với khả năng tạo ra các cây quyết định ngẫu nhiên từ các tập con của dữ liệu, kết hợp lại để cải thiện độ chính xác của dự đoán. LR, với phương pháp thống kê đơn giản nhưng hiệu quả, giúp ước tính xác suất xảy ra sự kiện suy tim dựa trên các biến độc lập. Boosting, một kỹ thuật nâng cao, tăng cường hiệu suất của mô hình bằng cách kết hợp nhiều mô hình yếu thành một mô hình mạnh.Các thuật toán chọn lựa tính năng như Chi-square và Recursive Feature Selection thường được sử dụng để xác định các đặc trưng quan trọng từ dữ liệu, giúp giảm thiểu nguy cơ quá tải thông tin và cải thiện hiệu suất mô hình. Theo thống kê của Mpanya, Dineo và cộng sự, trong ba mươi công trình từ năm 2011 đến 2020 được khảo sát, có đến 19 nghiên cứu (63%) sử dụng kỹ thuật LR, 53% sử dụng RF và 37% sử dụng Decision Trees (DT) để xây dựng mô hình dự đoán.

Trong khi đó, các phương pháp dựa trên mô hình học sâu lại tập trung vào việc sử dụng các kiến trúc mạng nơ-ron tiên tiến như Multilayer Perception Neural Network (MLP), Feedforward Neural Network (FFNN), và Convolutional Neural Network (CNN). MLP và FFNN là những mô hình mạng nơ-ron cơ bản, hoạt động bằng cách truyền thông tin qua nhiều lớp của các nút (neurons) và điều chỉnh trọng số thông qua quá trình học. Chúng có khả năng tự động học hỏi và phát hiện các mẫu phức tạp trong dữ liệu mà không cần sự can thiệp nhiều từ con người. CNN, phổ biến trong việc xử lý dữ liệu dạng hình ảnh nhưng cũng được ứng dụng cho dữ liệu chuỗi thời gian và các dạng dữ liệu khác, có khả năng nhận diện và học các đặc trưng từ dữ liệu đầu vào thông qua các lớp chập và gộp. Điều này giúp phát hiện các đặc trưng quan trọng từ các mẫu dữ liệu phức tạp và có thể tạo ra các dự đoán chính xác hơn về tình trạng suy tim. Theo thống kê từ các nghiên cứu gần đây, trong tổng số 45 công trình từ năm 2015 đến 2023 được khảo sát, có 18 nghiên cứu (40%) sử dụng DNN, 15 nghiên cứu (33%) sử dụng CNN và 12 nghiên cứu (27%) sử dụng LSTM trong dự đoán suy tim, cho thấy sự đa dạng và hiệu quả của các phương pháp học sâu trong lĩnh vực này.

Ngoài các vấn đề liên quan đến hiệu suất của các thuật toán, các vấn đề về chất lượng dữ liệu, lựa chọn tính năng cũng cần được chú trọng. Những dữ liệu đầu vào dùng để dự đoán bệnh suy tim phải đủ lớn để đưa ra kết quả tổng quát, có đủ những thuộc tính quan trọng, có biến mục tiêu, không bị rỗng và được trích xuất những thuộc tính phù hợp cho việc chẩn đoán bệnh suy tim.

Trong nghiên cứu này, chúng tôi mong muốn kiểm tra tính hiệu quả của các thuật toán học sâu khác nhau trong việc dự đoán tình trạng suy tim nhằm xây dựng một hệ thống dự đoán đưa ra kết quả đáng tin cậy và phù hợp về mặt lâm sàng. Để đạt được mục tiêu này, chúng tôi đã sử dụng nhiều kỹ thuật khác nhau, bao gồm… để xây dựng các mô hình dự đoán. Để cải thiện khả năng hội tụ của các mô hình, chúng tôi đã áp dụng phân cụm k để xử lý trước tập dữ liệu và chia tỷ lệ cho nó. Tập dữ liệu được sử dụng trong nghiên cứu này được cung cấp công khai trên Kaggle. Tất cả quá trình tính toán, tiền xử lý và trực quan hóa đều được thực hiện trên Google Colab bằng Python.

Phương pháp thực hiện

Trong nghiên cứu này, chúng tôi sử dụng tập dữ liệu Bệnh tim mạch trên Kaggle. Như đề cập ở trên, đây là tập dữ liệu được thu thập từ tận 70,000 bệnh nhân, bao gồm 12 thuộc tính liên quan đến việc xác định tình trạng suy tim. Tập dữ liệu được thu nhập từ ba nguồn chính:

  1. Những thuộc tính mặc định của bệnh nhân như: tuổi, giới tính
  2. Những thuộc tính trải qua kiểm tra, đo lường như: chiều cao, cân nặng, huyết áp tâm thu, huyết áp tâm trương, lượng cholesterol và glucose
  3. Những thông tin được bệnh nhân cung cấp như: hút thuốc, hấp thụ cồn, hoạt động thể chất và có mắc bệnh tim hay không. Với số lượng dữ liệu lớn, bộ dữ liệu sẽ giúp nhóm nghiên cứu phát triển mô hình học sâu có hiệu suất tốt và độ chính xác cao.
image 128
image 129
image 130

Mô hình hóa

Cây Quyết Định

Cây quyết định là các cấu trúc giống như cây được sử dụng để quản lý các bộ dữ liệu lớn. Chúng thường được mô tả như các lưu đồ, với các nhánh bên ngoài đại diện cho kết quả và các nút bên trong đại diện cho các thuộc tính của bộ dữ liệu. Cây quyết định phổ biến vì chúng hiệu quả, đáng tin cậy và dễ hiểu. Nhãn lớp dự kiến cho cây quyết định xuất phát từ gốc của cây. Các bước tiếp theo trong cây được quyết
định bằng cách so sánh giá trị của thuộc tính gốc với thông tin trong bản ghi. Sau khi nhảy đến nút tiếp theo, nhánh phù hợp được theo dõi theo kết quả so sánh. Entropy thay đổi khi các ví dụ đào tạo được chia thành các nhóm nhỏ hơn bằng cách sử dụng một nút cây quyết định. Việc đo lường sự thay đổi này trong entropy là thu thập thông tin.

image 131

Random forest

Thuật toán rừng ngẫu nhiên thuộc một loại kỹ thuật phân loại có giám sát gồm nhiều cây quyết định làm việc cùng nhau như một nhóm. Lớp có nhiều phiếu bầu nhất trở thành dự đoán được đưa ra bởi mô hình của chúng ta. Mỗi cây trong rừng ngẫu nhiên thực hiện một dự đoán lớp, điều này loại bỏ những hạn chế của thuật toán cây quyết định. Điều này cải thiện độ chính xác và giảm hiện tượng quá khớp của bộ dữ liệu. Khi sử dụng trên các bộ dữ liệu lớn, phương pháp rừng ngẫu nhiên có thể vẫn cung cấp kết quả tương tự ngay cả khi một phần đáng kể các giá trị bản ghi bị thiếu. Các mẫu được tạo ra bởi cây quyết định có thể được lưu và sử dụng với các loại dữ liệu khác nhau.

Hồi Quy Logistic

Hồi quy logistic là một kỹ thuật học máy được lấy từ lĩnh vực thống kê. Phương pháp này có thể được sử dụng cho phân loại nhị phân, nơi các giá trị được phân biệt với hai lớp. Hồi quy logistic tương tự như hồi quy tuyến tính, nơi mục tiêu là tính toán các giá trị của các hệ số trong mỗi biến đầu vào. Không giống như hồi quy tuyến tính, ở đây dự đoán của đầu ra được xây dựng bằng cách sử dụng một hàm phi tuyến tính được gọi là hàm logistic. Hàm logistic biến đổi bất kỳ giá trị nào trong khoảng từ 0 đến 1. Các dự đoán được thực hiện bởi hồi quy logistic được sử dụng như là xác suất của một trường hợp dữ liệu liên quan đến lớp 0 hoặc lớp 1. Điều này có thể cần thiết cho các vấn đề nơi cần thêm lý do cho một dự đoán. Hồi quy logistic hoạt động tốt hơn khi các thuộc tính không liên quan đến biến đầu ra và các thuộc tính liên quan đến nhau được loại bỏ.

Naive Bayes

Naive Bayes là một thuật toán đáng ngạc nhiên mạnh mẽ cho mô hình dự đoán. Đây là một bộ phân loại thống kê không giả định sự phụ thuộc giữa các thuộc tính, cố gắng tối đa hóa xác suất hậu nghiệm trong việc xác định lớp. Về lý thuyết, bộ phân loại này có tỷ lệ lỗi tối thiểu, nhưng không phải lúc nào cũng như vậy. Các sai số do giả định sự độc lập điều kiện của lớp và sự thiếu hụt dữ liệu xác suất có sẵn. Mô hình này liên quan đến hai loại xác suất có thể được tính trực tiếp từ tập dữ liệu đào tạo: a) Xác suất của mỗi lớp. b) Xác suất có điều kiện của mỗi lớp với mỗi giá trị x. Theo định lý Bayes:

image 132

Máy Vector Hỗ Trợ (SVM)

SVM là một kỹ thuật cho việc phân loại dữ liệu tuyến tính và phi tuyến tính. Nó áp dụng một phương pháp ánh xạ phi tuyến để biến đổi dữ liệu đào tạo thành một không gian cao hơn. Một siêu phẳng là một loại đường phân cách không gian biến đầu vào trong SVM. Siêu phẳng này có thể phân tách các điểm trong không gian biến đầu vào chứa lớp của chúng là 0 hoặc 1. Trong hai chiều, người ta có thể hình dung điều này như một đường thẳng và giả định rằng mỗi điểm đầu vào có thể hoàn toàn được phân tách bởi đường thẳng này. Khoảng cách giữa siêu phẳng và các tọa độ dữ liệu lân cận được gọi là biên. Đường có biên lớn nhất có thể phân biệt giữa hai lớp được gọi là siêu phẳng tối ưu. Các điểm này được gọi là vector hỗ trợ, vì chúng định nghĩa hoặc hỗ trợ siêu phẳng. Trong thực tế, có một thuật toán tối ưu hóa được sử dụng để tính toán các giá trị cho các tham số tối đa hóa biên.

KẾT QUẢ

image 133
image 134
image 135

Kết luận

Mặc dù kết quả đầy hứa hẹn, cần lưu ý một số hạn chế. Đầu tiên, nghiên cứu dựa trên một bộ dữ liệu duy nhất và có thể không tổng quát hóa được cho các nhóm dân số hoặc nhóm bệnh nhân khác. Hơn nữa, nghiên cứu chỉ xem xét một tập hợp hạn chế các biến nhân khẩu học và lâm sàng và không xem xét các yếu tố nguy cơ tiềm ẩn khác đối với bệnh tim, chẳng hạn như các yếu tố lối sống hoặc khuynh hướng di truyền. Ngoài ra, hiệu suất của mô hình trên một bộ dữ liệu thử nghiệm bị giữ lại chưa được đánh giá, điều này sẽ cung cấp cái nhìn sâu sắc về mức độ mô hình tổng quát hóa cho dữ liệu mới, chưa từng thấy. Cuối cùng, khả năng giải thích của kết quả và khả năng giải thích các cụm được hình thành bởi thuật toán cũng chưa được đánh giá.