Sau khi nắm được lý thuyết của các bài toán dự đoán, em bắt đầu tiếp cận tới các phương pháp để giải quyết các bài toán trên, hay nói cách khác là tìm hiểu các mô hình dự đoán hiện nay đ
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH
-
x0x -LÊ THỊ MỸ HẠNH
MÔ HÌNH MARKOV Ẩ n cho dự đoán lương
(HIDDEN MARKOV MODEL FOR
SALARY-PREDICTION)
KHÓA LUẬN TỐT NGHIỆP NGÀNH KHOA HỌC MÁY TÍNH
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH
-
^0^ -LÊ THỊ MỸ HẠNH
MÔ HÌNH MARKOV ẨN CHO DỰ ĐOÁN LƯƠNG
(HIDDEN MARKOV MODEL FOR
Trang 3TRƯỜNG ĐẠI HỌC MỞ
THÀNH PHỐ HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
GIẤY XÁC NHẬN
Tôi tên là: Lê Thị Mỹ Hạnh Ngày sinh: 01/01/1999 Nơi sinh: Bình Định Chuyên ngành: Khoa học máy tính Mã sinh viên: 1751012016 Tôi đồng ý cung cấp toàn văn thông tin khóa luận tốt nghiệp hợp lệ về bản quyền cho Thư viện Trường Đại học Mở Thành phố Hồ Chí Minh Thư viện Trường Đại học
Mở Thành phố Hồ Chí Minh sẽ kết nối toàn văn thông tin khóa luận tốt nghiệp vào
hệ thống thông tin khoa học của Sở Khoa học và Công nghệ Thành phố Hồ Chí Minh
Ký tên
(Ghi rõ họ và tên)
………
Trang 4Ý KIẾN CHO PHÉP BẢO VỆ KHÓA LUẬN TỐT NGHIỆP
CỦA GIẢNG VIÊN HƯỚNG DẪN
Giảng viên hướng dẫn: ThS Võ Thị Hồng Tuyết
Sinh viên thực hiện: Lê Thị Mỹ Hạnh Lớp: DH17TH05
Ngày sinh: 01/01/1999 Nơi sinh: Bình Định
Tên đề tài: Mô hình Markov ẩn cho dự đoán lương
Ý kiến của giảng viên hướng dẫn về việc cho phép sinh viên được bảo vệ khóa luận trước Hội đồng:
Thành phố Hồ Chí Minh, ngày … tháng … năm ……
Người nhận xét
Trang 5Và trong suốt thời gian thực hiện khóa luận, kể từ lúc mới đăng ký đề tài cho đến khi nộp báo cáo, để hoàn thiện được khóa luận này, cũng như có thể đạt được kết quả mong muốn, em rất biết ơn vì đã nhận được sự hỗ trợ, chỉ bảo tận tình của giáo viên hướng dẫn Em xin chân thành cảm ơn cô – ThS Võ Thị Hồng Tuyết, cảm ơn
cô vì đã luôn theo sát và nhắc nhở em trong suốt quá trình nghiên cứu, thực hiện khóa luận này Trong khoảng thời gian đó, có nhiều lúc em không chuyên tâm làm dẫn tới
bị chậm tiến độ của cô giao, em cảm ơn cô vì đã không bỏ em ở lại mà đã tiếp sức cho em để hoàn thành được đề tài
Ngoài ra, là đàn em khóa sau, em xin gửi lời cảm ơn đến các anh chị khóa trên, cảm ơn các anh chị đã giúp đỡ và tạo điều kiện cho em có nhiều cơ hội học hỏi nhiều kiến thức mới, kỹ năng mới và tạo môi trường cho em làm quen được nhiều bạn bè Cảm ơn anh chị rất nhiều
Cuối cùng, em xin cảm ơn đến các bạn đang làm khóa luận chung giáo viên hướng dẫn Cảm ơn các bạn đã luôn ủng hộ, động viên và giúp đỡ em trong suốt quá trình thực hiện và đến khi hoàn thành khóa luận này
Em xin chân thành cảm ơn!
Trang 6NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 7
TÓM TẮT KHÓA LUẬN
Trong đề tài này, em trình bày một nghiên cứu thực nghiệm về lực lượng lao động dựa trên phân tích tập dữ liệu mức thu nhập hằng năm của một cá nhân Để chuẩn bị cho quá trình nghiên cứu đề tài, em tiến hành tìm hiểu những bài toán dự đoán cơ bản trong các mô hình dự đoán Việc tiếp cận với các dạng bài toán giúp em
dễ dàng phân tích đặc trưng của từng dạng và đồng thời giúp cho việc giải quyết bài toán đơn giản hơn Sau khi nắm được lý thuyết của các bài toán dự đoán, em bắt đầu tiếp cận tới các phương pháp để giải quyết các bài toán trên, hay nói cách khác là tìm hiểu các mô hình dự đoán hiện nay đang được sử dụng Đối với giai đoạn này, việc gây khó khăn nhất cho em là phải phân tích được các thuật toán riêng của từng mô hình, cũng như là tìm được nét đặc trưng riêng của thuật toán để dễ dàng đưa ra được những ưu, nhược điểm của từng thuật toán, mô hình
Sau khi tổng hợp những phương pháp cho ra kết quả cao thông qua quá trình khảo sát, em lựa chọn mô hình Markov ẩn và tiến hành tìm hiểu chi tiết mô hình này Đối với giai đoạn này, nhóm sẽ tìm hiểu và phân tích cơ chế hoạt động thuật toán, các thông số đầu vào cũng như kết quả đầu ra của mô hình Từ đó, em sẽ dựa vào kết quả để đánh giá sự khả quan của mô hình đối với bài toán dự đoán mức lương này
Ở giai đoạn tiếp theo, đề tài dựa vào những lý thuyết tìm hiểu được để đề xuất
và xây dựng phương pháp cho việc dự đoán mức lương của các đối tượng Dựa vào kết quả đạt được sau khi thực hiện phương pháp đề xuất giúp cho em tìm được điểm mạnh cũng như điểm yếu của phương pháp đề xuất Đây cũng là tiền đề để giúp nhóm định hướng tìm giải pháp khắc phục cho tương lai
Trang 8MỤC LỤC
TÓM TẮT KHÓA LUẬN 1
DANH MỤC TỪ VIẾT TẮT 4
DANH MỤC HÌNH ẢNH 5
DANH MỤC BẢNG BIỂU 6
2.1 Các dạng bài toán dự đoán 12 2.2 Các thuật toán cơ bản để giải quyết bài toán dự đoán 14
3.2.2 Tính các giá trị tham số cho mô hình 30
Trang 94.2 Ưu và nhược điểm 43
TÀI LIỆU THAM KHẢO 44
Trang 10DANH MỤC TỪ VIẾT TẮT
STT Chữ viết tắt Tên đầy đủ
1 HMM Hidden Markov Model
Trang 11DANH MỤC HÌNH ẢNH
Hình 2.1 Bài toán phân lớp [12] 13
Hình 2.2 Bài toán phân cụm dữ liệu [13] 14
Hình 2.3 Thuật toán Decision trees [14] 16
Hình 2.4: Thuật toán K-nearest neighbor [15] 17
Hình 2.5 Thuật toán Naive Bayes [16] 20
Hình 3.1 Mô phỏng tập dữ liệu Adult 24
Hình 3.2 Quá trình tổng quan của mô hình dự đoán lương 27
Hình 3.3 Mô phỏng tập dữ liệu x_train 27
Hình 3.4 Mô phỏng tập dữ liệu y_train 28
Hình 3.5 Xác suất ảnh hưởng của các thuộc tính đối với mức thu nhập 29
Hình 3.6 Tập dữ liệu sau khi phân nhóm và gán nhãn 30
Hình 3.7 Ví dụ cách tính xác suất chuyển đổi trạng thái từ dữ liệu của 32
Hình 3.8 Mô tả quy trình của mô hình Markov ẩn (thiếu đường dẫn) 34
Hình 3.9 Ví dụ về mô hình Markov ẩn [17] 36
Hình 3.10 Chuỗi xác suất dự đoán dựa vào mối quan hệ của ứng viên 36
Hình 3.11 Kết quả dự đoán dựa vào thuộc tính mối quan hệ 37
Hình 3.12 Chuỗi xác suất dự đoán dựa vào thuộc tính capital-gain 38
Hình 3.13 Kết quả dự đoán dựa vào thuộc tính capital-gain 38
Hình 3.14 Chuỗi xác suất dự đoán dựa vào thuộc tính trình độ học vấn 39
Hình 3.15 Kết quả dự đoán dựa vào thuộc tính trình độ học vấn 39
Hình 3.16 Chuỗi xác suất dự đoán dựa vào thuộc tính tuổi 40
Hình 3.17 Kết quả dự đoán dựa vào thuộc tính tuổi 41
Trang 12DANH MỤC BẢNG BIỂU
Bảng 3.1 Bảng xác suất của các nhóm giá trị trong thuộc tính Relationship 30Bảng 3.2 Bảng xác suất của các nhóm giá trị trong thuộc tính Capital-gain 31Bảng 3.3 Bảng xác suất của các nhóm giá trị trong thuộc tính Educational-num 31Bảng 3.4 Bảng xác suất của các nhóm giá trị trong thuộc tính Age 31Bảng 3.5 Ma trận xác suất chuyển đổi trạng thái 33
Trang 13CHƯƠNG 1
GIỚI THIỆU
Chương 1 của báo cáo là phần giới thiệu tổng quan về đề tài, bao gồm về các nội dung giới thiệu mô hình dự đoán, từ đấy đưa ra mục tiêu mà đề tài hướng tới Để đạt được kết quả đề ra, đối tượng được dùng trong mô hình sẽ giới hạn ở mức nhất định Ngoài ra, việc ảnh hưởng đến kết quả của đề tài còn phụ thuộc vào lộ trình và cách thức tìm hiểu các nội dung Hay nói cách khác đó còn được gọi là phương pháp nghiên cứu tương ứng với từng giai đoạn tìm hiểu nội dung trong quá trình thực hiện đề tài
Trang 141.1 Giới thiệu đề tài
Ngày nay, với sự phát triển của xã hội và nguồn nhân lực dồi dào, việc lựa chọn
và phát triển nhân sự được xem là một trong những vấn đề quan trọng của thị trường lao động Đi kèm với đó là sự lựa chọn, so sánh trong thị trường lao động để định hướng chọn ra công ty đáp ứng được mức lương yêu cầu của đối tượng lao động hiện nay Cho nên việc phân tích lực lượng lao động là một trong những nhiệm vụ cần thiết để phân nhóm và tìm hiểu các đối tượng của thị trường Với nhu cầu cũng như mong muốn của nguồn nhân sự trẻ hiện nay là tìm nơi làm việc phù hợp với trình độ học vấn, cũng như có mức lương hợp lý thì việc dự đoán mức lương của thị trường lao động trở nên rất quan trọng
Đối với các công ty, việc dự đoán mức lương sẽ giúp tìm được nguồn nhân sự phù hợp với công việc hay đưa ra mức chi phí phù hợp với kinh nghiệm của ứng viên nhằm không đưa ra mức lương thấp dẫn tới tỉ lệ từ chối cao hay đưa ra mức lương quá nhiều so với kinh nghiệm của nhân lực Đối với nguồn nhân sự, đây là một trong những phương pháp giúp họ tìm được các công ty hỗ trợ mức lương phù hợp đối với kinh nghiệm trong quá trình công tác, cũng như mức lương phù hợp với bằng cấp của
họ
Dự đoán mức lương dựa vào bằng cấp và kinh nghiệm trong thời gian làm việc
sẽ giúp cho thị trường lao động hay nguồn nhân sự phân hóa rõ ràng hơn về mặt kinh nghiệm Đặc biệt hơn là các vấn đề dự đoán mức lương khởi điểm đối với sinh viên mới tốt nghiệp, để nguồn nhân sự mới này có thể tìm được nơi làm việc phù hợp Trong thời kỳ công nghệ hóa, mô hình dự đoán kết quả hay khuynh hướng sẽ rất được lưu tâm Vì đây sẽ là những công cụ giúp ích cho người lao động lẫn các nhà tuyển dụng tham khảo và định hướng cho thị trường công nghiệp Cho nên nhu cầu xây dựng cho một mô hình dự đoán cho lương bổng là điều cần thiết, vì vậy em tiến
hành nghiên cứu đề tài “Mô hình Markov ẩn cho dự đoán lương”
Trang 151.2 Mục tiêu đề tài
Để phát triển đề tài, tác giả đặt ra mục tiêu chính cho đề tài là tìm hiểu bài toán
dự đoán, các mô hình dự đoán đang được sử dụng hiện nay, đề xuất và hiện thực một phương pháp cụ thể cho mô hình dự đoán mức lương
ra
1.4 Phương pháp nghiên cứu
Quá trình nghiên cứu của nhóm được chia thành 5 phần, mỗi phần sử dụng những phương pháp khác nhau để thu được kết quả cao nhất, cụ thể như sau:
Giai đoạn một, tìm hiểu bài toán dự đoán thông qua phương pháp thống kê các dạng bài toán tìm được, từ đó tiến hành phân tích chi tiết các bài toán để dễ dàng tổng hợp lại những dấu hiệu nhận biết và nét đặc trưng của từng bài toán
Giai đoạn hai, tìm hiểu các mô hình dự đoán hiện nay đang được sử dụng bằng phương pháp thống kê các phương pháp có thể tìm được, phân tích chi tiết từng phương pháp và tổng hợp những phương pháp cho ra kết quả cao nhất thông qua quá trình khảo sát từng phương pháp
Giai đoạn ba, tìm hiểu mô hình Markov ẩn thông qua các phương pháp phân tích về cơ chế hoạt động, kết quả đạt được và tổng hợp lại những kết quả thu được Giai đoạn bốn, đề xuất và xây dựng phương pháp để giúp cho việc dự đoán đối tượng trong bài toán bằng cách phân tích rõ các phương pháp đã được tìm hiểu, từ đó
Trang 16tổng hợp và định hướng đưa ra phương pháp tốt nhất để dự đoán mức lương cho một
1.5 Bố cục bài báo cáo
Đề tài của nhóm gồm các nội dung chủ yếu như sau: tìm hiểu bài toán dự đoán, một số phương pháp dự đoán bài toán đã được áp dụng trong khoảng thời gian gần đây Từ đó, đề xuất và hiện thực một phương pháp cụ thể để dự đoán bài toán Với các nội dung như trên, bài báo cáo được chia làm bốn chương:
Ở chương 1 sẽ là phần giới thiệu đề tài khái quát về các nội dung, mục tiêu và phương pháp nghiên cứu
Chương 2 là cơ sở lý thuyết để nghiên cứu Ở chương này, các bài toán dự đoán
và các phương pháp dự đoán mức lương sẽ được nêu rõ
Chương 3 trình bày chi tiết phương pháp đề xuất và kết quả thu được
Chương 4 là phần kết luận, ở đây sẽ là phần đánh giá về phương pháp, nêu lên những ưu, khuyết điểm cùng với hướng giải quyết cho tương lai
Trang 17CHƯƠNG 2
CƠ SỞ LÝ THUYẾT
Chương 2 của báo cáo sẽ tiến hành tìm hiểu các nội dung cơ bản trước khi tiếp cận đến mô hình dự đoán của đề tài Đầu tiên là sẽ tìm hiểu những bài toán dự đoán cơ bản trong các mô hình dự đoán Việc tiếp cận với các dạng bài toán giúp người đọc
dễ dàng phân tích đặc trưng của từng dạng và đồng thời giúp cho việc tìm hiểu các phương pháp để giải quyết các bài toán dễ dàng hơn, hay nói cách khác là dễ dàng nắm bắt tình hình nghiên cứu thông qua các mô hình dự đoán hiện nay đang được
sử dụng
Trang 182.1 Các dạng bài toán dự đoán
Trong các bài toán được dùng để dự đoán thì phải nhắc tới một dạng bài toán rất điển hình đó là các bài toán dựa vào phương pháp phân tích hồi quy Đây là một phương pháp cực quan trọng Bản chất chính của phương pháp này là việc phân tích
để ước lượng mối liên kết giữa các tham số trong mô hình đang xét Đầu tiên, người dùng phải đề xuất một vài tham số cơ bản (x1+ +x2 x3 ) và phương pháp phải tìm ra mối liên kết của những tham số này, được trình bày dưới dạng toán học
Kết quả dự đoán = f x x x( ,1 2, , )3Hàm f ở đây phụ thuộc chính vào hàm hồi quy, việc của người dùng là phải cung cấp một tập dữ liệu chuẩn nhất cho máy tính Việc này sẽ ảnh hưởng rất nhiều cho kết quả đầu ra
Sau khi tìm được mối quan hệ của các tham số, phương pháp sẽ tiến hành so sánh kết quả này với tập dữ liệu dùng để kiểm tra Nếu kết quả có sự khác biệt lớn đối với dữ liệu kiểm tra thì phải tiến hành thay đổi các tham số của phương pháp hồi quy đến khai sai số là nhỏ nhất Phương pháp này được ứng dụng mạnh mẽ trong các bài toán dự đoán giá sản phẩm, dự đoán biến động, thời tiết, …
Ngoài ra, trong học máy (Machine Learning) (ML) còn có một dạng bài toán được gọi là bài toán phân lớp Đây là một quá trình dùng để phân lớp một đối tượng đầu vào nhờ một mô hình phân lớp Mô hình phân lớp 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 đó
Trang 19Hình 2.1 Bài toán phân lớp [12]
Đối với bài toán này sẽ có nhiều phương pháp để giải quyết như: sử dụng phân lớp nhị phân, phân lớp đa lớp, phân lớp đa trị Đây là dạng bài toán được được ứng dụng rất nhiều trong các bài toán nhận dạng: khuôn mặt, giọng nói, phát hiện những email spam, …
Để hoàn chỉnh một mô hình phân lớp để giải quyết bài toán phải trải qua nhiều giai đoạn Đầu tiên, người dùng phải chuẩn bị một dataset dùng để huấn luyện, dựa vào dữ liệu này rút trích ra các nét đặc trưng cơ bản của dữ liệu Đây được xem là giai đoạn quan trọng đối với bài toán Vì đây là đầu vào cho mô hình, nó ảnh hưởng trực tiếp đối với kết quả đầu ra Nếu sử dụng những dữ liệu đặc trưng không tốt, gây nhiễu thì sẽ làm cho việc tính toán trở nên khó khăn và dẫn đến sự chênh lệch cao Giai đoạn tiếp theo là xây dựng một mô hình phân lớp để giải quyết bài toán Ở giai đoạn này thường được sử dụng những thuật toán giám sát thông dụng như: SVM, KNN, Neural Network, Naive Bayes, Decision trees, … Tiếp theo, bài toán sẽ trải qua giai đoạn kiểm tra, nghĩa là sẽ cung cấp cho mô hình những dữ liệu để tiến hành thực thi trên mô hình đã được chọn ở giai đoạn 2 Cuối cùng, sau khi nhận được kết quả đầu ra thì sẽ đánh giá mô hình và chọn ra một mô hình phân lớp tốt nhất Dựa vào kết quả đánh giá mức độ sai sót của dữ liệu kiểm tra với dữ liệu huấn luyện trước
đó Nếu kết quả không đạt thì bắt buộc tìm lại tham số của thuật toán để tìm ra mô
Trang 20hình tốt hơn Nhờ vào kết quả này sẽ chọn ra một mô hình phân lớp có kết quả đầu
ra tốt nhất
Ngoài ra, bài toán phân cụm cũng là một trong những bài toán dự đoán Đây là một bài toán dùng để gom nhóm những đối tượng dữ liệu đầu vào thành các cụm (cluster) riêng biệt dựa vào nét tương đồng theo một hoặc nhiều tiêu chí
Hình 2.2 Bài toán phân cụm dữ liệu [13]
Để nhận biết được bài toán này phải dựa trên những đặc điểm như: số lượng cụm dữ liệu sẽ không được biết trước, có nhiều cách tiếp cận dựa vào các kỹ thuật khác nhau, kết quả phụ thuộc vào các kỹ thuật được áp dụng vào bài toán
2.2 Các thuật toán cơ bản để giải quyết bài toán dự đoán
Bước đầu tiên khi tiếp cận đến các khái niệm về bài toán dự đoán, em sẽ bắt đầu
từ việc tìm hiểu về khái niệm học máy (Machine Learning) (ML) Hiểu đơn giản thì học máy là một tập hợp những phương pháp, các giải thuật giúp cho máy tính có khả năng tự “học” và đưa ra những cách giải quyết hay quyết định giống như một người
Trang 21thuật toán trong ML thường được chia thành hai dạng: học có giám sát (supervised learning) (SL) và học không có giám sát (unsupervised learning) (USL)
Đối với các thuật toán SL, để thực hiện thuật toán này, người dùng cần phải cung cấp một tập dữ liệu cho máy tính (ví dụ: một tập hợp những câu hỏi và đáp án chính xác cho từng câu) Sau đó, nhờ vào thuật toán, các mô hình được tổ chức để tìm ra những câu trả lời chính xác cho những câu hỏi chưa cung cấp đáp án Để thuật toán được tiến hành thuận lợi, người dùng thường tạo một tập dữ liệu có độ chính xác cao
để làm dữ liệu đầu vào dùng để huấn luyện mô hình (gọi là training dataset) Sau khi thực hiện, các dữ liệu (tham số) được sinh ra sẽ được xét độ chính xác dựa vào tập dữ liệu dùng để kiểm tra (gọi là testing dataset) Trong nhóm thuật toán SL, có hai dạng bài toán thường được sử dụng nhất đó là: bài toán hồi quy (regression) và bài toán phân lớp (classification) Trong phần tiếp theo sẽ trình bày rõ khái niệm của hai bài toán này
Như đã được đề cập trước đó, ngoài nhóm thuật toán SL, trong ML còn có một dạng thuật toán là USL Sự khác biệt rõ nhất để phân biệt hai dạng thuật toán này là phải nhắc tới sự huấn luyện dữ liệu cho mô hình Nếu trong thuật toán SL, người dùng bắt buộc cung cấp tập dữ liệu cho máy tính thì trong nhóm thuật toán USL sẽ không cần phải trải qua giai đoạn này Nhờ khả năng có thể khai thác dữ liệu để tìm ra cấu trúc ẩn của thuật toán USL thì USL chỉ cần một tập dữ liệu bình thường, chưa gắn nhãn (hay còn gọi là chưa có kết quả mẫu) Với nét đặc trưng của USL, khi một mô hình giải quyết bài toán, USL tiến hành tiếp cận bằng những hướng có thể kể tới như: phân cụm, mạng Nơ ron nhân tạo hay hướng phát hiện bất thường
2.3 Tình hình nghiên cứu
Các công việc dự đoán đều dựa trên phương pháp toán học nhằm tính xác suất xảy ra trong mỗi trường hợp Hiện nay có rất nhiều các nghiên cứu khoa học về mô hình này với nhiều phương pháp khác nhau Đầu tiên là thuật toán Decision trees [6], đây là một thuật toán cơ bản trong bài toán dự đoán Decision trees là một mô hình
Trang 22trả lời các câu hỏi dựa trên giá trị đầu vào của người dùng đưa vào Thuật toán hoạt động dựa vào các thuộc tính khác nhau để chia dữ liệu thành các tập hợp nhỏ, hay nói cách khác là phân đoạn giá trị thành các khu vực đặc trưng, sau đó sử dụng mức lương trung bình ở mỗi khu vực làm mức lương dự đoán cho dữ liệu đầu vào
Cây quyết định (Decision trees) [6] là một loại mô hình không tham số, nó là một kỹ thuật học có giám sát có thể được sử dụng trong cả các bài toán phân loại và hồi quy, nhưng chủ yếu nó được ưu tiên hơn trong việc giải các bài toán phân loại Đây là một cây thể hiện sự phân cấp dữ liệu có cấu trúc, nó dựa vào các quy luật cụ thể để phân lớp đối tượng Trong đó các nút bên trong đại diện cho các tính năng của một tập dữ liệu, các nhánh thể hiện các quy tắc quyết định và mỗi nút lá đại diện cho kết quả Khi cung cấp dữ liệu của các đối tượng, trong đó bao gồm các tính chất cùng lớp với nó, cây quyết định sẽ tiến hành dự đoán lớp cho các đối tượng chưa xác định dựa vào các quy luật đã tạo ra trước đó
Hình 2.3 Thuật toán Decision trees [14]
Decision trees gồm 3 thành phần chính: 1 nút gốc (root node), các nút lá (leaf nodes) và những nhánh của nó (branches) Nút gốc được xem là điểm bắt đầu trong cây quyết định Trong một cây quyết định thông thường, nó dùng để đánh giá biến phân tách dữ liệu tốt nhất Nó đại diện cho toàn bộ dữ liệu, được chia thành hai hoặc
Trang 23của biến mục tiêu, cho trước các giá trị của các biến được biểu diễn bởi đường đi từ nút gốc tới nút lá đó Nhánh dùng để biểu thị các lựa chọn thay thế khác nhau có sẵn với người tạo cây quyết định Mỗi nhánh lá thể hiện cho đường đi của một kết quả dự đoán của một đối tượng dựa vào các giá trị được cung cấp trước đó
Giống với thuật toán Decision, thuật toán K-Nearest neighbor [4] cũng là một thuật toán học có giám sát, nó tiếp cận dữ liệu bằng cách phân loại dữ liệu thành từng vùng, đặc biệt nó hoạt động trên nguyên tắc giả định rằng những dữ liệu ở gần nhau đều thuộc cùng lớp Khi dữ liệu được đưa vào thuật toán, nó sẽ tìm những vùng giá trị lân cận dữ liệu gốc để đưa ra kết quả cần tìm
K-nearest neighbor (KNN) [4] là một trong những thuật toán phân loại cơ bản nhưng cần thiết nhất trong học máy Đây là thuật toán học máy có giám sát đơn giản,
dễ thực hiện, có thể được sử dụng để giải quyết cả vấn đề phân loại và hồi quy KNN được ứng dụng mạnh mẽ trong nhận dạng mẫu, khai thác dữ liệu và phát hiện xâm nhập Nó là một trong những thuật toán trong nhóm supervised-learning của Machine Learning
Hình 2.4: Thuật toán K-nearest neighbor [15]
Hãy xem một tập dữ liệu cùng nằm trên một mặt phẳng 2D, nó sẽ là hình ảnh
Trang 24của các điểm dữ liệu và tùy thuộc vào các đối số được đưa ra cho mô hình, nó phân tách các điểm thành các nhóm Sau đó, các nhóm này sẽ được gắn một nhãn KNN kiểm tra nhãn của một số điểm dữ liệu đã chọn xung quanh một điểm dữ liệu đích,
để đưa ra dự đoán về lớp mà điểm dữ liệu nằm trong đó Mô hình KNN tính toán độ tương tự bằng cách sử dụng khoảng cách giữa hai điểm trên biểu đồ Khoảng cách giữa các điểm càng lớn thì chúng càng ít giống nhau Có nhiều cách tính khoảng cách giữa các điểm, nhưng cách đo phổ biến nhất là khoảng cách Euclide
Khi thực hiện training, thuật toán này sẽ không học bất cứ thứ gì từ dữ liệu dùng
để training, hay nói cách khác là nó không trải qua giai đoạn đào tạo chuyên biệt, cho nên nó còn được gọi là thuật toán lười học Mọi tính toán được thực hiện khi nó cần
dự đoán kết quả của dữ liệu đầu vào mới Nó có thể sử dụng một lần rộng rãi trong các tình huống thực tế vì nó không phải là tham số, nghĩa là nó không đưa ra bất kỳ giả định cơ bản nào về việc phân phối dữ liệu
Thuật toán KNN trải qua ba giai đoạn chính khi nó được thực hiện Đầu tiên, đặt K là số láng giềng đã chọn, K được chọn bởi người dùng và nó cho thuật toán biết
có bao nhiêu điểm dữ liệu xung quanh cần được xem xét khi đưa ra dự đoán về nhóm Tiếp theo, tiến hành tính toán khoảng cách giữa các ví dụ được cung cấp và các ví dụ
về tập dữ liệu Ở bước thứ hai này, lưu ý rằng mô hình kiểm tra khoảng cách giữa ví
dụ đích và mọi ví dụ trong tập dữ liệu Sau đó, trong giai đoạn tiếp theo, các khoảng cách sau đó được thêm vào một danh sách và được sắp xếp Danh sách đã được sắp xếp được kiểm tra và các nhãn cho K phần tử hàng đầu được trả về Nói cách khác, nếu K = 5, mô hình sẽ kiểm tra nhãn của 5 dữ liệu hàng đầu gần nhất với điểm dữ liệu đích Cuối cùng, mô hình sẽ trả lại dự đoán về ví dụ thử nghiệm
Với KNN dùng để phân loại, đầu ra có thể được tính là lớp có tần suất cao nhất
Trang 25tần suất chuẩn hóa của các mẫu thuộc mỗi lớp của tập hợp K các trường hợp giống nhau nhất cho mỗi trường hợp dữ liệu mới Nếu mô hình dữ liệu có số lớp chẵn, người dùng nên chọn giá trị K là một số lẻ để tránh trường hợp bị ràng buộc Và ngược lại,
sử dụng một số chẵn cho K khi có số lớp lẻ Đối với trường hợp áp dụng KNN cho bài toán hồi quy, dự đoán dựa trên giá trị trung bình hoặc giá trị trung bình của K các trường hợp tương tự nhất
Có thể nói KNN là một trong những thuật toán học máy đơn giản nhất, nhưng
nó vẫn có những ưu điểm nổi bật như: có thể được sử dụng cho cả nhiệm vụ hồi quy
và phân loại, không giống như một số thuật toán học có giám sát khác; hay là có độ chính xác cao và sử dụng đơn giản, dễ dàng để diễn giải, hiểu và thực hiện; không đưa ra bất kỳ giả định nào về dữ liệu, có nghĩa là nó có thể được sử dụng cho nhiều vấn đề khác nhau Đi kèm với những ưu điểm nổi bật như trên, KNN còn tồn tại một
số nhược điểm là lưu trữ hầu hết hoặc tất cả dữ liệu, có nghĩa là mô hình yêu cầu nhiều bộ nhớ và tốn kém về mặt tính toán, bộ dữ liệu lớn cũng có thể khiến dự đoán mất nhiều thời gian; ngoài ra, KNN tỏ ra rất nhạy cảm với quy mô của tập dữ liệu và
nó có thể bị loại bỏ bởi các tính năng không liên quan khá dễ dàng so với các mô hình khác
Khác với hai thuật toán trên, Naive Bayes [5] được biết đến một thuật toán trong
bộ phân loại theo xác suất dựa trên định lý Bayes, sao cho nó giả định rằng tất cả các đối tượng là độc lập với nhau Bởi vì các yếu tố độc lập với nhau nên Naive Bayes thường phụ thuộc vào các giả định không chính xác Để thuật toán này cho ra kết quả chính xác thì dữ liệu đầu vào như tuổi, bằng cấp phải là biến độc lập, không có nghĩa
là tuổi càng lớn thì sẽ có bằng cấp nhiều, hai biến này sẽ không tác động qua lại với nhau
Bộ phân lớp Bayes [5] là một thuật toán học máy phổ biến và được sử dụng rộng rãi và thường là kỹ thuật bắt buộc khi giải quyết các vấn đề phân loại Nó hoạt động dựa trên định lý Bayes về xác suất để dự đoán loại tập dữ liệu chưa biết Trong đó định lý Bayes được xem là xương sống của thuật toán Naive Bayes Thuật toán sử