1. Trang chủ
  2. » Luận Văn - Báo Cáo

[LUẬN VĂN THẠC SĨ] Xây dựng mô hình dự đoán và khuyến cáo kết quả môn học của sinh viên Trường Cao đẳng Kỹ thuật Công nghệ Bà Rịa Vũng Tàu

85 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 2

Bà Rịa - Vũng Tàu, tháng 9 năm 2023

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác

Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc

Học viên thực hiện Luận văn

(Ký và ghi rõ họ tên)

Trần Phúc Minh Khoa

Trang 4

LỜI CẢM ƠN

Trong suốt quá trình nghiên cứu và thực hiện đề tài luận văn “Xây dựng mô hình dự đoán và khuyến cáo kết quả môn học của sinh viên Trường Cao đẳng Kỹ thuật Công nghệ Bà Rịa Vũng Tàu” tôi xin được gửi lời cảm ơn đến Quý Thầy

Cô ở Viện Đào tạo SĐH & Phát triển nguồn nhân lực của Trường Đại Học Bà Rịa Vũng Tàu đã giảng dạy, hỗ trợ và giúp đỡ tôi hoàn thành chương trình học Cao học chuyên ngành Công nghệ thông tin, những kiến thức của thầy cô hỗ trợ tôi rất nhiều trong công việc và trong quá trình làm luận văn Tôi xin gửi lời cảm ơn đến anh chị đồng nghiệp đã giúp đỡ tôi trong quá trình học Đặc biệt, tôi xin chân thành bày tỏ lòng cảm ơn sâu sắc đến Cô hướng dẫn TS Bùi Thị Thu Trang, rất cảm ơn Cô vì sự hướng dẫn tận tình của Cô trong quá trình làm Khóa luận

Qua đây, tôi xin cảm ơn trường Cao đẳng Kỹ thuật Công nghệ Bà Rịa Vũng Tàu đã tạo điều kiện cho tôi trong quá trình tôi học Cao học, rất cảm ơn trường đã cung cấp số liệu của nhà trường để tôi hoàn thành luận văn tốt hơn

Trong luận văn, chắc hẳn không thể tránh khỏi những hạn chế và thiếu sót Tôi rất mong sẽ nhận được nhiều sự góp ý quý báu của Quý Thầy Cô trong hội đồng để tôi có thể hoàn thiện luận văn tốt hơn nữa đồng thời có thể áp dụng vào thực tiễn, giúp cải thiện được tình trạng bỏ học, nghỉ học của học sinh, sinh viên ở các trường Cao đẳng và Đại học

Một lần nữa, tôi xin chân thành cảm ơn sự hướng dẫn và giúp đỡ của Quý Thầy Cô, các anh chị đồng nghiệp và đặc biệt là Cô TS Bùi Thị Thu Trang đã giúp tôi hoàn thành đề tài luận văn này Kính chúc Quý Thầy cô, anh chị đồng nghiệp nhiều sức khỏe và thành công

Tác giả luận văn

Trang 5

1.2 Tính cấp thiết của đề tài 2

1.3 Mục tiêu, nội dung và phương pháp nghiên cứu 2

1.4 Nội dung nghiên cứu 3

1.5 Phương pháp luận và phương pháp nghiên cứu 3

1.6 Kết cấu luận văn 4

CHƯƠNG 2: TỔNG QUAN VỀ BÀI TOÁN PHÂN LOẠI 5

2.1 Giới thiệu về Máy học 5

2.1.1 Khái niệm về Máy học 5

2.1.2 Thuật toán Máy học 7

2.2 Các thuật toán phân loại 14

2.2.1 Thuật toán Logistic Regression 14

3.1.2 Các bước truy cập vào Google Colab 36

3.1.3 Chạy Code trên Google Colab 37

3.2 Tổng quan về một số thư viện trong Python 38

3.2.1 Thư viện Pandas 38

3.2.2 Thư viện Matplotlib 38

3.2.3 Thư viện Numpy 38

3.2.4 Thư viện Seaborn 38

Trang 6

3.2.5 Thư viện Sklearn 38

CHƯƠNG 4: XÂY DỰNG MÔ HÌNH DỰ ĐOÁN VÀ KHUYẾN CÁO KẾT QUẢ MÔN HỌC CỦA SINH VIÊN TRƯỜNG CAO ĐẲNG KỸ THUẬT CÔNG NGHỆ BÀ RỊA VŨNG TÀU 39

4.1 Giới thiệu về trường Cao đẳng Kỹ thuật Công nghệ Bà Rịa Vũng Tàu 39

4.2 Tổng quan về mô hình dự đoán 40

4.2.1 Dữ liệu đầu vào cho hệ thống 40

4.2.2 Kết quả đầu ra của hệ thống 41

4.3 Mô hình hệ thống 42

4.3.1 Quá trình xây dựng mô hình 44

4.3.2 Xây dựng và huấn luyện mô hình 53

Trang 7

DANH MỤC CÁC TỪ VIẾT TẮT

Trang 8

DANH MỤC CÁC BẢNG BIỂU

Bảng 4 1: Kết quả thực nghiệm thuật toán SVM 69 Bảng 4 2: Kết quả thực nghiệm thuật toán Logistic Regression 70 Bảng 4 3: Kết quả thực nghiệm thuật toán Cây quyết định 70

Trang 9

DANH MỤC CÁC HÌNH ẢNH

Hình 2 1: Thuật toán Perceptron 6

Hình 2 2: Mô phỏng các điểm dữ liệu được gắn nhãn và không được gắn nhãn (Nguồn: https://www.v7labs.com [5]) 9

Hình 2 3: Mô phỏng Học có giám sát và không giám sát (Nguồn: https://www.v7labs.com [5]) 9

Hình 2 4: Mô phỏng học bán giám sát (Nguồn: https://www.v7labs.com [5]) 10

Hình 2 5: Thuật toán kết hợp (Ensemble Algorithms) 14

Hình 2 6: Biểu diễn mô hình phân lớp 16

Hình 2 7: Đồ thị lim của e-s 17

Hình 2 8: Đồ thị lim của hàm Sigmoid 17

Hình 2 9: Ranh giới quyết định (Decision Bound) 18

Hình 2 10: Ý tưởng, phương pháp thuật toán SVM 20

Hình 2 11: SVM tuyến tính với tập dữ liệu phân tách được 22

Hình 2 12: Trường hợp dữ liệu huấn luyện không phân tách được 26

Hình 2 13: Chuyển đổi không gian dữ liệu 29

Hình 2 14: Hàm ánh xạ Φ 29

Hình 2 15: Cây quyết định 31

Hình 3 1: Truy cập vào Google Colaboratory 36

Hình 3 2: Cài đặt Google Colaboratory cho Google Drive 37

Hình 3 3: Giao diện nhập Code trong Google Colab 37

Hình 4 1: Bảng điểm môn học của trường Cao đẳng Kỹ thuật Công nghệ Bà Rịa Vũng Tàu 40

Hình 4 2: Dữ liệu đầu vào cho hệ thống 41

Hình 4 3: Mô hình hệ thống 43

Hình 4 4: Thống kê Kết quả môn học 45

Hình 4 5: Biểu đồ thể hiện sự phân bố của dữ liệu điểm QT1 46

Hình 4 6: Biểu đồ thể hiện sự phân bố của dữ liệu điểm QT2 47

Hình 4 7: Biểu đồ thể hiện sự phân bố của dữ liệu điểm QT3 48

Trang 10

Hình 4 8: Biểu đồ thể hiện sự phân bố của dữ liệu điểm DK1 49

Hình 4 9: Biểu đồ thể hiện sự phân bố của dữ liệu điểm DK2 50

Hình 4 10: Biểu đồ thể hiện sự phân bố của dữ liệu điểm DK3 51

Hình 4 11: Biểu đồ Heatmap thể hiện sự ảnh hưởng của các cột điểm QT và DK đến Ket_qua 53

Hình 4 12: Ví dụ minh hoạ cho tham số C 55

Hình 4 13: Ví dụ minh họa cho tham số Gamma 56

Hình 4 14: Ví dụ minh họa cho tham số kernel 56

Hình 4 15: Mô phỏng cây quyết định 62

Hình 4 16: Biểu đồ thể hiện khả năng dự đoán của mô hình SVM 64

Hình 4 17: Biểu đồ thể hiện khả năng dự đoán của mô hình Logistic Regression 66

Hình 4 18: Biểu đồ thể hiện khả năng dự đoán của mô hình Decision Tree 67

Hình 4 19: Thống kê độ chính xác của 3 mô hình 68

Hình 4 20: Bảng điểm đối chứng 69

Hình 4 21: Mô tả độ chính xác về dự báo kết quả môn học 71

Hình 4 22: Mô tả thời gian dự đoán 72

Trang 11

CHƯƠNG 1: GIỚI THIỆU CHUNG 1.1 Lí do chọn đề tài

Hiện tượng học sinh, sinh viên (HSSV) thi lại hay rớt môn là một hiện tượng thường thấy ở các trường đại học, cao đẳng Theo khảo sát, không ít trường hợp HSSV nợ môn dẫn đến bị cảnh cáo học vụ hoặc bị đuổi học Nhiều trường có tỷ lệ tốt nghiệp đúng hạn khoảng 60-80% Chẳng hạn, sau học kì 2 năm học 2021- 2022, trường đại học Ngân hàng đã ra quyết định buộc thôi học 346 sinh viên, trong đó, có nhiều HSSV nợ tới 50-60 tín chỉ, nhiều HSSV khác học quá thời gian đào tạo 2-3 năm vẫn chưa hoàn thành tín chỉ Còn ở trường đại học Luật TP HCM, tỷ lệ tốt nghiệp đúng hạn của trường trong năm 2021 -2022 khoảng 73%; ngoài ra trong năm 2021 – 2022 dự kiến bị đuổi học khoảng 76 sinh viên có học lực kém, bị nợ trên 24 tín chỉ hoặc bị cảnh cáo 2 lần liên tiếp Trong học kỳ 2 năm học 2021-2022, Trường Đại học Sư phạm Kỹ thuật TP HCM đã cảnh cáo hơn 400 sinh viên trong trường Trường Đại học Công nghiệp Thực phẩm trong năm học 2021-2022 công bố danh sách 1036 sinh viên bị cảnh cáo học vụ và buộc thôi học [1]

Theo số liệu thống kê chưa đầy đủ tại trường Cao đẳng Kỹ thuật Công nghệ Bà Rịa Vũng Tàu, cuối năm học 2021-2022, có gần 200 HSSV nghỉ học, bỏ học giữa chừng, số HSSV không được tốt nghiệp chiếm gần 40% tổng số HSSV ra trường Nguyên nhân của việc bỏ học, không được tốt nghiệp một phần do rớt môn hoặc thi lại nhưng vẫn không đủ điểm đậu

Trong quá trình giảng dạy và chủ nhiệm, tác giả nhận thấy rằng HSSV bị rớt môn do một số nguyên nhân sau: nghiện games, bạn bè rủ rê đi chơi; đi làm thêm nhiều, không cân bằng giữa việc đi làm thêm và học tập; kế hoạch học tập và định hướng ngành không rõ ràng;… Từ những nguyên nhân vừa liệt kê trên dẫn đến HSSV nghỉ học, tỉ lệ ra trường thấp

Với phương châm “Luôn luôn đổi mới vì nguồn nhân lực chất lượng cao”, trường Cao đẳng Kỹ thuật Công nghệ Bà Rịa Vũng Tàu luôn chú trọng vào việc nâng cao chất lượng cơ sở vật chất, đào tạo bồi dưỡng giáo viên tiếp cận với các chương trình đào tạo tiên tiến của các nước phát triển như Nhật Bản, Hàn Quốc, Úc, Đức,

Trang 12

Đan Mạch Trong những năm qua, trường Cao Đẳng Kỹ thuật Công nghệ Bà Rịa Vũng Tàu đã đạt được nhiều thành tựu, tạo dựng được thương hiệu uy tín, và là trường cao đẳng đầu tiên tại Việt Nam được Hội đồng giáo dục ở Vương quốc Anh đánh giá đạt loại tốt theo khung Ofsted Là một giáo viên trong trường, ý thức được vai trò quan trọng trong việc đào tạo HSSV trở thành một người có trình độ, vững chuyên môn, tác giả muốn góp một phần nào đó giúp nhắc nhở một số HSSV còn lơ là trong

việc học để cải thiện kết quả học tập Với những lý do trên, tác giả chọn đề tài: “Xây dựng mô hình dự đoán và khuyến cáo kết quả môn học của sinh viên Trường Cao đẳng Kỹ thuật Công nghệ Bà Rịa Vũng Tàu”

1.2 Tính cấp thiết của đề tài

Nghỉ học hay bỏ học giữa chừng sẽ làm ảnh hưởng đến tương lai của HSSV HSSV không qua đào tạo, không có bằng cấp sẽ khó có thể xin việc, năng suất lao động thấp, chưa kể HSSV dễ bị lôi kéo vào các tệ nạn xã hội

Để không xảy ra hiện tượng HSSV nghỉ học, bỏ học thì rất cần sự quan tâm, động viên đúng lúc của Giáo viên chủ nhiệm (GVCN), Giáo viên bộ môn (GVBM) và phụ huynh bằng việc thường xuyên nhắc nhở vấn đề học tập thông qua các bài kiểm tra, nhắc nhở việc nghỉ học thường xuyên,… Kết quả từ các bài kiểm tra quá trình, kiểm tra định kì sẽ phản ánh được một phần nào đó việc học của HSSV Nếu HSSV lơ là việc học thì điểm số sẽ thấp Việc đưa ra khuyến cáo kết quả học tập HSSV thông qua các điểm thường xuyên và định kì trong lớp sẽ giúp cải thiện phần nào đó việc rớt môn dẫn đến bỏ học, nghỉ luôn

Vì vậy xây dựng mô hình dự đoán và khuyến cáo kết quả môn học của sinh viên Trường Cao đẳng Kỹ thuật Công nghệ Bà Rịa Vũng Tàu dựa vào điểm quá trình và điểm định kì trong khoảng thời gian từ đầu học kì đến giữa học kì và áp dụng các thuật toán Support Vector Machine, Logistic Regression, Cây quyết định là cần thiết và mang tính khả thi cao

1.3 Mục tiêu, nội dung và phương pháp nghiên cứu

− Đối tượng nghiên cứu: Đề tài lần lượt nghiên cứu các điểm của HSSV (điểm quá trình, điểm định kì từ đầu học kì đến giữa học kì), từ đó đưa ra dự đoán kết quả

Trang 13

cuối kì của môn học đó;

− Phạm vi nghiên cứu: Thu thập điểm của HSSV trong 2 năm học 2020 - 2021 và năm học 2021 - 2022 Phân tích đánh giá dữ liệu của HSSV;

− Mục tiêu tổng quát: Sử dụng các thuật toán máy học để xây dựng mô hình dự đoán kết quả học tập của HSSV từ đó đưa ra khuyến cáo đến HSSV;

1.4 Nội dung nghiên cứu

− Nghiên cứu cơ sở lý luận về các thuật toán: SVM, Logistic Regression, Cây quyết định;

− Nghiên cứu về các công cụ: Google Colab, các thư viện trong Python: Numpy, Pandas, Matplotlib, Seaborn, Sklearn…;

− Nghiên cứu các đặc trưng sẽ ảnh hưởng đến kết quả môn học của HSSV;

− Xác định được tầm quan trọng của việc dự đoán kết quả môn học của HSSV;

− Sử dụng nhiều thuật toán để đưa kết quả dự đoán, từ các thuật toán xác định thuật toán nào đưa ra kết quả chính xác nhất

1.5 Phương pháp luận và phương pháp nghiên cứu

Tiếp cận lí thuyết: Tìm kiếm, tổng hợp lí thuyết Machine Learning và các thuật toán: SVM, Logistic Regression, Cây quyết định từ nhiều nguồn khác nhau như sách, báo, giáo trình, và Internet

Trang 14

1.6 Kết cấu luận văn

Luận văn bao gồm các phần chính sau đây:

− Giới thiệu chung: Lí do chọn đề tài, tính cấp thiết của đề tài đối với trường Cao đẳng Kỹ thuật Công nghệ Bà Rịa Vũng Tàu; nêu lên mục tiêu, các phương pháp sẽ nghiên cứu;

− Tổng quan về bài toán phân loại: Gồm 2 phần: Phần thứ nhất giới thiệu về máy học và phân nhóm các thuật toán máy học Phần thứ hai đi sâu vào phân tích lí thuyết của 3 thuật toán phân loại: thuật toán Logistic Regression, thuật toán SVM, thuật toán Cây quyết định;

− Các công cụ áp dụng: Giới thiệu về môi trường lập trình Google Colab, giới thiệu một số thư viện sử dụng trong luận văn: thư viện Pandas, thư viện Matplotlib, thư viện Numpy, thư viện Seaborn, thư viện Sklearn;

− Xây dựng mô hình dự đoán và khuyến cáo kết quả môn học của sinh viên trường Cao đẳng Kỹ thuật Công nghệ Bà Rịa Vũng Tàu: Tác giả sử dụng thuật toán Logistic Regression, thuật toán SVM, thuật toán Cây quyết định để xây dựng mô hình dự đoán và khuyến cáo kết quả môn học của sinh viên trường Cao đẳng Kỹ thuật Công nghệ Bà Rịa Vũng Tàu Từ thực nghiệm đưa ra kết luận thuật toán nào tối ưu nhất cho việc dự đoán đối với dữ liệu của Trường;

− Kết luận: Tác giả tổng kết lại những ưu điểm, nhược điểm và phạm vi ứng dụng của mô hình, đồng thời tác giả đề ra hướng phát triển cho mô hình

Trang 15

CHƯƠNG 2: TỔNG QUAN VỀ BÀI TOÁN PHÂN LOẠI 2.1 Giới thiệu về Máy học

2.1.1 Khái niệm về Máy học

Trong cuốn sách “Machine Learning”, tác giả Tom Mitchell đưa ra khái niệm Máy học (Machine Learning) như sau: “Machine learning is the study of computer algorithms that allow computer programs to automatically improve through experience” [2] Theo khái niệm này, Máy học là tìm ra các thuật toán cho phép máy tính tự học từ các kiến thức có sẵn, từ những kiến thức đó máy tính tự cải thiện, nâng cấp

Máy học là một lĩnh vực nghiên cứu được giao thoa bởi nhiều lĩnh vực nghiên cứu: Thống kê, Trí tuệ nhân tạo, Khoa học máy tính Máy học hiện tại đang rất phổ biến trong cuộc sống hiện nay Ví dụ: khi truy cập vào Youtube, sau một khoảng thời gian quan sát “lịch sử truy cập”, Youtube đã có thể đưa ra đề xuất Video có nội dung tương tự, hoặc các kênh Youtube có nội dung sáng tạo gần giống nhau Hoặc khi mua hàng trên Tiki hoặc Shopee, sau một khoảng thời gian sẽ có đề xuất các sản phẩm tương tự như sản phẩm từng mua Ngoài các ứng dụng thương mại, Máy học còn có những ảnh hưởng to lớn đối với cách thực hiện nghiên cứu theo hướng dữ liệu ngày nay như: trong thiên văn học giúp hỗ trợ tìm kiếm các hành tinh, vì sao xa xôi; trong y tế giúp đề xuất các phương pháp điều trị ung thư, hỗ trợ phân tích DNA

Máy học có mối liên hệ với AI, Big data và khả năng nhìn trước tương lai của máy học:

a) Máy học và AI

AI (Artificial Intelligence) là viết tắt của trí tuệ nhân tạo đề cập đến các máy tính, các cỗ máy, robot “bắt chước” trí thông minh của con người để thực hiện các nhiệm vụ và có khả năng tự cải thiện “tư duy” thông qua các dữ liệu mà chúng tìm hiểu được AI thể hiện mục tiêu của con người mong muốn tạo ra được một robot có trí thông minh của con người, có thể hỗ trợ con người phát triển cuộc sống Còn Máy học là một công cụ hứa hẹn sẽ giúp con người “bước đi” trên con đường chinh phục AI [3]

Trang 16

b) Machine learning và Big Data

Big Data là thuật ngữ chỉ dữ liệu có kích thước rất lớn mà các phần mềm quản lí truyền thống khó có thể xử lí được Trong thời kì bùng nổ của dữ liệu hiện nay, giới truyền thông thường nhắc tới một thuật ngữ khoa học là Big Data, tuy nhiên Big Data không thực sự là một ngành khoa học chính thống Hiện nay mạng Internet ngày càng phát triển, kéo theo đó nhu cầu chia sẻ thông tin trên các trang mạng xã hội như Facebook, Instagram, Twitter, Youtube của con người ngày càng nhiều, vì vậy sự xuất hiện và phát triển của Big Data là một hệ quả tất yếu [3] Những con số dưới đây tính đến năm 2023 thể hiện quy mô của Big Data [4]:

• YouTube có 1,7 tỷ người truy cập hàng tháng;

• Mỗi ngày, Google xử lý 8,5 tỷ lượt tìm kiếm;

• Người dùng WhatsApp trao đổi tới 65 tỷ tin nhắn mỗi ngày;

• Thế giới sẽ sản xuất hơn 180 zettabyte dữ liệu vào năm 2025;

• 80-90% dữ liệu tạo ra ngày nay là không có cấu trúc

Để khai thác được lượng dữ liệu khổng lồ của Big Data thì công cụ tiềm năng nhất chính là Máy học

c) Machine learning và dự đoán tương lai

Vào năm 1957,nhà tâm lí học người Mỹ Frank Rosenblatt đã nghiên cứu ra thuật toán Máy học đầu tiên là thuật toán Perceptron Hình 2.1 dưới đây minh họa thuật toán Perceptron được dùng để phân loại hai khái niệm: thư rác (hình tròn) và thư bình thường (hình vuông) và kết quả dự đoán (hình tam giác) thuộc nhóm nào

Hình 1 1: Hinh 2 1:

Hình 2 1: Thuật toán Perceptron

Trang 17

Thuật toán Perceptron được phát biểu như sau: Cho một tập gồm các điểm Hình vuông (◼) và Hình tròn (⚫), thuật toán Perceptron thực hiện tính toán và tìm một đường phẳng phân chia thành 2 lớp riêng biệt: lớp 1 là các điểm hình Hình vuông (◼), lớp 2 là các các điểm Hình tròn (⚫) [3]

Máy học dựa vào những dữ liệu đã học để đưa ra dự đoán tương lai, nhưng chỉ khi tương lai có mối liên hệ mật thiết với hiện tại Dự đoán này có thể đúng cũng có thể sai

2.1.2 Thuật toán Máy học

2.1.2.1 Phân nhóm dựa trên phương thức học

a) Học có giám sát

Về cơ bản, Học có giám sát (Supervised Learning) là máy học có huấn luyện bằng cách sử dụng dữ liệu được gắn nhãn rõ ràng Sau đó, máy được cung cấp tập mẫu dữ liệu mới để thuật toán phân tích và đưa ra kết quả chính xác từ dữ liệu được gắn nhãn

Cho một tập biến đầu vào 𝐴 = {𝑎1, 𝑎2, … , 𝑎𝑁} và một tập nhãn tương ứng 𝐵 ={𝑏1, 𝑏2, … , 𝑏𝑁}, trong đó 𝑎𝑖, 𝑏𝑖 là các vector Từ tập đầu vào và tập nhãn, sẽ có tập dữ liệu huấn luyện là các cặp dữ liệu biết trước (𝑎𝑖, 𝑏𝑖) ∈ 𝐴 × 𝐵 Từ tập huấn luyện này, thực hiện tính toán và tìm ra một hàm số ánh xạ sao cho mỗi phần tử từ tập 𝐴 sang một phần tử (xấp xỉ) tương ứng của tập 𝐵:

Học có giám sát được huấn luyện từ những dữ liệu thu thập được Từ những dữ liệu (đầu vào và đầu ra) đó tạo ra những “kinh nghiệm”, từ những “kinh nghiệm” đó để thực hiện xác định được những đầu ra cho những dữ liệu mới giúp giải quyết các

Trang 18

bài toán như đưa ra các khuyến nghị, cảnh báo Tuy nhiên, việc sử dụng Học có giám sát để phân loại dữ liệu là một thách thức lớn

b) Học không giám sát

Học không giám sát (Unsupervised Learning) là một thuật toán máy học sử dụng dữ liệu đầu vào không có nhãn dán và chưa được phân loại Học không giám sát sẽ thực hiện một số nhiệm vụ như phân cụm dữ liệu, sắp xếp các điểm dữ liệu có tính chất tương đồng Một cách hiểu đơn giản hơn, Học không giám sát là một bài toán chỉ biết dữ liệu vào 𝐴 mà không biết nhãn 𝐵 tương ứng với 𝐴 Học không giám sát là thuật toán mạnh trong việc xử lí dữ liệu không nhãn dán [3]

Học không giám sát được phân loại thành hai loại thuật toán:

− Clustering (Phân cụm): Khám phá quy luật trong các nhóm của dữ liệu, ví dụ như tìm ra quy luật mua hàng của các nhóm khách hàng;

− Association (Luật kết hợp): Các quy tắc kết hợp từ dữ liệu, chẳng hạn như những người mua 𝑋 cũng có xu hướng mua 𝑌;

Học không giám sát sử dụng dữ liệu không có nhãn và học dựa trên các sự tương đồng nên đây chính là điểm tối ưu hơn so với học có giám sát Nhưng học không giám sát đôi khi có tỉ lệ chính xác thấp hơn so với học có giám sát

c) Học bán giám sát

Học bán giám sát (Semi-Supervised Learning) là thuật toán máy học sử dụng dữ liệu được gắn nhãn và dữ liệu không được gắn nhãn Học bán giám sát là một “kỹ thuật lai” giữa học tập có giám sát và không giám sát

Ý tưởng cốt lõi của học bán giám sát là xử lý một điểm dữ liệu khác dựa trên việc nó có nhãn hay không: đối với các điểm được gắn nhãn, thuật toán sẽ sử dụng thuật toán học có giám sát để cập nhật trọng số của mô hình; còn đối với các điểm không được gắn nhãn, thuật toán sẽ sử dụng thuật toán học không giám sát để cố gắng gom nhóm với các điểm đã có gắn nhãn dựa trên các điểm tương đồng để đưa ra dự đoán

Trong hình 2.2, giả sử có một tập dữ liệu gồm nhiều điểm mà chỉ có 8 điểm dữ liệu được gắn nhãn, phần còn lại không được gắn nhãn

Trang 19

Hình 2 2: Mô phỏng các điểm dữ liệu được gắn nhãn và không được gắn nhãn (Nguồn: https://www.v7labs.com [5])

Học có giám sát cập nhật trọng số của mô hình để giảm thiểu sự sai lệch giữa các dự đoán và nhãn Tuy nhiên, việc dự đoán đối với dữ liệu được gắn nhãn rất ít sẽ dễ sai lệch việc dự đoán Mặt khác, học tập không giám sát cố gắng tập hợp các điểm lại với nhau dựa trên những điểm tương đồng ở một số đặc điểm (Hình 2.3)

Hình 2 3: Mô phỏng Học có giám sát và không giám sát (Nguồn: https://www.v7labs.com [5])

Nếu dữ liệu được gán nhãn quá ít, hoặc phân cụm khó khăn, thì các thuật toán học có giám sát và thuật toán học không được giám sát có thể trả về kết quả dự đoán

Trang 20

không chính xác Tuy nhiên, trong Học bán giám sát, sử dụng dữ liệu được gắn nhãn và dữ liệu không được gắn nhãn Với cả hai phần — dữ liệu được gắn nhãn và không được gắn nhãn — máy có thể huấn luyện tạo ra các mô hình chính xác và linh hoạt hơn (Hình 2.4)

Hình 2 4: Mô phỏng học bán giám sát (Nguồn: https://www.v7labs.com [5])

d) Học Củng Cố

Học củng cố (Reinforcement Learning) là một thuật toán Máy học dựa trên yếu tố “kinh nghiệm” và các yếu tố khách quan từ môi trường Học củng cố sẽ ghi nhận các trạng thái tốt nếu các hành động sau khi thực hiện nhận được đánh giá tốt và sẽ ghi nhận lại các trạng thái không tốt để loại bỏ hoặc chỉnh sửa lại các hành động nếu các hành động sau khi thực hiện được đánh giá không tốt [3]

Trong Học củng cố, máy sẽ học bằng cách sử dụng phản hồi tích cực hoặc tiêu cực, mà không có bất kỳ dữ liệu được gắn nhãn nào, không giống như học có giám sát Ràng buộc của Học củng cố là dựa trên những “kinh nghiệm” mà máy có được dựa trên các phản hồi Nó là một phần cốt lõi của Trí tuệ nhân tạo và tất cả robot AI đều hoạt động dựa trên khái niệm học củng cố, tăng cường Các robot AI không cần lập trình trước tác nhân vì nó sẽ học hỏi từ kinh nghiệm của chính mình mà không cần bất kỳ sự can thiệp nào của con người

Trang 21

2.1.2.2 Phân nhóm dựa trên chức năng

a) Thuật toán hồi quy

Thuật toán hồi quy (Regression Algorithms) sử dụng dữ liệu đầu vào để đưa ra các dự đoán hoặc đưa ra các giá trị đầu ra là một giá trị cụ thể (số,…) thông qua kết quả từ giai đoạn huấn luyện của mô hình máy học Các thuật toán hồi quy sẽ tìm hiểu mối liên hệ giữa các đặc trưng của dữ liệu vào với giá trị đầu ra tương ứng với các đặc trưng dữ liệu đầu vào Vì vậy, thuật toán hồi quy sẽ sử dụng dữ liệu gồm dữ liệu đầu vào là các đặc trưng của dữ liệu và kèm theo các giá trị đầu ra tương ứng của dữ liệu đầu vào [5]

Một số thuật toán Hồi quy thường dùng trong Máy học là: thuật toán Linear Regression, thuật toán Logistic Regression, thuật toán Locally Estimated Scatterplot Smoothing (LOESS), thuật toán Stepwise Regression,…

b) Thuật toán dựa trên mẫu

Nhóm thuật toán dựa trên mẫu (Instance-based Algorithms) sử dụng một bộ dữ liệu được gọi là dữ liệu chuẩn Nhóm thuật toán này sẽ thực hiện tìm mối tương đồng giữa bộ dữ liệu chuẩn và dữ liệu mới để đưa ra dự đoán phù hợp [5]

Một số thuật toán dựa trên mẫu thường dùng trong Máy học là: thuật toán Nearest Neighbor, thuật toán Locally Weighted Learning (LWL), thuật toán Learning Vector Quantization (LVQ),…

k-c) Thuật toán chuẩn hóa

Nhóm thuật toán chuẩn hóa (Regularization Algorithms) là một phiên bản mở rộng của những các thuật toán đã có (ví dụ điển hình là các thuật toán hồi quy) [5]

Một số thuật toán chuẩn hóa thường dùng trong Máy học là: thuật toán Elastic Net, thuật toán Least Absolute Shrinkage and Selection Operator (LASSO), thuật toán Least-Angle Regression (LARS), thuật toán Ridge Regression

d) Thuật toán cây quyết định

Nhóm thuật toán Cây quyết định (Decision Tree Algorithm) là một dạng Học có giám sát Nhóm thuật toán cây quyết định dùng để phân lớp dữ liệu Cây quyết định là cây sao cho: Mỗi nút không phải lá kết hợp với một thuộc tính Mỗi lớp không

Trang 22

phải lá kết hợp với một giá trị phân lớp rời rạc (nhãn phân lớp + hoặc -) Mỗi cung được kết hợp với một trong những giá trị có thể của thuộc tính [5]

Một số thuật toán cây quyết định thường dùng trong Máy học là: thuật toán squared Automatic Interaction Detection (CHAID), thuật toán Conditional Decision Trees, thuật toán Decision Stump, thuật toán C4.5 và C5.0, thuật toán Classification, thuật toán Regression Tree – CART và thuật toán Iterative Dichotomiser 3 (ID3)

Chi-e) Thuật toán Bayes

Nhóm thuật toán Bayes (Bayesian Algorithms) là nhóm thuật toán áp dụng định lý Bayes để giải quyết các vấn đề, ví dụ như các vấn đề về phân loại và hồi quy [5]

Một số thuật toán Bayes thường dùng trong Máy học là: thuật toán Averaged One-Dependence Estimators (AODE), thuật toán Bayesian Network (BN), thuật toán Bayesian Belief Network (BBN), thuật toán Multinomial Naive Bayes, thuật toán Gaussian Naive Bayes, thuật toán Naive Bayes,…

f) Thuật toán phân cụm

Nhóm thuật toán luật phân cụm (Clustering Algorithms) là một dạng Học không giám sát vì dữ liệu được cung cấp cho thuật toán xử lý không được gắn nhãn Thuật toán phân cụm có nhiệm vụ phân chia điểm dữ liệu thành nhiều nhóm sao cho các điểm dữ liệu trong cùng một nhóm phải cùng tính chất và có những điểm tương đồng Sau khi áp dụng kỹ thuật phân cụm này, mỗi cụm hoặc nhóm được cung cấp một ID cụm Hệ thống Machine Learning có thể sử dụng ID này để đơn giản hóa việc xử lý các tập dữ liệu lớn và phức tạp [5]

Một số thuật toán phân cụm thường dùng trong Máy học là: thuật toán Expectation Maximisation (EM – cực đại hóa kỳ vọng), thuật toán Hierarchical Clustering, thuật toán k-Means,…

g) Thuật toán luật kết hợp

Nhóm thuật toán luật kết hợp (Association Rule Learning Algorithms) là một dạng Học không giám sát nhằm kiểm tra sự phụ thuộc của một đối tượng trong dữ liệu vào một hoặc nhiều đối tượng khác trong dữ liệu [5]

Trang 23

Một số thuật toán luật kết hợp thường dùng trong Máy học là: thuật toán Apriori algorithm, thuật toán Eclat algorithm, thuật toán FP-Growth algorithm,…

h) Thuật toán mạng nơron nhân tạo

Nhóm thuật toán mạng nơron nhân tạo (Artificial Neural Network Algorithms) là một dạng Học không giám sát Thuật toán mạng nơron nhân tạo có ý tưởng từ mạng lưới thần kinh sinh học của bộ não con người Mạng nơ-ron nhân tạo là một hệ thống song song, các thành phần được kết nối với nhau theo cấu trúc phân cấp và xử lý các đối tượng trong thế giới thực giống như cách thức của hệ thần kinh sinh học [5]

Một số thuật toán mạng nơron nhân tạo thường dùng trong Máy học là: thuật toán Mạng lan truyền thẳng, thuật toán Mạng truyền thẳng đa lớp, thuật toán Hopfield Network, thuật toán Radial Basis Function Network (RBFN),…

i) Thuật toán học sâu

Nhóm thuật toán học sâu (Deep Learning Algorithms) thực chất là một dạng nâng cấp của thuật toán Mạng nơron nhân tạo Nhóm thuật toán học sâu xây dựng hệ thống mạng thần kinh cho phép xử lí với các dữ liệu lớn và phức tạp hơn với Mạng nơron nhân tạo [5]

Một số thuật toán học sâu thường dùng trong Máy học là: thuật toán Deep Boltzmann Machine (DBM), thuật toán Deep Belief Networks (DBN), thuật toán Convolutional Neural Network (CNN), thuật toán Stacked Auto-Encoders,…

j) Thuật toán Giảm chiều dữ liệu

Nhóm thuật toán Giảm chiều dữ liệu (Dimensionality Reduction Algorithms) là một cách chuyển đổi bộ dữ liệu dung lượng lớn thành bộ dữ liệu dung lượng nhỏ hơn để đảm bảo rằng nó cung cấp thông tin tương tự như bản gốc Thuật toán này thường được sử dụng rộng rãi trong máy học để xây dựng một mô hình dự đoán phù hợp hơn trong khi giải quyết các vấn đề phân loại và hồi quy

Một số thuật toán Giảm chiều dữ liệu thường dùng trong Máy học là: thuật toán Flexible Discriminant Analysis (FDA), thuật toán Multidimensional Scaling (MDS),

Trang 24

thuật toán Partial Least Squares Regression (PLSR), thuật toán Quadratic Discriminant Analysis (QDA), thuật toán Sammon Mapping,…

k) Thuật toán kết hợp

Thuật toán kết hợp (Ensemble Algorithms) giúp cải thiện kết quả học máy bằng cách kết hợp hai hay nhiều mô hình (Hình 2.5) Cách tiếp cận này cho phép tạo ra hiệu suất dự đoán tốt hơn so với một mô hình duy nhất [5]

Hình 2 5: Thuật toán kết hợp (Ensemble Algorithms)

Một số thuật toán kết hợp thường dùng trong Máy học là: thuật toán AdaBoost, thuật toán Boosting, thuật toán Gradient Boosting Machines (GBM), thuật toán Bootstrapped Aggregation (Bagging)

2.2 Các thuật toán phân loại

2.2.1 Thuật toán Logistic Regression

2.2.1.1 Khái niệm

Thuật toán Logistic Regression được sử dụng cho bài toán phân loại nhị phân (0,1) dựa trên một hoặc nhiều biến dự báo Biến nhị phân thường được gọi là biến phản hồi (response variable) hoặc biến phụ thuộc (dependent variable) [3]

Trang 25

Thuật toán Logistic Regression sử dụng hàm Sigmoid Logistic để trả về một giá trị xác suất có thể ánh xạ được tới hai hay nhiều lớp rời rạc Thuật toán Logistic Regression là một nhánh con của nhóm thuật toán phân lớp [3]

Thuật toán Logistic Regression đặc biệt có giá trị được tạo ra từ một mô hình là các xác suất, được giới hạn trong phạm vi giá trị 0–1 Chính xác hơn, thuật toán Logistic Regression dự đoán xác suất trả về giá trị 0 hoặc 1 với một bộ giá trị dự đoán cụ thể

Bài toán về hồi quy Logistic:

Input: Tập dữ liệu huấn luyện (training data): 𝑥 = (𝑥1, … , 𝑥𝑛) là một vector chứa các đặc trưng của dữ liệu đầu vào

Output : Dự đoán xác suất trả về rơi vào nhãn 0 hoặc nhãn 1

Yêu cầu bài toán là tìm một mô hình 𝑓(𝑥) ≈ 𝑦 với 𝑓(𝑥) = 𝑤0 + 𝑤1𝑥1 + … + 𝑤𝑁𝑥𝑁

Trong đó:

− 𝑤1, … , 𝑤𝑁 là các hằng số;

− 𝑤0 là bias;

− 𝑦 là dữ liệu đầu ra trong tập huấn luyện;

− ŷ là dữ liệu đầu ra của mô hình dự đoán được

Bài toán cần tìm được các hệ số tối ưu cho 𝑤1, … , 𝑤𝑛 Hai giá trị 𝑦 và ŷ là hai giá trị khác nhau vì có sai số 𝑦 và ŷ sau khi đã huấn luyện mô hình Sai số này càng nhỏ thì mô hình càng tốt

Giả sử có hai tập hợp dữ liệu có gán nhãn Hai lớp này là tập hợp các điểm “Hình tròn ⚫” và các “Hình vuông ◼” Từ bộ dữ liệu thực hiện phân lớp, thực hiện dự đoán nhãn cho một điểm dữ liệu mới “Hình ngôi sao ” (Hình 2.6)

Để xác định xem điểm “Hình ngôi sao ” là thuộc nhãn dán nào thì cần xác định xem điểm này sẽ thuộc lớp nào Vì vậy cần phải tìm biên giới giữa các lớp (Hình 2.6)

Trang 26

Hình 2 6: Biểu diễn mô hình phân lớp

Đầu ra của thuật toán Logistic Regression là một hàm 𝑓(𝑋) có công thức là 𝑓(𝑋) = (∑𝑛𝑖=1𝑤𝑖𝑥𝑖) + 𝑏 = 𝑤𝑥 + 𝑏 với 𝑤 = (𝑤1, … , 𝑤𝑛) và 𝑥 = (𝑥1, … , 𝑥𝑛) Hàm này có tính chất:

− Là hàm số liên tục nhận giá trị thực và bị chặn trong khoảng (0,1);

− Nếu xem điểm có tung độ là 0.5 thì các điểm sẽ có giá trị gần về 0 nếu các điểm này càng xa điểm phân chia về phía bên trái Ngược lại, các điểm sẽ có giá trị gần về 1 nếu các điểm này càng xa về điểm phân chia về phía bên phải

Hàm số Sigmoid là hàm số có những tính chất nói trên và được sử dụng nhiều nhất so với những hàm số khác cũng có những tính chất nói trên

2.2.1.2 Hàm Sigmoid

Thuật toán hồi quy Logistic là thuật toán thuộc nhóm các thuật toán phân lớp Hàm Sigmoid Logistic dùng để ánh xạ đến hai hay nhiều lớp rời rạc và trả về một giá trị xác suất Dự đoán của hồi quy Logistic sẽ trả về các giá trị hoặc danh mục cụ thể Đầu ra của dữ liệu bị chặn trong đoạn [0,1]

Dữ liệu đầu ra là số thực nhưng giá trị chuyển đổi quy ước thành hai lớp 0 và 1 Dùng phương pháp thống kê, có thể cho rằng khả năng một đầu vào 𝑥 thuộc vào một nhóm 𝑦0 thì xác suất nhóm 𝑦0 khi biết 𝑥: 𝑝(𝑦0|𝑥) = 1

1+ 𝑒−𝑧 = 𝜎(𝑧), vậy 𝜎(𝑧) gọi là hàm Sigmoid

Trang 27

Trong đó:

− 𝜎(𝑧) là dữ liệu đầu ra từ 0 đến 1;

− 𝑒 là logarit cơ số 𝑒;

− 𝑧 là hàm tuyến tính: 𝑧 = 𝑤𝑥 + 𝑏 có dạng 𝑤0 + 𝑤1𝑥1+ … + 𝑤𝑘𝑥𝑘 với 𝑥1, 𝑥2, … , 𝑥𝑛 là các thuộc tính của đối tượng; 𝑤1, 𝑤2, … , 𝑤𝑛 là các hệ số

Lim của hàm Sigmoid:

Trong hàm Sigmoid có 𝑒−𝑧, thực hiện tìm lim của 𝑒−𝑧: lim

𝑧→−∞𝑒−𝑧 = +∞ lim

𝑧→0𝑒−𝑧 = 1 lim

1+ 𝑒−𝑧 = 1

1+∞ = 0 lim

𝑧→0𝜎(𝑧) = lim

1+ 𝑒−𝑧 = 1

1+1 = 0.5 lim

𝑧→+∞𝜎(𝑧) = lim

1+ 𝑒−𝑧 = 1

1+0 = 1

Hình 2 8: Đồ thị lim của hàm Sigmoid

Đạo hàm của Sigmoid

Trang 28

Ranh giới quyết định (Decision Bound): Hàm dự đoán có kết quả là xác suất từ

0 đến 1, vì vậy cần một ngưỡng để ánh xạ thành giá trị 0 và 1 Theo nguyên tắc nếu 𝜎(𝑧) > 0.5 thì xếp vào nhóm 1; nếu 𝜎(𝑧) ≤ 0.5 thì xếp vào nhóm 0:

𝐷𝑒𝑐𝑖𝑠𝑖𝑜𝑛(𝑥) = {1 𝑖𝑓 𝑃(𝑖 = 1|𝑥) > 0.50 𝑛𝑔ượ𝑐 𝑙ạ𝑖

Hình 2 9: Ranh giới quyết định (Decision Bound)

2.2.1.3 Xác suất của Logistic và phân phối Bernoulli

Phân phối Bernoulli được thể hiện bằng một biến p xác định xác suất của kết quả là 1 Với tham số này, xác suất cho mỗi sự kiện có thể được tính:

𝑃 (𝑋 = 𝑘) = { 𝑝 𝑛ế𝑢 𝑘 = 11 − 𝑝 𝑛ế𝑢 𝑘 = 0

Hồi quy Logistic sẽ được giải thông qua tính hàm ước lượng xác suất 𝑃(𝑋|𝑌) là xác suất của biến cố 𝑋 khi biết biến cố 𝑌 xảy ra Giả sử rằng: xác suất 𝑃(𝑋|𝑌) là một hàm Sigmoid với tham số là một tổ hợp tuyến tính các thuộc tính đầu vào

Hồi quy Logistic giả sử 𝜎(𝑤𝑥 + 𝑏) là xác suất để điểm dữ liệu 𝑥 thuộc vào lớp 1 là 𝜎(𝑤𝑥 + 𝑏) và 1 – 𝜎(𝑤𝑥 + 𝑏) là xác suất để x thuộc vào lớp 0 là Mỗi điểm dữ liệu huấn luyện (𝑥, 𝑦) với giá trị đầu ra 𝑦 đã biết, theo phân phối Bernoulli có:

{ P (y𝑖 = 1| 𝑥𝑖; w) = 𝜎(𝑤𝑥 + 𝑏 )P (𝑦𝑖 = 0| 𝑥𝑖; w) = 1 − 𝜎(𝑤𝑥 + 𝑏 )

Trong đó 𝑃 (𝑦 𝑖 = 1| 𝑥𝑖; 𝑤) là xác suất xảy ra 𝑦1 = 1 khi biết dữ liệu đầu vào 𝑥𝑖 và tham số mô hình 𝑤 Mục đích của hệ số 𝑤: Khi các điểm dữ liệu thuộc class 1 khi 𝜎(𝑤𝑥 + 𝑏) càng tăng dần về 1 và khi các điểm dữ liệu thuộc class 0 khi 𝜎(𝑤𝑥 + 𝑏) càng giảm dần về 0

Trang 29

Đặt 𝑧𝑖 = 𝜎(𝑤𝑥 + 𝑏), xác suất tổng quát 𝑃 (𝑦𝑖|𝑥𝑖; 𝑤) cho một mẫu với hai trường hợp {0, 1} sẽ là:

𝑃 (𝑦𝑖|𝑥𝑖; 𝑤) = ziyi(1 − 𝑧𝑖)1− 𝑦𝑖 (1)

(1) là xác suất tại một điểm dữ liệu Với 𝑦𝑖 = 1 thì (1) sẽ thành P (y𝑖 = 1| 𝑥𝑖; w) = 𝜎(𝑤𝑥 + 𝑏 ), còn với 𝑦𝑖 = 0 thì (1) sẽ thành P (𝑦𝑖 = 0| 𝑥𝑖; w) = 1 − 𝜎(𝑤𝑥 + 𝑏 )

Giả sử rằng các điểm trong bộ dữ liệu là độc lập thì tất các điểm trong bộ dữ liệu sẽ có xác suất là tích của xác xuất tại từng điểm của bộ dữ liệu, có công thức là:

Phương pháp này được đề xuất bởi Vladimir N Vapnik và các đồng nghiệp của ông vào năm 1963 tại Nga và được sử dụng rộng rãi từ khoảng cuối những năm chín mươi của thế kỷ trước Với khả năng tính toán của máy tính ngày càng mạnh, thuật toán dùng cho SVM phát triển rất nhanh và có phạm vi ứng dụng rộng rãi [3]

Dạng chuẩn của SVM sẽ thực hiện tách dữ liệu đầu vào thành hai lớp riêng biệt Vì vậy SVM là một dạng của thuật toán phân loại nhị phân, nhưng thuật toán SVM vẫn có thể phân loại được với trường hợp đa lớp Xây dựng một mô hình SVM huấn luyện dựa trên mẫu huấn luyện đã được phân thành hai lớp, từ mô hình thực hiện dự đoán và phân loại cho mẫu mới [3]

Trang 30

Hiện nay, thuật toán SVM là một trong những thuật toán máy học có giám sát phổ biến nhất Có nhiều thư viện cho phép sử dụng ngay thuật toán SVM (trong đó có thư viện Sklearn) SVM cho kết quả dự đoán có độ chính xác cao và thường được sử dụng trong nhiều ứng dụng [3]

2.2.2.2 Ý tưởng phương pháp

Cho một tập dữ liệu huấn luyện gồm 𝑛 đối tượng là các “Hình tròn ⚫” và “Hình vuông ◼” và được biểu diễn thành các điểm trong không gian vector Thuật toán SVM thực hiện tìm siêu phẳng tốt nhất có thể chia “Hình tròn ⚫” và “Hình vuông ◼” thành hai lớp riêng biệt (Hình 2.10)

Nếu trong trường hợp thuật toán SVM không thể tìm một siêu phẳng để phân chia thành hai lớp riêng biệt, thuật toán SVM sẽ chuyển không gian ban đầu thành một không gian có số chiều cao hơn bằng phương pháp ánh xạ Ở không gian mới này thực hiện tìm siêu phẳng tốt nhất Từ tập dữ liệu huấn luyện ban đầu có tìm thấy nhiều siêu phẳng để phân chia được tập dữ liệu đó Trong những siêu phẳng đó, thuật toán SVM là tìm một siêu phẳng sao cho khoảng cách từ siêu phẳng này đến các mẫu có nhãn khác nhau là cực đại

Hình 2 10: Ý tưởng, phương pháp thuật toán SVM

Trong Hình 2.10, đường số (1) được gọi là siêu phẳng tốt nhất Những đường số (2) và (3) được gọi là lề (margin) Những đường này đi qua các điểm khoanh tròn, các điểm này gọi là các vector hỗ trợ (support vector)

Trang 31

Các vector hỗ trợ sẽ quyết định hàm phân tách dữ liệu Vì thuật toán SVM không hoàn toàn dựa vào dữ liệu huấn luyện ban đầu mà chỉ dựa vào các vector hỗ trợ nên việc loại bỏ đi các điểm khác thì thuật toán vẫn cho kết quả tương tự Đây là điểm mạnh của thuật toán SVM so với các thuật toán khác

2.2.2.3 Cơ sở lí thuyết

Cho tập huấn luyện 𝑇 = {(𝑥1, 𝑦1), (𝑥2, 𝑦2), … , (𝑥𝑛, 𝑦𝑛)} trong đó 𝑥𝑖 gọi là các vector đặc trưng với điều kiện 𝑥𝑖  𝑅𝑛 và 𝑦𝑖 là nhãn phân loại tương ứng với các vector đặc trưng 𝑥𝑖 với 𝑦𝑖  {−1, +1} Giả thuyết chọn 𝐷 là các tập đặc trưng với các giá trị của 𝐷 = {𝑑1, 𝑑2, … , 𝑑𝑛} thì vector đặc trưng 𝑥𝑖 = {𝑥𝑖1, 𝑥𝑖2, … , 𝑥𝑖𝑛} trong đó 𝑥𝑖𝑗  𝑅𝑛 Theo khái niệm, SVM là một dạng của thuật toán phân loại nhị phân nên nhãn 𝑦𝑖 sẽ nhận hai giá trị là −1 hoặc +1

Thuật toán SVM sẽ tìm được nhiều siêu phẳng có thể phân tách các điểm 𝑦𝑖 = +1 và 𝑦𝑖 = −1 Mỗi siêu phẳng sẽ được biểu diễn dưới dạng 𝑓(𝑥) [3]:

𝑓(𝑥) = < 𝑤 𝑥 > +𝑏 = 0

Trong đó:

− 𝑤 là vector pháp tuyến của siêu phẳng;

− 𝑏 là một số thực thì khoảng cách giữa siêu phẳng theo hướng pháp tuyến w và gốc tọa độ là 𝑏

‖𝑤‖ là trong đó ‖𝑤‖ là độ dài chuẩn của vecto 𝑤;

− < 𝑤 𝑥 > biểu thị cho tích vô hướng 𝑤 và 𝑥 Sao cho với mỗi 𝑥𝑖 phân tách được 𝑦𝑖:

𝑦𝑖 = {+1, 𝑤⃗⃗⃗⃗ 𝑥𝑖⃗⃗⃗ + b ≥ 0𝑖−1, 𝑤⃗⃗⃗⃗ 𝑥𝑖⃗⃗⃗ + b < 0𝑖

Thuật toán SVM thực hiện tìm 𝑏 và 𝑤 sao cho tìm được một siêu phẳng 𝑓(𝑥) = < 𝑤 𝑥 > + 𝑏 có lề lớn nhất

2.2.2.4 SVM tuyến tính

a) Với tập dữ liệu phân tách được

Giả sử cho tập huấn luyện 𝐷 = {(𝑥1, 𝑦1), (𝑥2, 𝑦2), … , (𝑥𝑟, 𝑦𝑟)} có thể phân

Trang 32

tách được Với 𝑥𝑖 là một vector đặc trưng 𝑥𝑖 = (𝑥𝑖1, 𝑥𝑖2, 𝑥𝑖3, … , 𝑥𝑖𝑛), 𝑦𝑖 là 1 lớp nhãn {−1; 1}

SVM tìm được một siêu phẳng dưới dạng: 𝑓(𝑥) = < 𝑤 𝑥 > + 𝑏 = 0 Sao cho với mỗi 𝑥𝑖:

𝑦𝑖 = { 1 𝑛ế𝑢 < 𝑤 𝑥𝑖 > +𝑏 ≥ 0−1 𝑛ế𝑢 < 𝑤 𝑥𝑖 > +𝑏 < 0

Siêu phẳng (𝐻0) phân tách thành 2 lớp dương và lớp âm có dạng: < 𝑤 𝑥 > + 𝑏 = 0 (Hình 2.11) Thuật toán SVM thực hiện tìm một siêu phẳng có lề lớn nhất

Hình 2 11: SVM tuyến tính với tập dữ liệu phân tách được

Kí hiệu (𝑥+, 1) là lớp khẳng định và (𝑥−, 1) là lớp phủ định có khoảng cách gần siêu phẳng 𝐻0 nhất Định nghĩa 2 siêu phẳng này dưới dạng:

− Siêu phẳng 𝐻+ (Siêu phẳng biên cộng) đi qua 𝑥+ và song song với 𝐻0:

Trang 33

Độ rộng lề (Margin) là khoảng cách giữa siêu phẳng 𝐻+ và siêu phẳng 𝐻−, trong đó:

‖𝑤‖ = 1

Theo (2.2) và (2.3), 𝑑− là khoảng cách từ 𝑥− đến 𝐻0 là: 𝑑− = |〈𝑤.𝑥+〉+ 𝑏 |

{ < w x𝑖 > + b ≥ 1, nếu 𝑦𝑖 = +1

< w x𝑖 > + b ≥ −1, 𝑛ế𝑢 𝑦𝑖 = −1 với ∀𝑖 = 1, 2, … , 𝑛

Với các tập huấn luyện 𝑥𝑖, bài toán sẽ chuyển thành bài toán cực tiểu hóa có ràng buộc sau:

Trang 34

𝐿(𝑤, 𝑏, 𝛼) = 1

2‖𝑤‖2 − ∑𝑛𝑖=1𝛼[𝑦𝑖(〈𝑤 𝑥𝑖〉 + 𝑏 − 1)]Với αi ≥ 0 là hệ số Lagrange

Để tìm được biểu thức đối ngẫu Lagrange: Thực hiện tính đạo hàm 𝐿(𝑤, 𝑏, 𝛼) theo 𝑤 và 𝑏; sau đó thay vào biểu thức Lagrange ban đầu:

Từ (2.5), bài toán đối ngẫu Lagrange:

Trang 35

− Trường hợp 1: Với 𝛼𝑖 = 0, vì 𝑤 = ∑𝑛𝑖=1𝛼𝑖𝑦𝑖𝑥𝑖 = ∑𝑛 𝛼𝑖𝑦𝑖𝑥𝑖

𝑥𝑖∈𝑆𝑉 nên mẫu 𝑥𝑖 sẽ không được tham gia vào việc tính toán 𝑤 và 𝑏

− Trường hợp 2: Với 𝛼𝑖 > 0, từ (2.6) thì 〈𝑤 𝑥𝑖〉 + 𝑏 = 𝑦𝑖 Điều này có nghĩa là 𝑥𝑖 nằm trên một trong hai lề 𝑤 𝑥 + 𝑏 = +1 và 𝑤 𝑥 + 𝑏 = −1 Khi đó 𝑥𝑖 được gọi là vector hỗ trợ

Từ 𝑤 và 𝑏, công thức siêu phẳng 𝑓(𝑥) để phân lớp: 𝑓(𝑥) = 〈𝑤 𝑥〉 + 𝑏 = ∑ 𝛼𝑗𝑦𝑗𝑥𝑗𝑥 + 𝑏

Đối với tập dữ liệu phân tách được sẽ là một trường hợp dữ liệu phân tách lí tưởng cho thuật toán SVM và với trường hợp này, lề lớn nhất được tìm được từ dữ liệu phân tách được được gọi là lề cứng (hard margin)

b) Với tập dữ liệu có nhiễu

Lề cứng sử dụng cho các điểm dữ liệu phải được phân lớp đúng và không có lỗi

Trang 36

huấn luyện Nhưng với những trường hợp tập huấn luyện bị lỗi thì phải sử dụng một giải pháp là sử dụng phân lớp lề mềm Phân lớp lề mềm sẽ thêm vào một biến để cho phép phân loại sai cho các mẫu dữ liệu bị nhiễu

Trong Hình 2.12 có 2 điểm không đúng là 𝑥𝑎 và 𝑥𝑏: 𝑥𝑎 phải thuộc vào lớp +1 nhưng lại nằm ở lớp −1 và 𝑥𝑏 phải thuộc vào lớp −1 nhưng lại nằm ở lớp +1 Tại trường hợp nếu sử dụng phân loại lề cứng sẽ khó có thể phân loại được đúng

Hình 2 12: Trường hợp dữ liệu huấn luyện không phân tách được

Tại trường hợp Hình 2.12 để xử lí được những dữ liệu nhiễu và gán nhãn sai, thuật toán sẽ sử dụng một biến bù ξi với ξi ≥ 0 để mềm hóa các điều kiện, lúc này các điểm dữ liệu sẽ thỏa mãn:

〈𝑤 𝑥𝑖〉 + 𝑏 ≥ 1 − ξ𝑖 nếu 𝑦𝑖 = +1 〈𝑤 𝑥𝑖〉 + 𝑏 ≥ −1 + ξ𝑖 nếu 𝑦𝑖 = −1

Đối với một dữ liệu nhiễu (lỗi) thì ξi ≥ 1 và ∑ ξ𝑖 gọi là giới hạn của lỗi trong tập huấn luyện Với các tập huấn luyện 𝑥𝑖, bài toán chuyển thành:

Trang 37

Trong đó, 𝐶 là tham số phạt với 𝐶 > 0 Giá trị 𝐶 xác định mức độ chính xác mà thuật toán phải đạt được Giá trị 𝐶 và chi phí độ lỗi sẽ tỉ lệ thuận với nhau: C tăng thì chi phí tăng Tăng giảm giá trị 𝐶 sẽ ảnh hưởng đến số lượng các biến phụ ξ𝑖 và độ cực đại biên Để tìm được biểu thức đối ngẫu đơn giản hơn thì thường sử dụng giá trị 𝑘 = 1

Biểu thức Lagrange là: Lp = 1

2‖𝑤‖2+ 𝐶(∑ ξ𝑖) − ∑𝑛 𝛼𝑖[𝑦𝑖(〈𝑤 𝑥𝑖〉

𝑖=1 + 𝑏) − 1 + ξ𝑖] − ∑𝑛𝑖=1𝜇𝑖ξ𝑖Với điều kiện các hệ số nhân Lagrange αi, μi ≥ 0

Lấy đạo hàm theo 𝑤, 𝑏, 𝜉 và thay vào biểu thức Lagrange ban đầu được biểu thức đối ngẫu Lagrange là:

𝐿𝐷 = ∑𝑛𝑖=1𝛼𝑖 - 1

2∑𝑛𝑖=1𝛼𝑖𝛼𝑗𝑦𝑖𝑦𝑗〈𝑥𝑖𝑦𝑗〉Bài toán đối ngẫu Lagrange được xác định:

− Với 𝛼𝑖 = 0, vì w = ∑𝑛𝑖=1𝛼𝑖𝑦𝑖𝑥𝑖 = ∑𝑛𝑥𝑖∈𝑆𝑉𝛼𝑖𝑦𝑖𝑥𝑖 nên mẫu 𝑥𝑖 sẽ không được tham gia vào việc tính toán 𝑤 và 𝑏

Trang 38

− Với 0 < 𝛼𝑖 < 𝐶 , từ (2.8) thì 𝑦𝑖(〈𝑤 𝑥𝑖〉 + 𝑏) = 1 − ξ𝑖 và ξ𝑖 = 0 Điều này có nghĩa 𝑦𝑖(〈𝑤 𝑥𝑖〉 + 𝑏) = 1 hay 𝑥𝑖 nằm trên một trong hai lề 𝑤 𝑥 + 𝑏 = +1 và 𝑤 𝑥 + 𝑏 = −1 Khi đó 𝑥𝑖 được gọi là vector hỗ trợ

− Với 𝛼𝑖 = 𝐶, thì giá trị ξ𝑖 nhận được bất kỳ giá trị nào không âm Tuy nhiên, để phân lớp đúng cho những điểm 𝑥𝑖 thì ξ𝑖 < 1 Ngược lại, những điểm 𝑥𝑖 sẽ bị phân lớp sai nếu ξ𝑖 > 1

− Không thể xảy ra trường hợp 𝛼𝑖 > 𝐶

Gọi 𝑀 là tập hợp các chỉ số của các điểm thuộc hai lề, 𝑁𝑀 là số các chỉ số của các điểm thuộc hai lề, 𝑁𝑆𝑉 là số vector hỗ trợ Ở trường hợp 2, có thể tính được 𝑏, lấy 𝑖 bất kì sao cho 0 < 𝛼𝑖 < 𝐶 suy ra:

Siêu phẳng phân tách dữ liệu:

𝑓 (𝑥) = 〈𝑤 𝑥〉 + 𝑏 = ∑𝑗∈𝑆𝑉𝛼𝑗𝑦𝑗𝑥𝑗𝑥 + 1

∑𝑖∈𝑀(𝑦𝑖 − ∑𝑗∈𝑆𝑉𝛼𝑗𝑦𝑗𝑥𝑗𝑥𝑖) Để phân lớp một mẫu 𝑧 mới, thực hiện tính 𝑠𝑖𝑔𝑛(〈𝑤 𝑧〉 + 𝑏) = 𝑠𝑖𝑔𝑛(∑ 𝛼𝑖𝑦𝑖〈𝑥𝑖 𝑧〉 + 1

Thuật toán SVM phi tuyến được xây dựng theo hai bước như sau:

Trang 39

Bước 1: Ánh xạ dữ liệu ban đầu vào không gian có số chiều cao hơn (Hình 2.13)

Hình 2 13: Chuyển đổi không gian dữ liệu

Bước 2: Tìm siêu phẳng phân tách: Vận dụng các công thức tương tự như SVM tuyến tính để phân tách

Giả sử dữ liệu 𝑥𝑖 ban đầu thuộc không gian 𝑋, dùng một hàm ánh xạ Φ để thực hiện ánh xạ: chuyển tập dữ liệu 𝑥𝑖 sang không gian 𝐹

Φ: X ⟶ F 𝑥 ⟼ Φ(x)

Tập huấn luyện: {(𝑥1, 𝑦1), (𝑥2, 𝑦2), … , (𝑥𝑛, 𝑦𝑛)} chuyển thành {(Φx1, Φy1), (Φx2, Φy2), … , (Φxn, Φyn)}

Hình 2 14: Hàm ánh xạ Φ

Sau quá trình chuyển đổi không gian X thành không gian F, bài toán tối ưu trở thành:

Trang 40

Bài toán đối ngẫu được xác định:

𝑓 (𝑥) = 〈𝑤 Φ(𝑧)〉 + 𝑏 = ∑𝑛𝑖=1𝛼𝑖𝑦𝑖〈Φ(𝑥𝑖)Φ(𝑧)〉 + 𝑏 = 0

Việc chuyển đổi không gian một cách trực tiếp sẽ gặp khó khăn về thời gian và chi phí nếu không gian đầu vào có số chiều quá lớn, hoặc một số trường hợp với số chiều không gian quá nhỏ nhưng vẫn tạo ra không gian đặc trưng có số chiều lớn Do Φ(𝑥) chỉ xuất hiện dưới dạng tích vô hướng Φ(𝑥) Φ(𝑧) mà không xuất hiện riêng rẽ nên sử dụng hàm nhân có thể giải quyết được vấn đề này

2.2.3 Thuật toán Cây quyết định

2.2.3.1 Khái niệm

Cây quyết định có cấu trúc giống như lưu đồ Mỗi nút bên trong biểu thị một “phép thử” của một thuộc tính (ví dụ: tung đồng xu là mặt ngửa hay mặt sấp), mỗi nhánh biểu thị kết quả của phép thử và mỗi nút lá đại diện cho nhãn lớp 𝐴 (quyết định được đưa ra sau khi tính toán tất cả các thuộc tính) Các quy tắc phân loại sẽ được biểu diễn thông qua đường dẫn từ gốc đến lá

Ngày đăng: 19/08/2024, 05:25

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w