Tiềm năng của khai phá dữ liệu khi áp dụng vào bài toán dự báo nguy cơ mắc đột quỵ.... Ứng dụng sự phát triển của các kỹ thuật học máy và phân tích dữ liệu, nhóm lựa chọn đề tài "Ứn g dụ
GIỚI THIỆU ĐỀ TÀI
Đặt vấn đề
Đột quỵ là nguyên nhân chính gây tử vong và tàn tật toàn cầu, ảnh hưởng đến hàng triệu người mỗi năm và đặt ra gánh nặng lớn cho các hệ thống y tế và xã hội.
Theo Tổ chức Y tế Thế giới (WHO), đột quỵ là nguyên nhân gây ra khoảng 11% tổng số ca tử vong toàn cầu, tương đương với hơn 6 triệu ca tử vong mỗi năm Tại Việt Nam, Bộ Y tế báo cáo có khoảng 200.000 người mắc đột quỵ hàng năm, trong đó tỷ lệ tử vong lên đến 50% Trong số những người sống sót, 45% phải chịu di chứng về thần kinh, chỉ có 5% hoàn toàn hồi phục Các yếu tố nguy cơ dẫn đến đột quỵ bao gồm huyết áp cao, tiểu đường, bệnh tim mạch, lối sống ít vận động, chế độ ăn uống không lành mạnh và thói quen hút thuốc lá.
Mặc dù y học đã tiến bộ trong việc điều trị đột quỵ, việc phòng ngừa từ sớm vẫn là thách thức lớn Dự đoán nguy cơ mắc bệnh dựa trên các yếu tố nguy cơ cá nhân và dữ liệu sức khỏe là cách hiệu quả để giảm thiểu tác động của đột quỵ Dự đoán sớm không chỉ nâng cao khả năng phòng ngừa mà còn giúp giảm chi phí điều trị và tác động lâu dài đến người bệnh.
Phần lớn các hệ thống y tế hiện nay chưa khai thác tối đa tiềm năng của phân tích dữ liệu để dự đoán nguy cơ đột quỵ, tạo ra khoảng trống lớn trong việc áp dụng công nghệ mới cho quản lý sức khỏe cộng đồng Nghiên cứu và ứng dụng các mô hình dự đoán nguy cơ đột quỵ thông qua công nghệ thông tin, trí tuệ nhân tạo và học máy có thể là giải pháp đột phá trong việc phòng ngừa căn bệnh này.
Cơ sở hình thành đề tài
Với sự tiến bộ vượt bậc của công nghệ thông tin và khoa học dữ liệu, việc ứng dụng mô hình dự đoán trong y tế đang trở thành xu hướng quan trọng Các công nghệ như học máy, trí tuệ nhân tạo và phân tích dữ liệu lớn đã được áp dụng hiệu quả trong nhiều lĩnh vực, đặc biệt trong việc phát hiện và dự đoán các bệnh lý phức tạp như đột quỵ.
Trong bối cảnh gia tăng bệnh mãn tính và tình trạng đột quỵ, việc dự đoán sớm nguy cơ mắc đột quỵ trở nên quan trọng để tối ưu hóa chiến lược phòng ngừa Các yếu tố như tiền sử bệnh, chỉ số sức khỏe, môi trường sống và thói quen sinh hoạt có thể được phân tích để dự đoán nguy cơ Công nghệ học máy và trí tuệ nhân tạo hỗ trợ xử lý dữ liệu đa chiều, giúp phát hiện các nguy cơ và dự báo chính xác khả năng mắc đột quỵ trong tương lai.
Nghiên cứu dự đoán nguy cơ đột quỵ và ứng dụng mô hình phân tích dữ liệu hiện đại có thể cải thiện chất lượng chăm sóc sức khỏe và giảm tỷ lệ tử vong do đột quỵ.
Một số nghiên cứu trong và ngoài nước
1.3.1 Một số kết quả nghiên cứu trong và ngoài nước
Tại Việt Nam, đột quỵ là nguyên nhân tử vong đứng thứ ba, chỉ sau bệnh tim mạch và ung thư Bộ Y tế Việt Nam cho biết tỷ lệ đột quỵ ở người trưởng thành đang gia tăng, chủ yếu do lối sống ít vận động và chế độ ăn uống không lành mạnh.
Nhiều bệnh viện lớn tại Việt Nam, như Bệnh viện Bạch Mai và Bệnh viện Đại học Y Hà Nội, đang triển khai nghiên cứu ứng dụng công nghệ thông tin để phát hiện và dự đoán nguy cơ đột quỵ Các dự án thử nghiệm sử dụng phần mềm phân tích dữ liệu y tế nhằm xác định nhóm bệnh nhân có nguy cơ cao mắc đột quỵ, dựa trên các chỉ số cơ bản như huyết áp, mức đường huyết, chỉ số khối cơ thể (BMI) và tiền sử bệnh lý, từ đó đưa ra cảnh báo nguy cơ.
Việc áp dụng công nghệ trong chăm sóc y tế gặp nhiều thách thức, bao gồm nguồn dữ liệu chưa đủ lớn và đa dạng, khả năng phân tích dữ liệu thời gian thực còn hạn chế, và cần tích hợp chặt chẽ giữa công nghệ và quy trình chăm sóc y tế.
1.3.2 Một số kết quả nghiên cứu trên thế giới
Nhiều nghiên cứu trên toàn cầu đã đạt được thành tựu quan trọng trong việc phát triển các hệ thống dự đoán nguy cơ đột quỵ thông qua công nghệ phân tích dữ liệu lớn và trí tuệ nhân tạo.
Tại Mỹ, các viện nghiên cứu y tế hàng đầu như Mayo Clinic và các trường đại học danh tiếng đã thực hiện nhiều nghiên cứu về ứng dụng trí tuệ nhân tạo trong y tế Một nghiên cứu đáng chú ý từ Đại học Stanford đã phát triển mô hình học máy dựa trên dữ liệu y tế điện tử (EHR) để dự đoán nguy cơ đột quỵ, đạt độ chính xác lên đến 87% nhờ vào hàng ngàn biến số từ xét nghiệm, chỉ số sinh học và yếu tố lối sống Kết quả này chứng tỏ tiềm năng to lớn của dữ liệu lớn và AI trong việc dự đoán bệnh tật và xây dựng chiến lược phòng ngừa hiệu quả hơn.
Tại châu Âu, các dự án nghiên cứu về đột quỵ đang được triển khai mạnh mẽ, nổi bật là dự án Stroke Risk Score do Đại học Oxford phát triển Dự án này kết hợp dữ liệu y tế điện tử từ hàng triệu bệnh nhân với các mô hình học máy để tạo ra chỉ số đánh giá nguy cơ đột quỵ cá nhân hóa Mô hình không chỉ xem xét các yếu tố truyền thống như tuổi tác, huyết áp và tiểu đường, mà còn bao gồm tiền sử gia đình, mức độ vận động và căng thẳng tâm lý Các thử nghiệm lâm sàng đã chứng minh rằng mô hình này có khả năng phân loại chính xác bệnh nhân vào nhóm nguy cơ cao và đề xuất các biện pháp can thiệp sớm, như điều chỉnh chế độ ăn uống và tăng cường hoạt động thể chất.
Xu hướng sử dụng phân tích dữ liệu và công nghệ AI trong dự đoán nguy cơ đột quỵ đang trở thành một hướng đi đầy triển vọng Việc phát triển và triển khai các hệ thống này sẽ cung cấp cho các cơ sở y tế và chuyên gia y tế những công cụ mạnh mẽ, giúp họ đưa ra quyết định chính xác và kịp thời, từ đó bảo vệ sức khỏe cộng đồng.
Mục tiêu đề tài
Đề tài này tập trung vào việc xây dựng mô hình dự báo nguy cơ đột quỵ bằng thuật toán phân lớp C4.5, một công cụ hiệu quả trong học máy và khai thác dữ liệu Nghiên cứu nhằm xác định các yếu tố nguy cơ tiềm ẩn dẫn đến đột quỵ và sử dụng thuật toán C4.5 để dự đoán khả năng mắc đột quỵ của cá nhân dựa trên dữ liệu đầu vào Mô hình này sẽ hỗ trợ các chuyên gia y tế trong việc nhận diện sớm nguy cơ, từ đó đề xuất biện pháp phòng ngừa kịp thời, góp phần giảm tỷ lệ tử vong và nâng cao chất lượng sống của cộng đồng.
Đối tượng và phương pháp nghiên cứu
Nghiên cứu này tập trung vào việc phân tích các yếu tố nguy cơ đột quỵ ở bệnh nhân, bao gồm thông tin về tuổi tác, huyết áp, chỉ số BMI, tiền sử bệnh tim mạch, tiểu đường, thói quen hút thuốc lá và sử dụng rượu bia, cùng với một số yếu tố khác.
Phân tích dữ liệu là quá trình áp dụng các kỹ thuật thống kê để xác định mối liên hệ giữa các yếu tố nguy cơ và khả năng mắc đột quỵ Việc này giúp phát hiện những yếu tố tiềm ẩn có thể ảnh hưởng đến sức khỏe, từ đó đưa ra các biện pháp phòng ngừa hiệu quả hơn.
Ứng dụng thuật toán C4.5 giúp tạo ra cây quyết định để dự báo nguy cơ đột quỵ, từ đó hỗ trợ việc đưa ra các quyết định dựa trên các yếu tố nguy cơ đã được xác định Thuật toán C4.5, một trong những thuật toán phân loại phổ biến, đóng vai trò quan trọng trong việc phân tích và đánh giá nguy cơ đột quỵ.
Ý nghĩa của đề tài
Nghiên cứu này đóng góp vào lĩnh vực y học dự phòng và trí tuệ nhân tạo thông qua việc phát triển mô hình dự báo hiệu quả dựa trên thuật toán phân lớp C4.5 Mô hình này nâng cao khả năng phân loại và phát hiện nguy cơ đột quỵ, hỗ trợ xây dựng các mô hình học máy trong y học Đồng thời, nghiên cứu cũng thúc đẩy sự phát triển các phương pháp tiên tiến trong dự đoán bệnh lý, mở ra hướng nghiên cứu mới kết hợp y học và công nghệ dữ liệu.
Đề tài này có ý nghĩa quan trọng trong việc phòng chống và giảm thiểu nguy cơ đột quỵ trong cộng đồng Mô hình dự báo phát triển có thể tích hợp vào hệ thống y tế, hỗ trợ các chuyên gia và bác sĩ nhận diện và thực hiện các biện pháp phòng ngừa sớm Điều này không chỉ nâng cao hiệu quả chăm sóc sức khỏe mà còn giúp giảm chi phí điều trị và cải thiện chất lượng sống của người dân Hơn nữa, nghiên cứu còn nâng cao nhận thức cộng đồng về các yếu tố nguy cơ của đột quỵ, từ đó khuyến khích lối sống lành mạnh và phòng ngừa bệnh lý.
Bố cục đề tài
Bài báo cáo bao gồm 3 chương chính:
- Chương 1: Giới thiệu đề tài
- Chương 2: Cơ sở lý thuyết
- Chương 3: Xây dựng mô hình dự báo/chẩn đoán
- Chương 4: Thực nghiệm và đánh giá
CƠ SỞ LÝ THUYẾT
Tổng quan về kỹ thuật khai phá dữ liệu
2.1.1 Khái niệm về khai phá dữ liệu
Khai phá dữ liệu (Data mining) là quá trình phân loại và sắp xếp các tập hợp dữ liệu lớn nhằm xác định mẫu và thiết lập mối liên hệ để giải quyết vấn đề thông qua phân tích dữ liệu Các công cụ khai phá dữ liệu giúp doanh nghiệp dự đoán xu hướng tương lai hiệu quả.
Khai phá dữ liệu là quá trình quan trọng trong việc xử lý các cơ sở dữ liệu lớn và phức tạp, đóng góp tích cực cho khoa học dữ liệu và trí tuệ nhân tạo Qua đó, các tổ chức có thể khai thác hiệu quả thông tin từ dữ liệu, giúp đưa ra những quyết định chính xác và chiến lược hơn.
2.1.2 Các giai đoạn của quá trình khai phá dữ liệu
Làm sạch dữ liệu là quá trình quan trọng nhằm loại bỏ nhiễu và các giá trị không hợp lệ trong tập dữ liệu Quá trình này bao gồm việc xử lý các giá trị bị thiếu, cũng như sửa chữa hoặc loại bỏ những dữ liệu không phù hợp, nhằm đảm bảo chất lượng và độ tin cậy của dữ liệu.
Tích hợp dữ liệu là quá trình kết hợp thông tin từ nhiều nguồn khác nhau để tạo thành một nguồn dữ liệu thống nhất Quá trình này giúp loại bỏ dữ liệu trùng lặp và chuẩn hóa các định dạng dữ liệu, đảm bảo tính nhất quán và chính xác trong việc quản lý thông tin.
Lựa chọn dữ liệu là quá trình xác định các thuộc tính hoặc biến quan trọng từ cơ sở dữ liệu nhằm phục vụ cho việc khai phá Điều này yêu cầu tập trung vào những dữ liệu có liên quan trực tiếp đến mục tiêu hoặc câu hỏi nghiên cứu, giúp tối ưu hóa hiệu quả phân tích và kết quả đạt được.
Biến đổi dữ liệu là quá trình thực hiện các chuyển đổi nhằm tối ưu hóa phân tích, bao gồm việc chuẩn hóa dữ liệu và tạo ra các thuộc tính mới để nâng cao hiệu quả trong việc xử lý thông tin.
- Khai phá dữ liệu (Data mining): Sử dụng ứng dụng Data Mining để chiết xuất xu hướng và tối ưu hóa khám phá tri thức.
Đánh giá mẫu là quá trình phân tích và đánh giá các mẫu có trong dữ liệu, nhằm đảm bảo rằng chúng không chỉ có giá trị mà còn phù hợp với mục tiêu đã đề ra.
Biểu diễn tri thức là quá trình trình bày kết quả một cách dễ hiểu và trực quan, thường dưới dạng cây, bảng, biểu đồ hoặc ma trận Mục tiêu của việc này là giúp người dùng dễ dàng diễn giải và áp dụng các kết quả khai phá vào các hoạt động thực tế.
Bài toán phân lớp trong khai phá dữ liệu
2.2.1 Khái niệm về phân lớp
Phân lớp dữ liệu là quá trình phân loại một đối tượng dữ liệu vào các lớp đã được xác định trước, sử dụng một mô hình phân lớp Mô hình này được phát triển dựa trên một tập dữ liệu đã được gán nhãn trước đó.
Quá trình gán nhãn dữ liệu gọi là quá trình phân lớp dữ liệu.
2.2.2 Quá trình phân lớp dữ liệu
Phân lớp là quá trình xây dựng các mô hình dự báo nhằm mô tả hoặc phát hiện các lớp và khái niệm cho các dự báo tiếp theo.
Bước đầu tiên trong việc xây dựng mô hình phân lớp là giai đoạn học hay huấn luyện, nơi mô hình được phát triển để mô tả các lớp dữ liệu hoặc các khái niệm đã được xác định trước.
Đầu vào: là một tập dữ liệu đã được gán nhãn và tiền xử lý.
Đầu ra: các quy tắc phân lớp dưới dạng luật dạng if-then, cây quyết định, công thức logic, hay mạng nơron.
Kết quả của bước này là mô hình phân lớp đã được huấn luyện.
Hình 1: Bước xây dựng mô hình phân lớp
- Bước 2: Phân lớp dữ liệu
Đánh giá mô hình phân lớp là bước quan trọng để ước lượng độ chính xác, đảm bảo khả năng dự đoán hiệu quả trên dữ liệu chưa được gán nhãn Độ chính xác của mô hình được xác định bằng tỷ lệ phần trăm các mẫu trong tập dữ liệu kiểm tra mà mô hình phân lớp dự đoán đúng so với nhãn thực tế.
Hình 2: Bước xây dựng mô hình phân lớp
Dữ liệu đầu vào trong quá trình phân lớp mới là những dữ liệu "khuyết" thuộc tính cần dự đoán lớp (nhãn) Mô hình sẽ tự động gán nhãn cho các đối tượng dữ liệu này dựa trên những kiến thức đã được huấn luyện ở bước trước.
Hình 3: Phân lớp dữ liệu mới
C4.5 là thuật toán học máy do Ross Quinlan phát triển vào năm 1993, nhằm tạo ra các cây quyết định phục vụ cho phân loại Thuật toán này cải tiến từ ID3, với cách tính toán phân chia dữ liệu tốt hơn và khả năng xử lý các vấn đề thực tế như dữ liệu thiếu và thuộc tính liên tục.
C4.5 tạo ra cây quyết định dựa trên các thuộc tính của dữ liệu đầu vào, trong đó mỗi nút biểu thị một thuộc tính, mỗi nhánh thể hiện giá trị của thuộc tính và mỗi lá đại diện cho một lớp phân loại.
2 Các bước của thuật toán C4.5
- Bước 1: Tính toán Information Gain và Split Information cho mỗi thuộc tính trong tập dữ liệu.
- Bước 2: Tính toán Gain Ratio cho mỗi thuộc tính bằng cách chia Information Gain cho Split Information.
- Bước 3: Chọn thuộc tính có Gain Ratio lớn nhất để phân chia dữ liệu.
- Bước 4: Chia dữ liệu thành các nhánh dựa trên giá trị của thuộc tính đã chọn.
- Bước 5: Lặp lại các bước trên cho các nhánh con (subtree), cho đến khi đạt một trong các điều kiện dừng sau:
+ Tất cả các đối tượng trong nhánh đều thuộc về cùng một lớp (kết thúc cây).
+ Không còn thuộc tính nào để phân chia.
+ Các nhánh con không thể phân chia thêm.
Bước 6: Gán nhãn cho các lá của cây dựa trên lớp chiếm ưu thế trong nhánh.
2.4.1.Thuật toán Gradient Boosting là gì?
Gradient Boosting là một thuật toán học máy mạnh mẽ trong học giám sát, chuyên dùng cho phân loại và hồi quy Thuật toán này thuộc loại ensemble, kết hợp nhiều mô hình học máy đơn giản, thường là cây quyết định, nhằm tạo ra một mô hình mạnh mẽ hơn.
Gradient Boosting là một phương pháp học máy dựa trên nguyên lý boosting, trong đó các mô hình được huấn luyện tuần tự Mỗi mô hình mới được thiết kế để khắc phục các lỗi của mô hình trước đó Cụ thể, Gradient Boosting tối ưu hóa hàm mất mát thông qua kỹ thuật hạ gradient, giúp giảm thiểu lỗi trong quá trình huấn luyện.
Hình 4: Phương pháp huấn luyện mô hình theo Gradient boosting.
2.4.2.Các bước của thuật toán Gradient Boosting
Giả định rằng f^(x) là hàm dự báo từ phương pháp tăng cường cho tác vụ dự báo với ma trận đầu vào X và biến mục tiêu y Tại mô hình thứ b trong chuỗi mô hình dự báo, ký hiệu là f^b, chúng ta tìm cách khớp giá trị phần dư ri từ cây quyết định tiền nhiệm f^(b-1) Các ước trong quá trình huấn luyện mô hình theo phương pháp tăng cường được tóm tắt như sau.
- Bước 1: Ban đầu ta thiết lập hàm dự báo f ^(x) = 0 và số dư r 0 =y cho toàn bộ quan sát trong tập huấn luyện.
- Bước 2: Lặp lại quá trình huấn luyện cây quyết định theo chuỗi tương ứng với b= 1,2, ,B Với một lượt huấn luyện gồm các bước con sau đây:
Khớp một cây quyết định f^ b có độ sâu là d trên tập huấn luyện (X,r b )
Cập nhật ^ f bằng cách cộng thêm vào giá trị dự báo của một cây quyết định, giá trị này được nhân với hệ số co λ: f^(x)= f ^ (x)+ λ^f b (x)
Cập nhật phần dư cho mô hình: r b+1 : = r b - λf^ b (x)
Thuật toán ngừng cập nhật khi đạt được hai điều kiện: số lượng cây quyết định đạt ngưỡng tối đa B hoặc khi tất cả các quan sát trong tập huấn luyện được dự đoán chính xác.
Kết quả dự báo từ chuỗi mô hình sẽ là kết hợp của các mô hình con: f (x)= ^ ∑ b=1
2.5 Mô hình học máy ( Neural Network)
Mạng neural, hay còn gọi là neural network, là một khái niệm cốt lõi trong học máy và khai phá dữ liệu, được phát triển để xác định mối quan hệ trong tập dữ liệu thông qua việc mô phỏng hoạt động của bộ não con người Với khả năng học hỏi từ dữ liệu, mạng neural có thể thực hiện các nhiệm vụ phức tạp mà không cần lập trình cụ thể cho từng nhiệm vụ, mang lại sự linh hoạt khi thay đổi dữ liệu đầu vào và tối ưu hóa kết quả mà không cần xây dựng các tiêu chí đầu ra.
Mạng nơron được phát triển dựa trên nguyên tắc hoạt động của não người trong việc xử lý thông tin Các nơron sinh học nhận thông tin qua các sợi nhánh (dendrite) và chuyển vào nhân (nucleus) Nhân nơron có vai trò quan trọng trong việc xử lý thông tin và quyết định tín hiệu nào sẽ được gửi đến các nơron khác thông qua sợi trục (axon).
Hình 5: Mạng thần kinh sinh học của con người
2.5.2 Cấu trúc và thành phần của Neural Network
Mạng nơ-ron thường bao gồm nhiều lớp được kết nối với nhau, trong đó mỗi lớp chứa nhiều nút hoặc nơ-ron Dữ liệu đầu vào được đưa vào lớp đầu tiên, sau đó được truyền qua các lớp ẩn và cuối cùng đến lớp đầu ra.
Input Layer: Lớp đầu tiên, nhận dữ liệu thô làm đầu vào.
Các lớp ẩn, nằm giữa lớp đầu vào và lớp đầu ra, thực hiện các phép tính phức tạp nhằm trích xuất đặc trưng từ dữ liệu Số lượng và kích thước của các lớp ẩn có thể thay đổi tùy thuộc vào độ phức tạp của bài toán.
Output Layer: Lớp cuối cùng, cung cấp kết quả dự đoán của mô hình.
Hình 6: Cấu trúc mạng neural network 2.5.2.2 Các thành phần a Mạng nơron nhân tạo
Thuật toán Gradient Boosting
2.4.1.Thuật toán Gradient Boosting là gì?
Gradient Boosting là một thuật toán học máy mạnh mẽ trong lĩnh vực học giám sát, chủ yếu áp dụng cho các bài toán phân loại và hồi quy Thuật toán này hoạt động theo phương pháp ensemble, kết hợp nhiều mô hình học máy đơn giản, thường là cây quyết định, nhằm tạo ra một mô hình mạnh mẽ hơn.
Gradient Boosting là một phương pháp học máy dựa trên nguyên lý boosting, trong đó các mô hình được huấn luyện tuần tự Mỗi mô hình mới được phát triển nhằm khắc phục các lỗi của mô hình trước đó Cụ thể, trong Gradient Boosting, mô hình tiếp theo được xây dựng để tối ưu hóa hàm mất mát thông qua kỹ thuật hạ gradient, với mục tiêu giảm thiểu lỗi trong quá trình huấn luyện.
Hình 4: Phương pháp huấn luyện mô hình theo Gradient boosting.
2.4.2.Các bước của thuật toán Gradient Boosting
Giả sử f^(x) là hàm dự báo từ phương pháp tăng cường áp dụng cho tác vụ dự báo với ma trận đầu vào X và biến mục tiêu là véc tơ y Trong mô hình thứ b trong chuỗi mô hình dự báo, ký hiệu là f^b, chúng ta tìm cách khớp giá trị phần dư r_i từ cây quyết định trước đó f^(b-1) Các ước lượng trong quá trình huấn luyện mô hình theo phương pháp tăng cường được tóm tắt như sau.
- Bước 1: Ban đầu ta thiết lập hàm dự báo f ^(x) = 0 và số dư r 0 =y cho toàn bộ quan sát trong tập huấn luyện.
- Bước 2: Lặp lại quá trình huấn luyện cây quyết định theo chuỗi tương ứng với b= 1,2, ,B Với một lượt huấn luyện gồm các bước con sau đây:
Khớp một cây quyết định f^ b có độ sâu là d trên tập huấn luyện (X,r b )
Cập nhật ^ f bằng cách cộng thêm vào giá trị dự báo của một cây quyết định, giá trị này được nhân với hệ số co λ: f^(x)= f ^ (x)+ λ^f b (x)
Cập nhật phần dư cho mô hình: r b+1 : = r b - λf^ b (x)
Thuật toán sẽ ngừng cập nhật khi đạt đến ngưỡng tối đa B của số lượng cây quyết định, hoặc khi tất cả các quan sát trong tập huấn luyện được dự đoán chính xác.
Kết quả dự báo từ chuỗi mô hình sẽ là kết hợp của các mô hình con: f (x)= ^ ∑ b=1
2.5 Mô hình học máy ( Neural Network)
Mạng neural là một khái niệm quan trọng trong học máy và khai phá dữ liệu, bao gồm các thuật toán mô phỏng hoạt động của bộ não con người để xác định mối quan hệ trong dữ liệu Chúng có khả năng học từ dữ liệu và thực hiện các nhiệm vụ phức tạp mà không cần lập trình chi tiết, mang lại tính linh hoạt khi xử lý dữ liệu đầu vào và tối ưu hóa kết quả mà không cần tiêu chí đầu ra cụ thể.
Mạng nơron được phát triển dựa trên cách mà não người xử lý thông tin Các nơron sinh học tiếp nhận dữ liệu từ các sợi nhánh (dendrite) và chuyển vào nhân (nucleus) Nhân nơron có vai trò quan trọng trong việc xử lý thông tin và quyết định tín hiệu tiếp theo sẽ được gửi đến các nơron khác qua sợi trục (axon).
Hình 5: Mạng thần kinh sinh học của con người
2.5.2 Cấu trúc và thành phần của Neural Network
Mạng nơ-ron thường bao gồm các lớp kết nối, trong đó mỗi lớp chứa nhiều nút hoặc neuron Dữ liệu đầu vào được đưa vào lớp đầu tiên, sau đó được truyền qua các lớp ẩn và cuối cùng đến lớp đầu ra.
Input Layer: Lớp đầu tiên, nhận dữ liệu thô làm đầu vào.
Các lớp ẩn (hidden layers) nằm giữa lớp đầu vào (input layer) và lớp đầu ra (output layer), thực hiện các phép toán phức tạp để trích xuất đặc trưng từ dữ liệu Số lượng và kích thước của các lớp ẩn có thể thay đổi tùy theo độ phức tạp của bài toán.
Output Layer: Lớp cuối cùng, cung cấp kết quả dự đoán của mô hình.
Hình 6: Cấu trúc mạng neural network 2.5.2.2 Các thành phần a Mạng nơron nhân tạo
Nơ-ron là thành phần cơ bản trong mạng nơ-ron nhân tạo, chịu trách nhiệm cho việc tính toán và truyền thông tin Mỗi nơ-ron nhận một tập hợp các đầu vào cùng với trọng số tương ứng, sau đó thực hiện phép tính tổng có trọng số.
Trong mạng nơ-ron, đầu vào được ký hiệu là x i, trọng số là w i và hệ số điều chỉnh là b Kết quả tính toán từ các yếu tố này sẽ được đưa qua một hàm kích hoạt, tạo ra đầu ra phi tuyến tính Quá trình này cho phép mạng học và nhận diện các mối quan hệ phức tạp giữa dữ liệu đầu vào và đầu ra Trọng số và hệ số điều chỉnh đóng vai trò quan trọng trong việc điều chỉnh kết quả của mạng nơ-ron.
Trọng số và bias là những tham số quan trọng quyết định phản ứng của nơron với đầu vào, trong đó trọng số thể hiện mức độ ảnh hưởng của từng đầu vào đến đầu ra, còn bias giúp dịch chuyển đường quyết định để nâng cao khả năng học của mô hình Trong quá trình huấn luyện, giá trị của trọng số và bias được điều chỉnh liên tục qua quá trình lan truyền ngược nhằm tối ưu hóa hàm mất mát.
Hàm kích hoạt là thành phần quan trọng trong mỗi nơron, quyết định việc chuyển giao thông tin đã được tổng hợp đến nơron khác Có bốn loại hàm kích hoạt phổ biến được sử dụng trong mạng nơron.
Hình 7: Các hàm kích hoạt trong neural network
Hàm kích hoạt phi tuyến tính như Sigmoid, Tanh và ReLU đóng vai trò quan trọng trong việc kết nối các nơron với nhau Chúng cho phép kết hợp các lớp nơron một cách hiệu quả, giúp xử lý dữ liệu phức tạp với độ chính xác cao, thay vì chỉ đơn thuần tổng hợp thành một hàm tuyến tính khi sử dụng hàm kích hoạt tuyến tính.
ReLU là hàm kích hoạt phổ biến hơn so với Sigmoid và Tanh, vì nó không gặp hiện tượng tiêu biến độ dốc ở các điểm bão hòa Điều này giúp giữ nguyên các giá trị dương và đảm bảo rằng đạo hàm không trở nên rất nhỏ, cho phép việc điều chỉnh trọng số trong quá trình huấn luyện diễn ra hiệu quả hơn.
Hình 8: Minh họa đạo hàm các hàm kích hoạt d Hàm mất mát (loss function)
Hàm mất mát là công cụ đo lường độ sai lệch giữa đầu ra dự đoán của mô hình và giá trị thực tế (ground truth) Việc lựa chọn hàm mất mát phù hợp phụ thuộc vào loại bài toán, với hàm Cross-Entropy Loss thường được sử dụng cho bài toán phân loại và hàm Mean Squared Error (MSE) cho bài toán hồi quy Hàm mất mát đóng vai trò quan trọng trong việc tối ưu hóa trong quá trình huấn luyện mô hình.
2.5.3.Quy trình huấn luyện Neural Network
Đánh giá các giải thuật phân lớp
2.6.1 Độ đo chung cho các thuật toán phân lớp
Hình 12: Bài giảng chương 4 – phân lớp dữ liệu
Ma trận nhầm lẫn là bảng hiển thị số lượng TP, TN, FP, FN trong dự đoán, cung cấp cái nhìn chi tiết về hiệu suất của mô hình.
True Positive (TP): Số lượng các bộ dự đoán đúng và thực tế đúng
True Negative (TN): Số lượng các bộ dự đoán sai và thực tế sai
False Positive (FP): Số lượng các bộ dự đoán đúng và thực tế sai
False Negative (FN): Số lượng các bộ dự đoán sai và thực tế đúng
Accuracy = TP+TN/ FP + FN + TP + TN
ErrorRate = FP +FN/TP + FP + TN + FN 2.6.2 Đối với từng lớp
Độ chính xác trong dự đoán lớp dương được định nghĩa là tỷ lệ giữa số mẫu thực sự được dự đoán là dương và tổng số mẫu được dự đoán là dương.
Recall (Độ nhạy hoặc Tỷ lệ phát hiện lớp dương): Biểu diễn tỷ lệ mẫu thuộc lớp dương được dự đoán đúng và tổng số mẫu thuộc lớp dương.
F1-Score (Độ đo hài hòa giữa Precision và Recall): Biểu diễn sự cân bằng giữa Precision và Recall, đặc biệt hữu ích khi dữ liệu không cân bằng.
F1 - Score = 2 x Precision * Recall/ Precision + Recall
Specificity (Độ đặc hiệu): Biểu diễn tỷ lệ mẫu thuộc lớp âm (Negative) được dự đoán chính xác và tổng số mẫu thuộc lớp âm.
ROC-AUC (Receiver Operating Characteristic - Area Under Curve):
+ ROC: Đồ thị biểu diễn mối quan hệ giữa True Positive Rate (TPR) và False Positive Rate (FPR).
+ AUC: Diện tích dưới đường cong ROC Giá trị AUC càng cao, mô hình càng tốt
Chỉ số ROC-AUC là công cụ quan trọng để đánh giá hiệu suất của thuật toán phân lớp, đặc biệt trong các bài toán mất cân bằng hoặc nhiều lớp Việc lựa chọn chỉ số đánh giá phù hợp phụ thuộc vào đặc thù của bài toán, có thể tập trung vào lớp quan trọng, giảm thiểu lỗi nhầm lẫn, hoặc đánh giá tổng quát hiệu quả của mô hình.
2.6.3.Ứng dụng của bài toán phân lớp
Các bài toán phân lớp (classification) được ứng dụng rộng rãi trong nhiều lĩnh vực nhờ khả năng phân loại đối tượng, sự kiện hoặc dữ liệu vào các nhóm cụ thể.
Dự đoán một bệnh nhân có mắc bệnh cụ thể không.
Xác định bệnh nhân nào có nguy cơ phải quay lại bệnh viện sau khi điều trị.
- Lĩnh vực Tài chính - Ngân hàng:
Dự đoán khả năng trả nợ: Xác định khách hàng nào có nguy cơ vỡ nợ dựa trên lịch sử tín dụng.
Đánh giá khả năng vay vốn của khách hàng.
- Lĩnh vực Thị trường chứng khoán:
Dự đoán giá cổ phiếu theo xu hướng giá trong thời gian ngắn hạn hoặc dài hạn.
Dự đoán khả năng phá sản của doanh nghiệp.
Đánh giá khả năng sinh viên có nguy cơ bị rớt môn dựa trên kết quả học tập thành các nhóm như giỏi, khá, trung bình, yếu.
Dự đoán khả năng học sinh có nguy cơ nghỉ học dựa trên điểm danh, điểm số, hoàn cảnh gia đình và hành vi học tập.
- Lĩnh vực Thương mại điện tử:
Dự đoán khách hàng dựa trên hành vi mua sắm, giá trị đơn hàng, hoặc tần suất mua.
Dự đoán các đơn hàng có khả năng bị hủy dựa trên lịch sử mua hàng, thời gian vận chuyển, và thông tin khách hàng.
- Lĩnh vực Công nghệ thông tin:
Phân loại email thành các nhóm như spam, không spam, hoặc các danh mục khác.
Phân loại hình ảnh thành các danh mục như con người, động vật, hoặc đối tượng cụ thể.
Dự đoán khả năng yêu cầu bồi thường của khách hàng trong bảo hiểm.
Dự đoán kết quả trận đấu.
Dự đoán rủi ro đầu tư.
Phân lớp là công cụ hiệu quả trong việc giải quyết các bài toán ra quyết định ở nhiều lĩnh vực khác nhau Tùy thuộc vào nhu cầu và dữ liệu cụ thể, các mô hình phân lớp như Cây quyết định, Rừng ngẫu nhiên và Mạng nơ-ron có thể được áp dụng một cách hiệu quả.
Bài toán dự báo mắc nguy cơ đột quỵ
2.7.1 Các khái niệm cơ bản
Đột quỵ, hay còn gọi là tai biến mạch máu não, là tình trạng lưu thông máu bị gián đoạn ở một vùng não Tình trạng này xảy ra khi mạch máu bị tắc nghẽn hoặc vỡ, dẫn đến cái chết của các tế bào não do thiếu oxy và các chất dinh dưỡng cần thiết cho chức năng sống.
Dự báo nguy cơ đột quỵ là quá trình áp dụng các kỹ thuật phân tích và mô hình hóa nhằm xác định khả năng mắc đột quỵ của một cá nhân Quá trình này dựa trên nhiều yếu tố ảnh hưởng như tiền sử bệnh, độ tuổi và các yếu tố sinh học khác.
2.7.2 Yếu tố ảnh hưởng đến nguy cơ mắc đột quỵ
- Các yếu tố chính bao gồm:
Nguy cơ đột quỵ gia tăng theo độ tuổi, đặc biệt từ 55 tuổi trở đi, khi mà khả năng mắc phải căn bệnh này tăng gấp 10 lần so với trước đó Mặc dù người trẻ cũng có thể gặp phải đột quỵ, nhưng độ tuổi cao vẫn là yếu tố rủi ro chính.
Giới tính: Nam giới thường có nguy cơ đột quỵ cao hơn nữ giới một chút
Bệnh nền: Những người có tiền sử mắc bệnh tim mạch, tiểu đường, tăng huyết áp có nguy cơ đột quỵ cao hơn.
Lối sống: Các thói quen không lành mạnh như hút thuốc, uống rượu, ít vận động và chế độ ăn uống kém cũng làm tăng nguy cơ.
Di truyền: Các yếu tố di truyền có thể góp phần vào khả năng mắc đột quỵ, ví dụ như tiền sử gia đình có người mắc đột quỵ.
2.7.3 Tiềm năng của khai phá dữ liệu khi áp dụng vào bài toán dự báo nguy cơ mắc đột quỵ
Khai phá dữ liệu có thể hỗ trợ rất nhiều trong việc phân tích và dự báo nguy cơ mắc đột quỵ:
Xác định các mẫu và yếu tố nguy cơ: Phân tích dữ liệu từ bệnh nhân giúp phát hiện các yếu tố nguy cơ tiềm ẩn.
Phát triển mô hình dự báo đột quỵ có thể đạt được độ chính xác cao nhờ áp dụng các kỹ thuật học máy và học sâu.
Hỗ trợ cá nhân hóa phương pháp phòng ngừa thông qua khai phá dữ liệu giúp phân tích chi tiết các yếu tố nguy cơ riêng biệt của mỗi cá nhân Từ đó, các giải pháp phòng ngừa phù hợp được cung cấp, dựa trên các yếu tố như lối sống và tiền sử bệnh Ví dụ, mô hình có thể đưa ra khuyến cáo cụ thể về thay đổi lối sống, chế độ dinh dưỡng hoặc việc theo dõi sức khỏe định kỳ.
⇒ Sự cá nhân hóa này không chỉ giúp giảm thiểu nguy cơ mắc đột quỵ mà còn hỗ trợ tăng cường chất lượng sống cho bệnh nhân.
Dự báo sớm và can thiệp kịp thời là rất quan trọng trong y tế Các mô hình khai phá dữ liệu với khả năng xử lý dữ liệu lớn và phát hiện các mẫu phức tạp giúp nhận diện sớm các nguy cơ tiềm ẩn Điều này hỗ trợ bác sĩ và bệnh nhân có thể thực hiện các biện pháp can thiệp kịp thời, nâng cao hiệu quả điều trị.
Khai thác dữ liệu mở là chìa khóa để phát triển các mô hình y tế dự phòng tiên tiến, giúp các cơ quan y tế và tổ chức chăm sóc sức khỏe nắm bắt rõ hơn về xu hướng và tỷ lệ mắc bệnh đột quỵ trong cộng đồng Việc cải thiện các mô hình này không chỉ nâng cao khả năng dự đoán mà còn hỗ trợ trong việc triển khai các biện pháp phòng ngừa hiệu quả hơn.
XÂY DỰNG MÔ HÌNH DỰ BÁO/CHẨN ĐOÁN
Chiến lược phân tích
Với các tham số cơ bản và phương pháp chia tập dữ liệu khác nhau, chúng tôi đã thực hiện chạy ba mô hình: Cây quyết định (C4.5), Tăng cường Gradient và Mạng nơ-ron Kết quả được trình bày trong bảng số liệu với các độ đo hiệu suất của từng mô hình.
- Dựa trên bảng số liệu đã tạo, đi vào chi tiết các mô hình và phương pháp chia liệu tương ứng với nó cho kết quả tốt nhất.
- Điều chỉnh các biến độc lập dựa trên mức độ quan trọng của thuộc tính nhằm cải thiện kết quả mô hình.
- Tìm tham số phù hợp nhất với mỗi mô hình để cải thiện kết quả.
Mô tả thuộc tính bộ dữ liệu
Bộ dữ liệu gồm 5110 bản ghi, gồm 12 thuộc tính sau:
Tên thuộc tính Giải thích thuộc tính & Mô tả
Patient ID Mã định danh duy nhất
Hypertension Tình trạng cao huyết áp
Heart_disease Tình trạng bệnh tim
Marital Status Tình trạng hôn nhân
Residence Type Nơi cư trú
Average Glucose Level Lượng đường trung bình trong máu Body Mass Index Chỉ số cơ thể
Smoking Status Tình trạng hút thuốc
Alcohol Intake Sử dụng rượu
Physical Activity Hoạt động thể chất
Stroke History Tiền sử bị đột quỵ
Family History of Stroke Tiền sử đột quỵ của gia đình
Dietary Habits Thói quen ăn uống
Stress Levels Mức độ căng thẳng
Blood Pressure Levels Huyết áp Cholesterol Levels Lượng Cholesterol trong máu
Bảng 1: Mô tả thuộc tính bộ dữ liệu
Chuẩn bị & Tiền xử lý dữ liệu
3.3.1 Xóa các cột không cần thiết, xử lý dữ liệu trùng và khuyết thiếu
Hình 14: Số lượng dữ liệu khuyết thiếu ở mỗi cột
BMI (Body Mass Index) là chỉ số quan trọng trong y tế, ảnh hưởng đến nguy cơ mắc bệnh như đột quỵ Việc loại bỏ các dòng dữ liệu có giá trị BMI bị thiếu không phải là lựa chọn tối ưu, đặc biệt khi số lượng giá trị thiếu lên tới 201 Để xử lý các bản ghi không đầy đủ mà không ảnh hưởng đến kết quả dự đoán, nhóm đã sử dụng Iterative Imputer để dự đoán giá trị thiếu Phương pháp này áp dụng các mô hình hồi quy để thay thế giá trị khuyết thiếu dựa trên các đặc trưng còn lại, giúp duy trì tính toàn vẹn và độ chính xác của dữ liệu trong trường hợp có mối quan hệ phức tạp giữa các cột.
Hình 15: Sử dụng Iterative Imputer để xử lý dữ liệu khuyết thiếu
Hình 16: Kiểm tra lại bộ dữ liệu sau khi đã xử lý
3.3.2 Tìm và xử lý dữ liệu ngoại lai
Dữ liệu ngoại lai là những giá trị bất thường, khác biệt so với các giá trị khác, có thể gây sai lệch trong phân tích và xây dựng thuật toán dự đoán Để xử lý dữ liệu ngoại lai, cần sử dụng các chỉ số như phân vị thứ nhất (Q1), phân vị thứ ba (Q3), dải phân vị (IQR) và bước ngoại lệ bằng 1,5 lần IQR Những điểm dữ liệu nằm dưới Q1 hoặc trên Q3 với khoảng cách lớn hơn hoặc bằng bước ngoại lệ sẽ được xác định là ngoại lệ Dữ liệu ngoại lai chủ yếu được xử lý trong các cột định lượng, và nếu một điểm dữ liệu xuất hiện trong DataFrame nhiều hơn 2 lần, nó sẽ được coi là ngoại lệ.
Hình 17: Hàm phát hiện dữ liệu ngoại lai
Hình 18: Dữ liệu ngoại lai phát hiện được
Hình 19: Thông tin cơ bản của bộ dữ liệu sau khi loại bỏ dữ liệu ngoại lai
3.3.3 Phân tích bộ dữ liệu
Phần lớn người bị đột quỵ tập trung ở các nhóm tuổi từ 40 đến 80.
Tỷ lệ đột quỵ tăng dần khi tuổi tác tăng, đặc biệt cao ở người lớn tuổi.
Nhóm người dưới 40 tuổi rất ít bị đột quỵ
Phần lớn người không bị đột quỵ có mức đường huyết trung bình trong khoảng từ 50 đến 150.
Người bị đột quỵ thường có mức đường huyết cao hơn (tập trung nhiều ở mức từ 100 đến 250).
BMI không thể hiện mối quan hệ rõ ràng với đột quỵ trong dữ liệu này.
Nhóm người bị đột quỵ theo giới tính đều có mức đường huyết trung bình cao hơn nhóm không bị đột quỵ.
Tuổi cao và mức đường huyết cao có liên hệ với nguy cơ đột quỵ.
Người trẻ tuổi hiếm khi bị đột quỵ, ngay cả khi mức đường huyết cao.
Tuổi càng cao, nguy cơ đột quỵ càng lớn.
Triển khai mô hình
3.4.1 Phân chia biến độc lập và biến phụ thuộc, tạo tham số để thử nghiệm các phương pháp chia tập dữ liệu
Hình 20: Phân chia biến độc lập và biến phụ thuộc, tạo tham số để thử nghiệm các phương pháp chia tập dữ liệu
3.4.2 Huấn luyện các mô hình
Hình 21: Huấn luyện các mô hình
3.4.3 Sử dụng phương pháp cross- validation để đánh giá các mô hình
Cross-validation là kỹ thuật quan trọng trong việc đánh giá độ chính xác của mô hình học máy Thay vì chỉ sử dụng một phần dữ liệu cố định để huấn luyện, phương pháp này tối ưu hóa hiệu quả bằng cách chia nhỏ toàn bộ tập dữ liệu Các phần dữ liệu được luân phiên sử dụng, một phần làm tập huấn luyện và phần còn lại làm tập kiểm thử, giúp cải thiện độ tin cậy của kết quả.
Ba phương pháp cross-validation phổ biến bao gồm:
Phương pháp Hold-out là kỹ thuật đơn giản nhất trong việc chia dữ liệu, trong đó dữ liệu được phân chia ngẫu nhiên thành hai phần: một phần dành cho huấn luyện mô hình và phần còn lại để kiểm tra hiệu suất của mô hình.
Mô hình được huấn luyện trên tập huấn luyện và kiểm tra trên tập kiểm thử.
K-fold là một phương pháp nâng cao của kỹ thuật hold-out, trong đó dữ liệu được chia thành K phần Mô hình sẽ tiến hành K lần huấn luyện và kiểm tra, với mỗi lần sử dụng một phần dữ liệu làm tập kiểm thử và K-1 phần còn lại để huấn luyện.
Phương pháp Leave-one-out là một biến thể đặc biệt của K-fold, trong đó mỗi mẫu dữ liệu được sử dụng làm tập kiểm thử một lần Số lần huấn luyện sẽ tương ứng với số lượng điểm dữ liệu có trong tập, do đó giá trị K sẽ bằng tổng số dữ liệu.
Nhóm quyết định sử dụng phương pháp K-fold dựa trên kích thước và tính chất của bộ dữ liệu Phương pháp này được ưa chuộng nhất vì nó mang lại sự cân bằng giữa độ chính xác và hiệu suất tính toán.
Dưới đây, chúng em chia dữ liệu thành 5 fold:
Hình 22: Huấn luyện các mô hình theo phương pháp K-fold cross-validation
Hình 23: Kết quả huấn luyện theo phương pháp K-fold cross-validation Đánh giá kết quả:
Mặc dù mô hình Neural Network đạt độ chính xác cao trên 96%, nhưng vẫn gặp khó khăn trong việc phân loại chính xác các ca đột quỵ, dẫn đến Recall và F1 Score bằng 0 Điều này chỉ ra rằng mô hình có thể bị lệch hoặc overfit vào lớp âm tính.
Gradient Boosting là một phương pháp phân loại hiệu quả, thể hiện độ chính xác và ROC AUC cao Tuy nhiên, nó gặp khó khăn trong việc phát hiện các ca đột quỵ, dẫn đến chỉ số Precision, Recall và F1 Score thấp.
Cây quyết định C4.5 có độ chính xác cao hơn so với Gradient Boosting, tuy nhiên lại gặp khó khăn trong việc phân biệt các lớp, dẫn đến các chỉ số Precision, Recall và F1 Score thấp.
Mặc dù ba mô hình đều đạt độ chính xác cao, nhưng các chỉ số Precision, Recall và F1 Score cho thấy chúng gặp khó khăn trong việc phát hiện các ca mắc đột quỵ thực sự Nguyên nhân có thể là do sự mất cân bằng trong dữ liệu, khi số lượng ca mắc đột quỵ thấp hơn nhiều so với các ca không mắc, dẫn đến xu hướng dự đoán chủ yếu là "không mắc đột quỵ".
Nhóm nghiên cứu đã quyết định kết hợp ba mô hình dự đoán với mục tiêu tối ưu hóa kết quả phát hiện nguy cơ đột quỵ Neural Network mang lại độ chính xác cao, trong khi Gradient Boosting giúp giảm thiểu sai sót hiệu quả, và C4.5 Decision Tree cho phép phân tích các yếu tố quan trọng một cách dễ dàng Dựa trên các chỉ số hiệu suất, nhóm sẽ đánh giá và lựa chọn mô hình tối ưu nhất cho vấn đề này.
3.4.5 Chi tiết mô hình Cây quyết định C4.5
Hình 24: Độ chính xác của mô hình C4.5
Hình 25: Mức độ quan trọng của các thuộc tính trên mô hình C4.5
Hình 26: Biểu đồ xác suất mắc đột quỵ
3.4.6 Chi tiết mô hình Gradient boosting
Hình 27: Kết quả huấn luyện mô hình Gradient boosting
Hình 28:Mức độ quan trọng của thuộc tính trên mô hình Gradient boosting
Hình 29:Kết quả ROC và AUC của mô hình Gradient boosting
Hình 30: Biểu đồ xác suất dự đoán mắc bệnh của mô hình Gradient boosting
3.4.7 Chi tiết mô hình Neural network
Hình 31: Kết quả huấn luyện mô hình Neural Network
Hình 32 Dự đoán bệnh nhân có xác suất mắc đột quỵ cao trên mô hình Neural network
Hình 33: Ma trận nhầm lẫn và kết quả ROC AUC của mô hình Neural network
Hình 34: Biểu đồ xác suất dự đoán mắc đột quỵ của mô hình Neural networkHình 35: Kết quả huấn luyện mô hình Neural network được điều chỉnh
THỰC NGHIỆM VÀ ĐÁNH GIÁ
Cải thiện mô hình bằng thay đổi biến độc lập truyền vào
3.5.1 Thay đổi biến độc lập
Hình 36: Xoá bỏ các cột có mức độ quan trọng thấp
3.5.2 Huấn luyện lại các mô hình để chọn phương pháp chia tập dữ liệu tốt nhất
Hình 37: Kết quả đánh giá các mô hình sau khi xoá một số cột Nhận xét:
Các giá trị Accuracy tương đối cao, nằm trong khoảng từ 0.95 đến 0.96, điều này cho thấy mô hình dự đoán khá tốt tổng thể.
Không có sự chênh lệch đáng kể về Accuracy giữa hai mô hình Gradient Boosting vàNeural Network trong các trường hợp thử nghiệm.
Hình 38: Kết quả huấn luyện lại mô hình C4.5
Hình 39: Mức độ quan trọng của các thuộc tính trên mô hình C4.5 mới
3.5.4 Chạy lại mô hình Gradient Boosting
Hình 40: Kết quả huấn luyện lại mô hình Gradient boosting
Hình 41: Ma trận nhầm lẫn và kết quả ROC AUC của mô hình Gradient boosting mới
Hình 42: Mức độ quan trọng của thuộc tính trên mô hình Gradient boosting mới
3.5.5 Chạy lại mô hình Neural Network
Hình 43: Kết quả huấn luyện lại mô hình Neural network
Hình 44: Ma trận nhầm lẫn và kết quả ROC AUC của mô hình Neural Network mới
Cải thiện mô hình bằng cách thay đổi tham số của mô hình
3.6.1 Mô hình cây quyết định C4.5
Mô hình C4.5 là một thuật toán xây dựng cây quyết định, thường được biểu diễn trong thư viện scikit-learn qua lớp DecisionTreeClassifier Để tối ưu hóa hiệu suất của cây quyết định, việc điều chỉnh các tham số quan trọng là rất cần thiết.
criterion: Tiêu chí để chọn thuộc tính để phân chia
max_depth: Độ sâu tối đa của cây.
min_samples_split: Số lượng mẫu tối thiểu cần thiết để chia một nút.
min_samples_leaf: Số lượng mẫu tối thiểu cần thiết để tạo thành một lá.
max_features: Số lượng thuộc tính tối đa được xem xét tại mỗi nút.
Hình 45: Kết quả điều chỉnh tham số mô hình C4.5
Hình 46: Kết quả huấn luyện mô hình C4.5 được điều chỉnh
Sử dụng GridSearchCV là một phương pháp hiệu quả để tối ưu hóa các tham số của mô hình Gradient Boosting Bằng cách điều chỉnh các hyperparameters, bạn có thể cải thiện đáng kể hiệu suất của mô hình Dưới đây là những kỹ thuật phổ biến để tinh chỉnh tham số cho mô hình Gradient Boosting.
n_estimators: Số lượng cây quyết định trong mô hình Tăng giá trị này có thể cải thiện hiệu suất, nhưng cũng có thể dẫn đến hiện tượng overfitting.
Tốc độ học (learning_rate) là một yếu tố quan trọng trong quá trình huấn luyện mô hình, thường có giá trị nhỏ từ 0.01 đến 0.1 Một giá trị thấp giúp giảm tốc độ học, nhưng đồng thời cũng làm cho mô hình ổn định hơn trong quá trình tối ưu hóa.
max_depth: Độ sâu tối đa của mỗi cây quyết định Đặt giá trị này cao có thể giúp mô hình học được mối quan hệ phức tạp hơn.
subsample: Tỷ lệ mẫu dùng trong mỗi vòng lặp Thường được điều chỉnh để tránh overfitting.
min_samples_split và min_samples_leaf: Số lượng mẫu tối thiểu cần thiết để chia một nút hoặc làm lá Điều chỉnh giúp tránh overfitting.
Hình 47: kết quả điều chỉnh tham số mô hình Gradient boosting
Hình 48: Kết quả huấn luyện mô hình Gradient boosting được điều chỉnh
Lựa chọn các tham số điều chỉnh cho mô hình:
learning_rate: Xác định tỉ lệ học được cập nhật qua các lớp (tầng) của mạng nơ-ron.
- 'constant': Cố định không thay đổi.
- 'adaptive': Thay đổi dựa trên sự giảm thiểu của hàm mất mát.
hidden_layer_sizes: Xác định kiến trúc của mạng nơ-ron (số lượng và kích thước của các lớp ẩn).
- (50,): một lớp ẩn với 50 nơron
- (100, 50): hai lớp ẩn, lần lượt có 100 và 50 nơ-ron.
activation: Hàm kích hoạt được sử dụng trong các nơ-ron, quyết định cách nơron sẽ được kích hoạt.
- 'relu': Rectified Linear Unit (ReLU)
solver: Thuật toán tối ưu hóa được sử dụng để cực tiểu hóa hàm mất mát Các giá trị có thể là:
- 'adam': Adam - một phương pháp tối ưu hóa dựa trên bộ nhớ động.
Hình 49: Kết quả điều chỉnh tham số mô hình Neural network
Đánh giá và kết luận
Sau khi loại bỏ các cột không cần thiết và điều chỉnh tham số của các mô hình, nhóm chúng em đã tiến hành đánh giá và đưa ra kết luận.
Mô hình Accuracy ROU AUC Precision Recall F1 score
Bảng 2: Kết quả sau khi cải thiện các mô hình
Cả ba mô hình đều đạt độ chính xác cao, với C4.5 đứng đầu với tỷ lệ 96,12% Tuy nhiên, độ chính xác này có thể bị ảnh hưởng bởi các tập dữ liệu không cân bằng, đặc biệt khi tỷ lệ nhãn dương (bệnh nhân có nguy cơ đột quỵ) là rất nhỏ.
Neural Network thể hiện khả năng phân biệt tốt nhất giữa hai lớp với AUC đạt 0,82, cho thấy sự phù hợp cao với bài toán phân loại này Tiếp theo là Gradient Boosting với AUC 0,79 Trong khi đó, C4.5 gần như hoạt động ngẫu nhiên với AUC chỉ 0,52, cho thấy sự không hiệu quả trong việc phân loại.
Khi Precision, Recall và F1 score đều bằng 0, điều này cho thấy các mô hình không phát hiện được bất kỳ trường hợp nào có nguy cơ đột quỵ, phản ánh sự mất cân bằng trong dữ liệu hoặc việc tối ưu hóa mô hình chưa đạt yêu cầu để nhận diện nhãn dương.
Kết luận cho thấy Neural Network là mô hình tiềm năng nhất cho bài toán này, nhờ vào hiệu suất ROC AUC cao nhất Tuy nhiên, để áp dụng hiệu quả trong thực tế, cần cải thiện khả năng phát hiện nhãn dương.
Để xử lý vấn đề mất cân bằng dữ liệu, có thể áp dụng kỹ thuật SMOTE hoặc các phương pháp cân bằng khác nhằm tăng tỷ lệ nhãn dương, cụ thể là số lượng người mắc bệnh đột quỵ trong tập huấn luyện.
- Điều chỉnh các tham số như: hidden_layer_sizes (số nơ-ron và số lớp ẩn), activation (hàm kích hoạt), learning_rate và solver.
- Regularization: Thêm các kỹ thuật như Dropout hoặc L2 Regularization để giảm overfitting, giúp mô hình tổng quát hóa tốt hơn.
Để cải thiện dữ liệu đầu vào, cần tăng cường chất lượng dữ liệu bằng cách bổ sung các đặc trưng liên quan đến nguy cơ đột quỵ, bao gồm bệnh lý nền, tiền sử gia đình và chế độ ăn uống.
Tái sử dụng mô hình
Sử dụng thư viện joblib cho phép lưu trữ mô hình vào file, giúp tái sử dụng mô hình đã được đào tạo một cách nhanh chóng mà không cần phải tiến hành đào tạo lại mỗi khi thực hiện dự đoán.
TỔNG KẾT
Hướng phát triển
Qua dự án này, nhóm chúng em đã nâng cao kỹ năng và kiến thức chuyên môn trong lĩnh vực khai phá và phân tích dữ liệu Việc nghiên cứu và ứng dụng các thuật toán như C4.5, Gradient Boosting và Neural Network để dự đoán nguy cơ mắc đột quỵ đã giúp nhóm hiểu rõ hơn về quy trình phân tích, tiền xử lý dữ liệu, cũng như xây dựng mô hình dự đoán hiệu quả.
Chúng tôi hy vọng rằng báo cáo và sản phẩm nghiên cứu này đã đáp ứng đầy đủ các yêu cầu đề ra, đồng thời khắc phục những vấn đề đã nêu trong phần mở đầu Đây là bước khởi đầu quan trọng cho hành trình chinh phục các lĩnh vực ứng dụng khai thác dữ liệu và trí tuệ nhân tạo, phục vụ cho sự nghiệp tương lai của các thành viên.
Chúng em nhận thức rằng, do hạn chế về thời gian, kinh nghiệm thực tế và nguồn dữ liệu, bài làm của nhóm vẫn còn nhiều thiếu sót Rất mong nhận được những ý kiến đóng góp quý báu từ thầy để cải thiện chất lượng báo cáo.
Chúng em xin chân thành cảm ơn Học viện Ngân hàng, khoa Công nghệ thông tin và Kinh tế số, cùng thầy Nguyễn Dương Hùng đã tạo điều kiện cho chúng em tiếp cận kiến thức thực tiễn qua môn học này Sự hướng dẫn tận tình của thầy đã giúp nhóm tự tin hơn trong nghiên cứu và phát triển các sản phẩm ứng dụng Chúng em mong tiếp tục nhận được sự hỗ trợ từ thầy cô trong các học phần tiếp theo.
Nhóm xin chân thành cảm ơn!
An, Y k (2023) Ngày Đột Quỵ Thế Giới 2023 Retrieved 2024, from Y khoa Phước An: https://ykhoaphuocan.vn/thread/sukien/ngay-dot-quy-the-gioi-2023
HCM, W (n.d.) Tìm hiểu về Decision Tree (Cây quyết định) Retrieved 2024, from Website
HCM: https://websitehcm.com/tim-hieu-ve-decision-tree-cay-quyet-dinh/
ISB, I (n.d.) Data Mining là gì? Các công cụ khai phá dữ liệu Retrieved 2024, from Insight
ISB: https://insight.isb.edu.vn/data-mining-la-gi-cac-cong-cu-khai-pha-du-lieu/
Medlatec (n.d.) Đột quỵ là gì? 5 dấu hiệu đột quỵ cần lưu ý Retrieved 2024, from Medlatec: https://medlatec.vn/tin-tuc/dot-quy-la-gi-5-dau-hieu-dot-quy-can-luu-y-s65-n31755