Nghiên cứu một số thuật toán học máy và ứng dụngNghiên cứu một số thuật toán học máy và ứng dụngNghiên cứu một số thuật toán học máy và ứng dụngNghiên cứu một số thuật toán học máy và ứng dụngNghiên cứu một số thuật toán học máy và ứng dụngNghiên cứu một số thuật toán học máy và ứng dụngNghiên cứu một số thuật toán học máy và ứng dụngNghiên cứu một số thuật toán học máy và ứng dụng
Trang 2HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Trang 3LỜI CAM ĐOAN
Tôi 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ác giả luận văn ký và ghi rõ họ tên
Nguyên Thị Hòa
Trang 4LỜI CẢM ƠN
Để hoàn thành được luận văn, ngoài sự nghiên cứu và cố gắng của bản thân,
em xin gửi lời cảm ơn tới TS Vũ Văn Thỏa, giáo viên trực tiếp hướng dẫn, tận tình chỉ bảo và định hướng cho em trong suốt quá trình thực hiện luận văn
Em xin gửi lời cảm ơn chân thành cảm ơn tất cả các thầy cô giáo của Học viện Công nghệ Bưu chính Viễn thông đã giảng dạy và dìu dắt em trong trong suốt quá trình học tập tại trường từ khi còn học đại học cho đến sau đại học
Cuối cùng, em xin gửi lời cảm ơn tới gia đình, bạn bè và những người đã luôn ở bên cổ vũ tinh thần, tạo điều kiện thuận lợi cho em để em có thể học tập tốt
và hoàn thiện luận văn
Em xin chân thành cảm ơn!
Trang 5MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC vii
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT vii
DANH SÁCH BẢNG viii
DANH SÁCH HÌNH VẼ viii
LỜI MỞ ĐẦU 1
Chương 1 - TỔNG QUAN VỀ HỌC MÁY 3
Một số khái niệm về học máy 3
1.1 Phân loại các thuật toán học máy 4
1.2 1.2.1 Học có giám sát 4
1.2.2 Học không giám sát 6
1.2.3 Học nửa giám sát 6
Ứng dụng của học máy 8
1.3 1.3.1 Ứng dụng trong phân tích dự báo[32] 8
1.3.2 Ứng dụng trong tìm kiếm 9
1.3.3 Ứng dụng trong phân loại 10
Kết chương 10
1.4 Chương 2: NGHIÊN CỨU MỘT SỐ THUẬT TOÁN HỌC MÁY 11
Cây quyết định 11
2.1 2.1.1 Tổng quan về cây quyết định 11
2.1.1.1 Định nghĩa 11
2.1.1.2 Chiến lược cơ bản xây dựng cây quyết định 12
2.1.1.3 Thuận lợi và hạn chế của mô hình cây quyết định 15
2.1.2 Thuật toán ID3 16
2.1.2.1 Thuật toán 17
2.1.2.2 Độ đo tính thuần nhất 18
a Entropy đo tính thuần nhất của tập huấn luyện 19
b Lượng thông tin thu được đo mức độ giảm entropy mong đợi 20
2.1.2.3 Tìm kiếm không gian giả thuyết trong ID3 20
2.1.2.4 Đánh giá hiệu suất của cây quyết định: 21
2.1.2.5 Chuyển cây về các luật 22
2.1.3 Thuật toán C4.5 22
Thuật toán máy véc tơ hỗ trợ SVM 23
2.2 2.2.1 Giới thiệu 23
2.2.2 Định Nghĩa 24
2.2.3 Phương pháp SVM phân loại nhị phân 24
2.2.3.1 SVM tuyến tính 25
Trang 6a SVM tuyến tính với tập dữ liệu phân tách được 28
2.2.3.2 SVM phi tuyến tính 36
2.2.3.3 Thuật toán tối thiểu tuần tự SMO 40
Thuật toán mạng nơ ron nhân tạo 40
2.3 2.3.1 Giới thiệu 40
2.3.2 Cơ sở lý thuyết 41
2.3.2.1 Cấu trúc mạng nơ ron 41
2.3.2.2 Khả năng ứng dụng của mạng nơ-ron nhân tạo 43
2.3.2.3 Tiến trình học 44
2.3.2.4 Giải thuật Back – Propagation 45
2.3.2.5 Những hạn chế của phương pháp lan truyền ngược: 48
So sánh các thuật toán 48
2.4 Kết chương 50
2.5 Chương 3: ỨNG DỤNG GIẢI QUYẾT BÀI TOÁN PHÂN LOẠI 51
Bài toán phân loại 51
3.1 3.1.1 Giới thiệu 51
3.1.2 Mô tả bài toán phân loại 51
3.1.3 Phương pháp phân loại 51
3.1.4 Đánh giá mô hình 53
Bài toán phân loại bệnh dựa trên dấu hiệu khám bệnh lâm sàng và các chỉ số xét nghiệm 3.2 hóa nghiệm 55
3.2.1 Đặt bài toán 55
3.2.2 Các bước giải bài toán 56
3.2.3 Thu thập dữ liệu nghiên cứu 57
3.2.4 Tiền xử lý dữ liệu 59
3.2.5 Bài toán thực nghiệm 61
Thử nghiệm và đánh giá kết quả 63
3.3 3.3.1 Công cụ thực nghiệm 63
3.3.2 Chuẩn bị dữ liệu 64
3.3.3 Thực hiện thực nghiệm 65
3.3.4 Kết quả thực nghiệm 67
3.3.5 Phân tích và đánh giá kết quả 69
Kết chương 70
3.4 KẾT LUẬN 71
IV DANH MỤC CÁC TÀI LIỆU THAM KHẢO 72
PHỤ LỤC 76
Trang 7DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
Từ viết tắt Nghĩa tiếng anh Nghĩa tiếng việt
Clustering
Kỹ thuật phân cụm theo thứ bậc
Trang 8DANH SÁCH BẢNG
Bảng 2.1 Tập dữ liệu thời tiết 13
Bảng 3.1 Các chỉ số liên qua đến độ đo trong KPDL 54
Bảng 3.2 Số lượng BN theo nhóm mặt bệnh nghiên cứu 58
Bảng 3.3 Cơ cấu số mẫu HL và KC tương ứng 64
Bảng 3.4 Cơ cấu của các tập tin dữ liệu 64
Bảng 3.5 Kết quả phân loại theo cây quyết định J48 67
Bảng 3.6 Kết quả phân loại theo thuật toán SMO 67
Bảng 3.7 Kết quả đánh giá thuật toán cây quyết định J48 67
Bảng 3.8 Kết quả đánh giá thuật toán cây quyết định SMO 68
Bảng 3.9 So sánh hiệu quả SMO và J48 68
Trang 9DANH SÁCH HÌNH VẼ
Hình 1.0.1 Mô hình kim tự tháp: Từ dữ liệu đến tri thức 3
Hình 2.1 Cây quyết định 12
Hình 2.2 Cây quyết định đi chơi tennis 14
Hình 2.3 Cây dự đoán chơi tennis 22
Hình 2.4 Tầm quan trọng của biên trong thuật toán SVM 25
Hình 2.5 Ví dụ về một biên không tốt 26
Hình 2.6 Ví dụ về biên tối ưu 26
Hình 2.7 Siêu phẳng phân tách với véc tơ pháp tuyến w 27
Hình 2.8 Độ rộng của biên m 28
Hình 2.9 Trường hợp dữ liệu huấn luyện không phân tách được 33
Hình 2.10 Khoảng cách của các điểm lỗi đến vị trí đúng 34
Hình 2.11 Ảnh hưởng của C đến độ rộng biên và số lượng các biến phụ ξi 34
Hình 2.12 Ánh xạ từ không gian 2 chiều sang không gian 3 chiều 37
Hình 2.13 Mô hình mạng nơ ron nhân tạo 41
Hình 2.14 Cấu trúc 1 nơ ron (Neural) 41
Hình 2.15 Cấu trúc mạng nơ ron 42
Hình 2.16 Cấu trúc mạng nơ ron nhiều lớp 42
Hình 2.17 Tiến trình học 45
Hình 2.18 Mô hình tính toán một nơ-ron 46
Hình 3.1 Giai đoạn xây dựng mô hình 52
Hình 3.2 Giai đoạn phân loại 52
Hình 3.3 Đánh giá độ chính xác của mô hình phần lớp với phương pháp Holdout 53 Hình 3.4 Mô hình bài toán phân loại mặt bệnh 56
Hình 3.5 Các bước phân loại mặt bệnh dựa trên triệu chứng lâm sàng và cận lâm sàng 57
Hình 3.6 Giao diện khởi động của WEKA 63
Hình 3.7 Thực hiện phân loại với J48 Classifier và SMO Classifier 66
Trang 10Hình 3.8 So sánh độ nhạy và thời gian thực hiện giữa thuật toán SMO và cây quyết định J48 68
Trang 11LỜI MỞ ĐẦU
Trong những năm gần đây, sự phát triển vượt bậc của công nghệ thông tin
đã làm số lượng thông tin được trao đổi trên mạng Internet tăng một cách đáng kể
Do đó, số lượng thông tin được lưu trữ trong các kho dữ liệu cũng tăng với một tốc
độ chóng mặt, và tốc độ thay đổi thông tin là cực kỳ nhanh chóng Theo thống kê của Broder et al (2003) thì cứ sau 9 tháng hoặc 12 tháng lượng thông tin đó lại tăng gấp đôi Cùng với đó là sự phổ cập máy tính và mạng internet, thói quen tìm kiếm thông tin qua mạng, đặc biệt là qua các trang web tìm kiếm nổi tiếng ngày càng phổ biến Thông qua internet chúng ta có nhiều cơ hội để tiếp xúc với nguồn thông tin
vô cùng lớn Nhưng cùng với nguồn thông tin vô tận đó, chúng ta cũng đang phải đối mặt với sự quá tải thông tin Đôi khi để tìm được thông tin cần thiết, chúng ta phải bỏ ra một lượng thời gian khá lớn, còn trong trường hợp chúng ta chưa rõ mình thực sự cần gì thì thời gian để tìm kiếm quả là không hề ít
Với số lượng thông tin đồ sộ như vậy, một yêu cầu lớn đặt ra là làm sao tổ chức, tìm kiếm và khai thác thông tin, dữ liệu một cách hiệu quả nhất Một trong các giải pháp được nghiên cứu để giải quyết yêu cầu này là xây 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 nhằm phân loại, khai thác thông tin một cách tự động và trích xuất các tri thức hữu ích
Xuất phát từ thực tế và mục tiêu như vậy, học viên thực hiện đề tài luận văn có tên “Nghiên cứu một số thuật toán học máy và ứng dụng” để bước đầu giải quyết vấn đề nêu trên
Nội dung nghiên cứu:
- Nghiên cứu một số kiến thức tổng quan về học máy
- Khảo sát một số thuật toán học máy như cây quyết định, máy véctơ hỗ trợ (SVM), mạng nơron nhân tạo (ANN)
- Ứng dụng các thuật toán đã nghiên cứu để giải quyết bài toán phân loại
cụ thể Qua đó, đánh giá độ chính xác và tính khả thi của thuật toán
Cấu trúc của luận văn gồm 3 chương:
Chương 1: Tổng quan về học máy
Trang 12Chương 2: Nghiên cứu một số thuật toán học máy
Chương 3: Ứng dụng vào giải quyết bài toán phân loại
Trong đó luận văn tập trung vào chương 2 và 3 nhằm nghiên cứu tìm hiểu
để đề xuất ứng dụng giải pháp phù hợp nhất với bài toán phân loại bệnh
Trang 13Chương 1 - TỔNG QUAN VỀ HỌC MÁY
Chương này trình bày một số kiến thức tổng quan về học máy: những khái niệm cơ bản trong học máy, mô hình học máy, phân loại các phương pháp học máy, ứng dụng của học máy trong thực tế
Một số khái niệm về học máy
1.1
Học máy là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc nghiên cứu
và xây dựng các kĩ thuật cho phép các hệ thống "học" tự động từ dữ liệu để giải
trúc gồm 4 mức được gọi là tri thức kim tự tháp dưới đây [32]
Hình 1.0.1 Mô hình kim tự tháp: Từ dữ liệu đến tri thức
Trang 14Học máy là sự tự động của quy trình học và việc học thì tương đương với việc xây dựng những luật dựa trên việc quan sát trạng thái trên cơ sở dữ liệu và những sự chuyển hoá của chúng Đây là lĩnh vực rộng lớn không chỉ bao gồm việc học từ mẫu, mà còn học tăng cường, học với “thầy”, Các thuật toán học lấy bộ dữ liệu và những thông tin quen thuộc của nó khi nhập và trả về một kết quả câu nói hay một câu ví dụ, một khái niệm để diễn tả những kết quả học
Học máy kiểm tra những ví dụ trước đó và kiểm tra luôn cả những kết quả của chúng khi xuất và học làm cách nào để tái tạo lại những kết quả này và tạo nên những sự tổng quát hóa cho những trường hợp mới
Nói chung, học máy sử dụng một tập hữu hạn dữ liệu được gọi là tập huấn luyện Tập này chứa những mẫu dữ liệu mà nó được viết bằng mã theo một cách nào đó để máy có thể đọc và hiểu được Tuy nhiên, tập huấn luyện bao giờ cũng hữu hạn do đó không phải toàn bộ dữ liệu sẽ được học một cách chính xác
Một tiến trình học máy gồm 2 giai đoạn:
Giai đoạn học: hệ thống phân tích dữ liệu và nhận ra sự mối quan hệ (có thể
là phi tuyến hoặc tuyến tính) giữa các đối tượng dữ liệu 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, tiên đoán lớp cho các đối tượng mới
Giai đoạn thử nghiệm (testing): Mối quan hệ (các luật, lớp ) được tạo ra 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
Phân loại các thuật toán học máy
1.2
Các thuật toán học máy được chia làm 3 loại: học có giám sát, học không
giám sát và học nửa giám sát[32]
Học có giám sát
1.2.1
Đây là cách học từ những mẫu dữ liệu mà ở đó các kỹ thuật học máy giúp hệ thống xây dựng cách xác định những lớp dữ liệu Hệ thống phải tìm một sự mô tả cho từng lớp (đặc tính của mẫu dữ liệu) Người ta có thể sử dụng các luật phân loại
Trang 15hình thành trong quá trình học và phân loại để có thể sử dụng dự báo các lớp dữ liệu sau này
Thuật toán học có giám sát gồm tập dữ liệu huấn luyện M cặp:
Các cặp huấn luyện này được gọi là mẫu, với
Thuật toán học máy giám sát tìm kiếm không gian của những giả thuyết có thể, gọi là H Đối với một hay nhiều giả thuyết, mà ước lượng tốt nhất hàm không được biết chính xác f : x c
Đối với công việc phân loại có thể xem giả thuyết như một tiêu chí phân loại Thuật toán học máy tìm ra những giả thuyết bằng cách khám phá ra những đặc trưng chung của những ví dụ mẫu thể hiện cho mỗi lớp Kết quả nhận được thường
ở dạng luật (Nếu thì) Khi áp dụng cho những mẫu dữ liệu mới, cần dựa trên những giả thuyết đã có để dự báo những phân loại tương ứng của chúng Nếu như không gian giả thuyết lớn, thì cần một tập dữ liệu huấn luyện đủ lớn nhằm tìm kiếm một hàm xấp xỉ tốt nhất f
Tùy thuộc vào mức độ của thuật toán học giám sát, người ta có những mô hình học giám sát như sau:
- Học vẹt: hệ thống luôn luôn được “dạy” những luật đúng, rồi có học hội tụ
- Học bằng phép loại suy: hệ thống được dạy phản hồi đúng cho một công việc tương tự, nhưng không xác định Vì thế hệ thống phải hiệu chỉnh phản hồi trước
đó bằng cách tạo ra một luật mới có thể áp dụng cho trường hợp mới
- Học dựa trên trường hợp: trong trường hợp này hệ thống học lưu trữ tất cả các trường hợp, cùng với kết quả đầu ra của chúng Khi bắt gặp một trường hợp mới, nó sẽ cố gắng hiệu chỉnh đến trường hợp mới này cách xử lý trước đó của
nó đã được lưu trữ
Trang 16- Học dựa trên sự giải: hệ thống sẽ phân tích tập hợp những giải pháp nhằm chỉ ra tại sao mỗi phương pháp là thành công hay không thành công Sau khi những giải thích này được tạo ra, chúng sẽ được dùng để giải quyết những vấn đề mới Một số thuật toán thường được lựa chọn khi xây dựng bộ phân loại gồm có: máy véc tơ hỗ trợ (SVM), k láng giềng gần nhất (KNN), tiếp cận xác suất thống kê (NB), Cây quyết định (DT); sử dụng mạng nơron (Nnet), dựa trên vector trọng tâm (Centroid–base vector), hay tuyến tính bình phương nhỏ nhất (LLSF)
Trong trường hợp chỉ có ít, hay gần như không có tri thức về dữ liệu đầu vào, khi đó một hệ thống học không giám sát sẽ khám phá ra những phân loại của
dữ liệu, bằng cách tìm ra những thuộc tính, đặc trưng chung của những mẫu hình thành nên tập dữ liệu Một thuật toán học máy giám sát luôn có thể biến đổi thành một thuật toán học máy không giám sát
Đối với một bài toán mà những mẫu dữ liệu được mô tả bởi n đặc trưng, người ta có thể chạy thuật toán học giám sát n-lần, mỗi lần với một đặc trưng khác nhau đóng vai trò thuộc tính lớp, mà chúng ta đang tiên đoán Kết quả sẽ là n tiêu chí phân loại (n bộ phân loại), với hy vọng là ít nhất một trong n bộ phân loại đó là đúng
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ân cụm phục vụ khai thác hiệu quả nguồn dữ liệu chưa gán nhãn nhiều và rất đa dạng Việc lựa chọn sử dụng thuật toán nào tuỳ thuộc vào dữ liệu và mục đích của từng bài toán Trong đó các thuật toán thường được sử dụng như: k-means, HAC, SOM
Học nửa giám sát
1.2.3
Trang 17Học nửa giám sát là các thuật toán học tích hợp từ học giám sát và học không giám sát Học bán giám sát sử dụng cả dữ liệu đã gán nhãn và chưa gán nhãn
để huấn luyện - điển hình là một lượng nhỏ dữ liệu có gán nhãn cùng với lượng lớn
dữ liệu chưa gán nhãn
Nội dung chính của học bán giám sát là hệ thống sử dụng một tập huấn luyện gồm 2 phần: các ví dụ huấn luyện có nhãn, thường với số lượng ít, và các ví dụ học không có nhãn, thường với số lượng nhiều Các dữ liệu gán nhãn thường hiếm, đắt
và rất mất thời gian, đòi hỏi sự nỗ lực của con người, trong khi đó dữ liệu chưa gán nhãn thì vô vàn nhưng để sử dụng vào mục đích cụ thể của chúng ta thì rất khó, vì vậy ý tưởng kết hợp giữa dữ liệu chưa gán nhãn và dữ liệu đã gán nhãn để xây dựng một tập phân loại tốt hơn là nội dung chính của học bán giám sát Bởi vậy học bán giám sát là một ý tưởng tốt để giảm bớt công việc của con người và cải thiện độ chính xác lên mức cao hơn
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ý, có đánh giá chất lượng công việc hay độ 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 chọn 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
Áp dụng một phương pháp kiểm thử (có thể kết hợp với một tập dữ liệu đã biết trước nhãn) để đánh giá hiệu năng/độ chính xác của mô hình
Học bán giám sát đứng giữa học không giám sát (không có bất kì dữ liệu đã được nhãn nào) và có giám sát (toàn bộ dữ liệu đều được gán nhãn) Việc học nửa giám sát tận dụng những ưu điểm của việc học giám sát và học không giám sát và loại bỏ những khuyết điểm thường gặp trên hai kiểu học này
Quá trình học bán giám sát đã được nghiên cứu phát triển trong một thập kỷ gần đây, nhất là từ khi xuất hiện các trang Web với số lượng thông tin ngày càng lớn, chủ đề ngày càng phong phú Chúng ta có thể nêu lên quá trình phát triển của học bán giám sát trải qua các thuật toán được nghiên cứu như sau Cùng với số liệu lớn của dữ liệu chưa gán nhãn, các thành phần hỗn hợp có thể được nhận ra cùng
Trang 18với thuật toán cực đại kỳ vọng Chỉ cần một mẫu đơn đã gán nhãn cho mỗi thành phần để xác định hoàn toàn được mô hình hỗn hợp Mô hình này được áp dụng thành công vào việc phân loại văn bản Một biến thể khác của mô hình này chính là self-training Cả 2 phương pháp này được sử dụng cách đây một thời gian khá dài Chúng được sử dụng phổ biến vì dựa trên khái niệm đơn giản của chúng và sự dễ hiểu của thuật toán Co-training là thuật toán học bán giám sát điển hình tiếp theo
mà các nhà khoa học đầu tư nghiên cứu Trong khi self-training là thuật toán mà khi
có một sự phân loại lỗi thì có thể tăng cường thêm cho chính nó, thì co-training giảm bớt được lỗi tăng cường có thể xảy ra khi có một quá trình phân loại bị lỗi Cùng với quá trình phát triển và việc áp dụng phổ biến và sự tăng lên về chất lượng của thuật toán SVM, SVM truyền dẫn nổi bật lên như một SVM chuẩn mở rộng cho phương pháp học bán giám sát Gần đây các phương pháp học bán giám sát dựa trên
đồ thị thu hút nhiều sự quan tâm của các nhà khoa học cũng như những người quan tâm đến lĩnh vực khai phá dữ liệu Các phương pháp Graph-based bắt đầu với một
đồ thị mà các nút là các điểm dữ liệu gán nhãn và chưa gán nhãn, và các điểm nối phản ánh được sự giống nhau giữa các nút này Có thể thấy học bán giám sát là một quá trình hoàn thiện dần các thuật toán để áp dụng vào các vấn đề của đời sống con người Một số thuật toán học bán giám sát điển hình có thể xem là được áp dụng nhiều nhất, đó là Naive Bayes, EM với các mô hình hỗn hợp sinh, self-training, co-training, SVM truyền dẫn, và các phương pháp dựa trên đồ thị
Ứng dụng của học máy
1.3
Học máy có ứng dụng rộng khắp trong các ngành khoa học và sản xuất, đặc
biệt 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 phổ biến của học máy
Ứng dụng trong phân tích dự báo[32]
1.3.1
- Dự báo điểm và dự báo khoảng
- Phương pháp định tính và định lượng
Trang 19- Dự báo ngắn hạn (<3 tháng), dự báo trung hạn (6 tháng - 2năm), dự báo dài hạn (>2 năm)
Phương pháp định tính
- Phương pháp chuyên gia: phương pháp chuyên gia là phương pháp dự báo mà
kết quả là các "thông số" do các chuyên gia đưa ra
- Phương pháp Delphi: tổ chức phối hợp các loại trưng cầu và xử lý ý kiến
chuyên gia
Phương pháp định lượng
- Phương pháp chuỗi thời gian: dựa trên phân tích chuỗi quan sát của một biến
duy nhất theo biến số độc lập là thời gian
- Mô hình nhân quả: giả định biến số dự báo có thể được giải thích bởi hình vi
của những biến số kinh tế khác
- Chương Trình Ứng Dụng Hệ Thống Mạng Nơron Lan Truyền Ngược (FNN)
- Chương Trình Ứng Dụng Hệ luật mờ (SAM)
- Chương Trình Ứng Dụng Mạng Nơ rôn dạng Lan Truyền Ngược và thuật toán
di truyền vào phân tích dự báo
Các chương trình ứng dụng mô hình mạng nơ rôn mờ hồi quy, sử dụng file
dữ liệu huấn luyện, thử nghiệm và dự báo dạng văn bản
Ứng dụng trong tìm kiếm
1.3.2
Mô hình tìm kiếm có thể gom lại gồm hai thành phần chính: một thành phần chạy trực tuyến trên web dùng để tương tác với người dùng, nhận và xử lý câu truy vấn, một thành phần chạy không trực tuyến dùng để xử lý lưu lịch sử truy cập trang web, xử lý tập từ khóa trên trang, xử lý gán trọng số cho trang web, xử lý gom nhóm phiên làm việc và huấn luyện mạng
Để quá trình tìm kiếm của người dùng ít tốn thời gian và tài nguyên xử lý, toàn bộ quá trình tính toán và tiền xử lý được thi hành trước trên máy chủ, thành phần trực tuyến chỉ tính toán lại một phần kết quả do phụ thuộc vào câu truy vấn
Trang 20của người dùng đồng thời tổng hợp các kết quả mà thành phần không trực tuyến gởi đến để tối ưu kết quả tìm kiếm
Ứng dụng trong phân loại
Ví dụ: Phân loại bệnh nhân theo mặt bệnh, phân loại các loài thực vật … Phân loại còn được gọi là quá trình học có giám sát Hướng tiếp cận này thường sử dụng một số kỹ thuật của học máy như: Mạng Nơ-ron nhân tạo, cây quyết định, máy vec-tơ hỗ trợ
Trong chương này luận văn cũng trình bày tổng quan về các học máy và mộ
số ứng dụng của học máy trong các lĩnh vựa Có nhiều mô hình học máy, trong đó phương pháp phân loại được ứng dụng rất rộng rãi trong thực tế Trong phương pháp phân loại, kỹ thuật học máy SVM, cây quyết định, mạng nơ ron là những thuật toán phân loại được ứng dụng rộng rãi, đặc biệt là trong y học và tin sinh học
Vì vậy, chương tiếp theo luận văn sẽ nghiên cứu ba thuật toán cơ bản là cây
quyết định, SVM và mạng nơ-ron
Trang 21Chương 2: NGHIÊN CỨU MỘT SỐ THUẬT TOÁN HỌC
từ dữ liệu huấn luyện, trong đó cây quyết định được sử dụng làm biểu diễn xấp xỉ của hàm phân loại, tức là hàm có đầu ra là các giá trị rời rạc Như đã nói ở trên, phương pháp học này thuộc loại học có giám sát
Tổng quan về cây quyết định
sẽ xem xét thuộc tính rời rạc, sau đó sẽ mở rộng cho trường hợp thuộc tính nhận giá trị liên tục Trong các trình bày tiếp theo, tập thuộc tính đầu vào được cho dưới dạng véc tơ x, nhãn phân loại đầu ra được ký hiệu là y, cây quyết định là hàm f(x) trả lại giá trị y Cây quyết định được biểu diễn dưới dạng một cấu trúc cây (hình 2.1)
Trang 22Hình 2.1 Cây quyết định
Mỗi nút trung gian, tức là nút không phải nút lá, tương ứng với phép kiểm tra một thuộc tính Mỗi nhánh phía dưới của nút đó tương ứng với một giá trị của thuộc tính hay một kết quả của phép thử Khác với nút trung gian, nút lá không chứa thuộc tính mà chứa nhãn phân loại Để xác định nhãn phân loại cho một ví dụ nào
đó, ta cho ví dụ chuyển động từ gốc cây về phía nút lá Tại mỗi nút, thuộc tính tương ứng với nút được kiểm tra, tùy theo giá trị của thuộc tính đó mà ví dụ được chuyển xuống nhánh tương ứng bên dưới Quá trình này lặp lại cho đến khi ví dụ tới được nút lá và được nhận nhãn phân loại là nhãn của nút lá tương ứng
2.1.1.2 Chiến lược cơ bản xây dựng cây quyết định
- Bắt đầu từ nút đơn biểu diễn tất cả các mẫu
- Nếu các mẫu thuộc về cùng một lớp, nút trở thành nút lá và được gán nhãn bằng lớp đó
- Ngược lại, dùng độ đo thuộc tính để chọn thuộc tính sẽ phân tách tốt nhất các mẫu vào các lớp
- Một nhánh được tạo cho từng giá trị của thuộc tính được chọn và các mẫu được phân hoạch theo
- Dùng đệ quy cùng một quá trình để tạo cây quyết định
Trang 23- Tiến trình kết thúc chỉ khi bất kỳ điều kiện nào sau đây là đúng
hơn
- Tuy nhiên, nếu không chọn được thuộc tính phân loại hợp lý tại mỗi nút, ta sẽ tạo ra cây rất phức tạp, ví dụ như cây dưới đây:
Cho tập dữ liệu sau:
Bảng 2.1 Tập dữ liệu thời tiết
Trang 24Từ dữ liệu trên ta xây dựng được cây quyết định như sau:
Mạnh
Có
Yếu Không
Hình 2.2 Cây quyết định đi chơi tennis
Tránh “quá vừa” dữ liệu
Thế nào là “quá vừa” dữ liệu? Có thể hiểu đây là hiện tượng cây quyết định chứa một số đặc trưng riêng của tập dữ liệu đào tạo, nếu lấy chính tập traning data
để test lại mô hình phân loại thì độ chính xác sẽ rất cao, trong khi đối với những dữ liệu tương lai khác nếu sử dụng cây đó lại không đạt được độ chính xác như vậy Quá vừa dữ liệu là một khó khăn đáng kể đối với học bằng cây quyết định và những phương pháp học khác Đặc biệt khi số lượng ví dụ trong tập dữ liệu đào tạo quá ít, hay có noise trong dữ liệu
Có hai phương pháp tránh “quá vừa” dữ liệu trong cây quyết định:
hảo tập dữ liệu đào tạo Với phương pháp này, một thách thức đặt ra là phải ước lượng chính xác thời điểm dừng phát triển cây
Cho phép cây có thể “quá vừa” dữ liệu, sau đó sẽ cắt, tỉa cây
Trang 25 Mặc dù phương pháp thứ nhất có vẻ trực tiếp hơn, nhưng với phương pháp thứ hai thì cây quyết định được sinh ra được thực nghiệm chứng minh là thành công hơn trong thực tế Hơn nữa việc cắt tỉa cây quyết định còn giúp tổng quát hóa,
và cải thiện độ chính xác của mô hình phân loại Dù thực hiện phương pháp nào thì vấn đề mấu chốt ở đây là tiêu chuẩn nào được sử dụng để xác định kích thước hợp lý của cây cuối cùng
Thao tác với thuộc tính liên tục
Việc thao tác với thuộc tính liên tục trên cây quyết định hoàn toàn không đơn giản như với thuộc tính rời rạc
Thuộc tính rời rạc có tập giá trị xác định từ trước và là tập hợp các giá trị rời rạc Ví dụ loại ô tô là một thuộc tính rời rạc với tập giá trị là: {xe tải, xe khách, xe con,taxi}.Việc phân chia dữ liệu dựa vào phép kiểm tra giá trị của thuộc tính rời rạc được chọn tại một ví dụ cụ thể có thuộc tập giá trị của thuộc tính đó hay không Đây
là phép kiểm tra logic đơn giản, không tốn nhiều tài nguyên tính toán Trong khi đó, với thuộc tính liên tục (thuộc tính dạng số) thì tập giá trị là không xác định trước Chính vì vậy, trong quá trình phát triển cây, cần sử dụng kiểm tra dạng nhị phân: value(A) ≤ θ Với θ là hằng số ngưỡng được lần lượt xác định dựa trên từng giá trị riêng biệt hay từng cặp giá trị liền nhau (theo thứ tự đã sắp xếp) của thuộc tính liên tục đang xem xét trong tập dữ liệu đào tạo Điều đó có nghĩa là nếu thuộc tính liên tục A trong tập dữ liệu đào tạo có d giá trị phân biệt thì cần thực hiện d-1 lần kiểm
đó Việc xác định giá trị của θ và tiêu chuẩn tìm θ tốt nhất tùy vào chiến lược của từng thuật toán
2.1.1.3 Thuận lợi và hạn chế của mô hình cây quyết định
Một số ưu điểm của cây quyết định:
- Cây quyết định tự giải thích và khi được gắn kết lại, chúng có thể dễ dàng tự sinh ra Nói cách khác, nếu cây quyết định mà có số lượng nút lá vừa phải thì
Trang 26người không chuyên cũng dễ dàng hiểu được nó Hơn nữa, cây quyết định cũng
có thể chuyển sang tập luật Vì vậy, cây quyết định được xem như là dễ hiểu
- Cây quyết định có thể xử lý cả thuộc tính tên và số đầu vào
- Thể hiện của cây quyết định là đủ đa dạng để biểu diễn cho bất kỳ giá trị rời rạc nào
- Cây quyết định có khả năng xử lý các bộ dữ liệu mà có thể gây ra lỗi
- Cây quyết định có khả năng xử lý các bộ dữ liệu mà có giá trị rỗng
- Cây quyết định được xem như là một phương pháp phi tham số
- Điều này có nghĩa là cây quyết định không có giả định về sự phân chia bộ nhớ
và cấu trúc phân loại
Bên cạnh đó, cây quyết định cũng có những nhược điểm sau đây:
- Hầu hết các thuật toán (như ID3 hoặc C4.5) bắt buộc các thuộc tính mục tiêu phải là các giá trị rời rạc
- Khi cây quyết định sử dụng phương pháp “chia để trị”, chúng có thể thực hiện tốt nếu tồn tại một số thuộc tính liên quan chặt chẽ với nhau, nhưng sẽ khó khăn nếu một số tương tác phức tạp xuất hiện Một trong những nguyên nhân gây ra điều này là những sự phân loại mà có mô tả rất mạch lạc về việc phân loại cũng
có thể gặp khó khăn trong việc biểu diễn bằng cây quyết định Một minh họa đơn giản của hiện tượng này là vấn đề tái tạo cây quyết định Khi mà hầu hết các cây quyết định phân chia không gian thể hiện thành những khu vực loại trừ lẫn nhau để biểu diễn một khái niệm, trong một số trường hợp, cây nên chứa một vài cây con giống nhau trong thứ tự thể hiện của việc phân loại Lưu ý là cây có chứa 2 bản sao của cùng một cây con
độ nhạy với tập huấn luyện, các thuộc tính không phù hợp, nhiễu
Thuật toán ID3
2.1.2
Giải thuật quy nạp cây quyết định ID3 (gọi tắt là ID3) là một giải thuật học đơn giản nhưng tỏ ra thành công trong nhiều lĩnh vực ID3 là một giải thuật hay vì
Trang 27cách biểu diễn tri thức học được của nó, tiếp cận của nó trong việc quản lý tính phức tạp, heuristic của nó dùng cho việc chọn lựa các khái niệm ứng viên, và tiềm năng của nó đối với việc xử lý dữ liệu nhiễu
ID3 biểu diễn các khái niệm ở dạng các cây quyết định Biểu diễn này cho phép chúng ta xác định phân loại của một đối tượng bằng cách kiểm tra các giá trị của nó trên một số thuộc tính nào đó
Như vậy, nhiệm vụ của giải thuật ID3 là học cây quyết định từ một tập các
dữ liệu huấn luyện Hay nói khác hơn, giải thuật có:
Đầu vào: Một tập hợp các ví dụ Mỗi ví dụ bao gồm các thuộc tính mô tả một tình huống, hay một đối tượng nào đó, và một giá trị phân loại của nó
Đầu ra: Cây quyết định có khả năng phân loại đúng đắn các ví dụ trong tập
dữ liệu huấn luyện, và hy vọng là phân loại đúng cho cả các ví dụ chưa gặp trong tương lai
2.1.2.1 Thuật toán
Hàm xây dựng cây quyết định như sau[22]:
Function induce_tree(tập_ví_dụ, tập_thuộc_tính)
chọn một thuộc tính P, lấy nó làm gốc cho cây hiện tại;
xóa P ra khỏi tập_thuộc_tính;
với mỗi giá trị V của P;
begin
Trang 28tạo một nhánh của cây gán nhãn V;
Đặt vào phân_vùng V các ví dụ trong tập_ví_dụ có giá trị V tại thuộc tính P;
Gọi induce_tree(phân_vùng V , tập_thuộc_tính), gắn kết quả vào nhánh V ;
end;
end ;
end;
2.1.2.2 Độ đo tính thuần nhất
Quinlan (1983) [34] là người đầu tiên đề xuất việc sử dụng lý thuyết thông
tin để tạo ra các cây quyết định và công trình của ông là cơ sở cho phần trình bày ở
đây Lý thuyết thông tin của Shannon (1948) [34] cung cấp khái niệm entropy để đo
tính thuần nhất (hay ngược lại là độ pha trộn) của một tập hợp Một tập hợp là thuần nhất nếu như tất cả các phần tử của tập hợp đều thuộc cùng một loại, và khi đó ta nói tập hợp này có độ pha trộn là thấp nhất Trong trường hợp của tập ví dụ, thì tập
ví dụ là thuần nhất nếu như tất cả các ví dụ đều có cùng giá trị phân loại
Khi tập ví dụ là thuần nhất thì có thể nói: ta biết chắc chắn về giá trị phân loại của một ví dụ thuộc tập này, hay ta có lượng thông tin về tập đó là cao nhất Khi tập ví dụ có độ pha trộn cao nhất, nghĩa là số lượng các ví dụ có cùng giá trị phân loại cho mỗi loại là tương đương nhau, thì khi đó ta không thể đoán chính xác được một ví dụ có thể có giá trị phân loại gì, hay nói khác hơn, lượng thông tin ta có được về tập này là ít nhất Vậy, điều ta mong muốn ở đây là làm sao chọn thuộc tính để hỏi sao cho có thể chia tập ví dụ ban đầu thành các tập ví dụ thuần nhất càng nhanh càng tốt Vậy trước hết, ta cần có một phép đo để đo độ thuần nhất của một tập hợp, từ đó mới có thể so sánh tập ví dụ nào thì tốt hơn Phần kế tiếp sẽ trình bày công thức tính entropy của một tập hợp
Trang 29a Entropy đo tính thuần nhất của tập huấn luyện
Khái niệm entropy của một tập S được định nghĩa trong Lý thuyết thông tin
là số lượng mong đợi các bít cần thiết để mã hóa thông tin về lớp của một thành viên rút ra một cách ngẫu nhiên từ tập S Trong trường hợp tối ưu, mã có độ dài ngắn nhất Theo lý thuyết thông tin, mã có độ dài tối ưu là mã gán –log2p bits cho thông điệp có xác suất là p
Trong trường hợp S là tập ví dụ, thì thành viên của S là một ví dụ, mỗi ví dụ thuộc một lớp hay có một giá trị phân loại
Trang 30• Tập S là tập dữ liệu rèn luyện, trong đó thuộc tính phân loại có hai giá trị, giả sử là âm (-) và dương (+)
• p+ là phần các ví dụ dương trong tập S
• p- là phần các ví dụ âm trong tập S
Khi đó, entropy đo độ pha trộn của tập S theo công thức sau:
Entropy(S) = -p+log2p+ - p-log2p-
Một cách tổng quát hơn, nếu các ví dụ của tập S thuộc nhiều hơn hai loại, giả
sử là có c giá trị phân loại thì công thức entropy tổng quát là:
b Lượng thông tin thu được đo mức độ giảm entropy mong đợi
Entropy là một số đo đo độ pha trộn của một tập ví dụ, bây giờ chúng ta sẽ định nghĩa một phép đo hiệu suất phân loại các ví dụ của một thuộc tính Phép đo này gọi là lượng thông tin thu được, nó đơn giản là lượng giảm entropy mong đợi gây ra bởi việc phân chia các ví dụ theo thuộc tính này
Một cách chính xác hơn, Gain(S,A) của thuộc tính A, trên tập S, được định nghĩa như sau:
) (
|
|
|
| )
( )
, (
) (
v A
Values v
v
S Entropy S
S S
Entropy A
2.1.2.3 Tìm kiếm không gian giả thuyết trong ID3
Cũng như các phương pháp học quy nạp khác, ID3 cũng tìm kiếm trong một không gian các giả thuyết một giả thuyết phù hợp với tập dữ liệu rèn luyện Không gian giả thuyết mà ID3 tìm kiếm là một tập hợp các cây quyết định có thể có ID3 thực hiện một phép tìm kiếm từ đơn giản đến phức tạp, theo giải thuật leo-núi (hill climbing), bắt đầu từ cây rỗng, sau đó dần dần xem xét các giả thuyết phức tạp hơn
Trang 31mà có thể phân loại đúng các ví dụ rèn luyện Hàm đánh giá được dùng để hướng dẫn tìm kiếm leo núi ở đây là phép đo lượng thông tin thu được
Từ cách nhìn ID3 như là một giải thuật tìm kiếm trong không gian các giả thuyết, ta có một số nhận xét như sau:
các cây quyết định trên các thuộc tính đã cho trong tập rèn luyện Điều này
có nghĩa là không gian mà ID3 tìm kiếm chắc chắn có chứa cây quyết định cần tìm
này không có khả năng biểu diễn được tất cả các cây quyết định khác nhau
có khả năng phân loại đúng dữ liệu hiện có
nó có thể gặp phải những hạn chế giống như giải thuật leo núi, đó là hội tụ về cực tiểu địa phương
thống kê, nên kết quả tìm kiếm của ID3 rất ít bị ảnh hưởng bởi một vài dữ liệu sai (hay dữ liệu nhiễu)
ngắn hơn là những cây quyết định dài Đây là tính chất thiên lệch quy nạp của ID3
2.1.2.4 Đánh giá hiệu suất của cây quyết định:
Một cây quyết định sinh ra bởi ID3 được đánh giá là tốt nếu như cây này có khả năng phân loại đúng được các trường hợp hay ví dụ sẽ gặp trong tương lai, hay
cụ thể hơn là có khả năng phân loại đúng các ví dụ không nằm trong tập dữ liệu rèn luyện
Để đánh giá hiệu suất của một cây quyết định người ta thường sử dụng một tập ví dụ tách rời, tập này khác với tập dữ liệu rèn luyện, để đánh giá khả năng phân loại của cây trên các ví dụ của tập này Tập dữ liệu này gọi là tập kiểm tra Thông
Trang 32thường, tập dữ liệu sẵn có sẽ được chia thành hai tập: tập rèn luyện thường chiếm 2/3 số ví dụ và tập kiểm tra chiếm 1/3.
2.1.2.5 Chuyển cây về các luật
Thông thường, cây quyết định sẽ được chuyển về dạng các luật để thuận tiện cho việc cài đặt và sử dụng Ví dụ cây quyết định cho tập dữ liệu rèn luyện có thể được chuyển thành một số luật như sau :
Hình 2.3 Cây dự đoán chơi tennis
If (Quang-cảnh =nắng) ^ (Độ ẩm = Cao) Then Chơi-Tennis = No
If (Quang-cảnh =nắng) ^ (Độ ẩm = TB) Then Chơi-Tennis = Yes
If (Quang-cảnh =Âm u) Then Chơi-Tennis = Yes
Thuật toán C4.5
2.1.3
C4.5 là sự mở rộng của giải thuật ID3 trên một số khía cạnh sau:
mà có những bản ghi với những giá trị thuộc tính không được biết đến bởi việc đánh giá việc thu thập thông tin hoặc là tỉ số thu thập thông tin, cho
Trang 33những thuộc tính bằng việc xem xét chỉ những bản ghi mà ở đó thuộc tính được định nghĩa
với trường hợp giá trị của các thuộc tính là giá trị thực
trường hợp thuộc tính có nhiều giá trị mà mỗi giá trị này lại duy nhất
mà có những giá trị thuộc tính không biết bằng việc ước lượng những kết quả có khả năng xảy ra
Với những đặc điểm C4.5 là thuật toán phân loại dữ liệu dựa trên cây quyết định hiệu quả và phổ biến trong những ứng dụng khai phá cơ sở dữ liệu có kích thước nhỏ C4.5 sử dụng cơ chế lưu trữ dữ liệu thường trú trong bộ nhớ, chính đặc điểm này làm C4.5 thích hợp với những cơ sở dữ liệu nhỏ, và cơ chế sắp xếp lại dữ liệu tại mỗi node trong quá trình phát triển cây quyết định C4.5 còn chứa kỹ thuật cho
phép biểu diễn lại cây quyết định dưới dạng một danh sách sắp thứ tự các luật
if-then (một dạng quy tắc phân loại dễ hiểu) Kỹ thuật này cho phép làm giảm bớt
kích thước tập luật và đơn giản hóa các luật mà độ chính xác so với nhánh tương ứng cây quyết định là tương đương
Thuật toán máy véc tơ hỗ trợ SVM
và hiệu suất cùng với những am hiểu về mặt lý thuyết, tính chất thô ngày càng được hoàn thiện Thông thường, hiệu quả ở mức độ cao không có các thành phần suy
Trang 34nghiệm Phương pháp SVM có khả năng tính toán sẵn sàng và phân loại, nó trở thành lý thuyết học mà có thể chỉ dẫn những ứng dụng thực tế trên toàn cầu Đặc trưng cơ bản quyết định khả năng phân loại là khả năng phân loại những dữ liệu mới dựa vào những tri thức đã tích luỹ được trong quá trình huấn luyện Sau quá trình huấn luyện nếu hiệu suất tổng quát hoá của bộ phân loại cao thì thuật toán huấn luyện được đánh giá là tốt Hiệu suất tổng quát hoá phụ thuộc vào hai tham số
là sai số huấn luyện hay và năng lực của học máy Trong đó sai số huấn luyện là tỷ
lệ lỗi phân loại trên tập dữ liệu huấn luyện Còn năng lực của học máy được xác định bằng kích thước Vapnik-Chervonenkis (kích thước VC) Kích thước VC là một khái niệm quan trọng đối với một họ hàm phân tách (hay là tập phân loại) Đại lượng này được xác định bằng số điểm cực đại mà họ hàm có thể phân tách hoàn toàn trong không gian đối tượng Một tập phân loại tốt là tập phân loại có năng lực thấp nhất (có nghĩa là đơn giản nhất) và đảm bảo sai số huấn luyện nhỏ Phương
pháp SVM được xây dựng trên ý tưởng này
Định Nghĩa
2.2.2
Là phương pháp dựa trên nền tảng của lý thuyết thống kê nên có một nền tảng toán học chặt chẽ để đảm bảo rằng kết quả tìm được là chính xác Là thuật toán học giám sát được sử dụng cho phân loại dữ liệu Là một phương pháp thử nghiệm, đưa ra 1 trong những phương pháp mạnh và chính xác nhất trong số các thuật toán nổi tiếng về phân loại dữ liệu SVM là một phương pháp có tính tổng quát cao nên
có thể được áp dụng cho nhiều loại bài toán nhận dạng và phân loại
Phương pháp SVM phân loại nhị phân
Trang 35Khi đó cần tìm ra một ranh giới để phân tách các mẫu thành hai lớp tương ứng +1 và -1 Độ chính xác của bộ phân loại phụ thuộc vào độ lớn khoảng cách của điểm dữ liệu gần nhất của mỗi lớp đến ranh giới phân tách (còn gọi là ranh giới quyết định), khoảng cách đó còn gọi là biên
Tùy thuộc vào dạng của ranh giới phân tách ta sẽ có SVM tuyến tính và SVM phi tuyến
Hình 2.4 Tầm quan trọng của biên trong thuật toán SVM[5]
Trong hình 2.4, ta có thể nhận thấy rằng, các điểm có khoảng cách tới siêu phẳng phân tách lớn như điểm A thì có thể gán A vào lớp +1 mà không sợ có sai sót.Trong khi đó, với điểm C ngay sát siêu phẳng phân tách sẽ được dự đoán thuộc lớp +1 nhưng C cũng có thể thuộc lớp -1 nếu có một sự thay đổi nhỏ của siêu phẳng phân tách Điểm B nằm giữa hai trường hợp này.Như vậy, khoảng cách biên càng lớn thì siêu phẳng quyết định càng tốt và độ chính xác phân loại càng cao Mục đích
Trang 36của SVM là tìm ra siêu phẳng có khoảng cách biên lớn nhất, còn gọi là siêu phẳng tối ưu
Hình 2.5 Ví dụ về một biên không tốt[5]
Hình 2.6 Ví dụ về biên tối ưu[5]
Quan sát hình 2.6 minh họa về biên tối ưu ta có thể nhận thấy các điểm được
khoanh tròn chính là các điểm gần siêu phẳng h nhất và được gọi là các véc tơ hỗ trợ (Support vectors) Hai siêu phẳng song song với h và đi qua các vector hỗ trợ được gọi là lề (margin) Phần được tô màu là khoảng cách từ h đến các điểm gần nhất của hai lớp được gọi là biên
Mỗi siêu phẳng trong không gian Rd có thể được biểu diễn dưới dạng:
Trang 37w.x + b = 0 (2.1) Trong đó: w là vector 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 vector pháp tuyến w, còn w.x biểu thị cho tích vô hướng của w và x trong Rd
Hình 2.7 Siêu phẳng phân tách với véc tơ pháp tuyến w
Tuy nhiên, có hai vấn đề đặt ra là:
- Làm thế nào để tìm được siêu phẳng với biên lớn nhất ?
- Nếu dữ liệu huấn luyện không phân tách tuyến tính được thì phải làm như thế nào?
Trang 38Để giải quyết hai vấn đề trên ta tiếp tục khảo sát SVM tuyến tính với tập dữ liệu phân tách tuyến tính đƣợc và sử dụng hàm nhân (kernel) đối với tập dữ liệu không phân tách tuyến tính đƣợc
a 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 T có thể phân tách tuyến tính đƣợc Hai lề của siêu phẳng w.x + b = 0 sẽ là:
Trang 39Bài toán này rất khó giải nhưng nếu chúng ta chuyển mục tiêu từ ||w|| sang
tuyến tính) có nghiệm tối ưu tương đương với bài toán cũ
Vậy ta cần giải bài toán:
Trang 40{ ( )|
(2.13)
Với α là hệ số nhân Lagrange
phải có hệ số nhân Lagrange cho mỗi ràng buộc:
Hàm Lagrange đối với (2.14) chính là:
{