Phương pháp nghiên cứu
3.1 Phương pháp nghiên cứu tài liệu, tổng hợp và hệ thống hóa:
Tìm kiếm và thu thập tài liệu từ các công trình nghiên cứu khoa học đã được công bố trên các hội nghị, tạp chí và website liên quan đến ứng dụng thuật toán trong học máy cho bài toán phân lớp dữ liệu Phân tích, tổng hợp và rút trích các nội dung quan trọng nhằm đáp ứng yêu cầu nghiên cứu.
3.2 Phương pháp thực nghiệm khoa học:
Bài viết sử dụng bộ dữ liệu từ Bệnh Viện Đa Khoa Tỉnh Bình Định cùng với các chỉ số sinh hóa trong xét nghiệm bệnh nhân tiểu đường để thực hiện thử nghiệm và đánh giá Mục tiêu là kiểm tra hiệu quả của các thuật toán đề xuất trong luận văn, so sánh độ chính xác trong dự đoán với kết quả thực nghiệm của các nghiên cứu trước đó.
Mục tiêu và nội dung của luận văn
Mục tiêu nghiên cứu của chúng tôi là phân tích mô hình và chứng minh rằng kết quả dự báo chính xác hơn khi kết hợp các thuật toán phân cụm K-Means và hồi quy Logistic Phân tích thành phần chính (PCA) được sử dụng để giảm chiều và kích thước tập dữ liệu mà vẫn bảo toàn thông tin Thuật toán K-Means sau đó được áp dụng để loại bỏ dữ liệu ngoại lai Cuối cùng, hồi quy Logistic được sử dụng để xây dựng mô hình phân lớp và dự báo, từ đó cải thiện hiệu quả của mô hình phân lớp.
Ý nghĩa khoa học và thực tiễn
Sự kết hợp giữa khoa học máy tính và y khoa đã mang lại một phương pháp thực nghiệm hữu ích trong việc chẩn đoán bệnh Đề tài này đã hỗ trợ các cán bộ y tế trong việc chẩn đoán bệnh tiểu đường cho bệnh nhân một cách hiệu quả.
Chẩn đoán và phát hiện bệnh là một quá trình phức tạp, yêu cầu cán bộ y tế có trình độ chuyên môn cao và trang thiết bị y tế đầy đủ để xác định chính xác tình trạng bệnh nhân Việc phát hiện sớm và chính xác không chỉ giúp đưa ra hướng điều trị đúng đắn mà còn giảm thiểu biến chứng, từ đó giảm thiệt hại về tinh thần và kinh tế cho người bệnh, góp phần thúc đẩy nền kinh tế.
Bố cục của luận văn
và phụ lục kèm theo
Chương 1: Trình bày tổng quan về học máy, các bài toán phân lớp và giới thiệu sơ qua về phần mềm python
Chương 2: Giới thiệu một số kiến thức cơ bản của các thuật toán PCA,
K-Means và hồi quy Logistic
Chương 3: Kết hợp các thuật toán PCA, K-Means và hồi quy Logistic ứng dụng trong tiên lượng bệnh tiểu đường So sánh hiệu quả các giải pháp kết hợp
MỘT SỐ KIẾN THỨC LÝ THUYẾT CƠ SỞ
Giới hiệu về Machine learning
Học máy (Machine learning) là nghiên cứu về các thuật toán và mô hình thống kê mà máy tính sử dụng để thực hiện nhiệm vụ mà không cần hướng dẫn rõ ràng, mà dựa vào các mẫu và suy luận Phương pháp này tập trung vào việc phát triển hệ thống máy tính có khả năng truy cập dữ liệu và tự học từ đó Học máy tự động hóa quá trình phân tích dữ liệu, cho phép máy tính phát hiện những hiểu biết ẩn giấu mà không cần lập trình cụ thể.
1.1.2 Phân loại kỹ thuật học máy:
Có nhiều loại mô hình học máy khác nhau như: học có giám sát, học không giám sát, học bán giám sát và học tăng cường
Học có giám sát (Supervised Learning) là một kỹ thuật học máy, trong đó máy học từ tập dữ liệu đã được gán nhãn trước Tập dữ liệu này bao gồm các cặp {x, y}, với x là dữ liệu thô và y là nhãn tương ứng Mục tiêu của học có giám sát là dự đoán đầu ra dựa trên giá trị đầu vào, cho thấy rằng máy học nhờ vào sự hỗ trợ của con người Con người định nghĩa giá trị đầu ra mong muốn, và tập dữ liệu huấn luyện hoàn toàn được gán nhãn bởi con người Kích thước của tập dữ liệu huấn luyện ảnh hưởng đến khả năng học của máy tính; tập nhỏ hơn dẫn đến việc máy học ít hơn.
Học có giám sát được áp dụng chủ yếu cho hai loại bài toán: dự đoán (regression) và phân lớp (classification) Kỹ thuật này nhằm xây dựng một hàm h(x) có khả năng dự đoán giá trị đầu ra y dựa trên các tập dữ liệu mới Để hàm h(x) hoạt động hiệu quả, nó cần các tham số học khác nhau tùy thuộc vào từng bài toán cụ thể Quá trình học từ tập dữ liệu (training) thực chất là tìm ra bộ tham số học tối ưu cho hàm h(x).
Học không có giám sát (Unsupervised learning) là một kỹ thuật trong máy học, nhằm phát hiện các mô hình hoặc cấu trúc ẩn trong tập dữ liệu không có nhãn Khác với học có giám sát, phương pháp này không thể xác định trước đầu ra từ dữ liệu huấn luyện, dẫn đến các kết quả đầu ra khác nhau tùy thuộc vào tập huấn luyện Ứng dụng phổ biến nhất của học không có giám sát là gom cụm (cluster), như trong trường hợp của Google và Facebook Google nhóm các bài báo có nội dung tương tự, trong khi Facebook gợi ý bạn bè dựa trên những người bạn chung Các bài báo có nội dung tương đồng sẽ được gom lại thành một cụm phân biệt với các cụm khác, với dữ liệu huấn luyện là các bài báo từ quá khứ đến hiện tại Khi một bài báo mới được thêm vào, hệ thống sẽ tìm cụm gần nhất và gợi ý các bài liên quan.
Học bán giám sát (Semi-supervised Learning) là phương pháp kết hợp giữa học có giám sát và không giám sát, sử dụng cả dữ liệu có nhãn và không nhãn Phương pháp này chủ yếu hoạt động như học không giám sát, nhưng được cải thiện nhờ vào việc sử dụng một phần dữ liệu đã được dán nhãn.
Học tăng cường (Reinforcement Learning): Trong kiểu học này, các
Thuật toán PL-8 dự đoán đầu ra cho một vấn đề dựa trên các tham số điều chỉnh, với đầu ra được sử dụng làm tham số đầu vào cho đến khi đạt được kết quả tối ưu Các thuật toán học máy như Mạng nơ-ron nhân tạo (ANN) và Deep Learning thường được áp dụng trong quá trình này Học tăng cường chủ yếu được sử dụng trong phát triển ứng dụng AI giải trí, thu nhận kỹ năng, điều hướng rô-bốt và ra quyết định trong thời gian thực.
1.1.3 Các ứng dụng của Machine learning
Machine learning đã góp mặt và thực hiện rất tốt trong các hoạt động của các lĩnh vực sau đây:
Lĩnh vực xử lý hình ảnh tập trung vào việc phân tích thông tin từ hình ảnh và thực hiện các phép biến đổi cần thiết Một số ứng dụng nổi bật trong lĩnh vực này bao gồm công nghệ ô tô tự lái, gắn thẻ hình ảnh và nhận dạng ký tự.
Khai phá dữ liệu là quá trình tìm kiếm thông tin giá trị và dự đoán từ dữ liệu Trong lĩnh vực này, học máy được áp dụng để thực hiện các nhiệm vụ như gom nhóm, dự đoán, phát hiện bất thường và tìm ra quy luật, từ đó hỗ trợ hoạt động của ngân hàng và hệ thống siêu thị.
Lĩnh vực phân tích văn bản tập trung vào việc trích xuất và phân loại thông tin từ nhiều nguồn tài liệu khác nhau, bao gồm email, đoạn chat trên Facebook và các tài liệu khác.
Machine learning đang trở thành một xu hướng phát triển nhanh chóng trong lĩnh vực chăm sóc sức khỏe, nhờ vào sự xuất hiện của các thiết bị đeo và cảm ứng sử dụng dữ liệu để theo dõi tình trạng sức khỏe của bệnh nhân theo thời gian thực Công nghệ này không chỉ hỗ trợ các chuyên gia y tế trong việc phân tích dữ liệu mà còn giúp họ nhận diện những xu hướng và tín hiệu quan trọng, từ đó nâng cao chất lượng chăm sóc sức khỏe.
Pl-9 điều trị, chẩn đoán bệnh
Lĩnh vực marketing và sales
Dựa trên hành vi mua hàng trước đây, các trang web sử dụng Machine Learning để phân tích lịch sử mua sắm, từ đó giới thiệu những sản phẩm mà bạn có thể quan tâm Khả năng tiếp nhận và phân tích dữ liệu giúp cá nhân hóa trải nghiệm mua sắm, đồng thời hỗ trợ trong việc thực hiện các chiến dịch Marketing, mở ra tương lai cho ngành bán lẻ.
Machine Learning là một trong những lĩnh vực cạnh tranh nhất trong ngành công nghệ, nhờ vào lợi ích to lớn mà nó mang lại Trong tương lai, công nghệ này hứa hẹn sẽ tiếp tục phát triển mạnh mẽ.
1.1.4 Các bước thực hiện cơ bản của học máy
Bước 1: Thiết lập mô hình (Model)
Khi xây dựng mô hình học máy, chúng ta cần mô phỏng các mẫu hình từ thực tế để đưa ra dự báo hoặc nhận dạng chính xác Điều này đòi hỏi việc mô tả các biến dữ liệu có khả năng ảnh hưởng đến kết quả của mô hình, đồng thời tìm ra mối quan hệ giữa biến tác động và biến kết quả Ngoài ra, việc xây dựng một giả định ban đầu cũng là một bước quan trọng trong quá trình này.
Bước 2: Cung cấp dữ liệu đầu vào thực tế (Parameter)
Sau khi thiết lập mô hình, thông tin thực tế sẽ được đưa vào để máy học tự động học hỏi Quá trình này culminates in việc đưa ra kết quả thực hiện thực tế.
Bước 3: Quá trình điều chỉnh tự động( Learner)
Khi lựa chọn mô hình và có các tham số, ta có thể dựa vào chúng để suy luận cho một đầu vào mới nào đó
Trong học máy, dữ liệu đóng vai trò quan trọng và là điều kiện tiên quyết cho quá trình huấn luyện Do đó, sau khi thu thập dữ liệu, cần thực hiện chuẩn hóa và phân chia dữ liệu Chuẩn hóa dữ liệu đầu vào giúp cải thiện hiệu quả của mô hình học máy.
Bài toán phân lớp dữ liệu
Phân lớp dữ liệu là một vấn đề quan trọng trong Machine Learning, với đầu vào là tập hợp các mẫu đã được phân loại trước, mỗi mẫu được mô tả bằng các thuộc tính Các thuộc tính này được chia thành hai loại: thuộc tính liên tục và thuộc tính rời rạc, trong đó thuộc tính rời rạc có một thuộc tính đặc biệt gọi là phân lớp, với các giá trị được gọi là lớp nhãn Thuộc tính liên tục có thể nhận giá trị có thứ tự, trong khi thuộc tính rời rạc nhận giá trị không có thứ tự và có thể có giá trị không xác định Tuy nhiên, lớp nhãn của các mẫu không được phép có giá trị không xác định Mục tiêu của quá trình phân lớp là thiết lập ánh xạ giữa các thuộc tính và các nhãn lớp, để từ đó mô hình này có thể xác định nhãn lớp cho các quan sát mới không có trong tập mẫu ban đầu.
Phân lớp và dự đoán là hai phương pháp phân tích dữ liệu nhằm xây dựng mô hình mô tả các lớp dữ liệu quan trọng hoặc dự đoán xu hướng tương lai Phân lớp tập trung vào việc xác định giá trị của các nhãn cụ thể hoặc các giá trị rời rạc, trong khi dự đoán xây dựng mô hình với các hàm nhận giá trị liên tục.
Mô hình phân lớp dự báo thời tiết có khả năng xác định thời tiết ngày mai, như mưa hay nắng, dựa trên các thông số như độ ẩm, nhiệt độ và sức gió của ngày hôm nay cùng với dữ liệu từ những ngày trước.
Mục tiêu của phân lớp là rút trích đặc trưng từ dữ liệu nhằm phân loại các phần tử mới vào các lớp đã xác định Để thực hiện phân lớp dữ liệu, cần có các thành phần như lớp nhãn cho một số điểm dữ liệu, quy tắc gán nhãn chính xác cho dữ liệu mới, bài toán con để trích chọn đặc trưng và độ đo để đảm bảo phân lớp chính xác.
1.2.2 Một số ứng dụng phân lớp tiêu biểu :
Bài toán phân lớp có ứng dụng rộng rãi trong nhiều lĩnh vực của đời sống và hiện đang là một chủ đề nóng trong khoa học khám phá dữ liệu Những kết quả từ việc áp dụng bài toán phân lớp mang lại nhiều lợi ích thiết thực cho các ứng dụng trong thực tiễn.
Thuật toán phân lớp dữ liệu
Lĩnh vực khoa học Ứng dụng Đầu vào Phân lớp
Sinh học Phân tích chuỗi Chuỗi ADN, chuỗi Protein
Các dạng gen, Protein đã biết
Y học Xác định bệnh ung thư Hình ảnh tế bào
Bệnh nhân có mắc bệnh ung thư hay không
Phân loại văn bản là một yếu tố quan trọng trong việc tìm kiếm thông tin trên internet, đặc biệt trong lĩnh vực dữ liệu văn bản Thị trường chứng khoán thường xuyên thay đổi, và việc dự đoán giá cổ phiếu là cần thiết để xác định xu hướng tăng hay giảm của cổ phiếu.
Các thao tác tự động (mở khóa điện thoại, dịch vụ bán vé tự động, )
Tín hiệu dạng số Câu lệnh
Tự động hóa trong công nghiệp
Kiểm tra mẫu các sản phẩm Ảnh của các sản phẩm
Sản phẩm có đạt tiêu chuẩn hay không
1.2.3 Tiến trình phân lớp dữ liệu: Được thực hiện qua các bước sau:
Bước đầu tiên trong quá trình học máy là chuẩn bị tập dữ liệu huấn luyện và thực hiện rút trích đặc trưng Đây là một công đoạn quan trọng, vì dữ liệu đầu vào sẽ quyết định khả năng tìm ra mô hình chính xác cho bài toán Việc lựa chọn các đặc trưng tốt và loại bỏ những đặc trưng không phù hợp, gây nhiễu là cần thiết để cải thiện hiệu suất của mô hình.
Việc xác định số lượng đặc trưng (feature) tối ưu trong PL-13 là rất quan trọng, vì nếu số chiều quá lớn sẽ gây khó khăn trong tính toán Do đó, cần thực hiện giảm chiều dữ liệu (reduce dimension) mà vẫn đảm bảo độ chính xác của thông tin Trong bước này, chúng ta cũng cần chuẩn bị bộ dữ liệu để kiểm tra trên mô hình đã xây dựng Thông thường, phương pháp kiểm tra chéo (cross-validation) được sử dụng để chia tập dữ liệu thành hai phần: một phần cho việc huấn luyện (training datasets) và phần còn lại cho mục đích kiểm tra (testing dataset) Hai phương pháp phổ biến trong cross-validation là splitting và k-fold.
Bước 2: Xây dựng mô hình phân lớp (classifier model)
Mục tiêu của mô hình huấn luyện là xác định hàm f(x) để gán nhãn cho dữ liệu, quá trình này thường được gọi là học hoặc training, với f(x) xấp xỉ y.
Trong đó: x là các feature hay input đầu vào của dữ liệu, y là nhãn lớp hay output đầu ra
Để xây dựng mô hình phân lớp cho bài toán này, chúng ta thường sử dụng các thuật toán học giám sát như KNN, Mạng nơ-ron, SVM, Cây quyết định và Naive Bayes.
Bước 3: Kiểm thử mô hình (make prediction)
Sau khi xác định mô hình phân lớp ở bước 2, bước tiếp theo là đưa dữ liệu mới vào để kiểm tra hiệu suất của mô hình phân lớp đã xây dựng.
Bước 4: Đánh giá mô hình phân lớp và chọn ra mô hình phù hợp
Cuối cùng, chúng ta sẽ đánh giá mô hình bằng cách kiểm tra mức độ lỗi của dữ liệu kiểm tra và dữ liệu huấn luyện Nếu kết quả không đạt yêu cầu, cần điều chỉnh các tham số của mô hình để tìm ra lựa chọn tốt hơn Sau đó, chúng ta sẽ kiểm tra và đánh giá lại mô hình phân lớp, từ đó chọn ra mô hình phù hợp nhất cho bài toán.
Giới thiệu bài toán phân lớp cho bệnh tiểu đường
1.3.1 Giới thiệu về bệnh tiểu đường
Theo Tổ chức Y tế Thế giới, tiểu đường là một hội chứng đặc trưng bởi tình trạng tăng đường huyết, xảy ra do mất hoàn toàn insulin hoặc do sự suy yếu trong hệ bài tiết và hoạt động của insulin.
Vào tháng 1/2003, Ủy ban chẩn đoán và phân loại bệnh tiểu đường Hoa Kỳ đã đưa ra định nghĩa mới về bệnh tiểu đường, mô tả đây là một nhóm các bệnh chuyển hóa đặc trưng bởi tình trạng tăng glucose máu Nguyên nhân chính của tình trạng này là do thiếu hụt bài tiết insulin, sự khiếm khuyết trong hoạt động của insulin, hoặc cả hai Tăng glucose máu mạn tính có thể dẫn đến tổn thương và rối loạn chức năng của nhiều cơ quan, đặc biệt là mắt, thận, hệ thần kinh, tim và mạch máu.
Tiểu đường là một bệnh mãn tính đặc trưng bởi mức đường huyết luôn cao hơn bình thường, do cơ thể thiếu insulin hoặc kháng insulin, gây ra rối loạn chuyển hóa glucose trong máu.
Khi mắc bệnh tiểu đường, cơ thể không chuyển hóa hiệu quả các chất bột đường từ thực phẩm, dẫn đến lượng đường tích tụ trong máu Sự gia tăng liên tục của đường huyết có thể làm tăng nguy cơ mắc các bệnh tim mạch và gây tổn thương cho các cơ quan như mắt, thận, thần kinh, cũng như các bệnh lý nghiêm trọng khác.
Bệnh tiểu đường là một trong những căn bệnh nguy hiểm, đe dọa tính mạng con người và là nguyên nhân gây ra nhiều bệnh lý khác như bệnh tim mạch và mù lòa Theo Hiệp hội Tiểu đường Quốc tế, tiểu đường đứng thứ 4 hoặc thứ 5 trong danh sách nguyên nhân tử vong tại các nước phát triển, và đang trở thành dịch bệnh ở các quốc gia đang phát triển Khoảng 50% bệnh nhân tiểu đường gặp phải các biến chứng nghiêm trọng như bệnh mạch vành và các vấn đề tim mạch.
Pl-15 quỵ, bệnh lý thần kinh do tiểu đường, cắt đoạn chi, suy thận, mù mắt Biến chứng này dẫn đến tàn tật và giảm tuổi thọ đáng kể
1.3.2 Những kết quả nghiên cứu phân lớp cho dữ liệu bệnh tiểu đường
Theo Liên đoàn Đái tháo đường Thế giới, hiện có khoảng 415 triệu người mắc tiểu đường, và dự báo con số này sẽ vượt 600 triệu người vào năm 2030.
Tiểu đường là một bệnh mãn tính không lây truyền, nhưng nó là nguyên nhân chính gây tử vong và dẫn đến nhiều căn bệnh khác Dự báo đến năm 2040, tỷ lệ người mắc tiểu đường ở người trưởng thành trên toàn thế giới sẽ đạt 642 triệu người.
Chẩn đoán sớm bệnh tiểu đường là mục tiêu hàng đầu của các nhà nghiên cứu và chuyên gia y tế Nhờ vào sự phát triển của khoa học máy tính và trí tuệ nhân tạo, các nhà nghiên cứu đã ứng dụng kỹ thuật và thuật toán khai phá dữ liệu để đưa ra các chẩn đoán hiệu quả cho bệnh nhân tiểu đường.
Nghiên cứu của Iyer [3] đã đề xuất áp dụng thuật toán Nạve Bayes để dự đoán sự khởi đầu của bệnh tiểu đường, đạt được độ chính xác 79,56%.
Tarun đã đề xuất một phương pháp kết hợp giữa hai thuật toán PCA và SVM để phân loại bệnh nhân tiểu đường, đạt được độ chính xác phân loại lên tới 93,66% trong các thử nghiệm.
Han và các cộng sự đã phát triển một mô hình kết hợp K-Means với hồi quy Logistic nhằm dự đoán bệnh tiểu đường, đạt được độ chính xác 95,42% trong các thử nghiệm.
Patil [5] đã giới thiệu một mô hình dự đoán kết hợp giữa phương pháp phân cụm K-Means và thuật toán C4.5 để xây dựng mô hình phân loại Kết quả đạt được từ mô hình này cho thấy độ chính xác phân loại lên đến 92,38%.
Anjali đã đề xuất phương pháp phân tích thành phần chính (PCA) để giảm kích thước dữ liệu, kết hợp với mạng nơron (NN) nhằm thực hiện phân loại Kết quả đạt được từ phương pháp này là 92,2%.
1.3.3 Phương pháp luận nghiên cứu:
Mô hình đề xuất kết hợp các thuật toán PCA, K-Means và hồi quy Logistic để tối ưu hóa quy trình phân loại Đầu tiên, thuật toán PCA được áp dụng để giảm số lượng thuộc tính bằng cách loại bỏ các thuộc tính ít liên quan, giúp cải thiện độ chính xác của kết quả Việc giảm dữ liệu này không chỉ rút ngắn thời gian đào tạo mà còn giảm chi phí và nâng cao hiệu suất của mô hình.
Tiếp theo, lấy dữ liệu thu được của thuật toán PCA làm dữ liệu đầu vào cho thuật toán K-Means K-Means là thuật toán phân loại không giám sát, K-
Thuật toán K-Means sẽ phân cụm dữ liệu dựa trên khoảng cách tới tâm cụm được chỉ định, giúp loại bỏ các cụm dữ liệu ngoại lai Sau khi áp dụng K-Means, dữ liệu sẽ được làm sạch, sẵn sàng cho các bước tiếp theo.
THUẬT TOÁN HỒI QUY LOGISTIC, PCA, K-MEANS
Thuật toán hồi quy Logistic( Logistic Regression)
Phương pháp hồi quy Logistic là một mô hình hồi quy trong lĩnh vực học máy có giám sát, thuộc nhóm các bài toán phân lớp.
Hàm logarit được sử dụng để chuyển đổi giá trị đầu ra rời rạc y tương ứng với vector đầu vào x, giúp phân loại các đầu vào x vào các nhóm y tương ứng.
Trong thuật toán hồi quy Logistic, biến phụ thuộc y có thể là các biến liên tục, biến định danh hoặc biến nhị phân Khi y chỉ nhận hai giá trị 0 và 1, thuật toán được gọi là hồi quy Logistic nhị phân.
Mục tiêu của hồi quy Logistic là xác định hàm hồi quy p(x) sao cho giá trị dự đoán p(xi) gần nhất với kết quả thực tế yi, tức là mỗi p(xi) cần có giá trị xấp xỉ 0 hoặc 1.
Trong hồi quy Logistic, hàm hồi quy p(x) cho phép dự đoán kết quả đầu ra cho các đầu vào mới chưa có nhãn y.
Để đánh giá kết quả thi của một học sinh, ta xác định đầu ra y = 1 nếu học sinh thi đậu và y = 0 nếu thi hỏng Các điểm môn sẽ là đầu vào x trong bài toán này Hình ảnh dưới đây minh họa cho bài toán phân lớp nhị phân.
Hình 2.1: Phân ảnh phân loại đối tượng thành hai nhóm
2.1.2 Ứng dụng thuật toán hồi quy Logistic
Phương pháp hồi quy Logistic được sử dụng rộng rãi trong nhiều lĩnh vực khoa học, bao gồm phân loại ảnh, khoa học sinh học và dự đoán y khoa.
Trong nghiên cứu y khoa, việc phân tích mối quan hệ giữa các yếu tố nguy cơ và khả năng xảy ra biến cố là rất quan trọng, đặc biệt khi biến phụ thuộc là nhị phân như mắc bệnh hay không Để ước tính mức độ liên quan giữa yếu tố nguy cơ và sự cố, chúng tôi sử dụng mô hình hồi quy Logistic nhị phân Mô hình này cho phép ước lượng xác suất xảy ra của sự kiện với biến phụ thuộc chỉ có hai giá trị 0 và 1, tức là biến nhị phân Hồi quy nhị phân đóng vai trò quan trọng trong các bài toán dự đoán, giúp các nhà quản lý xây dựng chiến lược kinh doanh hiệu quả, khai thác các yếu tố ảnh hưởng đến doanh thu và tối ưu hóa lợi nhuận.
Trong chẩn đoán y khoa, các bác sĩ dựa vào kết quả dự đoán để đưa ra kết luận khám bệnh cho bệnh nhân Điều này giúp họ phát triển các giải pháp chữa bệnh hợp lý, nhằm mang lại kết quả điều trị tốt nhất cho bệnh nhân.
2.1.3 Hàm Sigmoid sử dụng trong hồi quy Logistic
Hồi quy Logistic là một dạng hồi quy tuyến tính đặc biệt, trong đó biến mục tiêu mang tính chất phân loại Phương pháp này sử dụng nhật ký tỷ lệ cược làm biến phụ thuộc và dự đoán xác suất xảy ra của một sự kiện nhị phân thông qua hàm logit.
Phương trình hồi quy tuyến tính:
𝑦 = 𝛽0 + 𝛽1𝑋1 + 𝛽2𝑋2 + ⋯ + 𝛽𝑛𝑋𝑛 (1) Trong đó, y là biến phụ thuộc và X1, X2 và Xn là biến giải thích Hàm Sigmoid:
𝑃 = 1+𝑒 1 −𝑦 (2) Áp dụng hàm Sigmoid trên hồi quy tuyến tính:
𝑃 = 1+𝑒 −(𝛽0+ 𝛽1𝑋1+𝛽2𝑋2+⋯+𝛽𝑛𝑋𝑛) 1 (3) Các thuộc tính của hồi quy logistic:
Biến phụ thuộc trong hồi quy logistic tuân theo phân phối Bernoulli
Ước tính được thực hiện thông qua khả năng tối đa
Hàm sigmoid, hay còn gọi là hàm logistic, có hình dạng đường cong chữ 'S', cho phép ánh xạ bất kỳ số thực nào thành giá trị trong khoảng từ 0 đến 1 Khi giá trị đầu vào tiến về vô cực dương, đầu ra y sẽ gần bằng 1, trong khi nếu tiến về vô cực âm, đầu ra y sẽ gần bằng 0 Nếu đầu ra của hàm sigmoid lớn hơn 0.5, kết quả được phân loại là 1 (có), ngược lại nếu nhỏ hơn 0.5, kết quả sẽ là 0 (không) Hàm sigmoid có thể được minh họa qua đồ thị.
Hình 2.2: Đồ thị hàm sigmoid biểu diễn trong python
Dựa vào đồ thị, ta thấy giá trị của hàm tiến gần tới 1 khi biến đạt giá trị lớn nhất dương và tiến gần tới 0 khi biến đạt giá trị nhỏ nhất âm Để ước lượng xác suất p cho sự kiện phân lớp dựa trên dữ liệu x, ta sử dụng công thức: p(Y=y/x) = 1.
2.1.4 Xây dựng thuật toán hồi quy Logistic nhị phân
Logistic Regression là phương pháp ước lượng xác suất cho một điểm dữ liệu thuộc về một lớp nhất định Nếu xác suất lớn hơn 50%, mô hình sẽ dự đoán rằng điểm dữ liệu đó thuộc về lớp 1 (nhãn 1), ngược lại, nếu xác suất nhỏ hơn 50%, điểm dữ liệu sẽ thuộc về lớp 0 (nhãn 0).
Logistic Regression mathematically assumes that the probability of a data point x belonging to class 1 is represented by f(w, x)(T), while the probability of it belonging to class 0 is 1 - f(w, x)(T) For each training data point (xi, yi) with a known output value yi, this relationship is established.
Xác suất P y(i = 1 | x_i; w) biểu thị khả năng xảy ra sự kiện đầu ra y_i = 1 khi biết tham số mô hình w và dữ liệu đầu vào x_i Mục tiêu là tối ưu hóa các hệ số w để hàm f_w(x(T_i)) đạt giá trị gần 1 cho các điểm dữ liệu thuộc lớp 1 và gần 0 cho các điểm dữ liệu thuộc lớp 0 Đặt z_i = f_w(x(T_i)).
Ta có: P y x w( i | ; ) i z i y i (1z i ) 1 y i (7) Chúng ta muốn mô hình gần với dữ liệu đã cho nhất, nghĩa là xác suất này đạt giá trị cao nhất
2.1.4.2 Xây dựng hàm mất mát Định nghĩa hàm mất mát (loss function):
Loss function kí hiệu là L, là thành phần cốt lõi của evaluation function và objective function Cụ thể, trong công thức thường gặp:
Thuật toán Principal Component Analysis (PCA)
2.2.1 Vai trò của thuật toán PCA trong bài toán phân lớp
Lựa chọn thuộc tính để giảm số chiều dữ liệu là kỹ thuật quan trọng trong học máy, giúp xử lý và lưu trữ dữ liệu hiệu quả hơn Trong khoa học dữ liệu, dữ liệu thường phụ thuộc vào nhiều biến tương quan, gây khó khăn trong việc xây dựng mô hình học máy Để khắc phục vấn đề này, chúng tôi phát triển phương pháp giảm chiều dữ liệu mà vẫn giữ lại thông tin cần thiết, nhằm đơn giản hóa hệ thống và tăng độ tin cậy cũng như độ chính xác của phân loại Một trong những kỹ thuật tối ưu để lựa chọn thuộc tính là phân tích thành phần chính (PCA) PCA là phương pháp toán học giúp phân tích dữ liệu bằng cách tìm giá trị riêng và vector riêng của ma trận lớn, sử dụng phép chiếu để biến đổi dữ liệu lên các trục trực giao Kết quả là số lượng biến đầu vào sẽ giảm xuống nhưng vẫn chứa hầu hết thông tin, từ đó cải thiện chất lượng dữ liệu, loại bỏ nhiễu và nâng cao hiệu suất khai thác dữ liệu trong các bài toán phân lớp.
PCA (Phân tích thành phần chính) thường chuyển đổi một tập hợp các biến phụ thuộc thành một tập hợp các biến độc lập, giúp xử lý các biến không tương quan.
Phân tích thành phần chính (PCA) nhằm mục đích tìm ra một không gian mới với số chiều nhỏ hơn so với không gian cũ, trong đó các phương sai chính được thu hồi chủ yếu ở thành phần chính đầu tiên (PC1) và giảm dần ở các thành phần tiếp theo Các trục tọa độ trong không gian mới được thiết lập để tối đa hóa độ biến thiên của dữ liệu, đồng thời đảm bảo tính trực giao giữa các trục, mặc dù trong không gian ban đầu, các trục có thể không trực giao.
2.2.2 Bài toán giảm chiều dữ liệu
2.2.2.1 Giới thiệu bài toán giảm chiều dữ liệu:
Trong Machine Learning, thông tin thường được biểu diễn dưới dạng các vector có kích thước lớn, gây khó khăn trong việc lưu trữ và xử lý dữ liệu Nếu không gian dữ liệu gốc có m trạng thái, các vector dữ liệu sẽ trở thành những điểm 𝑥⃗ thuộc R m Giảm chiều dữ liệu là quá trình tìm kiếm một hàm số f để đơn giản hóa dữ liệu.
Để làm việc với các điểm dữ liệu mới 𝑧⃗ = f(𝑥⃗) có số chiều nhỏ hơn, ta cần chuyển từ không gian R m sang không gian R k với k < m Các hàm f được chọn thường là phép chiếu lên một không gian con, đảm bảo thỏa mãn một số tính chất nhất định.
2.2.2.2 Hướng tiếp cận bài toán giảm chiều dữ liệu Để tiếp cận bài toán có nhiều hướng tiếp cận như: Feature Selection (lựa chọn những tính trạng liên quan) và Feature Extraction (xây dựng những tính trạng mới chứa nhiều thông tin hơn)
Phép phân tích thành phần chính (PCA) có thể áp dụng cho cả hai phương pháp tiếp cận, giúp chuyển đổi các vector dữ liệu sang hệ cơ sở trực chuẩn mới Trong quá trình này, tầm quan trọng của từng chiều dữ liệu sẽ được xác định khác nhau, cho phép chúng ta lựa chọn và giữ lại k chiều quan trọng nhất, tương ứng với việc thực hiện phép chiếu lên k chiều đó.
2.2.3 Cơ sở toán học của PCA
2.2.3.1 Kỳ vọng và phương sai
Cho N giá trị x1, x2, …, xN, kỳ vọng và phương sai của bộ dữ liệu này được tính theo công thức
Trong công thức tính phương sai, \(N\) là số lượng giá trị trong tập dữ liệu \(X = [x_1, x_2, \ldots, x_n]\), và \(1 \in \mathbb{R}^N\) là vector cột chứa toàn bộ phần tử 1 Kỳ vọng đơn giản được tính bằng trung bình cộng của tất cả các giá trị trong tập dữ liệu Phương sai là trung bình cộng của bình phương khoảng cách giữa mỗi điểm dữ liệu và kỳ vọng Khi phương sai nhỏ, các điểm dữ liệu gần nhau hơn, cho thấy tính đồng nhất trong dữ liệu Ngược lại, phương sai lớn cho thấy dữ liệu có tính phân tán cao hơn.
Căn bậc hai của phương sai, σ còn được gọi là độ lệch chuẩn (standard deviation) của dữ liệu
2.2.3.2 Giá trị riêng và vector riêng
Giá trị riêng λ của ma trận A được xác định bằng cách giải phương trình đặc trưng det(A – λI) = 0, trong đó I là ma trận đơn vị.
Gọi u là vector riêng của ma trận A Để tìm giá trị của vector riêng u thực chất là ta tìm nghiệm của phương trình tuyến tính thuần nhất sau: ( A – λI ) u 0
2.2.3.3 Ma trận hiệp phương sai
Cho N điểm dữ liệu được biểu diễn bởi các vector cột x1, x2, …, xn khi đó, ma trận hiệp phương sai của toàn bộ dữ liệu được định nghĩa là:
Trong đó 𝑋 ̂được tạo bằng cách trừ mỗi cột của X đi 𝑥̅: 𝑥̂ = x 𝑛 n - 𝑥̅ (21)
2.2.4 Các bước thực hiện phương pháp PCA
Bước 1: Chuẩn hóa dữ liệu
Có thể dữ liệu ban đầu có giá trị thay đổi bất thường, vì thế ta cần chuẩn
Trong nghiên cứu này, chúng tôi thực hiện việc chuẩn hóa dữ liệu trên các cột của ma trận dữ liệu bằng phương pháp Normed PCA Phương pháp này giúp hóa dữ liệu một cách hiệu quả, đảm bảo tính chính xác trong phân tích.
Normed PCA mang tất cả các feature về cùng một gốc tọa độ, đồng thời chuẩn hóa về cùng một quãng standard-deviation bằng 1:
√𝑛 𝛿 𝑗 (23) Trong đó: n là số dòng của ma trận X; gj là mean của cột thứ j của ma trận X; 𝛿 𝑗 là độ lệch chuẩn của cột thứ j trong ma trận X
Sau khi sử dụng Normed PCA, ma trận 𝑋̂ sẽ là dữ liệu cho đầu vào tiếp theo
Bước 2: Xây dựng không gian mới Để xây dựng không gian mới, ta đi tính ma trận hiệp phương sai của các feature trong 𝑋̂
Do là tích của ma trận với chuyển vị của nó nên V 𝜖 𝑅 𝑝×𝑝 là ma trận positive semidefinite kích thước 𝑝 × 𝑝 Hơn nữa có p trị riêng λ i ≥ 0, i = 1, …,p
PCA tiếp tục xác định trị riêng và vector riêng tương ứng, sau đó sắp xếp chúng theo thứ tự giảm dần của trị riêng Giả sử p trị riêng của ma trận V là λ1 ≥ λ2 ≥ … ≥ λp, và p vector riêng tương ứng là u1, u2, …, up.
Các trục của không gian mới được xác định bởi các vector riêng, và những vector này hoàn toàn độc lập tuyến tính, tức là chúng trực giao với nhau.
Bước 3: Chuyển dữ liệu từ không gian ban đầu vào không gian mới
Ta có U = [u1 | u2 | …| uk] ∈ 𝑅 𝑝×𝑘 Khi đó tọa độ các điểm trong hệ tọa độ mới là F = 𝑋 ̂U
2.2.5 Ví dụ áp dụng thuật toán và mô phỏng ứng dụng
2.2.5.1 Phát biểu bài toán ứng dụng:
Bảng dữ liệu bệnh tiểu đường Pima bao gồm 8 thuộc tính và 768 mẫu, có thể được biểu diễn dưới dạng ma trận kích thước 768 × 8 Mục tiêu chính của ứng dụng là giảm không gian thuộc tính từ nhiều biến thành một số lượng biến nhỏ hơn mà vẫn đảm bảo giữ lại các thuộc tính quan trọng.
2.2.5.2 Giải pháp thực hiện: Để giải quyết yêu cầu bài toán đặt ra, chúng tôi sử dụng mô hình học máy PCA kết hợp với phần mềm python thực hiện theo quy trình sau: nhập tập dữ liệu, tiến hành phân tích dữ liệu thăm dò để hiểu rõ hơn và hiểu về cách dữ liệu trông như thế nào và sau đó xây dựng mô hình PCA
Để chuẩn bị dữ liệu mẫu, trước tiên, chúng tôi sẽ khai báo các thư viện cần thiết cho mô hình phân tích dữ liệu như numpy và pandas, cùng với các thư viện trực quan hóa dữ liệu như matplotlib và seaborn Tiếp theo, chúng tôi sẽ sử dụng lệnh nhập dữ liệu để thu thập bảng dữ liệu có cấu trúc.
Thuật toán phân cụm dữ liệu K-Means
Phân cụm là kỹ thuật quan trọng trong khai phá dữ liệu, thuộc phương pháp học không giám sát trong học máy Mục đích của nó là tìm kiếm và phát hiện các cụm mẫu dữ liệu ẩn trong tập dữ liệu lớn, từ đó cung cấp thông tin quan trọng cho việc ra quyết định Mặc dù có nhiều định nghĩa khác nhau về phân cụm, nhưng tất cả đều thể hiện bản chất chính của kỹ thuật này.
Pl-39 tìm cách phân nhóm các đối tượng đã cho thành các cụm, đảm bảo rằng các đối tượng trong cùng một cụm có sự tương đồng, trong khi các đối tượng thuộc các cụm khác lại không có sự tương đồng.
Cụm (Clusters) là tập hợp các điểm có vector đặc trưng gần nhau, và trong kỹ thuật phân cụm, việc xác định dữ liệu thuộc cụm nào phụ thuộc vào khoảng cách giữa dữ liệu và tâm cụm Khoảng cách này thường được tính toán dựa trên loại dữ liệu, với khoảng cách Euclid là phương pháp phổ biến nhất.
Hình 2.3: Hình ảnh một ví dụ phân cụm dữ liệu trong thuật toán K-Means
Phân cụm nhằm mục đích khám phá bản chất của các nhóm dữ liệu thông qua các thuật toán phân cụm tạo ra các cụm Tuy nhiên, không có tiêu chí nào được coi là tốt nhất để đánh giá hiệu quả của phân tích phân cụm, vì điều này phụ thuộc vào mục đích cụ thể như giảm chiều dữ liệu hoặc phát hiện ngoại lai Do đó, người dùng cần cung cấp các tiêu chuẩn phù hợp với mục đích công việc để đạt được hiệu quả phân cụm tốt nhất.
Trong học máy, phân cụm dữ liệu là một phương pháp học không giám sát, nhằm tìm kiếm cấu trúc trong tập dữ liệu chưa được gán nhãn Phân cụm giúp xác định các nhóm dữ liệu có đặc điểm tương đồng, từ đó tạo ra các lớp cho quá trình phân loại sau này Khi phân lớp được coi là bài toán học có giám sát, phân cụm dữ liệu đóng vai trò quan trọng trong việc khởi tạo các lớp cho việc phân loại.
Pl-40 lớp bằng cách xác định các nhãn cho các nhóm dữ liệu
Trong quá trình phân cụm dữ liệu, một trong những thách thức lớn nhất là nhiễu, xuất phát từ việc thu thập thông tin không chính xác hoặc không đầy đủ Do đó, việc khử nhiễu là cần thiết để đảm bảo hiệu quả của quá trình phân cụm.
Phân cụm dữ liệu được ứng dụng trong hầu hết các lĩnh vực, sau đây là một số ví dụ về ứng dụng của nó:
- Trong lĩnh vực định giá bất động sản: Phân cụm giúp xác định các nhóm nhà dựa trên giá trị, vị trí địa lý, loại hình của chúng
Phân cụm là công cụ hữu ích cho các nhà tiếp thị trong việc phân nhóm khách hàng, giúp họ xây dựng chiến lược kinh doanh phù hợp với từng nhóm đối tượng mà họ đang chăm sóc.
Phân cụm nghiên cứu tình hình động đất cho phép phân tích các khu vực có nguy cơ xảy ra động đất Bằng cách xác định vị trí các trận động đất trước đó, các nhà nghiên cứu có thể dự đoán các khu vực có khả năng xảy ra động đất trong tương lai Việc này giúp nâng cao khả năng chuẩn bị và ứng phó với thiên tai, giảm thiểu thiệt hại cho con người và tài sản.
2.3.3 Thuật toán phân cụm K-Means
Thuật toán K-Means, do Macqueen đề xuất vào năm 1967, là một phương pháp học không giám sát dùng để phân cụm dữ liệu dựa trên sự tương đồng giữa các điểm dữ liệu Phương pháp này xác định trung tâm của mỗi cụm thông qua việc đo khoảng cách giữa các đối tượng trong cụm Quá trình bắt đầu bằng việc khởi tạo một tập các tâm cụm ban đầu, sau đó lặp lại các bước gán đối tượng vào cụm gần nhất và tính toán lại tâm cụm cho dữ liệu mới Quá trình tiếp tục cho đến khi các tâm cụm hội tụ.
2.3.3.1 Phát biểu bài toán phân cụm dữ liệu:
Cho tập N đối tượng dữ liệu X = { x1, x2, …, xn}, số cụm K, ta cần chia X
Pl-41 được chia thành các cụm đôi một không giao nhau X = ∪ 𝑖=1 𝑘 Ci, trong đó các đối tượng trong cùng một cụm phải khác nhau theo tiêu chí hàm tiêu chuẩn E với giá trị tối thiểu.
2.3.3.2 Các công thức toán học sử dụng trong thuật toán K-Means
* Công thức tính khoảng cách Euclidean
Việc phân bố dữ liệu trong các cụm được xác định dựa trên khoảng cách Euclidean, được định nghĩa là độ dài của đoạn thẳng nối hai điểm p và q.
Trong tọa độ Descartes, nếu p = (p1, p2, …, pn) và q = (q1, q2, …, qn) là hai điểm trong Eucliden-space thì khoảng cách (d) từ p đến q hoặc từ q đến p được tính theo công thức Pythagore : d(p,q) = d(q,p) = √(𝑞 1 − 𝑝 1 ) 2 + (𝑞 2 − 𝑝 2 ) 2 + ⋯ + (𝑞 𝑛 − 𝑝 𝑛 ) 2 (25)
* Tối ưu hóa hàm chi phí
Mục tiêu chính trong mọi thuật toán học máy là giảm hàm chi phí Đối với K-Means Clustering, hàm chi phí được xác định là tổng các khoảng cách Euclid từ các điểm dữ liệu đến các trung tâm của các cụm gần nhất.
Hàm mục tiêu cho K-Means được xác định như sau:
𝑤 𝑖𝑘 = 0 nếu điểm dữ liệu không thuộc về cụm
𝑤 𝑖𝑘 = 1 nếu điểm dữ liệu thuộc về cụm
Chất lượng của bài toán phân cụm dữ liệu được đánh giá qua tổng bình phương sai số (SSE), phản ánh tổng khoảng cách Euclid bình phương đến tâm gần nhất của từng cụm Mục tiêu chính của phương pháp K-means là tối thiểu hóa giá trị SSE để cải thiện độ chính xác của phân cụm.
Means là cố gắng giảm thiểu giá trị này
2.3.4 Các bước thực hiện thuật toán K-Means
Bước 1: Chọn ngẫu nhiên k tâm (centroid) cho k cụm (cluster) Mỗi cụm được đại diện bằng các tâm của cụm
Bước 2: Tính khoảng cách giữa các đối tượng (objects) đến k tâm ( dùng công thức tính khoảng cách Euclide)
Bước 3: Nhóm các đối tượng vào nhóm gần nhất bằng cách sử dụng phương trình 𝑠 𝑖 (𝑡) = {𝑥 𝑝 : ‖𝑥 𝑝 − 𝑚 𝑖 (𝑡) ‖ 2 ≤ ‖𝑥 𝑝 − 𝑚 𝑖 (𝑡) ‖ 2 ∀𝑗, 1 ≤ 𝑗 ≤ 𝑘} (28)
Bước 4: Xác định lại tâm mới cho các nhóm bằng cách tính lại giá trị trung bình của từng dữ liệu đầu vào theo công thức 𝑚 𝑖 (𝑡+1) = 1
Bước 5: Thực hiện lại bước 2 cho đến khi không có sự thay đổi nhóm nào của các đối tượng
2.3.5 Ví dụ minh họa và triển khai thuật toán K-Means
Sử dụng bộ dữ liệu bệnh tiểu đường Pima chứa 8 thuộc tính đặc trưng và
Bộ dữ liệu gồm 768 mẫu, có thể được biểu diễn dưới dạng ma trận kích thước 768 × 8 Mục tiêu chính là phân chia tập dữ liệu này thành hai cụm khác nhau và rõ ràng.
2.3.5.2 Triển khai thuật toán K-Means bằng ngôn ngữ python
Để cải thiện độ phức tạp tính toán và tính trực quan của kết quả, chúng tôi sử dụng các thư viện numpy, pandas và matplotlib Chúng tôi sẽ triển khai thuật toán K-Means trên tập dữ liệu bệnh tiểu đường Pima Đầu tiên, cần đọc bộ dữ liệu để thực hiện quá trình phân cụm, việc này được thực hiện qua phương thức read_csv() của thư viện pandas.