1. Trang chủ
  2. » Công Nghệ Thông Tin

Ứng dụng thuật toán học máy svm trong tư vấn hướng nghiệp cho học sinh trung học phổ thôn (LV thạc sĩ)

68 641 2

Đ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

Thông tin cơ bản

Định dạng
Số trang 68
Dung lượng 1,94 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ứng dụng thuật toán học máy svm trong tư vấn hướng nghiệp cho học sinh trung học phổ thôn (LV thạc sĩ)Ứng dụng thuật toán học máy svm trong tư vấn hướng nghiệp cho học sinh trung học phổ thôn (LV thạc sĩ)Ứng dụng thuật toán học máy svm trong tư vấn hướng nghiệp cho học sinh trung học phổ thôn (LV thạc sĩ)Ứng dụng thuật toán học máy svm trong tư vấn hướng nghiệp cho học sinh trung học phổ thôn (LV thạc sĩ)Ứng dụng thuật toán học máy svm trong tư vấn hướng nghiệp cho học sinh trung học phổ thôn (LV thạc sĩ)Ứng dụng thuật toán học máy svm trong tư vấn hướng nghiệp cho học sinh trung học phổ thôn (LV thạc sĩ)Ứng dụng thuật toán học máy svm trong tư vấn hướng nghiệp cho học sinh trung học phổ thôn (LV thạc sĩ)Ứng dụng thuật toán học máy svm trong tư vấn hướng nghiệp cho học sinh trung học phổ thôn (LV thạc sĩ)Ứng dụng thuật toán học máy svm trong tư vấn hướng nghiệp cho học sinh trung học phổ thôn (LV thạc sĩ)Ứng dụng thuật toán học máy svm trong tư vấn hướng nghiệp cho học sinh trung học phổ thôn (LV thạc sĩ)Ứng dụng thuật toán học máy svm trong tư vấn hướng nghiệp cho học sinh trung học phổ thôn (LV thạc sĩ)Ứng dụng thuật toán học máy svm trong tư vấn hướng nghiệp cho học sinh trung học phổ thôn (LV thạc sĩ)Ứng dụng thuật toán học máy svm trong tư vấn hướng nghiệp cho học sinh trung học phổ thôn (LV thạc sĩ)Ứng dụng thuật toán học máy svm trong tư vấn hướng nghiệp cho học sinh trung học phổ thôn (LV thạc sĩ)

Trang 1

TRẦN VĂN HẢI

ỨNG DỤNG THUẬT TOÁN HỌC MÁY SVM TRONG TƯ VẤN HƯỚNG NGHIỆP CHO HỌC SINH TRUNG HỌC PHỔ THÔNG

LUẬN VĂN THẠC SĨ KỸ THUẬT

(Theo định hướng ứng dụng)

HÀ NỘI – 2017

Trang 2

TRẦN VĂN HẢI

ỨNG DỤNG THUẬT TOÁN HỌC MÁY SVM TRONG TƯ VẤN HƯỚNG NGHIỆP CHO HỌC SINH TRUNG HỌC PHỔ THÔNG

CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH

Trang 3

LỜI CAM ĐOAN

Tôi cam đoan đây là luận văn 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ác giả luận văn

Trần Văn Hải

Trang 4

LỜI CẢM ƠN Trước tiên tôi xin gửi lời cảm ơn, biết ơn sâu sắc đến TS Đào Đình Khả,

người đã trực tiếp hướng dẫn, tận tình chỉ bảo và định hướng cho tôi trong suốt quá trình thực hiện luận văn, giúp tôi có nhận thức đúng đắn về kiến thức khoa học và giải quyết được những vấn đề khó khăn, vướng mắc để luận văn được hoàn thành

Tôi cũng xin gửi lời cảm ơn chân thành tới các thầy giáo, cô giáo của Học viện

Công nghệ Bưu chính Viễn thông đã tạo điều kiện cho tôi có một môi trường học

tập tốt, đồng thời truyền đạt cho tôi nguồn vốn kiến thức quý báu trong suốt quá trình học tập tại trường

Cuối cùng, tôi xin được gửi lời cảm ơn tới gia đình, đồng nghiệp và người thân

đã động viên, giúp đỡ tôi trong quá trình hoàn thành luận văn

Tôi xin cân thành cảm ơn!

Trang 5

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

MỤC LỤC iii

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT v

DANH MỤC CÁC BẢNG vi

DANH MỤC HÌNH VẼ, BIỂU ĐỒ vii

LỜI MỞ ĐẦU 1

CHƯƠNG 1: TỔNG QUAN VỀ HỌC MÁY VÀ BÀI TOÁN TƯ VẤN HƯỚNG NGHIỆP CHO HỌC SINH THPT 3

1.1 Tổng quan về học máy 3

1.1.1 Giới thiệu về học máy 3

1.1.2 Ứng dụng của học máy 4

1.1.3 Phân loại các phương pháp học máy 6

1.2 Tổng quan về phương pháp Support Vector Machine 8

1.2.1 Giới thiệu về Support Vector Machine 8

1.2.2 SVM tuyến tính và SVM phi tuyến 11

1.2.3 SVM trong phân lớp đa lớp 23

1.3 Bài toán tư vấn hướng nghiệp cho học sinh trung học phổ thông 26

1.3.1 Giới thiệu về tư vấn hướng nghiệp 26

1.3.2 Cơ sở lý thuyết tư vấn hướng nghiệp 28

1.3.3 Các kỹ năng và liệu pháp tư vấn hướng nghiệp 31

1.3.4 Mô tả bài toán tư vấn hướng nghiệp cho học sinh THPT 32

1.4 Kết luận chương 33

CHƯƠNG 2: XÂY DỰNG MÔ HÌNH TƯ VẤN HƯỚNG NGHIỆP CHO HỌC SINH THPT DỰA TRÊN PHƯƠNG PHÁP SUPPORT VECTOR MACHINE 34

2.1 Đặt vấn đề bài toán 34

2.2 Mô hình bài toán 35

2.3 Quy trình phân lớp 37

2.3.1 Thu thập dữ liệu nghiên cứu 37

2.3.2 Tiền xử lý dữ liệu 39

2.3.3 Phân chia tập dữ liệu thành tập huấn luyện và kiểm chứng 40

Trang 6

2.3.4 Xây dựng mô hình phân lớp theo phương pháp SVM 40

2.3.5 Kiểm chứng mô hình phân lớp 41

2.3.6 Đánh giá mô hình 42

2.4 Kết luận chương 43

CHƯƠNG 3: THỰC NGHIỆM VÀ KẾT QUẢ 44

3.1 Công cụ thực nghiệm 44

3.2 Chuẩn bị dữ liệu 45

3.3 Thực hiện thực nghiệm 47

3.4 Kết quả thực nghiệm 48

3.4.1 Kết quả thực nghiệm với tập dữ liệu 1 (1800 mẫu) 48

3.4.2 Kết quả thực nghiệm với tập dữ liệu 2 (3603 mẫu) 51

3.5 Phân tích và đánh giá kết quả 54

3.6 Kết luận chương 56

KẾT LUẬN 57

TÀI LIỆU THAM KHẢO 58

PHỤ LỤC 59

Trang 7

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

SVM Support Vector Machine Máy véc-tơ hỗ trợ SMO Sequential Minimal Optimization Tối thiểu tuần tự

kNN k-Nearest Neighbor K láng giềng gần nhất KKT Karush Kuhn Tucker Điều kiện Karush Kuhn OAR One-against-Rest

Trang 8

DANH MỤC CÁC BẢNG

Bảng 2.1 Số lượng mẫu các nhóm ngành nghề 39

Bảng 3.1 Số lượng mẫu các nhóm ngành nghề tập dữ liệu 1 (1800 mẫu) 45

Bảng 3.2 Số lượng mẫu các nhóm ngành nghề tập dữ liệu 2 (3603 mẫu) 46

Bảng 3.3 Tệp tin dữ liệu huấn luyện và kiểm chứng 46

Bảng 3.4 Kết quả đánh giá theo chiến lược OAO với tập dữ liệu 1 48

Bảng 3.5 Kết quả phân lớp theo chiến lược OAO với tập dữ liệu 1 48

Bảng 3.6 Kết quả đánh giá theo chiến lược OAR với tập dữ liệu 1 49

Bảng 3.7 Kết quả phân lớp theo chiến lược OAR với tập dữ liệu 1 49

Bảng 3.8 So sánh giữa hai chiến lược OAO và OAR với tập dữ liệu 1 49

Bảng 3.9 Kết quả đánh giá theo chiến lược OAO với tập dữ liệu 2 51

Bảng 3.10 Kết quả phân lớp theo chiến lược OAO với tập dữ liệu 2 51

Bảng 3.11 Kết quả đánh giá theo chiến lược OAR với tập dữ liệu 2 52

Bảng 3.12 Kết quả phân lớp theo chiến lược OAR với tập dữ liệu 2 52

Bảng 3.13 So sánh giữa hai chiến lược OAO và OAR với tập dữ liệu 2 52

Trang 9

DANH MỤC HÌNH VẼ, BIỂU ĐỒ

Hình 1.1 Mô tả phương pháp SVM 9

Hình 1.2 Siêu phẳng phân tách với véc-tơ pháp tuyến w 11

Hình 1.3 Tập dữ liệu được phân chia tuyến tính 12

Hình 1.4 Tập dữ liệu có nhiễu 17

Hình 1.5 Ánh xạ Φ từ không gian X sang không gian đặc trưng F 21

Hình 1.6 Chiến lược One-against-Rest 24

Hình 1.7 Chiến lược One-against-One 25

Hình 1.8 Mô hình lý thuyết cây nghề nghiệp [2] 28

Hình 2.1 Mô hình phân lớp nhóm ngành nghề 36

Hình 2.2 Quy trình phân lớp nhóm ngành nghề 37

Hình 3.1 Giao diện khởi động phần mềm Weka 44

Hình 3.2 Thực hiện phân lớp nhóm ngành nghề 47

Biểu đồ 3.1 Độ chính xác phân lớp giữa hai chiến lược OAO và OAR với tập dữ liệu 1 50

Biểu đồ 3.2 Thời gian xây dựng mô hình giữa hai chiến lược OAO và OAR với tập dữ liệu 1 50

Biểu đồ 3.3 Độ chính xác phân lớp giữa hai chiến lược OAO và OAR với tập dữ liệu 2 53

Biểu đồ 3.4 Thời gian xây dựng mô hình giữa hai chiến lược OAO và OAR với tập dữ liệu 2 53

Trang 10

LỜI MỞ ĐẦU

Việt Nam là nước có dân số đông, số lượng người trong độ tuổi lao động lớn, cung cấp nguồn nhân lực dồi dào cho quá trình công nghiệp hóa, hiện đại hóa đất nước Tuy nhiên, trong những năm gần đây tình trạng nhiều sinh viên ra trường không tìm được việc làm hoặc phải làm việc không đúng với chuyên môn đang diễn ra khá phổ biến Điều này đã gây ra sự lãng phí nguồn nhân lực lao động của xã hội Một phần nguyên nhân là do việc đào tạo ngành nghề còn nhiều bất hợp lý, việc phân bố nguồn nhân lực giữa các vùng miền còn chưa đồng đều Bên cạnh đó, nguyên nhân của thực trạng trên còn nằm ở việc phần lớn học sinh bậc học phổ thông lựa chọn ngành nghề chủ yếu là theo cảm tính, theo xu thế hoặc do tác động từ gia đình, cha

mẹ, bạn bè, … không xác định được khả năng, năng lực bản thân có phù hợp với ngành nghề hay không từ đó dẫn tới việc học tập và làm việc không hiệu quả, gây lãng phí lớn cho bản thân, gia đình và xã hội

Tư vấn hướng nghiệp là một vấn đề cần phải được quan tâm, nhất là ở cấp bậc phổ thông Khi được định hướng đúng đắn về nghề nghiệp, mỗi người sẽ yên tâm với nghề mình lựa chọn, có thái độ tích cực, chủ động học tập, rèn luyện để có thể hoạt động tốt lĩnh vực nghề nghiệp trong tương lai Đối với học sinh ở bậc phổ thông, tư vấn hướng nghiệp sẽ giúp các em định hướng ngành nghề một cách có cơ sở, có nhận thức đúng đắn về nghề nghiệp, phát huy được tối đa khả năng của bản thân, khơi dậy niềm đam mê của các em đối với công việc mình lựa chọn từ đó góp phần ổn định cuộc sống của bản thân trong tương lai đồng thời đáp ứng được nhu cầu xã hội, tránh lãng phí trong đào tạo và sử dụng hợp lý nguồn nhân lực, góp phần vào việc phát triển kinh tế – xã hội của đất nước

Trong việc chọn nghề, để có thể lựa chọn được một ngành nghề phù hợp ta phải dựa vào khả năng, năng lực bản thân cũng như sở thích và tính cách của từng người Do đó, đối với công tác tư vấn hướng nghiệp cho học sinh trung học phổ thông, cần phải có một phương pháp phân loại để phân nhóm các em học sinh dựa trên các yếu tố này, từ đó mới có thể đưa ra sự tư vấn, định hướng nghề nghiệp một cách chính

Trang 11

xác cho các em Nói cách khác, để có thể giải quyết được vấn đề về công tác tư vấn hướng nghiệp cho học sinh trung học phổ thông ta cần phải giải quyết được bài toán phân loại học sinh Đây là bài toán nhằm mục đích phân lớp các em học sinh vào các nhóm ngành nghề khác nhau dựa trên các đặc trưng về khả năng, năng lực, sở thích cũng như tính cách của từng em

Ngày nay, đối với các bài toán phân loại, việc sử dụng các mô hình tính toán dựa trên các phương pháp học máy ngày càng được áp dụng một cách rộng rãi và đạt được nhiều thành công to lớn Trong đó, phương pháp học máy Support Vector Machine (SVM) là một trong những phương pháp được sử dụng phổ biến nhất do tính hiệu quả và độ chính xác cao khi xử lý đối với bộ dữ liệu lớn, rất thích hợp để ứng dụng trong bài toán phân loại học sinh

Với các lý do và mục tiêu như trên, tôi xin chọn đề tài nghiên cứu “Ứng dụng thuật toán học máy SVM trong tư vấn hướng nghiệp cho học sinh trung học phổ thông”

Mục tiêu cụ thể được trình bày trong luận văn như sau:

- Phát biểu bài toán về tư vấn hướng nghiệp cho học sinh trung học phổ thông

- Nghiên cứu học máy và thuật toán học máy SVM

- Áp dụng học máy và thuật toán học máy SVM cho bài toán tư vấn hướng nghiệp cho học sinh trung học phổ thông

- Cài đặt thử nghiệm thuật toán học máy SVM cho bài toán tư vấn hướng nghiệp cho học sinh trung học phổ thông

Nội dung của luận văn được trình bày trong 3 chương như sau:

- Chương 1: Tổng quan về học máy và bài toán tư vấn hướng nghiệp cho học sinh trung học phổ thông

- Chương 2: Xây dựng mô hình tư vấn hướng nghiệp cho học sinh trung học phổ thông dựa trên phương pháp Support Vector Machine

- Chương 3: Thực nghiệm và kết quả

Trang 12

CHƯƠNG 1: TỔNG QUAN VỀ HỌC MÁY VÀ BÀI TOÁN TƯ

VẤN HƯỚNG NGHIỆP CHO HỌC SINH THPT

1.1 Tổng quan về học máy

1.1.1 Giới thiệu về học máy

Học máy (machine learning) là khả năng của chương trình máy tính sử dụng kinh nghiệm, quan sát hoặc dữ liệu trong quá khứ để cải thiện công việc của mình trong tương lai thay vì chỉ thực hiện theo đúng các quy tắc đã được lập trình sẵn Chẳng hạn, máy tính có thể học cách dự đoán dựa trên các ví dụ, hay học cách tạo ra các hành vi phù hợp dựa trên quan sát trong quá khứ [4]

Ví dụ như chương trình có thể dựa vào dữ liệu trong quá khứ để phân loại thư điện tử xem có phải thư rác (spam) hay không và tự động xếp thư vào thư mục tương ứng Thư rác ở đây được hiểu là các thư điện tử có chứa các nội dung quảng cáo hay các loại hàng miễn phí cho dùng thử được chuẩn bị từ trước và gửi đồng loạt tới nhiều địa chỉ Khái niệm “rác” đến từ ý nghĩa là những thư này thường bị loại bỏ hơn là được sự lưu tâm của người nhận

Tương tự quá trình học thông thường, một hệ thống học máy cần có khả năng ghi nhớ, thích nghi và đặc biệt là tổng quát hóa Tổng quát hóa là khả năng của hệ thống học máy ra quyết định chính xác trong các trường hợp mới, chưa gặp dựa trên kinh nghiệm học được từ dữ liệu hoặc các quan sát trước đó

Một tiến trình học máy gồm 2 giai đoạn:

- Giai đoạn học (giai đoạn huấn luyện): hệ thống phân tích dữ liệu và tìm ra mối quan hệ (có thể là tuyến tính hoặc phi tuyến) giữa các đối tượng dữ liệu huấn luyện Kết quả của việc học có thể là nhóm các đối tượng vào trong các lớp, tạo ra các luật, dự đoán lớp cho các đối tượng mới

- Giai đoạn thử nghiệm (giai đoạn dự đoán): mối quan hệ (các luật, các lớp,

…) được tạo ra trong giai đoạn học phải được kiểm nghiệm lại bằng một số hàm tính toán thực thi trên một phần của tập dữ liệu huấn luyện hoặc trên một tập dữ liệu lớn hơn

Trang 13

Một số khái niệm được sử dụng trong học máy [4]:

- Mẫu hay ví dụ dùng để chỉ đối tượng cần phân loại Mẫu thường được mô tả bằng một tập các thuộc tính còn được gọi là đặc trưng hay biến Chẳng hạn như trong bài toán phân loại thư rác, mỗi thư được gọi là một mẫu hay ví dụ, còn thuộc tính là tên người gửi hoặc các tham số khác như tiêu đề thư, nội dung thư, …

- Nhãn phân loại (nhãn) thể hiện loại của đối tượng mà ta cần dự đoán Đối với trường hợp phân loại thư rác, nhãn phân loại có thể là “thư rác” hay “thư bình thường” Trong giai đoạn học (giai đoạn huấn luyện) thuật toán học được cung cấp

cả nhãn phân loại của ví dụ Trong giai đoạn dự đoán, thuật toán chỉ nhận được các

ví dụ không nhãn và cần xác định nhãn cho những ví dụ này

- Dữ liệu huấn luyện là tập dữ liệu đầu vào cho trước bao gồm nhiều mẫu Trong đó, mỗi mẫu được mô tả trong một dòng và được ký hiệu bằng một cặp (xi, yi), với xi là véc-tơ đặc trưng hay thuộc tính, yi là giá trị nhãn phân loại hay giá trị đích

- Kết quả học thường được thể hiện dưới dạng một ánh xạ từ mẫu sang nhãn phân loại Ánh xạ này được thể hiện dưới dạng một hàm gọi là hàm đích (target function) có dạng f:X → C, trong đó, X là không gian các ví dụ và C là tập các nhãn phân loại khác nhau

1.1.2 Ứng dụng của học máy

Ngày nay, học máy có ứng dụng rộng rãi trong nhiều ngành nghề khoa học và sản xuất, đặc biệt là những ngành cần phân tích khối lượng dữ liệu khổng lồ, dưới đây là một số ứng dụng cụ thể của việc áp dụng các phương pháp học máy:

Máy tìm kiếm

Máy tìm kiếm thực chất là một phần mềm nhằm tìm ra các trang web trên mạng internet có nội dung theo yêu cầu người dùng dựa vào các thông tin mà nó có Trữ lượng thông tin này của máy tìm kiếm thực chất là một loại cơ sở dữ liệu cực lớn

về các trang web Cơ sở dữ liệu này thường được bổ sung cập nhật định kỳ bằng cách quét, điều chỉnh, thêm bớt nội dung và chỉ số hóa lại tất cả các trang web mà nó có

Trang 14

thể tìm gặp trên internet Việc tìm tài liệu sẽ dựa trên các từ khóa được người dùng

gõ vào và trả về một danh mục các trang web có chứa từ khóa mà nó tìm được

Dịch tự động

Dịch tự động thực hiện dịch một ngôn ngữ này (gọi là ngôn ngữ nguồn) sang một hoặc nhiều ngôn ngữ khác (gọi là ngôn ngữ đích) một cách tự động, không có sự can thiệp của con người trong quá trình dịch Dữ liệu huấn luyện là các văn bản song ngữ, hệ thống dịch tự động học cách dịch từ ngôn ngữ này sang ngôn ngữ khác

Phân loại văn bản tự động

Đầu vào sẽ cho trước một tập huấn luyện bao gồm các văn bản Mỗi văn bản

có thể thuộc vào một trong các loại văn bản khác nhau Sau khi huấn luyện xong, thuật toán phân loại sẽ được nhận văn bản mới và cần xác định nhãn phân loại cho văn bản này Ví dụ, với các văn bản là nội dung thư điện tử, thuật toán có thể phân loại thư thành “thư rác” và “thư bình thường”

Phát hiện và nhận dạng mặt người

Phát hiện vùng có chứa mặt người trong ảnh, xác định đó là mặt của người nào trong số những người đã có ảnh trước đó, tức là phân chia ảnh thành những loại tương ứng với những người khác nhau Ứng dụng này hiện nay được sử dụng rộng rãi trong các thiết bị quay phim, chụp ảnh, …

Chuẩn đoán y khoa

Trong lĩnh vực y học, để chuẩn đoán các loại bệnh, người ta thường dựa vào các triệu chứng của người bệnh Ứng dụng sẽ học cách dự đoán người bệnh có mắc hay không mắc một số bệnh nào đó dựa trên các triệu chứng quan sát được

Các hệ tư vấn, khuyến nghị

Đưa ra các gợi ý về các loại hàng hóa, tin tức, video, … mà người dùng nhiều khả năng sẽ quan tâm đến Ví dụ như các khuyến nghị trên Youtube hay trên các trang mua bán trực tuyến

Trang 15

1.1.3 Phân loại các phương pháp học máy

1.1.3.1 Học có giám sát [4]

Học có giám sát (supervised learning) là dạng học máy trong đó tập dữ liệu huấn luyện đầu vào được cho trước dưới dạng các ví dụ với các giá trị đầu ra hay giá trị đích Nhiệm vụ của một thuật toán học có giám sát là dựa trên dữ liệu huấn luyện cần phải xây dựng được mô hình hay hàm đích để dự đoán giá trị đầu ra (giá trị đích) cho các trường hợp mới

Các giá trị đầu ra có thể dưới dạng các giá trị rời rạc hoặc nhận giá trị liên tục Nếu giá trị đầu ra là rời rạc thì học có giám sát được gọi là phân loại hay phân lớp (classification), còn nếu giá trị đầu ra nhận giá trị liên tục thì học có giám sát được gọi là hồi quy (regession)

Hoạt động của một hệ thống học có giám sát bao gồm hai giai đoạn: giai đoạn huấn luyện và giai đoạn dự đoán Trong giai đoạn huấn luyện, dữ liệu huấn luyện được sử dụng để huấn luyện các mô hình dự đoán còn gọi là các hàm đích Việc huấn luyện mô hình được thực hiện nhờ các thuật toán học máy phân loại hoặc hồi quy Trong giai đoạn dự đoán, hệ thống nhận các giá trị mới chưa có giá trị đích và sử dụng mô hình dự đoán đã huấn luyện để xác định giá trị đích cho ví dụ mới

Một số thuật toán học máy có giám sát thường được sử dụng gồm có: máy véc-tơ hỗ trợ (SVM), cây quyết định (DT), k láng giềng gần nhất (kNN), tiếp cận xác suất thống kê (NB), sử dụng mạng nơron (Nnet)

1.1.3.2 Học không giám sát [4]

Học không giám sát (unsupervised learning) là một phương pháp học máy nhằm tìm ra một mô hình mà phù hợp với tập dữ liệu quan sát Học không giám sát khác học có giám sát ở chỗ các ví dụ được cung cấp nhưng không có giá trị đầu ra hay giá trị đích

Trong học không giám sát, thay vì quan tâm đến giá trị đích, thuật toán học máy quan tâm đến độ tương đồng giữa các ví dụ, sau đó xếp chúng thành từng nhóm

Trang 16

gồm các ví dụ tương tự nhau Hình thức học như vậy được gọi là phân cụm (clustering) Ví dụ, dựa vào tuổi của mọi người ta học được khái niệm “già” và “trẻ”,

và có thể xếp mọi người vào một trong hai cụm tương ứng

Ngoài ra, học không giám sát có thể được dùng kết hợp với suy diễn Bayes để đưa ra xác suất có điều kiện cho bất kỳ biến ngẫu nhiên nào khi biết trước các biến khác Ví dụ, qua phân tích dữ liệu mua hàng ở siêu thị, ta có thể dự đoán rằng người

đã mua bánh mỳ thì có nhiều khả năng cũng sẽ mua bơ

Có rất nhiều thuật toán học không giám sát được ra đời và phát triển nhằm giải quyết bài toán phâm cụm phục vụ khai thác hiệu quả nguồn dữ liệu chưa gán nhãn Việc lựa chọn thuật toán nào tùy thuộc vào dữ liệu và mục đích của từng bài toán Một số thuật toán thường được sử dụng như: k-means, Hierarchical Agglomerative Clustering (HAC), Self-organizing Map (SOM), …

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

Học bán giám sát (semi-supervised learning) là dạng kết hợp giữa học có giám sát và học không giám sát Trong đó, nó kết hợp các ví dụ có gán nhãn và không gán nhãn để sinh ra một hàm hoặc một bộ phân loại thích hợp

Thuật toán học bán giám sát sử dụng một tập huấn luyện (training set) gồm 2 phần: các ví dụ huấn luyện có nhãn thường có số lượng ít và các ví dụ huấn luyện không có nhãn thường có số lượng nhiều

Một thuật toán học bán giám sát được sử dụng sẽ học các ví dụ có nhãn, sau

đó tiến hành gán nhãn cho một số (có lựa chọn) các ví dụ không có nhãn một cách hợp lý và có đánh giá chất lượng độ chính xác Tiếp theo, chọn các ví dụ vừa được gán nhãn có độ tin cậy cao (vượt trên một ngưỡng cho trước) đưa vào kết hợp với tập

dữ liệu có nhãn, tạo thành một tập dữ liệu huấn luyện mới

Trang 17

1.2 Tổng quan về phương pháp Support Vector Machine

1.2.1 Giới thiệu về Support Vector Machine

Support Vector Machine (SVM) là một phương pháp phân loại xuất phát từ lý thuyết thống kê Phương pháp này thực hiện phân lớp dựa trên nguyên lý tối thiểu rủi

ro cấu trúc SRM (Structural Risk Minimisation) SVM sẽ cố gắng tìm cách phân loại

dữ liệu sao cho lỗi xảy ra trên tập kiểm tra là nhỏ nhất

Phương pháp này được đề xuất lần đầu vào năm 1992 và được áp dụng nhiều

từ khoảng cuối những năm chín mươi của thế kỷ trước Cùng với khả năng tính toán ngày càng mạnh mẽ của máy tính, các thuật toán sử dụng cho SVM đã phát triển rất nhanh chóng và có được những ứng dụng rất to lớn

SVM dạng chuẩn nhận dữ liệu đầu vào và phân loại chúng vào hai lớp khác nhau Do đó SVM còn được gọi là một thuật toán phân loại nhị phân, tuy nhiên nó vẫn có thể được mở rộng cho phân lớp đa lớp Với một bộ các ví dụ luyện tập thuộc hai thể loại cho trước, thuật toán huấn luyện SVM xây dựng một mô hình SVM để phân loại các ví dụ khác vào hai thể loại đó

Hiện nay, SVM là một trong những phương pháp học có giám sát phổ biến nhất Có nhiều thư viện hoặc gói phần mềm cho phép sử dụng ngay SVM cho bài toán học có giám sát SVM cũng cho độ chính xác cao, thường ở trong nhóm đứng đầu trong số các thuật toán phân loại trong nhiều ứng dụng

1.2.1.1 Ý tưởng của phương pháp

Cho trước một tập dữ liệu huấn luyện gồm n ví dụ, mỗi ví dụ được biểu diễn

là một điểm trong không gian véc-tơ Phương pháp SVM sẽ tìm ra một siêu phẳng quyết định tốt nhất có thể để chia không gian này thành hai lớp riêng biệt tương ứng

là lớp “+” và lớp “-” Chất lượng của siêu phẳng này được quyết định bởi khoảng cách của điểm dữ liệu gần nhất của mỗi lớp đến siêu phẳng này

Trang 18

Trường hợp không thể phân chia các ví dụ bằng một siêu phẳng, phương pháp SVM sẽ ánh xạ không gian ban đầu của các ví dụ sang một không gian khác thường

là có số chiều cao hơn, sau đó tìm siêu phẳng tốt nhất trong không gian này

Có thể tìm được nhiều siêu phẳng để phân chia tập dữ liệu huấn luyện ban đầu Mục đích của phương pháp SVM là tìm được siêu phẳng sao cho khoảng cách từ siêu phẳng này tới những ví dụ có nhãn khác nhau là lớn nhất

Hình 1.1 Mô tả phương pháp SVM

Trong hình vẽ trên, đường tô đậm là siêu phẳng tốt nhất và các điểm được khoanh tròn là những điểm gần siêu phẳng nhất, chúng được gọi là các véc-tơ hỗ trợ (support vector) Các đường nét đứt mà các véc-tơ hỗ trợ nằm trên đó được gọi là lề (margin)

Các véc-tơ hỗ trợ sẽ quyết định hàm phân tách dữ liệu Từ đây, có thể thấy phương pháp SVM không hoàn toàn phụ thuộc vào các ví dụ huấn luyện ban đầu mà chỉ phụ thuộc vào các véc-tơ hỗ trợ Cho dù các điểm khác bị xóa thì thuật toán vẫn cho kết quả tương tự Đây chính là điểm nổi bật của phương pháp SVM so với các phương pháp khác

Trang 19

1.2.1.2 Cơ sở lý thuyết

Cho tập huấn luyện T = {(x1,y1), (x2,y2), …, (xn,yn)} trong đó xi ϵ Rn là các véc-tơ đặc trưng và yi ϵ {-1, +1} là nhãn phân loại tương ứng của các xi Giả sử ta chọn tập các đặc trưng là D = {d1, d2, …, dn} thì véc-tơ đặc trưng xi = {xi1, xi2, …,

xin} trong đó xij ϵ Rn Đối với bài toán phân lớp nhị phân, nhãn yi sẽ có hai giá trị -1 hoặc +1

Ta cần tìm một siêu phẳng có lề lớn nhất phân tách các điểm yi = -1 và yi = +1 Mỗi siêu phẳng có thể được biểu diễn dưới dạng

𝑓(𝑥) = 〈𝑤 𝑥〉 + 𝑏 = 0 (2.1) Trong đó

- w là véc-tơ pháp tuyến của siêu phẳng

- b là một số thực với 𝑏

‖𝑤‖ là khoảng cách giữa gốc tọa độ và siêu phẳng theo hướng véc-tơ pháp tuyến w, ||w|| là độ dài chuẩn của véc-tơ w

- 〈𝑤 𝑥〉 biểu thị cho tích vô hướng của w và x

Phương trình siêu phẳng chứa véc-tơ 𝑥⃗⃗⃗ là: 𝑖

𝑓(𝑥𝑖) = 𝑤⃗⃗ 𝑥⃗⃗⃗ + 𝑏 𝑖 (2.2)

⟺ 𝑓(𝑥𝑖) = 𝑤1 𝑥𝑖1 + 𝑤2 𝑥𝑖2 + ⋯ + 𝑤𝑛 𝑥𝑖𝑛 + 𝑏 Một ví dụ xi sẽ có nhãn phân loại yi được xác định như sau:

𝑦𝑖 = 𝑠𝑖𝑔𝑛𝑓(𝑥𝑖) = 𝑠𝑖𝑔𝑛(𝑤⃗⃗ 𝑥⃗⃗⃗ + 𝑏) = {𝑖 +1, 𝑤⃗⃗ 𝑥⃗⃗⃗ + 𝑏 ≥ 0 𝑖

−1, 𝑤⃗⃗ 𝑥⃗⃗⃗ + 𝑏 < 0 𝑖

(2.3)

Như vậy, yi biểu diễn sự phân lớp của 𝑥⃗⃗⃗ vào hai lớp -1 và +1 𝑖

Bản chất của phương pháp SVM là tìm ra w và b sao cho siêu phẳng phân tách

dữ liệu huấn luyện 𝑓(𝑥) = 〈𝑤 𝑥〉 + 𝑏 có lề lớn nhất

Trang 20

Hình 1.2 Siêu phẳng phân tách với véc-tơ pháp tuyến w

1.2.2 SVM tuyến tính và SVM phi tuyến

1.2.2.1 SVM tuyến tính [12][7]

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

Giả sử tập huấn luyện có thể phân tách tuyến tính được mà không có nhiễu (tất

cả các điểm được gán nhãn +1 thuộc về phía dương của siêu phẳng, tất cả các điểm được gán nhãn -1 thuộc về phía âm của siêu phẳng)

Hai lề của siêu phẳng 𝑓(𝑥) = 〈𝑤 𝑥〉 + 𝑏 = 0 sẽ là:

- Lề cộng: 〈𝑤 𝑥〉 + 𝑏 = +1

- Lề trừ: 〈𝑤 𝑥〉 + 𝑏 = −1

Khi đó, để tính độ rộng của lề, ta cần tính tổng khoảng cách từ 2 lề cộng và lề trừ đến siêu phẳng 〈𝑤 𝑥〉 + 𝑏 = 0

Trang 21

Hình 1.3 Tập dữ liệu được phân chia tuyến tính

Theo không gian véc-tơ trong đại số tuyến tính thì khoảng cách từ một điểm

𝑑+ =|〈𝑤 𝑥1〉 + 𝑏 − 1|

‖𝑤‖

(2.7)

Từ (2.6) và (2.7) ta được:

Trang 23

Bài toán cực tiểu hóa có ràng buộc bất đẳng thức như sau:

Cực tiểu hóa f(x) với điều kiện g(x) ≤ 0 Điều kiện để x0 là một lời giải

Với α là hệ số nhân Lagrange

Trong trường hợp có nhiều ràng buộc bất đẳng thức thì cần phải có hệ số nhân Lagrange cho mỗi ràng buộc:

Với αi là các hệ số nhân Lagrange

Hàm Lagrange đối với (2.14) là:

Với αi ≥ 0 là các hệ số nhân Lagrange

Lời giải tối ưu cho (2.16) phải thỏa mãn các điều kiện nhất định gọi là các điều kiện Karush-Kuhn-Tucker (KKT) Tập điều kiện KKT gồm:

𝜕L𝑃

𝜕𝑤 = 0

𝜕L𝑃

𝜕𝑏 = 0

Trang 24

𝑦𝑖(〈𝑤 𝑥𝑖〉 + 𝑏) − 1 ≥ 0, ∀𝑖 = 1, 2, … , 𝑛

𝛼𝑖 ≥ 0, ∀𝑖 = 1, 2, … , 𝑛

𝛼𝑖[𝑦𝑖(〈𝑤 𝑥𝑖〉 + 𝑏) − 1] = 0, ∀𝑖 = 1, 2, … , 𝑛 Phương pháp Lagrange giải quyết bài toán tối ưu hàm lồi dẫn đến một biểu thức đối ngẫu của bài toán tối ưu dễ giải quyết hơn so với biểu thức cần tối ưu ban đầu

Để tìm được biểu thức đối ngẫu từ biểu thức ban đầu, ta tính đạo hàm bộ phận của biểu thức Lagrange với các biến ban đầu (w và b) và gán bằng 0, sau đó áp dụng các quan hệ thu được đối với biểu thức Lagrange ban đầu

Ta có, đạo hàm LP theo w và b lần lượt là:

Từ (2.17), ta có bài toán đối ngẫu Lagrange:

Trang 25

Có hai trường hợp xảy ra:

- Với αi = 0, vì 𝑤 = ∑𝑛𝑖=1𝛼𝑖𝑦𝑖𝑥𝑖 nên ví dụ xi sẽ không tham gia vào việc tính toán w và b

- Với αi > 0, ta có thể suy ra 𝑦𝑖(〈𝑤 𝑥𝑖〉 + 𝑏) = 1 Điều này có nghĩa là xi nằm trên một trong hai lề cộng hoặc trừ Khi đó xi được gọi là véc-tơ hỗ trợ

Trường hợp này, ta có thể tính được: 𝑏 = 𝑦𝑖− 𝑤 𝑥𝑖

Gọi SV là tập các véc-tơ hỗ trợ, NSV là số véc-tơ hỗ trợ, khi đó b được tính bằng công thức:

Trang 26

Nếu biểu thức trả về giá trị 1 thì ví dụ được phân vào lớp có nhãn dương, ngược lại thì được phân vào lớp có nhãn âm Việc phân lớp này chỉ phụ thuộc và các véc-tơ hỗ trợ và chỉ cần giá trị tích vô hướng của hai véc-tơ chứ không cần biết giá trị hai véc-tơ đấy

Trường hợp SVM tuyến tính với tập dữ liệu phân tách được là trường hợp lý tưởng Với cách tìm lề lớn nhất như trên chỉ giải được khi dữ liệu phân tách được, cách tìm lề này được gọi là lề cứng (hard margin)

1.2.2.1.2 SVM tuyến tính với tập dữ liệu có nhiễu

Trong thực tế, có thể tồn tại tập dữ liệu huấn luyện có thể phân chia tuyến tính được nhưng có nhiễu Trong trường hợp này, hầu hết các điểm đều được phân chia đúng bởi siêu phẳng Tuy nhiên, có một số điểm nhiễu, nghĩa là điểm có nhãn dương nhưng lại nằm ở phía âm của siêu phẳng, điểm có nhãn âm nhưng lại nằm ở phía dương của siêu phẳng Đối với trường hợp này ta phải mềm hóa các ràng buộc hay còn gọi là sử dụng C-SVM với lề mềm (soft margin) C-SVM cho phép gán nhãn sai cho một số ví dụ huấn luyện

Hình 1.4 Tập dữ liệu có nhiễu

Trang 27

Để làm việc với các dữ liệu nhiễu, ta cần nới lỏng các điều kiện bằng cách sử dụng các biến Slack 𝜉𝑖 ≥ 0 như sau:

Ta có biểu thức Lagrange đối với (2.22) là:

Trang 28

Lấy đạo hàm theo w, b, ξ ta có:

Trang 29

Ngoài các trường hợp về tập dữ liệu có thể phân tách tuyến tính được, ta còn

có thể gặp những tập dữ liệu huấn luyện có ranh giới quyết định là không tuyến tính nên rất khó giải quyết Phương pháp được đưa ra ở đây là ta sẽ ánh xạ các véc-tơ dữ liệu x từ không gian n chiều vào một không gian mới m chiều (m > n), gọi là không gian đặc trưng (feature space) Không gian đặc trưng này phải đảm bảo sao cho dữ

Trang 30

liệu huấn luyện sau khi ánh xạ sẽ trở nên tuyến tính và phân tách dữ liệu sẽ ít lỗi hơn không gian ban đầu

Hình 1.5 Ánh xạ Φ từ không gian X sang không gian đặc trưng F

Phương pháp SVM phi tuyến có thể phân chia thành hai bước như sau:

- Bước 1: Chuyển đổi không gian dữ liệu ban đầu sang một không gian đặc trưng mới có số chiều lớn hơn không gian ban đầu, khi đó dữ liệu huấn luyện có thể phân tách tuyến tính được

- Bước 2: Tìm siêu phẳng phân tách như trường hợp đối với SVM tuyến tính Giả sử dữ liệu xi ban đầu thuộc không gian X, ta sử dụng một hàm ánh xạ Φ

để chuyển tập dữ liệu xi sang không gian F

Φ: X → F

x → Φ(x) Tập dữ liệu huấn luyện ban đầu:

T = {(x1,y1), (x2,y2), …, (xn,yn)}

Được ánh xạ thành tập:

Trang 31

T’ = {( Φ(x1),y1), (Φ(x2),y2), …, (Φ(xn),yn)}

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

có thể rất lớn thậm chí là vô cùng Việc tính số lượng đặc trưng mới nhiều như vậy

sẽ gặp vấn đề về chi phí, thời gian và không thực tế Để tránh việc tính toán các đặc trưng trong không gian mới, SVM sử dụng các hàm nhân (kernel function)

Ta có thể thấy, trong các biểu thức đối ngẫu Lagrange và biểu thức siêu phẳng phân tách Φ(x) không xuất hiện riêng rẽ mà chỉ xuất hiện dưới dạng tích vô hướng

〈Φ(x) Φ(z)〉 Do đó, việc xác định cụ thể giá trị Φ(x), Φ(z) là không cần thiết mà chỉ cần tính giá trị tích vô hướng 〈Φ(x) Φ(z)〉 Ta có thể sử dụng hàm nhân 𝐾(𝑥, 𝑧) =

Trang 32

〈Φ(x) Φ(z)〉 trong các biểu thức trên và không cần tính cụ thể các ánh xạ Φ(x) và Φ(z)

Do không cần xây dựng tường mình ánh xạ Φ và sử dụng hàm nhân nên biểu thức siêu phẳng phân tách có thể được viết lại như sau:

1.2.3 SVM trong phân lớp đa lớp

SVM ở dạng chuẩn là một thuật toán phân lớp nhị phân, nghĩa là được sử dụng cho trường hợp phân loại hai lớp với nhãn đầu ra nhận một trong hai giá trị “+” hoặc

“-” Tuy nhiên, trong thực tế có rất nhiều trường hợp cần phải phân loại đa lớp, tức là nhãn đầu ra có thể nhận nhiều hơn hai giá trị

Trang 33

Ý tưởng để giải quyết vấn đề này là kết hợp nhiều bộ phân lớp SVM nhị phân với nhau Có hai chiến lược phân lớp đa lớp phổ biến thường được sử dụng là One-against-Rest (OAR) và One-against-One (OAO)

1.2.3.1 Chiến lược One-against-Rest [10][11]

Giả sử ta cần phải phân loại tập dữ liệu huấn luyện vào n lớp khác nhau Chiến lược này sẽ sử dụng n-1 bộ phân lớp và chuyển bài toán phân loại n lớp thành n bài toán phân lớp nhị phân Trong đó bộ phân lớp nhị phân thứ i (i = 1, 2, …, n-1) được xây dựng để phân tách các ví dụ thuộc lớp i với tất cả các lớp còn lại

Hình 1.6 Chiến lược One-against-Rest

Hàm quyết định phân lớp của lớp thứ i có dạng:

𝑓𝑖(𝑥) = 〈𝑤𝑖 𝑥〉 + 𝑏𝑖 = 0 (2.32) Khi đó, siêu phẳng phân chia tối ưu sẽ có dạng fi(x) = 0, các véc-tơ hỗ trợ thuộc lớp i thỏa mãn fi(x) = 1 Nếu véc-tơ dữ liệu x thỏa mãn điều kiện fi(x) > 0 đối với duy nhất một lớp i thì x sẽ được phân vào lớp thứ i

Tuy nhiên, trong trường hợp điều kiện fi(x) > 0 thỏa mãn đối với nhiều i, hoặc không thỏa mãn với bất kỳ i nào thì ta không thể phân loại được véc-tơ x Để giải quyết vấn đề này ta cần sử dụng chiến lược One-against-One

Trang 34

1.2.3.2 Chiến lược One-against-One [10][11]

Khác với chiến lược OAR, chiến lược OAO sẽ kết hợp từng đôi một các lớp với nhau để phân loại, sau đó sử dụng phương pháp lựa chọn theo đa số để kết hợp các bộ phân loại với nhau và xác định kết quả phân loại cuối cùng Chiến lược này sẽ cần phải sử dụng n(n-1)/2 bộ phân loại đối với trường hợp đầu ra có n nhãn

Hình 1.7 Chiến lược One-against-One

Hàm quyết định phân lớp của lớp thứ i đối với lớp thứ j là:

𝑓𝑖𝑗(𝑥) = 〈𝑤𝑖𝑗 𝑥〉 + 𝑏𝑖𝑗 = 0 (2.33)

𝑓𝑖𝑗(𝑥) = −𝑓𝑗𝑖(𝑥) Đối với một véc-tơ x ta tính:

Ngày đăng: 23/10/2017, 12:41

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w