TỔNG QUAN VỀ ỨNG DỤNG MẠNG NEURON NHÂN TẠO
Cấu trúc mạng neuron
Các mạng neuron ban đầu chỉ có hai lớp, dẫn đến hạn chế trong khả năng giải quyết các vấn đề phi tuyến tính Tuy nhiên, thế hệ thứ hai của mạng neuron đã phát triển các cấu trúc ba lớp hoặc nhiều lớp, với mạng ba lớp là phổ biến nhất, bao gồm lớp đầu vào, lớp ẩn và lớp đầu ra Mặc dù có nhiều cấu hình khác nhau, mạng ba lớp có khả năng giải quyết các vấn đề phức tạp hơn so với các cấu trúc đơn giản Cách kết nối giữa các nút trong mạng cũng khác nhau tùy thuộc vào từng phương pháp tiếp cận.
Cấu trúc mạng neuron ba lớp Hình 1.1:
Lớp ẩn (Hidden Layer) trong mạng nơ-ron nhân tạo (ANN) bao gồm các nơ-ron nhận dữ liệu đầu vào từ lớp trước và chuyển đổi chúng để truyền đến các lớp xử lý tiếp theo Một ANN có thể có nhiều lớp ẩn, giúp tăng cường khả năng xử lý và học tập của mạng.
Một neuron là đơn vị cơ bản trong mạng neuron, chịu trách nhiệm xử lý thông tin Quá trình này được minh họa rõ ràng trong Hình 1.2.
Quá trình xử lý thông tin của mạng neuron Hình 1.2:
Các thành phần cơ bản của một neuron nhân tạo bao gồm:
- Tập các đầu vào: Là các tín hiệu vào (input signals) của neuron, các tín hiệu này thường được đưa vào dưới dạng một vector N chiều
Trong mạng nơ-ron, các liên kết giữa tín hiệu vào và nơ-ron được biểu diễn bằng trọng số liên kết (Synaptic weight) Trọng số này, ký hiệu là w(j,k), thường được khởi tạo ngẫu nhiên khi mạng bắt đầu hoạt động và sẽ được cập nhật liên tục trong quá trình học tập của mạng.
- Bộ tổng (Summing function): Dùng để tính tổng của tích các đầu vào với trọng số liên kết của nó
- Ngưỡng (còn gọi là độ lệch - bias): Ngưỡng này thường được đưa vào như một thành phần của hàm truyền
Hàm truyền (Transfer function) là công cụ quan trọng trong mạng neuron, giúp giới hạn phạm vi đầu ra của mỗi neuron Nó nhận đầu vào từ hàm tổng và ngưỡng đã cho, với đầu ra thường nằm trong khoảng [0,1] hoặc [-1,1] Các hàm truyền có thể là tuyến tính hoặc phi tuyến, và việc lựa chọn hàm phù hợp phụ thuộc vào từng bài toán cũng như kinh nghiệm của người thiết kế mạng Một số hàm truyền phổ biến được sử dụng trong các mô hình mạng neuron được liệt kê trong Bảng 1.1.
Đầu ra của một neuron là tín hiệu duy nhất mà nó tạo ra, với mỗi neuron chỉ có tối đa một đầu ra Về mặt toán học, cấu trúc của neuron k được mô tả thông qua một cặp biểu thức.
Trong mạng nơ-ron, các tín hiệu đầu vào được ký hiệu là \(x_1, x_2, \ldots, x_n\), trong khi các trọng số liên kết của neuron thứ k được ký hiệu là \(w_1, w_2, \ldots, w_n\) Hàm tổng được sử dụng để tính toán tổng trọng số, kết hợp với một ngưỡng được ký hiệu là \(\theta\) Hàm truyền \(f\) sẽ chuyển đổi giá trị đầu vào thành tín hiệu đầu ra của neuron, được ký hiệu là \(y\).
Giống như neuron sinh học, neuron nhân tạo tiếp nhận tín hiệu đầu vào, xử lý chúng bằng cách áp dụng trọng số liên kết, tính tổng các tích, và sau đó gửi kết quả qua hàm truyền để tạo ra tín hiệu đầu ra.
Hàm truyền Đồ thị Công thức
Hàm tuyến tính bão hòa đối xứng {
Bảng 1.1: Một số hàm truyền thông dụng
Phân loại mạng neuron
Cách thức kết nối các neuron trong mạng xác định kiến trúc (topology) của mạng Các neuron có thể được kết nối đầy đủ, nghĩa là mỗi neuron đều kết nối với tất cả các neuron khác, hoặc kết nối cục bộ, chỉ kết nối giữa các neuron trong các tầng khác nhau Hai loại kiến trúc mạng chính được phân loại dựa trên các kiểu kết nối này.
- Tự kết hợp (autoassociative): là mạng có các neuron đầu vào cũng là các neuron đầu ra Mạng Hopfield là một kiểu mạng tự kết hợp
Mạng tự kết hợp Hình 1.3:
Heteroassociative networks feature distinct input and output neuron sets Examples of this type include Perceptrons, MultiLayer Perceptrons (MLP), and Kohonen networks.
Mạng kết hợp khác kiểu Hình 1.4:
Tùy thuộc vào sự hiện diện của các kết nối ngược từ các neuron đầu ra tới các neuron đầu vào, mạng có thể được phân chia thành hai loại kiến trúc khác nhau.
Kiến trúc truyền thẳng (feedforward architecture) là loại kiến trúc mạng nơ-ron không có kết nối ngược từ các nơ-ron đầu ra về nơ-ron đầu vào, không lưu trữ giá trị đầu ra trước đó và trạng thái kích hoạt của nơ-ron Trong mạng nơ-ron truyền thẳng, tín hiệu chỉ di chuyển theo một hướng duy nhất từ đầu vào đến đầu ra, và đầu ra của một tầng không ảnh hưởng đến chính tầng đó Mạng Perceptron là một ví dụ điển hình của kiến trúc truyền thẳng.
Kiến trúc phản hồi (Feedback architecture) là một loại kiến trúc mạng, trong đó có các kết nối từ neuron đầu ra tới neuron đầu vào Loại mạng này ghi nhớ các trạng thái trước đó, và trạng thái tiếp theo không chỉ phụ thuộc vào tín hiệu đầu vào mà còn vào các trạng thái trước đó Một ví dụ điển hình của kiến trúc này là mạng Hopfield.
Tổng quan về ứng dụng mạng neuron nhân tạo trong y tế
1.2.1 Các lĩnh vực y tế ứng dụng mạng neuron
Việc áp dụng trí thông minh nhân tạo trong thiết bị khoa học đã được nghiên cứu lâu dài, đặc biệt trong lĩnh vực y học Năm 1950, mô phỏng máy tính của mạng neuron sinh học được giới thiệu lần đầu, và năm 1951, McCullogh và Pitts đã định nghĩa về tế bào thần kinh nhân tạo Cùng với sự phát triển công nghệ máy tính, mô hình hóa chức năng thần kinh trở nên phức tạp hơn, với các cụm thần kinh đơn giản được xác định Từ 1982 đến 1987, các mô hình toán học cho ứng dụng thực tế đã được phát triển dựa trên các công trình của McLelland, Rummelhart, Hopfield và Kohonen Tại Hungary, T Roska và cộng sự đã có những thành tựu nổi bật trong mạng neuron nhân tạo, được ứng dụng trong y học ở bốn lĩnh vực chính: mô hình hóa, xử lý tín hiệu điện sinh học, chẩn đoán và tiên đoán.
Mô hình hóa Mô phỏng và mô hình hóa các chức năng của não và các cơ quan thần kinh
Xử lý tín hiệu Lọc và đánh giá tín hiệu điện sinh học
Mạng neuron nhân tạo thực hiện chẩn đoán bằng cách phân tích phản ứng của hệ sinh học hoặc các tín hiệu từ thiết bị y tế.
Phân loại Giải thích các kết quả vật lý và công cụ để đạt đƣợc chẩn đoán chính xác hơn
Mạng neuron thần kinh cung cấp thông tin tiên lƣợng dựa trên quá trình phân tích tham số hồi cứu
Bảng 1.2: Các lĩnh vực y học ứng dụng mạng neuron nhân tạo
Các ứng dụng mạng neuron trong y tế
Mạng neuron thần kinh đã trở thành một công cụ quan trọng trong nhiều ứng dụng trong thập kỷ qua, thay thế các phương pháp dựa trên tri thức phổ biến từ những năm 1970 Nhờ khả năng phát triển nhanh chóng mô hình thông qua các thuật toán học tập với đủ dữ liệu, mạng neuron đang được áp dụng rộng rãi trong lĩnh vực y học Bài viết này sẽ cung cấp cái nhìn tổng quan về các ứng dụng của mạng neuron trong y học và mô tả chi tiết trong Bảng 1.3.
Ngành học Lĩnh vực ƣng dụng Nghiên cứu điển hình
Tim mạch Chẩn đoán, tiên lƣợng - Sử dụng mạng neuron thần kinh nhân tạo để phân tích mức độ enzyme huyết thanh chẩn đoán nhồi máu cơ tim
- Nhận dạng điện cực khử rung tim
- Phân tích sâu chuyển động tim để dự đoán sự sống còn của con người
- Sử dụng mạng neuron thần kinh trong dự đoán nguy cơ bệnh động mạch vành
Phân tích điện tâm đồ
Chẩn đoán - Sử dụng mạng neuron thần kinh để phân loại các phân đoạn ST và sóng T trong ECG
- Thay đổi nhịp tim và huyết áp khi tập luyện nặng và tập luyện quá sức ở nữ vận động viên
- Sử dụng các mạng thần kinh nhân tạo trong logic xác định để chẩn đoán ECG bệnh nhân về nhồi máu cơ tim
Tiên lƣợng - Dự đoán bằng mạng neuron thần kinh nhân tạo về thời gian lưu trú trong một đơn vị chăm sóc sau tổn thương mạch vành
- Tích hợp giám sát các báo động thông minh trong gây mê
- Hệ thống tích hợp phân loại thống kê và mạng neuron thần kinh để phân loại mô bệnh học của tổn thương tuyến tiền liệt
- Đánh giá đau ngực ở khoa cấp cứu
Tiêu hóa Tiên lƣợng - Dự đoán tiên lƣợng sớm cho bệnh nhân gan bị ung thƣ biểu mô tế bào gan
Phổi học Chẩn đoán - Các hạch phổi đơn độc: xác định khả năng ác tính với phân tích mạng neuron thần kinh
- Chẩn đoán thuyên tắc phổi cấp tính
Nghiên cứu của Baker và cộng sự đã sử dụng mạng neuron thần kinh để đánh giá các tham số trong hệ thống mã chuẩn hóa BI-RADS liên quan đến chẩn đoán và tiên lượng.
- Phân tích mạng neuron thần kinh của các yếu tố mô học định lƣợng để dự đoán giai đoạn bệnh lý
- Mạng neuron thần kinh nhân tạo trong chụp nhũ ảnh: ứng dụng vào việc ra quyết định trong chẩn đoán ung thƣ vú
Nhi khoa Chẩn đoán - Phân loại giấc ngủ ở trẻ sơ sinh
Xử lý tín hiệu, mô hình hóa
- Phân loại bệnh Alzheimer và chứng mất trí nhớ dựa trên mạng neuron thần kinh với dữ liệu hình ảnh chụp cắt lớp từ não
- Guigo và cộng sự nghiên cứu mô hình hóa quá trình học tập của vỏ não trước trán
Phân tích điện não đồ
Chẩn đoán - Tự động phát hiện đột biến điện não đồ bằng cách sử dụng mạng thần kinh nhân tạo
Xử lý tín hiệu, mô hình hóa
- Mạng kết nối trong mô hình hệ thống thính giác
- Thu nhận âm thanh lời nói, hợp tác và hiệu ứng tốc độ trong mô hình mạng neuron
10 thần kinh hỗ trợ tạo lời nói
- Mô phỏng và kích thích mạng neuron cấy ghép tế bào thần kinh của ốc tai điện tử
Sản phụ khoa Tiên lƣợng - Benesova và cộng sự sử dụng mạng thần kinh để xác định tính gây quái thai của thuốc điều trị chu sinh
Lapeer và nhóm nghiên cứu của ông đã sử dụng mạng neuron thần kinh để dự đoán các yếu tố ảnh hưởng đến cân nặng khi sinh, tập trung vào việc xác định các thông số chu sinh quan trọng.
Nhãn khoa Xử lý tín hiệu, mô hình hóa
- Maeda và cộng sự áp dụng mạng neuron thần kinh để giải thích mô hình quay phim trong chẩn đoán hình dạng bất thường của giác mạc
Phóng xạ học Xử lý tín hiệu
- Phân đoạn hình ảnh siêu âm của tuyến tiền liệt bằng cách sử dụng mạng neuron thần kinh
Bệnh lý Chẩn đoán, tiên lƣợng - Phân loại hạt nhân của ung thƣ biểu mô tuyến vú bằng phân tích hình ảnh
- Sử dụng mạng neuron thần kinh để phân biệt ung thƣ biểu mô ống với bệnh xơ cứng
Mạng neuron thần kinh được thiết kế để hỗ trợ chẩn đoán và sàng lọc tế bào cổ tử cung, giúp giảm độ biến thiên trong chẩn đoán và nâng cao hiệu quả sàng lọc.
Errington và Graham đã phát triển một mạng neuron thần kinh để phân loại nhiễm sắc thể, sử dụng các kỹ thuật tiền xử lý dữ liệu đại diện Phương pháp này giúp cải thiện độ chính xác trong chẩn đoán di truyền học.
11 cho hình dạng, kích thước và dải nhiễm sắc thể
Burstein và các cộng sự đã phát triển một mô hình mạng thần kinh nhằm nghiên cứu toàn bộ quá trình tạo phôi trong không gian và thời gian, đồng thời hình thành mô hình di truyền cho Drosophila.
Xử lý tín hiệu, mô hình hóa
- Sử dụng tiền xử lý dữ liệu và perceptron một lớp để phân tích dữ liệu phòng thí nghiệm
- Phân tích điện di huyết thanh bằng mạng neuron thần kinh
Hóa sinh Chuỗi Protein, cấu trúc
- ProCANS (Phân loại protein bằng mạng neuron nhân tạo) đã đƣợc thiết kế để phân loại các protein
Bảng 1.3: Tóm tắt các ứng dụng của mạng neuron thần kinh trong y học
Trong chương này, chúng ta đã khám phá khái niệm, cấu trúc và ứng dụng của mạng neuron nhân tạo, một công cụ mạnh mẽ và linh hoạt cho việc giải quyết các bài toán phi tuyến và phức tạp Mạng neuron nhân tạo đặc biệt hữu ích trong các trường hợp mà mối quan hệ giữa các quá trình khó được xác định một cách rõ ràng.
Khả năng ứng dụng của mạng neuron trong chẩn đoán y tế là rất lớn Bài viết đã trình bày các lĩnh vực y tế mà mạng neuron được áp dụng Trong chương tiếp theo, chúng ta sẽ nghiên cứu thiết kế mạng neuron hỗ trợ chẩn đoán bệnh rối loạn nhịp tim bằng công cụ Neuron Network Toolbox trong phần mềm Matlab.
THIẾT KẾ MẠNG NEURON HỖ TRỢ CHẨN ĐOÁN BỆNH RỐI LOẠN NHỊP TIM SỬ DỤNG CÔNG CỤ NEURON NETWORK TOOLBOX
Cấu trúc
The Development Environment in MATLAB consists of a comprehensive set of tools that facilitate the use of functions and files Key components include the MATLAB desktop, Command Window, command history, editor, debugger, help browsers, workspace, file management, and search path.
- MATLAB Mathematical Function Library: tập hợp các hàm toán học nhƣ sum,sine, số học,
- MATLAB Language (scritp): ngôn ngữ lập trình bậc cao
- Graphics: các công cụ giúp hiển thị dữ liệu dưới dạng đồ thị, ngoài ra còn cho phép xây dựng giao diện đồ họa
- MATLAB Application Program Interface: bộ thƣ viện cho phép ta sử dụng các chức năng tính toán của MATLAB trên ngôn ngữ lập trình C hay FORTRAN.
Đặc điểm của Matlab
- Là một ngôn ngữ cấp cao cho tính toán số, mô hình hóa mô phỏng và phát triển ứng dụng
- Cung cấp môi trường tương tác thử nghiệm lặp đi lặp lại, thiết kế và giải quyết vấn đề
Chúng tôi cung cấp một thư viện phong phú các hàm toán học, bao gồm đại số tuyến tính, thống kê, phân tích Fourier, lọc, tối ưu hóa và giải phương trình vi phân thường, nhằm hỗ trợ tối đa cho nhu cầu nghiên cứu và ứng dụng trong lĩnh vực toán học.
- Giao diện lập trình MATLAB cung cấp công cụ phát triển cải thiện chất lƣợng mã bảo trì và tối đa hóa hiệu suất
- Cung cấp các công cụ để xây dựng các ứng dụng với giao diện đồ họa tùy chỉnh
- Thuận tiện cho việc tích hợp các thuật toán MATLAB với các ứng dụng bên ngoài và các ngôn ngữ nhƣ C, Java, NET và Microsoft Excel.
Khả năng ứng dụng của Matlab
MATLAB là một bộ chương trình phần mềm lớn dành cho tính toán kỹ thuật Có thể dùng MATLAB để xử lý:
- Vẽ 2-D và 3-D và đồ họa
- Chức năng phi tuyến tính
Các ngành nghề kỹ thuật đƣợc Matlab hỗ trợ đắc lực:
- Xử lý tín hiệu và Truyền thông
- Hình ảnh và Video Processing
- Kiểm tra và đo lường
Giới thiệu công cụ Neuron Network Toolbox trong phần mềm Matlab
Học máy nói chung hay Deep Learning nói riêng hiện nay đang là một trong những ngành nóng nhất trong bộ môn khoa học máy tính (Computer science)
Deep Learning Toolbox ™, trước đây gọi là Neuron Network Toolbox ™, cung cấp khung cơ sở để thiết kế và triển khai các mạng thần kinh sâu với các thuật toán và mô hình đã được xử lý trước Kỹ thuật học sâu này cho phép máy học các đặc trưng và nhiệm vụ trực tiếp từ dữ liệu, bao gồm hình ảnh, văn bản và âm thanh.
Deep Learning là một một phương pháp của học máy (Machine Learning) Khi phát triển một ứng dụng Deep Learning phải tiến hành các bước như sau [4]:
Đặt bài toán là bước quan trọng nhất trong quá trình giải quyết vấn đề, yêu cầu kiến thức và kinh nghiệm sâu rộng Đối với các vấn đề đơn giản, chỉ cần một lớp Deep Learning để đạt được kết quả Tuy nhiên, những bài toán phức tạp đòi hỏi nhiều lớp Deep Learning để xử lý dữ liệu từ đầu vào đến đầu ra Trong bước này, chúng ta sẽ thiết kế cấu trúc mạng và tiếp tục luyện tập để điều chỉnh các đặc tính bên trong mạng.
2.Thu thập dữ liệu (Data Gathering): Sau khi đã định nghĩa vấn đề xong, chúng ta sẽ bắt đầu tiến hành thu thập nguồn dữ liệu tương ứng
Quá trình lọc dữ liệu (Data Parsing) yêu cầu cặp nhãn dữ liệu phải chính xác để đảm bảo chất lượng Sau khi thu thập, dữ liệu cần được lọc để loại bỏ nhiễu và đảm bảo tính sạch sẽ Sau khi hoàn tất, dữ liệu sẽ được chia thành ba phần: train, validation và test, với tỉ lệ thường dùng là 7-1,5-1,5 Tại bước này, chúng ta đã có một tập dữ liệu hoàn chỉnh.
Quá trình luyện mô hình là giai đoạn quan trọng, trong đó dữ liệu và nhãn được liên tục đưa vào mô hình để điều chỉnh các đặc tính bên trong, nhằm hướng đầu ra đến nhãn mong muốn Thời gian luyện có thể kéo dài từ vài giờ đến vài tuần, nhưng để rút ngắn thời gian này, quá trình tính toán sẽ được phân luồng trên nhiều GPU.
Sau khi hoàn tất quá trình luyện, bước tiếp theo là thực hiện validation để xác thực và đánh giá lại mô hình Quá trình này giúp dừng luyện khi mô hình không còn cải thiện nữa.
Sau khi hoàn thành quá trình luyện tập, bước cuối cùng là kiểm tra độ chính xác của mô hình thông qua việc sử dụng dữ liệu kiểm tra Đây là bước đơn giản, chỉ cần đưa dữ liệu kiểm tra vào mô hình và so sánh nhãn đầu ra với nhãn gốc của dữ liệu kiểm tra.
Sau khi hoàn tất quá trình huấn luyện, mô hình có thể được triển khai trên các thiết bị đầu cuối như board mạch, mạch nhúng, điện thoại di động và FPGA.
Xây dựng cơ sở dữ liệu đáp ứng nhu cầu thiết kế mạng neuron
2.2.1 Chọn cơ sở dữ liệu thích hợp Để đào tạo mạng neuron hỗ trợ chẩn đoán bệnh rối loạn nhịp tim, cần có dữ liệu mô tả tình trạng lâm sàng của bệnh nhân đúng cách Dữ liệu thông tin không cần thiết hoặc không chính xác của bệnh nhân không nên sử dụng đối với chẩn đoán Quá trình lựa chọn dữ liệu đặc trưng phù hợp là nhiệm vụ của bác sĩ Thông thường những dữ liệu này là thông tin cơ bản về tình trạng sức khỏe của bệnh nhân, kết quả của phân tích sinh hóa, kết quả phân tích tín hiệu điện sinh học, triệu chứng và các thông tin khác giúp xác định chẩn đoán chính xác Tất cả các những dữ liệu này của bệnh nhân đƣợc thu thập và đánh giá đại diện cho mô hình đầu vào của mạng thần kinh Khả năng khái quát hóa mỗi quan hệ giữa các triệu chứng và chẩn đoán phụ thuộc nhiều vào các mẫu đầu vào đƣợc sử dụng trong quá trình đào tạo Do đó cơ sở dữ liệu cần chứa đủ số lƣợng các mẫu đáng tin cậy mô tả chẩn đoán bệnh lý Điều này sẽ cho phép trong quá trình đào tạo của mạng thần kinh ƣớc tính sự phụ thuộc ẩn trong tập dữ liệu và sử dụng kiến thức này để khái quát hóa cho các trường hợp chẩn đoán của bệnh nhân, ngay cả đối với những trường hợp không có trong dữ liệu đào tạo Cấu trúc cơ sở dữ liệu có dạng bảng hoặc ma trận chứa thông tin về sức khỏe tình trạng bệnh nhân và kết quả chẩn đoán của họ
Để chọn dữ liệu phù hợp, chúng tôi sử dụng cơ sở dữ liệu về bệnh rối loạn nhịp tim Arrhythmia_dataset, bao gồm hai ma trận ArrhythmiaInputs và ArrhythmiaTargets Dữ liệu này được lấy từ kho cơ sở dữ liệu trực tuyến của Đại học Wisconsin, do các tác giả Altay Guvenir, Burak Acar và Haldun Muderrisoglu từ trường đại học Bilkent ở Thổ Nhĩ Kỳ phát triển vào năm 1997.
“Tại sao bộ dữ liệu Arrhythmia_dataset lại được sử dụng?”, dưới đây là một số lý do chính:
- Đây là một bộ dữ liệu phản ánh đầy đủ nhất những yếu tố đặc trƣng – triệu chứng của bệnh
Hiện tại, Việt Nam chưa có bộ dữ liệu nào phục vụ cho việc chẩn đoán bệnh lý Do đó, bộ dữ liệu Arrhythmia_dataset sẽ được áp dụng trong đồ án này.
Cơ sở dữ liệu này chứa các bản ghi điện tâm đồ thu đƣợc từ 452 bệnh nhân và
Bài viết đề cập đến 279 thông số đặc trưng liên quan đến 16 loại bệnh lý tim mạch được chẩn đoán Trước khi áp dụng cho việc huấn luyện mạng neuron, cơ sở dữ liệu này cần được xử lý sơ bộ Do một số bệnh lý chỉ xuất hiện trong một vài mẫu bản ghi, nên chúng đã bị loại trừ, giảm số lượng bệnh chẩn đoán còn lại xuống còn 10.
Tên bệnh Số trường hợp
02 Ischemic changes (Bệnh động mạch vành) 44
03 Old Anterior Myocardial Infarction(Nhồi máu cơ tim cấp thành trước)
04 Old Inferior Myocardial Infarction (Nhồi máu cơ tim cấp thành dưới)
05 Sinus tachycardy (Nhịp nhanh xoang) 13
06 Sinus bradycardy (Nhịp chậm xoang) 25
07 Left bundle branch block ( Block tim nhanh trái) 9
08 Right bundle branch block (Block tim nhanh phải)
09 Atrial Fibrillation or Flutter (Rung nhĩ hoặc
Bảng 2.1: Các loại bệnh tim mạch được chẩn đoán
Các thuộc tính (TT) bao gồm 5 nhóm:
Nhóm 1 từ TT1 –> TT4: Các đặc trƣng chung cơ thể (Tuổi, Giới tính, Chiều cao, Cân nặng)
Nhóm 2 từ TT5 –> TT15: Các đặc trƣng chung về hoạt động của tim ( Độ dài phức hợp QRS, Khoảng cách giữa các sóng P và Q, Khoảng cách giữa khởi điểm sóng
Q và kết thúc song T, Độ dài sóng T,…….,Nhịp đập tim )
Các nhóm còn lại đƣợc trình bày trong (Bảng 2.2)
Tên nhóm đạo trình Số thuộc tính (TT) Đạo trình mẫu-cơ bản/Đạo trình song cực chi
TT16(160) –> TT27(169) TT28(170) –> TT39(179) TT40(180) –> TT51(189) Đạo trình tăng cường/Đạo trình đơn cực chi aVR aVL aVF
TT 76(210)–> TT87(219) Đạo trình tim/Đạo trình đơn cực trước tim
TT 100(230)–> TT111(239) TT112(240) –> TT123(249) TT124(250) –> TT135(259)
Chuẩn hóa cơ sơ dữ liệu
Trước khi sử dụng cơ sở dữ liệu để luyện mạng neuron, cần thực hiện xử lý sơ bộ và chuẩn hóa dữ liệu để các giá trị nằm trong khoảng [0,1], đồng thời loại bỏ những thuộc tính không xác định Sau khi hoàn tất quá trình này, cơ sở dữ liệu dùng để luyện mạng bao gồm hai ma trận: ma trận ArrhythmiaInputs có kích thước 262x433, tương ứng với 262 thuộc tính và 433 mẫu bản ghi, và ma trận ArrhythmiaTargets với kích thước 10x433, đại diện cho 10 loại bệnh được chẩn đoán cùng 433 mẫu bản ghi.
Quá trình xử lý dữ liệu bao gồm các bước sau đây:
Ma trận cơ sở dữ liệu gốc của bệnh rối loạn nhịp tim có kích thước 452x280 Để phù hợp với mô hình ma trận luyện mạng, ma trận chuyển vị được thực hiện, tạo ra ma trận DL có kích thước 280x452, trong đó số thuộc tính là hàng và số trường hợp bệnh nhân là cột.
Một số bệnh chỉ có một vài mẫu, do đó số lượng bệnh nhân được chẩn đoán đã giảm xuống còn 433 Kết quả là chúng ta có ma trận dữ liệu mới với kích thước B = 280x433.
Trong đó :a,b c là số các trường hợp bị loại bỏ
Ma trận dữ liệu B gồm 280 hàng thuộc tính, trong đó từ hàng 1 đến 279 là các thuộc tính đầu vào, còn hàng 280 đại diện cho thuộc tính đầu ra, phản ánh bệnh lý được chẩn đoán.
- Lấy ma trận đầu vào ArrhythmiaInputs từ ma trận B là ma trận C'9x433:
Sau khi chuẩn hóa ma trận đầu vào (ArrhythmiaInputs), chúng ta chia các giá trị trong mỗi hàng của ma trận này cho giá trị lớn nhất của hàng đó, từ đó tạo ra ma trận mới là IP'9x433.
- Những thuộc tính không xác định bị loại bỏ nên cuối cùng ma trận ArrhythmiaInputs thu đƣợc có dạng là IP1= 262x433
- Lấy ma trận đầu ra (ArrhythmiaTargets) từ ma trận B là ma trận OP=1x433:
- Sau đó chuẩn hóa ma trận ArrhythmiaTargetst theo mã các loại bệnh lý chẩn đoán; cuối cùng ma trận ArrhythmiaTargetst thu đƣợc có dạng là: OP1x433
Thiết kế mạng neuron hỗ trợ chẩn đoán bệnh rối loạn nhịp tim
Dựa trên cơ sở dữ liệu đã được xử lý, chúng tôi xây dựng mạng neuron nhân tạo đa lớp truyền thẳng (MLP) để hỗ trợ chẩn đoán bệnh rối loạn nhịp tim Mạng MLP tổng quát bao gồm n (n≥2) tầng, trong đó có một tầng đầu ra (tầng thứ n) và (n-1) tầng ẩn.
Kiến trúc của mạng MLP tổng quát bao gồm đầu vào là các vector trong không gian p chiều và đầu ra là các vector trong không gian q chiều Trong các bài toán phân loại hoặc chẩn đoán, p đại diện cho kích thước mẫu đầu vào, trong khi q là số lớp phân loại cần thiết Hai yếu tố quan trọng ảnh hưởng đến đầu vào là
- Dạng hàm đích: khi hàm đích càng phức tạp thì kích thước đầu vào cần tăng
Nhiễu xảy ra khi dữ liệu chứa thông tin sai lệch hoặc thiếu sót, dẫn đến việc cần tăng kích thước đầu vào Đầu ra của các neuron ở tầng trước sẽ trở thành đầu vào cho các neuron ở tầng sau Mỗi neuron trong tầng sau đều kết nối với tất cả các neuron của tầng trước, tạo thành một mạng lưới liên kết chặt chẽ.
Mạng MLP hoạt động theo quy trình sau: Tại tầng đầu vào, các neuron nhận tín hiệu, thực hiện tính tổng trọng số và truyền kết quả qua hàm truyền Kết quả này được chuyển đến các neuron ở tầng ẩn thứ nhất, nơi chúng tiếp nhận tín hiệu đầu vào, xử lý và gửi kết quả đến tầng ẩn thứ hai Quá trình này tiếp tục cho đến khi các neuron ở tầng ra cung cấp kết quả cuối cùng.
Một số kết luận đã đƣợc chứng minh:
- Bất kì một hàm Boolean nào cũng có thể biểu diễn đƣợc bởi một mạng MLP 2 tầng trong đó các neuron sử dụng hàm truyền sigmoid
Tất cả các hàm liên tục có thể được xấp xỉ bởi một mạng MLP 2 tầng, trong đó sử dụng hàm truyền sigmoid cho các neuron ở tầng ẩn và hàm truyền tuyến tính cho các neuron ở tầng ra, với sai số nhỏ tùy ý.
Mọi hàm bất kỳ có thể được xấp xỉ bằng một mạng nơ-ron đa lớp (MLP) với ba tầng, trong đó sử dụng hàm truyền sigmoid cho các nơ-ron ở tầng ẩn và hàm truyền tuyến tính cho các nơ-ron ở tầng ra.
Một số vẫn đề lưu ý trong việc xây dựng mạng MLP:
Việc xác định số lượng neuron trong tầng ẩn của mạng MLP phụ thuộc vào bài toán cụ thể và kinh nghiệm của nhà thiết kế Số lượng nút ẩn càng nhiều, mạng càng có khả năng nắm bắt đặc tính của dữ liệu huấn luyện, nhưng thời gian học cũng sẽ tăng Ngược lại, nếu số nút ẩn quá ít, mạng sẽ học không chính xác Để đảm bảo tính khoa học và tiện lợi trong việc xây dựng và khảo sát mạng, công cụ Neuron Network Toolbox trong phần mềm Matlab sẽ được sử dụng Do đó, phù hợp với mục đích nghiên cứu, chúng tôi chọn mạng neuron với cấu trúc như hình 2.2.
Mạng neuron chẩn đoán hai lớp MLP Hình 2.2:
Mạng lưới có 262 tế bào neuron đầu vào tương ứng với 262 thuộc tính, lớp ẩn sử dụng hàm kích hoạt sigmoid và lớp đầu ra gồm 10 tế bào neuron, đại diện cho 10 loại bệnh được chẩn đoán.
Chọn thuật toán luyện mạng
Phương pháp tối ưu mạng MLP phổ biến nhất là sử dụng thuật toán lan truyền ngược, nhằm tối thiểu hóa sai số trung bình bình phương Thuật toán này điều chỉnh trọng số và hệ số bias theo hướng ngược lại với vectơ Gradient của hàm sai số, nhưng hàm sai số trong mạng MLP thường phức tạp và có nhiều cực trị cục bộ Do đó, quá trình huấn luyện có thể chỉ đạt được cực trị cục bộ mà không phải cực trị toàn cục Giá trị khởi tạo của các trọng số ảnh hưởng lớn đến kết quả cuối cùng; các trọng số thường được khởi tạo bằng những số ngẫu nhiên nhỏ Việc khởi tạo tất cả các trọng số bằng nhau sẽ làm giảm hiệu quả học tập của mạng, trong khi khởi tạo với giá trị lớn có thể dẫn đến tín hiệu đầu vào có giá trị tuyệt đối cao ngay từ đầu.
Việc sử dụng hàm sigmoid có thể dẫn đến việc hệ thống bị kẹt tại các cực tiểu cục bộ hoặc vùng phẳng gần điểm xuất phát, do nó chỉ cho phép hai giá trị 0 và 1 Để khắc phục điều này, giá trị khởi tạo của các trọng số trên lớp thứ l của mạng được chọn ngẫu nhiên trong khoảng [-1/n, 1/n], với n là số trọng số kết nối tới lớp l Phương pháp học lan truyền ngược sai số, nhằm giảm độ lệch gradient, yêu cầu khởi tạo trọng số với các giá trị nhỏ ngẫu nhiên để giúp mạng hội tụ về các cực tiểu khác nhau, và nếu may mắn, mạng có thể đạt được giá trị cực tiểu tổng thể.
Bỏ qua sự phức tạp về mặt toán học lƣợc đồ của thuật toán đƣợc mô ta nhƣ sau :
Lược đồ thuật toán lan truyền ngược gradient liên hợp Hình 2.3:
Lƣợc đồ hình 2.3 đƣợc diễn ta nhƣ sau:
- Khởi tạo trọng số o Giá trị của trọng số liên kết giữa các neuron đƣợc khởi tạo ngẫu nhiên
- Mạng truyền thẳng o Mỗi neuron trên mỗi tầng đƣợc tính tổng trọng số của các tín hiệu vào o Sử dụng hàm activation để tính giá trị ra từ neuron
- Truyền ngƣợc của sai số o Thông tin lỗi đƣợc tính o Ta sử dụng giá trị này để tính toán thông tin lỗi trên mỗi neuron còn lại
Chúng ta cần cập nhật giá trị trọng số bằng cách sử dụng thông tin lỗi từ mỗi node để tính toán và điều chỉnh lại trọng số liên kết giữa các neuron.
Về mặt toán học thuật toán lan truyền ngƣợc đƣợc mô tả nhƣ sau:
Ta sử dụng một số kí hiệu sau:
x i : Giá trị đầu vào của neuron thứ i
V ij : vector trọng số trên đường kết nối từ neuron node vào thứ i tới neuron node ẩn thứ j
W jk : vector trọng số trên đường kết nối từ neuron node ẩn thứ j tới neuron node ra thứ k
f: hàm truyền với: f(x) = 1 / (1 + e -x ) - Ở đây chúng ta sử dụng hàm truyền là hàm Sigmoid, giới hạn giá trị đầu ra trong khoảng [0,-1]
I Ii – Input của node Input thứ i
O Ii – Ouput của node Input thứ i
I Hp – Input của node Hidden thứ p
O Hp – Output của node Hidden thứ p
I Oq – Input của node Output thứ q
O Oq – Output của node Output thứ q
O Ok – Output của node Output thứ k
- Mạng feed-forward với n đầu vào, m nút ẩn và L đầu ra
- Tập dữ liệu huấn luyện D = { - là vector đầu vào, - là vector đầu ra mong muốn}
Output: Các vector trọng số sau khi đã đƣợc huấn luyện
Lưu đồ thao tác huấn luyện sử dụng thuật toán lan truyền ngược Hình 2.4:
Bước 1: Khởi tạo trọng số , bởi các giá trị ngẫu nhiên nhỏ:
Bước 2: Lan truyền thẳng tính toán đầu ra thực tế
- Tại node vào thứ i (Input):
- Tại node ẩn thứ p (Hidden):
- Tại node ra thứ q (Output):
Giá trị đầu ra thực tế của mạng với bộ trọng số ngẫu nhiên ban đầu là khác nhau so với đầu ra mong muốn Do đó, cần tính toán độ sai khác giữa hai giá trị này và áp dụng phương pháp điều chỉnh trọng số qua từng bước học để giảm thiểu sai khác Quá trình học sẽ dừng lại khi độ sai khác đạt đến ngưỡng giới hạn phù hợp.
Bước 3: Đánh giá lỗi học – sai số trung bình bình phương (MSE: meansquare error):
Trong đó: E là sai số trung bình bình phương, L đại diện cho đầu ra
Bước 4: Lan truyền ngược điều chỉnh trọng số
- Với mỗi nút q thuộc tầng ra, tính đạo hàm ngƣợc sai số thành phần theo công thức:
- Cập nhật các trọng số từ tầng ẩn tới tầng ra :
- Với mỗi nút p thuộc tầng ẩn, tính đạo hàm ngƣợc sai số theo công thức:
- Cập nhật các trọng số từ tầng vào tới tầng ẩn :
Lặp lại quy trình cho đến khi đạt được điều kiện kết thúc Kết quả thu được là bộ trọng số chuẩn, nhằm tối ưu hóa sự tương đồng giữa giá trị đầu ra thực tế và giá trị đầu ra mong muốn, với mục tiêu giảm thiểu sai số trung bình bình phương.
Trong chương này, chúng tôi đã giới thiệu công cụ Neuron Network Toolbox trong phần mềm Matlab và khả năng ứng dụng của nó Chúng tôi đã chọn, xử lý và chuẩn hóa cơ sở dữ liệu để thiết kế mạng neuron, đồng thời xây dựng mạng neuron nhân tạo đa lớp truyền thẳng (MLP) nhằm hỗ trợ chẩn đoán bệnh rối loạn nhịp tim Ngoài ra, chúng tôi đã lựa chọn thuật toán lan truyền ngược gradient liên hợp để luyện và tối ưu hóa mạng neuron.
LUYỆN MẠNG, THẨM ĐỊNH VÀ THỬ NGHIỆM MẠNG
Kết quả cho trường hợp sử dụng phương pháp gán trọng số cho các thuộc tính 3.3 đầu vào
Bảng 3.1: Bảng chỉ số tốt nhất của mô hình mạng neuron cho bệnh rối loạn nhịp tim - case 0
Bảng 3.2: Tỷ lệ thành công của mô hình phân loại bệnh rối loạn nhịp tim - case 0
Kết quả cho trường hợp sử dụng phương pháp gán trọng số cho các thuộc
3.3.1 Ý nghĩa phương pháp gán trọng số cho các thuộc tính đâu vào Ý tưởng của phương pháp gán trọng số tương ứng mức cấu trúc cơ thể xuất phát từ việc xem xét thành phần của các thuộc tính đầu vào Mạng Cụ thể các tham số/thuộc tính đầu vào này - vốn được thu nhận bằng các phương pháp đo lường y sinh khác nhau - sẽ tương ứng với 5 cấp cấu trúc của cơ thể như: cơ thể cơ quan chức năng mô tế bào phân tử sinh học [5], nhƣ đƣợc phân loại trong bảng sau:
Số cấp độ Mức cấu trúc Phương pháp chẩn đoán
1 Cấp cơ thể Thu thập triệu chứng ho, đau, sốt… Đo Mạch đập, nhiệt độ, huyết áp,…
2 Cấp cơ quan chức năng Chẩn đoán chức năng (ECG, EEG,
3 Cấp mô CT, MRI, PET SPECT, kính hiển vi nano, phương pháp phân tích, xét nghiệm
4 Cấp độ tế bào: các loại tế bào
5 Cấp độ phân tử sinh học
Bảng 3.3: Mức cấu trúc của cơ thể và các phương pháp chẩn đoán tương ứng
Độ quan trọng của các tham số đầu vào trong chẩn đoán không đồng đều; cụ thể, khi mức độ cấu trúc giảm, giá trị chẩn đoán của chúng càng trở nên có ý nghĩa hơn, cho thấy trọng số của chúng cũng tăng lên.
Nghiên cứu này nhằm kiểm tra tính xác đáng và hiệu quả của phương pháp gán trọng số cho các thuộc tính đầu vào, từ đó cải thiện chất lượng của mạng chẩn đoán bệnh tim mạch Phương pháp này sẽ được áp dụng cho mạng neuron nhân tạo, tập trung vào các mức cấu trúc của cơ thể, cụ thể là cấp cơ quan chức năng, để hỗ trợ trong việc chẩn đoán bệnh tim mạch.
Mục đích chính của nghiên cứu này là xác định tầm quan trọng của việc gán trọng số trong mạng nơ-ron bằng cách so sánh kết quả luyện mạng giữa hai trường hợp: không có trọng số và có trọng số Để thực hiện điều này, cấu trúc của mạng được giữ nguyên, bao gồm số lớp, số tế bào thần kinh cho mỗi lớp và sai lệch, như thể hiện trong Hình 2.2.
Trong cơ sở dữ liệu ArrhythmiaInput, các thuộc tính được phân loại thành 5 nhóm tương ứng với các mức cấu trúc của cơ thể Để đánh giá ảnh hưởng của chúng đến kết quả chẩn đoán, các thuộc tính ở mức cao (1,2) được giữ nguyên hoặc gán trọng số 1, trong khi các mức thấp còn lại được gán trọng số 0 Kết quả là các ma trận ArrhythmiaInput mới (IP2, IP3, IP4, IP5, IP6, IP7, IP8) có kích thước 262x443, cho phép đánh giá độ quan trọng của từng thuộc tính trong quá trình phân tích.
- Trường hợp gán trọng số bằng không đối với thuộc tính đạo trình tăng cường - Case 1:
- Trường hợp gán trọng số bằng không đối với thuộc tính đạo trình tim - Case 2
- Trường hợp gán trọng số bằng không đối với thuộc tính đạo trình cơ bản - Case 3:
- Trường hợp gán trọng số bằng không đối với thuộc tính DI của đạo trình cơ bản – case 4:
- Trường hợp gán trọng số bằng không đối với thuộc tính DII của đạo trình cơ bản – case 5:
- Trường hợp gán trọng số bằng không đối với thuộc tính DIII của đạo trình cơ bản –case 6:
- Trường hợp gán trọng số bằng không đối với thuộc tính DIII của đạo trình cơ bản và thuộc tính đạo trình tăng cường – case 7:
3.3.2 Kết quả cho trường hợp gán trọng số cho các thuộc tính đầu vào
Kết quả kiểm tra cho thấy mạng neuron chẩn đoán bệnh rối loạn nhịp tim đạt hiệu quả cao khi áp dụng phương pháp gán trọng số thuộc tính Các trường hợp nghiên cứu đã chứng minh khả năng chính xác và độ tin cậy của mô hình trong việc phát hiện các rối loạn nhịp tim, góp phần quan trọng vào việc cải thiện quy trình chẩn đoán y tế.
- Kết quả trường hợp gán trọng số bằng không đối với thuộc tính đạo trình tăng cường - case 1:
Kết quả xác thực tốt nhất – case1 Hình 3.2:
Bảng 3.4: Bảng chỉ số tốt nhất của mô hình mạng neuron phân loại bệnh rối loạn nhịp tim – case 1
Bảng 3.5: Tỷ lệ thành công của mô hình phân loại bệnh rối loạn nhịp tim – case 1
- Kết quả trường hợp gán trọng số bằng không đối với thuộc tính đạo trình tim - Case 2:
Kết quả xác thực tốt nhất – case2 Hình 3.3:
Bảng 3.6: Bảng chỉ số tốt nhất của mô hình mạng neuron phân loại bệnh rối loạn nhịp tim – case 2
Bảng 3.7: Tỷ lệ thành công của mô hình phân loại bệnh rối loạn nhịp tim – case 2
- Kết quả trường hợp gán trọng số bằng không đối với thuộc tính đạo trình cơ bản - Case 3:
Kết quả xác thực tốt nhất – case 3 Hình 3.4:
Bảng 3.8: Bảng chỉ số tốt nhất của mô hình mạng neuron phân loại bệnh rối loạn nhịp tim – case 3
Bảng 3.9: Tỷ lệ thành công của mô hình phân loại bệnh rối loạn nhịp tim – case 3
- Kết quả trường hợp gán trọng số bằng không đối với thuộc tính DI của đạo trình cơ bản – case 4:
Kết quả xác thực tốt nhất – case 4 Hình 3.5:
Bảng 3.10: Bảng chỉ số tốt nhất của mô hình mạng neuron phân loại bệnh rối loạn nhịp tim – case 4
Bảng 3.11: Tỷ lệ thành công của mô hình phân loại bệnh rối loạn nhịp tim – case 4
- Kết quả trường hợp gán trọng số bằng không đối với thuộc tính DII của đạo trình cơ bản – case 5:
Kết quả xác thực tốt nhất – case 5 Hình 3.6:
Bảng 3.12: Bảng chỉ số tốt nhất của mô hình mạng neuron phân loại bệnh rối loạn nhịp tim – case 5
Bảng 3.13: Tỷ lệ thành công của mô hình phân loại bệnh rối loạn nhịp tim– case 5
- Kết quả trường hợp gán trọng số bằng không đối với thuộc tính DIII của đạo trình cơ bản – case 6:
Kết quả xác thực tốt nhất – case 6 Hình 3.7:
Bảng 3.14: Bảng chỉ số tốt nhất của mô hình mạng neuron phân loại bệnh rối loạn nhịp tim – case 6
Bảng 3.15: Tỷ lệ thành công của mô hình phân loại bệnh rối loạn nhịp tim – case 6
- Kết quả trường hợp gán trọng số bằng không đối với thuộc tính DIII của đạo trình cơ bản và thuộc tính đạo trình tăng cường – case 7:
Kết quả xác thực tốt nhất – case 7 Hình 3.8:
Bảng 3.16: Bảng chỉ số tốt nhất của mô hình mạng neuron phân loại bệnh rối loạn nhịp tim – case 7
Bảng 3.17: Tỷ lệ thành công của mô hình phân loại bệnh rối loạn nhịp tim – case 7
Dựa trên kết quả thu được từ trường hợp gán trọng số bằng 0, có thể nhận thấy mức độ quan trọng của các nhóm thuộc tính trong cấu trúc cấp cơ quan chức năng.
Thuộc tính đạo trình cơ bản > Thuộc tính đạo trình tăng cường> Thuộc tính đạo trình tim
Theo phương pháp gán trọng số, thuộc tính có mức độ quan trọng cao sẽ có giá trị chẩn đoán tương ứng có ý nghĩa lớn hơn, tức là trọng số của chúng cũng sẽ cao hơn Dựa trên điều này, chúng ta sẽ phân bố trọng số cho các nhóm như sau:
- Gán trọng số 0.8; 0.4; 0.2 lần lƣợt với các thuộc tính: Đạo trình cơ bản; Đạo trình tăng cường; Đạo trình tim – case 8:
IP=[IP([1:15],:);IP([16:51],:).*0.8;IP([52:87],:).*0.4;IP([88:159],:).*0.2;IP([1 60:189],:).*0.8;IP([190:219],:).*0.4;IP([220:279],:).*0.2];
- Gán trọng số 0.9; 0.5; 0.1 lần lƣợt với các thuộc tính: Đạo trình cơ bản; Đạo trình tăng cường; Đạo trình tim – case 9
IP=[IP([1:15],:);IP([16:51],:).*0.9;IP([52:87],:).*0.5;IP([88:159],:).*0.1;IP([1 60:189],:).*0.9;IP([190:219],:).*0.5;IP([220:279],:).*0.1];
Khi thực hiện quá trình luyện tập, xác thực và thử nghiệm mạng với ma trận đầu vào được gán trọng số phân bố lần lượt, chúng ta nhận được kết quả tương tự như trường hợp không gán trọng số (case 0).
Kết quả xác thực tốt nhất - case 8 Hình 3.9:
Bảng 3.18: Bảng chỉ số tốt nhất của mô hình mạng neuron cho bệnh rối loạn nhịp tim - case 8
Bảng 3.19: Tỷ lệ thành công của mô hình phân loại bệnh rối loạn nhịp tim - case 8
Kết quả xác thực tốt nhất - case 9 Hình 3.10:
Bảng 3.20: Bảng chỉ số tốt nhất của mô hình mạng neuron cho bệnh rối loạn nhịp tim - case 9
Bảng 3.21: Tỷ lệ thành công của mô hình phân loại bệnh rối loạn nhịp tim - case 9
Kết quả thử nghiệm, kiểm chứng trên mô hình bài báo[3]
3.4. Để kiểm chứng kết quả luyện mô hình mạng MLP chẩn đoán bệnh rối loạn nhịp tim đã thiết kế trong đồ án ta dùng kết quả luyện mô hình mạng MLP đã thiết kế trong bài báo“Application of neuron network in medical diagnostics” của tác giả S Kajan, D
Pernecký và Goga đã áp dụng mạng neuron vào cơ sở dữ liệu về rối loạn nhịp tim, trong đó dữ liệu được phân chia thành 60% cho đào tạo và 40% cho thử nghiệm Các bộ dữ liệu thử nghiệm được chia theo tỷ lệ tương đương giữa phần kiểm tra và phần xác thực.
Trong cấu trúc mạng, một lớp ẩn đã được chọn với 25 tế bào thần kinh, số lượng này được giữ cố định cho tất cả các tập dữ liệu Kết quả tốt nhất cho mô hình thần kinh được thu được thông qua thuật toán lan truyền ngược.
Kết quả xác thực tốt nhất theo bài báo[3]
Bảng 3.22: Bảng chỉ số tốt nhất của mô hình mạng neuron phân loại bệnh rối loạn nhịp tim theo bài báo[3]
Bảng 3.23: Tỷ lệ thành công của mô hình phân loại bệnh rối loạn nhịp tim theo bài báo[3]
Do phiên bản phần mềm luyện mạng trong đồ án và bài báo khác nhau, chúng tôi đã tiến hành mô phỏng lại mô hình mạng và phương pháp luyện mạng theo bài báo trên phần mềm luyện mạng của đồ án Kết quả thu được như sau:
Mạng neuron chẩn đoán hai lớp MLP mô phỏng lại bài báo[3] Hình 3.12:
Kết quả xác thực tốt nhất luyện mạng theo thiết kế mô phỏng lại Hình 3.13: bài báo[3] - case 0
Bảng 3.24: Bảng chỉ số tốt nhất của mô hình mạng neuron phân loại bệnh rối loạn nhịp tim luyện mạng theo thiết kế mô phỏng lại bài báo[3] - case 0
Bảng 3.25: Tỷ lệ thành công của mô hình phân loại bệnh rối loạn nhịp tim luyện mạng theo thiết kế mô phỏng lại bài báo[3]- case 0
Từ trên ta có bảng đánh giá mô hình MLP đã thiết kế trong đồ án và trong bài báo[3] nhƣ sau:
Kết quả đào tạo Mạng
STT Tỷ lệ thành công [%]
Kết quả xác thực tốt nhất
Trường hợp luyện mạng theo thiết kế của đồ án
Kết quả luyện mạng của bài báo[3]
Trường hợp luyện mạng theo thiết kế mô phỏng lại bài báo[3]
Bảng 3.26: Đánh giá mô hình MLP đã thiết kế trong đồ án và trong bài báo[3]
Từ bảng 3.26 trên ta thấy :
- Tỉ lê thành công của cả 3 trường hợp là tương đương nhau
Kết quả xác thực cho trường hợp 2 và 3 vượt trội hơn so với trường hợp 1, điều này là do số lượng nút ẩn trong mạng càng nhiều thì khả năng nắm bắt các đặc tính của dữ liệu huấn luyện càng cao, dẫn đến kết quả tốt hơn Tuy nhiên, điều này cũng đồng nghĩa với việc thời gian hội tụ sẽ kéo dài hơn.
Chúng tôi cũng thực hiện việc gán trọng số cho các thuộc tính đầu vào trong thiết kế mạng mô phỏng, theo nghiên cứu từ bài báo [3], và đã đạt được những kết quả đáng chú ý.
- Kết quả trường hợp gán trọng số bằng không đối với thuộc tính đạo trình tăng cường - case 1:
Kết quả xác thực tốt nhất luyện mạng theo thiết kế mô phỏng lại Hình 3.14: bài báo[3] – case 1
Bảng 3.27: Bảng chỉ số tốt nhất của mô hình mạng neuron phân loại bệnh rối loạn nhịp tim luyện mạng theo thiết kế mô phỏng lại bài báo[3] – case 1
Bảng 3.28: Tỷ lệ thành công của mô hình phân loại bệnh rối loạn nhịp tim luyện mạng theo thiết kế mô phỏng lại bài báo[3] – case 1
- Kết quả trường hợp gán trọng số bằng không đối với thuộc tính đạo trình tim - Case 2:
Kết quả xác thực tốt nhất luyện mạng theo thiết kế mô phỏng lại Hình 3.15: bài báo[3] – case 2
Bảng 3.29: Bảng chỉ số tốt nhất của mô hình mạng neuron phân loại bệnh rối loạn nhịp tim luyện mạng theo thiết kế mô phỏng lại bài báo[3] – case 2
Bảng 3.30: Tỷ lệ thành công của mô hình phân loại bệnh rối loạn nhịp tim luyện mạng theo thiết kế mô phỏng lại bài báo[3] – case 2
- Kết quả trường hợp gán trọng số bằng không đối với thuộc tính đạo trình cơ bản - Case 3:
Kết quả xác thực tốt nhất luyện mạng theo thiết kế mô phỏng lại Hình 3.16: bài báo[3] – case 3
Bảng 3.31: Bảng chỉ số tốt nhất của mô hình mạng neuron phân loại bệnh rối loạn nhịp tim luyện mạng theo thiết kế mô phỏng lại bài báo[3] – case 3
Bảng 3.32: Tỷ lệ thành công của mô hình phân loại bệnh rối loạn nhịp tim luyện mạng theo thiết kế mô phỏng lại bài báo[3] – case 3
- Kết quả trường hợp gán trọng số bằng không đối với thuộc tính DI của đạo trình cơ bản – case 4:
Kết quả xác thực tốt nhất luyện mạng theo thiết kế mô phỏng lại Hình 3.17: bài báo[3] – case 4
Bảng 3.33: Bảng chỉ số tốt nhất của mô hình mạng neuron phân loại bệnh rối loạn nhịp tim luyện mạng theo thiết kế mô phỏng lại bài báo[3] – case 4
Bảng 3.34: Tỷ lệ thành công của mô hình phân loại bệnh rối loạn nhịp tim luyện mạng theo thiết kế mô phỏng lại bài báo[3] – case 4
- Kết quả trường hợp gán trọng số bằng không đối với thuộc tính DII của đạo trình cơ bản – case 5:
Kết quả xác thực tốt nhất luyện mạng theo thiết kế mô phỏng lại Hình 3.18: bài báo[3] – case 5
Bảng 3.35: Bảng chỉ số tốt nhất của mô hình mạng neuron phân loại bệnh rối loạn nhịp tim luyện mạng theo thiết kế mô phỏng lại bài báo[3] – case 5
Bảng 3.36: Tỷ lệ thành công của mô hình phân loại bệnh rối loạn nhịp tim luyện mạng theo thiết kế mô phỏng lại bài báo[3] – case 5
- Kết quả trường hợp gán trọng số bằng không đối với thuộc tính DIII của đạo trình cơ bản – case 6:
Kết quả xác thực tốt nhất luyện mạng theo thiết kế mô phỏng lại Hình 3.19: bài báo[3] – case 6
Bảng 3.37: Bảng chỉ số tốt nhất của mô hình mạng neuron phân loại bệnh rối loạn nhịp tim luyện mạng theo thiết kế mô phỏng lại bài báo[3] – case 6
Bảng 3.38: Tỷ lệ thành công của mô hình phân loại bệnh rối loạn nhịp tim luyện mạng theo thiết kế mô phỏng lại bài báo[3] – case 6
- Kết quả trường hợp gán trọng số bằng không đối với thuộc tính DIII của đạo trình cơ bản và thuộc tính đạo trình tăng cường – case 7:
Kết quả xác thực tốt nhất luyện mạng theo thiết kế mô phỏng lại Hình 3.20: bài báo[3] – case 7
Bảng 3.39: Bảng chỉ số tốt nhất của mô hình mạng neuron phân loại bệnh rối loạn nhịp tim luyện mạng theo thiết kế mô phỏng lại bài báo[3] – case 7
Bảng 3.40: Tỷ lệ thành công của mô hình phân loại bệnh rối loạn nhịp tim luyện mạng theo thiết kế mô phỏng lại bài báo[3] – case 7
ĐÁNH GIÁ VÀ KẾT LUẬN
Kết quả kiểm tra hiệu quả của mạng neuron hỗ trợ chẩn đoán bệnh rối loạn nhịp tim được thực hiện theo mô hình MLP đã thiết kế trong đồ án, cùng với mô hình MLP từ bài báo [3] trong chương III, được tổng hợp trong Bảng 4.1 và Bảng 4.2.
Gán trọng số cho thuộc tính
Kết quả đào tạo Mạng
Kết quả xác thực tốt nhất
1 Gán trọng số đạo trình tăng cường bằng 0
2 Gán trọng số đạo trình tim bằng 0
3 Gán trọng số đạo trình cơ bản bằng 0
4 Gán trọng số thuộc tính DI đạo trình cơ bản bằng 0 73.6 26.4 0.130 55
5 Gán trọng số thuộc tính
DII đạo trình cơ bản bằng
6 Gán trọng số thuộc tính
DIII đạo trình cơ bản bằng
7 Gán trọng số thuộc tính
DIII đạo trình cơ bản và đạo trình tăng cường bằng
8 Gán trọng số 0.8; 0.4; 0.2 lần lƣợt với các thuộc tính
55 đạo trình: Đạo trình cơ bản; Đạo trình tăng cường; Đạo trình tim
9 Gán trọng số 0.9; 0.5; 0.1 lần lƣợt với các thuộc tính đạo trình: Đạo trình cơ bản; Đạo trình tăng cường; Đạo trình tim
Bảng 4.1 trình bày kết quả kiểm tra đánh giá hiệu quả của mạng neuron hỗ trợ chẩn đoán bệnh rối loạn nhịp tim, được huấn luyện theo mô hình mạng MLP đã được thiết kế trong đồ án.
Gán trọng số cho thuộc tính Kết quả đào tạo Mạng
Kết quả xác thực tốt nhất
Kết quả luyện mạng của bài báo [3] 72.31 -
1 Gán trọng số đạo trình tăng cường bằng 0
2 Gán trọng số đạo trình tim bằng 0
3 Gán trọng số đạo trình cơ bản bằng 0
4 Gán trọng số thuộc tính DI đạo trình cơ bản bằng 0
5 Gán trọng số thuộc tính DII đạo trình cơ bản bằng 0
6 Gán trọng số thuộc tính
DIII đạo trình cơ bản bằng
7 Gán trọng số thuộc tính
DIII đạo trình cơ bản và đạo trình tăng cường bằng 0
8 Gán trọng số 0.8; 0.2; 0.4 lần lƣợt với các thuộc tính đạo trình: Đạo trình cơ bản; Đạo trình tăng cường; Đạo trình tim
9 Gán trọng số 0.9; 0.1; 0.5 lần lƣợt với các thuộc tính đạo trình: Đạo trình cơ bản; Đạo trình tăng cường; Đạo trình tim
Bảng 4.2 trình bày tổng hợp kết quả kiểm tra hiệu quả của mạng neuron trong việc chẩn đoán bệnh rối loạn nhịp tim, được luyện theo mô hình mạng MLP được thiết kế trong bài báo [3].
Kết quả từ bảng 4.1 và bảng 4.2 về đào tạo mạng neuron trong chẩn đoán bệnh rối loạn nhịp tim cho thấy sự khác biệt giữa hai trường hợp không gán và gán số 0 cho các thuộc tính đầu vào.
Kết quả từ trường hợp 1, 2, 5 và 6 cho thấy rằng đạo trình tăng cường, đạo trình tim, và thuộc tính DII của đạo trình cơ bản có hiệu suất tốt hơn so với trường hợp 0 Do đó, để tiết kiệm thời gian tính toán, chúng ta có thể xem xét bỏ qua một số thuộc tính như DIII của đạo trình cơ bản, tùy thuộc vào nhu cầu về độ xác thực và thời gian hội tụ Cụ thể, để đạt được kết quả xác thực tốt nhất, nên bổ sung thuộc tính đạo trình tim, trong khi để tối ưu hóa thời gian hội tụ và vẫn đảm bảo độ xác thực tốt, thuộc tính đạo trình tăng cường có thể được loại bỏ.
Trường hợp 3 chỉ ra rằng tỷ lệ sai số cao và tỷ lệ thành công thấp, cho thấy việc loại bỏ thuộc tính đạo trình cơ bản là không hợp lý Điều này khẳng định rằng đạo trình cơ bản là thuộc tính quan trọng nhất trong quá trình huấn luyện mạng neuron để chẩn đoán bệnh rối loạn nhịp tim.
Dựa vào kết quả từ các trường hợp 4, 5, 6, chúng ta nhận thấy rằng DI là dạng thuộc tính quan trọng nhất, tiếp theo là DII Để tiết kiệm thời gian và đạt được kết quả tốt hơn, có thể xem xét việc loại bỏ dạng thuộc tính DIII.
Kết quả luyện mạng trong trường hợp 7 cho thấy khả quan đối với thiết kế mô phỏng lại mạng theo bài báo [3] Tuy nhiên, mạng thiết kế của đồ án không đạt được kết quả khả quan, có thể do dữ liệu đầu vào chứa nhiều thuộc tính không có ý nghĩa, dẫn đến việc gán trọng số bằng 0 và thiếu liên kết giữa các thuộc tính.
57 neuron trong lớp ẩn thiết kế mạng của luân văn lại không đủ nhiều nên dẫn đến kết quả luyện mạng không đƣợc chính xác nhƣ vậy
Trường hợp 8 và 9 của cả hai mô hình luyện mạng đều cho thấy sự hội tụ về giá trị cực tiểu tổng thể tương tự như trường hợp 0, điều này chỉ ra rằng mức độ quan trọng của cấu trúc cơ thể, cụ thể là cấu trúc cấp cơ quan chức năng của các nhóm thuộc tính đạo trình là giống nhau Sự khác biệt duy nhất nằm ở mức độ liên kết giữa các thuộc tính Bên cạnh đó, nghiên cứu cũng cung cấp một phương pháp mới để xác định cực tiểu tổng thể.
Kết quả từ các trường hợp mô phỏng theo phương pháp của bài báo [3] cho thấy hiệu suất tốt hơn so với kết quả luyện mạng thiết kế của đồ án Điều này được chứng minh dựa trên lý thuyết luyện mạng, cho thấy rằng số lượng neuron trong lớp ẩn của mô hình mạng thiết kế ít hơn, dẫn đến chu kỳ hội tụ nhanh hơn, tuy nhiên độ chính xác lại giảm xuống.
Nhìn chung cả 2 thiết kế đều có ƣu điểm riêng về độ chính xác và thời gian hội tụ , kết quả gần như là đương đương với nhau
Mô hình MLP đã thiết kế trong đồ án là phù hợp cho sử dụng trong chẩn đoán bênh rối loại nhịp tim
KẾT LUẬN CHUNG VÀ ĐỀ XUẤT HƯỚNG NGHIÊN CỨU
Bằng cách sử dụng công cụ Neuron Network Toolbox trong phần mềm Matlab, tôi đã thiết kế mô hình mạng neuron lan truyền ngược (MLP) hỗ trợ chẩn đoán bệnh rối loạn nhịp tim Mô hình này giúp bác sĩ trong việc thăm khám và đề xuất phác đồ điều trị phù hợp với từng bệnh nhân, đồng thời cho thấy tỷ lệ thành công cao trong chẩn đoán.
Từ trên ta có phương hướng hoàn thiện mạng neuron hỗ trợ chẩn đoán là:
Nghiên cứu nhằm xây dựng bộ dữ liệu về bệnh rối loạn nhịp tim của người Việt Nam, từ đó thiết kế mạng neuron phù hợp để hỗ trợ chẩn đoán bệnh này Mục tiêu là nâng cao độ chính xác và hiệu quả trong việc chẩn đoán cho người Việt Nam, góp phần cải thiện chất lượng chăm sóc sức khỏe.
Nghiên cứu này cung cấp kết quả có thể áp dụng cho việc chẩn đoán các bệnh lý dựa trên các triệu chứng và thuộc tính đặc trưng khác nhau, được ghi nhận ở các mức cấu trúc cơ thể khác nhau.