ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG Nguyễn Như Thế NGHIÊN CỨU CÁC PHƯƠNG PHÁP PHÂN LỚP DỮ LIỆU VÀ ỨNG DỤNG TRONG BÀI TOÁNDỰ BÁOTHUÊ BAO RỜI MẠNG VIỄN
Trang 1Nguyễn Như Thế
NGHIÊN CỨU CÁC PHƯƠNG PHÁP PHÂN LỚP DỮ LIỆU
VÀ ỨNG DỤNG TRONG BÀI TOÁNDỰ BÁOTHUÊ BAO
RỜI MẠNG VIỄN THÔNG
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên -2016
Nguyễn Như Thế
NGHIÊN CỨU CÁC PHƯƠNG PHÁP PHÂN LỚP DỮ LIỆU
VÀ ỨNG DỤNG TRONG BÀI TOÁN DỰ BÁO THUÊ BAO
RỜI MẠNG VIỄN THÔNG
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên - 2016
Trang 2ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Nguyễn Như Thế
NGHIÊN CỨU CÁC PHƯƠNG PHÁP PHÂN LỚP DỮ LIỆU
VÀ ỨNG DỤNG TRONG BÀI TOÁNDỰ BÁOTHUÊ BAO
RỜI MẠNG VIỄN THÔNG
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 0101 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên -2016
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Nguyễn Như Thế
NGHIÊN CỨU CÁC PHƯƠNG PHÁP PHÂN LỚP DỮ LIỆU
VÀ ỨNG DỤNG TRONG BÀI TOÁN DỰ BÁO THUÊ BAO
RỜI MẠNG VIỄN THÔNG
Chuyên ngành: Khoa học máy tính
Trang 3LỜI CAM ĐOAN
Tên tôi là: Nguyễn Như Thế
Sinh ngày: 12/12/1989
Học viên lớp cao học: CHK13E - Trường Đại học Công nghệ thông tin
và Truyền thông – Đại học Thái Nguyên
Hiện đang công tác tại: Sở Thông tin và Truyền thông tỉnh Phú Thọ
Xin cam đoan: Đề tài “Nghiên cứu các phương pháp phân lớp dữ liệu
và ứng dụng trong bài toán dự báo thuê bao rời mạng viễn thông” do Thầy
giáo TS Nguyễn Long Giang hướng dẫn là công trình nghiên cứu của riêng
tôi Tất cả tài liệu tham khảo đều có nguồn gốc, xuất xứ rõ ràng
Tác giả xin cam đoan tất cả những nội dung trong luận văn đúng như nội dung trong đề cương và yêu cầu của thầy giáo hướng dẫn Nếu sai tôi hoàn toàn chịu trách nhiệm trước hội đồng khoa học và trước pháp luật
Thái Nguyên, ngày 28 tháng 6 năm 2016
HỌC VIÊN
Nguyễn Như Thế
Trang 4LỜI CẢM ƠN
Sau một thời gian nghiên cứu và làm việc nghiêm túc, được sự động
viên, giúp đỡ và hướng dẫn tận tình của Thầy giáo hướng dẫn TS Nguyễn
Long Giang, luận văn với đề tài “Nghiên cứu các phương pháp phân lớp dữ
liệu và ứng dụng trong bài toán dự báo thuê bao rời mạng viễn thông”đã
hoàn thành
Tôi xin bày tỏ lòng biết ơn sâu sắc đến:
Thầy giáo hướng dẫn TS Nguyễn Long Giang đã tận tình chỉ dẫn, giúp
đỡ tôi hoàn thành luận văn này
Tôi xin bày tỏ lòng biết ơn đến các thầy cô trong Trường Đại học Công
nghệ thông tin và Truyền thông – Đại học Thái Nguyên đã giúp đỡ tôi trong
quá trình học tập cũng như thực hiện luận văn
Tôi xin cảm ơn Chi nhánh Mobifone Phú Thọ đã nhiệt tình giúp đỡ, cung
cấp thông tin trong quá trình nghiên cứu, thực nghiệm chương trình luận văn
Tôi xin chân thành cảm ơn bạn bè, đồng nghiệp và gia đình đã động
viên, khích lệ, tạo điều kiện giúp đỡ tôi trong suốt quá trình học tập, thực hiện
và hoàn thành luận văn này
Thái Nguyên, ngày 28 tháng 6 năm 2016
HỌC VIÊN
Nguyễn Như Thế
Trang 5MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT v
DANH MỤC HÌNH ẢNH vi
DANH MỤC BẢNG BIỂU vii
MỞ ĐẦU 1
Chương 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 3
1.1 Tổng quan về khai phá dữ liệu 3
1.1.1 Tại sao cần khai phá dữ liệu 3
1.1.2 Các khái niệm cơ bản 3
1.1.3 Quy trình khai phá dữ liệu 5
1.1.4 Các bài toán cơ bản trong khai phá dữ liệu 6
1.1.5 Các ứng dụng của khai phá dữ liệu 7
1.1.6 Quy trình xây dựng mô hình khai phá dữ liệu 8
1.2.Bài toán phân lớp và dự báo 10
1.2.1 Giới thiệu bài toán 10
1.2.2 Các bước giải quyết bài toán 11
Chương 2: CÁC PHƯƠNG PHÁP PHÂN LỚP TRONG KHAI PHÁ DỮ LIỆU 12
2.1 Phân lớp bằng phương pháp quy nạp cây quyết định 12
2.2 Phân lớp bằng phương pháp Bayesian 15
2.3 Support Vector Machine (SVM) 16
2.3.1 Phân tách tuyến tính với lề cực đại 16
2.3.1.1 Tìm kiếm siêu phẳng với lề cực đại 21
2.3.1.2 Hàm phân loại tuyến tính với lề mềm cực đại 22
2.3.1.3 Lý thuyết tối ưu Lagrangian 23
2.3.1.4 Tìm kiếm siêu phẳng với lề cực đại 25
2.3.2 Phương pháp hàm nhân (kernel methods) 28
2.3.2.1 Chiều VC về khả năng phân tách của hàm tuyến tính 29 2.3.2.2 Hàm nhân và SVM phi tuyến (Kernel function and nonlinear SVMs) 30
Trang 62.4 Phân lớp bằng mạng lan truyền ngược (mạng Nơron) 33
Chương 3: ỨNG DỤNG BÀI TOÁN PHÂN LỚP DỮ LIỆU THUÊ BAO RỜI MẠNG VIỄN THÔNG 37
3.1 Bài toán phân lớp dữ liệu thuê bao rời mạng 37
3.1.1 Phát biểu bài toán 37
3.1.2 Khái niệm thuê bao rời mạng “churn” 38
3.1.3 Thu thập, chuẩn hóa dữ liệu 39
3.1.4 Lựa chọn thuộc tính 42
3.2 Lựa chọn phương pháp, công cụ 45
3.2.1 Ngôn ngữ R 45
3.2.2 Phương pháp phân lớp 47
3.2.3 Đánh giá hiệu năng 48
3.3 Thực nghiệm phân lớp trên ngôn ngữ R 50
3.3.1 Phân lớp dữ liệu sử dụng cây quyết định C4.5 51
3.3.2 Phân lớp dữ liệu sử dụng phương pháp Naive Bayes 53
3.3.3 Phân lớp dữ liệu bằng Support Vector Machines 55
3.3 Đánh giá kết quả 56
KẾT LUẬN 58
TÀI LIỆU THAM KHẢO 60
Trang 7DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Trang 8DANH MỤC HÌNH ẢNH
Hình 1.1- Các bước trong khai phá dữ liệu 6
Hình 1.2 - Quy trình xây dựng mô hình khai phá dữ liệu 9
Hình 2.1 - Ví dụ về cây quyết định 12
Hình 2.2 - Về mặt trực quan thì hàm tuyến tính siêu phẳng với lề lớn nhất trông có vẻ hợp lý 19
Hình 2.3 - Ví dụ về bài toán phân loại trong không gian hai chiều 19
Hình 2.4 - Ba điểm trong mặt phẳng bị chia tách bởi một đường thẳng có hướng 28
Hình 2.5 - Mạng nơ-ron truyền thẳng nhiều lớp 34
Hình 3.1 - Mô hình quan hệ các bảng dữ liệu 40
Hình 3.2 - Các giai đoạn của mô hình dự đoán thuê bao rời mạng 42
Hình 3.3 - Lựa chọn thuộc tính trong phân lớp dữ liệu 44
Hình 3.4 - Số lượng thuộc tính được thu thập 44
Hình 3.5 – Giao diện làm việc trên ngôn ngữ R 47
Hình 3.6 – Quy trình thực nghiệm bài toán phân lớp dữ liệu thuê bao rời mạng 50
Hình 3.7- mô hình phân lớp cây quyết định 52
Hình 3.8 - Chi tiết nút nhánh thứ 15 trong phân lớp cây quyết định 52
Hình 3.9 - Kết quả phân lớp dữ liệu bằng SVM 55
Hình 3.10 – Hiệu năng các thuật toán với lớp thuê bao rời mạng 57
Trang 9DANH MỤC BẢNG BIỂU
Bảng 1 - Ma trận nhầm lẫn 49
Bảng 2 – Kết quả mô hình phân lớp sử dụng C 4.5 53
Bảng 3 – Độ đo hiệu năng thuật toán Cây quyết định 53
Bảng 4 – Kết quả mô hình phân lớp sử dụng NB 54
Bảng 5 – Độ đo hiệu năng thuật toán NB 54
Bảng 6 – Kết quả mô hình phân lớp sử dụng SVM 55
Bảng 7 – Độ đo hiệu năng thuật toán SVM 56
Bảng 8 – Tổng hợp đánh giá hiệu năng các phương pháp phân lớp 56
Trang 10MỞ ĐẦU
Sự bùng nổ và phát triển của ngành công nghệ thông tin đã làm lượng dữ liệu được thu thập và lưu trữ ở các hệ thống thông tin tăng lên một cách nhanh chóng Trước tình hình đó, việc khai thác và chọn lọc những dữ liệu có ích, tiền ẩn từ lượng dữ liệu khổng lồ này là rất cần thiết Các tri thức trích lọc từ
dữ liệu sẽ giúp các cơ quan, tổ chức đưa ra những dự báo và điều hành hiệu quả
Khai phá dữ liệu và khám phá tri thức (Data mining and Knowledge discovery) là một lĩnh vực quan trọng của ngành Công nghệ thông tin với mục tiêu là tìm kiếm các tri thức có ích, cần thiết, tiềm ẩn và chưa được biết trước trong cơ sở dữ liệu lớn Đây là lĩnh vực đã và đang thu hút đông đảo các nhà khoa học trên thế giới và trong nước tham gia nghiên cứu Phân lớp (classification) là một trong những bài toán cơ bản trong khai phá dữ liệu với mục tiêu là phân loại các đối tượng vào các lớp cho trước Theo tiếp cận học máy, phân lớp là phương pháp học có giám sát với hai giai đoạn: Giai đoạn 1
là xây dựng mô hình phân lớp dựa trên tập dữ liệu huấn luyện có đầu vào và đầu ra mong muốn (gọi là nhãn lớp); Giai đoạn 2 là sử dụng mô hình phân lớp
để phân loại các tập dữ liệu chưa có nhãn lớp vào các lớp đã cho và có ứng dụng trong nhiều bài toán dự báo trong thực tế Phân lớp được sử dụng rộng rãi trong các bài toán thực tiễn như trong y tế, ngân hàng, viễn thông, kinh tế, tài chính
Ngày nay, cùng với sự phát triển mạnh mẽ của thị trường viễn thông là
sự ra đời của nhiều nhà cung cấp và kinh doanh dịch vụ mạng viễn thông Thị trường viễn thông đang đi vào giai đoạn bão hòa, khách hàng có nhiều sự lựa chọn, dẫn đến họ có thể thay đổi sử dụng dịch vụ bất cứ khi nào, kết quả là số
Trang 11lượng khách hàng rời mạng tăng lên một cách nhanh chóng Hậu quả ảnh hưởng không nhỏ tới kinh tế cũng như trong quản lý của doanh nghiệp kinh doanh dịch vụ viễn thông Vì vậy, các nhà kinh doanh dịch vụ mạng cần có các giải pháp dữ chân khách hàng hơn là tìm kiếm khách hàng mới Việc dự báo khách hàng có thể rời bỏ mạng trong tương lai là rất cần thiết, nhằm mục đích hỗ trợ các nhà kinh doanh dịch vụ mạng có quyết sách kịp thời trong công việc giữ chân khách hàng
Trang 12Chương 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1 Tổng quan về khai phá dữ liệu
1.1.1 Tại sao cần khai phá dữ liệu
Khoảng hơn một thập kỷ trở lại đây, lượng thông tin được lưu trữ trên các thiết bị điện tử (đĩa cứng, CD-ROM, băng từ, v.v.) không ngừng tăng lên
Sự tích lũy dữ liệu này xảy ra với một tốc độ bùng nổ Người ta ước đoán rằng lượng thông tin trên toàn cầu tăng gấp đôi sau khoảng hai năm và theo
đó số lượng cũng như kích cỡ của các cơ sở dữ liệu (CSDL) cũng tăng lên một cách nhanh chóng Nói một cách hình ảnh là chúng ta đang “ngập” trong
dữ liệu nhưng lại “đói” tri thức Câu hỏi đặt ra là liệu chúng ta có thể khai thác được gì từ những “núi” dữ liệu tưởng chừng như “bỏ đi” ấy không? [3]
“Necessity is the mother of invention” - Data Mining ra đời như một hướng giải quyết hữu hiệu cho câu hỏi vừa đặt ra ở trên Khá nhiều định nghĩa
về Data Mining, tuy nhiên có thể tạm hiểu rằng Data Mining như là một công nghệ tri thức giúp khai thác những thông tin hữu ích từ những kho dữ liệu được tích trữ trong suốt quá trình hoạt động của một công ty, tổ chức nào đó
1.1.2 Các khái niệm cơ bản
Khai phá dữ liệu (datamining) [4] được định nghĩa như là một quá trình chắt lọc hay khai phá tri thức từ một lượng lớn dữ liệu Một ví dụ hay được sử dụng là là việc khai thác vàng từ đá và cát, Dataming được ví như công việc
"Đãi cát tìm vàng" trong một tập hợp lớn các dữ liệu cho trước Thuật ngữ Dataming ám chỉ việc tìm kiếm một tập hợp nhỏ có giá trị từ một số lượng lớn các dữ liệu thô Có nhiều thuật ngữ hiện được dùng cũng có nghĩa tương
tự với từ Datamining như Knowledge Mining (khai phá tri thức), knowledge
Trang 13extraction (chắt lọc tri thức), data/patern analysis(phân tích dữ liệu/mẫu), data archaeoloogy (khảo cổ dữ liệu), datadredging(nạo vét dữ liệu),
Định nghĩa: Khai phá dữ liệu là một tập hợp các kỹ thuật được sử dụng
để tự động khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp dữ liệu khổng lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm
ẩn trong tập dữ liệu đó
Khai phá dữ liệu nhấn mạnh hai khía cạnh chính đó là khả năng trích xuất thông tin có ích tự động (Automated) và bán tự động (Semi - Automated) mang tính dự đoán (Predictive) Khai phá dữ liệu là một lĩnh vực liên ngành, liên quan chặt chẽ đến các lĩnh vực sau:
Statistics (Thống kê): là một số đo cho một thuộc tính nào đó của một tập mẫu Mỗi giá trị thống kê được tính bằng một hàm nào đó và thông tin của môt thống kê mang tính đại diện cho thông tin của tập mẫu mang lại
Machine Learning (Máy học): là một phương pháp để tạo ra các chương trình máy tính bằng việc phân tích các tập dữ liệu Máy học có liên quan lớn đến thống kê, vì cả hai lĩnh vực đều nghiên cứu việc phân tích dữ liệu, nhưng khác với thống kê, học máy tập trung vào sự phức tạp của các giải thuật trong việc thực thi tính toán
Databases technology (Công nghệ cơ sở dữ liệu): kho thông tin về một chủ đề, được tổ chức hợp lý để dễ dàng quản lý và truy tìm
Visualization (Sự trực quan): Biểu diễn giúp dữ liệu dễ hiểu, dễ sử dụng, thuận tiện cho việc tạo các báo cáo, tìm ra các tri thức phục vụ việc ra quyết định và dự đoán của nhà quản lý
Trang 141.1.3 Quy trình khai phá dữ liệu
Khai phá dữ liệu là một bước trong bảy bước của quá trình KDD (Knowleadge Discovery in Database) và KDD được xem như 7 quá trình khác nhau theo thứ tự sau [1]:
1 Làm sạch dữ liệu (data cleaning & preprocessing): Loại bỏ nhiễu và các dữ liệu không cần thiết
2 Tích hợp dữ liệu: (data integration): quá trình hợp nhất dữ liệu thành những kho dữ liệu (data warehouses & data marts) sau khi đã làm sạch và tiền xử lý (data cleaning & preprocessing)
3 Trích chọn dữ liệu (data selection): trích chọn dữ liệu từ những kho
dữ liệu và sau đó chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức Quá trình này bao gồm cả việc xử lý với dữ liệu nhiễu (noisy data), dữ liệu không đầy đủ (incomplete data), v.v
4 Chuyển đổi dữ liệu: Các dữ liệu được chuyển đổi sang các dạng phù hợp cho quá trình xử lý
5 Khai phá dữ liệu (data mining): Là một trong các bước quan trọng nhất, trong đó sử dụng những phương pháp thông minh để chắt lọc ra những mẫu dữ liệu
6 Ước lượng mẫu (knowledge evaluation): Quá trình đánh giá các kết quả tìm được thông qua các độ đo nào đó
7 Biểu diễn tri thức (knowledge presentation): Quá trình này sử dụng các kỹ thuật để biểu diễn và thể hiện trực quan cho người dùng
Trang 15Hình 1.1- Các bước trong khai phá dữ liệu [1]
1.1.4 Các bài toán cơ bản trong khai phá dữ liệu
Mô tả khái niệm (concept description): là bài toán tìm đặc trưng và tính chất của khái niệm Bài toán thiên về mô tả, tổng hợp và tóm tắt khái niệm Ví dụ: tóm tắt văn bản
Luật kết hợp (association rules): là dạng luật biểu diễn tri thức ở dạng khá đơn giản Ví dụ: “60 % nam giới vào siêu thị nếu mua bia thì có tới 80% trong số họ sẽ mua thêm thịt bò khô” Luật kết hợp được ứng dụng nhiều trong lĩnh vực kính doanh, y học, tin-sinh, tài chính & thị trường chứng khoán, v.v
Phân lớp và dự đoán (classification & prediction): xếp một đối tượng vào một trong những lớp đã biết trước Ví dụ: phân lớp vùng địa lý theo dữ liệu thời tiết Hướng tiếp cận này thường sử dụng một số kỹ thuật của machine
Trang 16learning như cây quyết định (decision tree), mạng nơ ron nhân tạo (neural network), v.v Người ta còn gọi phân lớp là học có giám sát (học có thầy) Phân cụm (clustering): xếp các đối tượng theo từng cụm (số lượng cũng như tên) của cụm chưa được biết trước Người ta còn gọi phân cụm là học không giám sát (học không thầy)
Hồi quy (regression ): là bài toán điển hình trong phân tích thống kê và
dự báo Trong khai phá dữ liệu, bài toán hồi quy được quy về việc học một hàm ánh xạ dữ liệu nhằm xác định một giá trị thực của một biến theo biến số khác Phân tích hồi quy sẽ xác định được định lượng quan hệ giữa các biến,
và quảng bá giá trị một biến phụ thuộc vào giá trị của những biến khác Phương pháp hồi quy khác với phân lớp dự liệu là hồi quy dùng để dự đoán những giá trị liên lục, còn phân lớp dữ liệu là dự đoán các giá trị rời rạc
Khai phá chuỗi (sequential/temporal patterns): tương tự như khai phá luật kết hợp nhưng có thêm tính thứ tự và tính thời gian Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán vì nó
có tính dự báo cao
Ngoài ra còn có một số bài toán khai phá dữ liệu thống kê khác
1.1.5 Các ứng dụng của khai phá dữ liệu
Phát hiện tri thức và khai phá dữ liệu liên quan đến nhiều ngành, nhiều lĩnh vực: thống kê, trí tuệ nhân tạo, cơ sở dữ liệu, thuật toán, tính toán song song và tốc độ cao, thu thập tri thức cho các hệ chuyên gia, quan sát dữ liệu Đặc biệt phát hiện tri thức và khai phá dữ liệu rất gần gũi với lĩnh vực thống
kê, sử dụng các phương pháp thống kê để mô hình dữ liệu và phát hiện các mẫu, luật Ngân hàng dữ liệu (Data Warehousing) và các công cụ phân tích
Trang 17trực tuyến (OLAP- On Line Analytical Processing) cũng liên quan rất chặt chẽ với phát hiện tri thức và khai phá dữ liệu
Khai phá dữ liệu có nhiều ứng dụng trong thực tế,[3] ví dụ như:
chính và dự báo giá của các loại cổ phiếu trong thị trường chứng khoán Danh mục vốn và giá, lãi suất, dữ liệu thẻ tín dụng, phát hiện gian lận,
lưu trong các hệ thống quản lý bệnh viện Phân tích mối liên hệ giữa các triệu chứng bệnh, chuẩn đoán và phương pháp điều trị (chế độ dinh dưỡng, thuốc, )
tắt văn bản,
học, tìm kiếm, so sánh các hệ gene và thông tin di truyền, mối liên hệ gene và một số bệnh di truyền,
sát lỗi, sự cố, chất lượng dịch vụ, dự báo thuê bao rời mạng
1.1.6 Quy trình xây dựng mô hình khai phá dữ liệu
Việc thực hiện một DMM với đầy đủ 4 bước công việc chính của quá trình khai phá dữ liệu là:
Trang 18Bước 1: Chuẩn bị dữ liệu (Data Preparation); Trong bước này chúng ta
thực hiện các công việc tiền xử lý dữ liệu theo yêu cầu của mô hình như trích chọn thuộc tính, rời rạc hóa dữ liệu và cuối cùng là chia dữ liệu nguồn (Data Source) thành 2 tập dữ liệu dùng để huấn luyện mô hình (Training Data) và kiểm tra mô hình (Testing data)
Bước 2: Xây dựng mô hình (Data Modeling); ta sử dụng Training Data
vừa tạo ra để xây dựng mô hình
Bước 3: Đánh giá mô hình (Validation); Sau khi sử dụng Training Data
để xây dựng mô hình, bây giờ ta sử dụng Testing Data để kiểm tra xem mô hình có đủ tốt để sử dụng hay không? ( Nếu chưa đủ tốt thì phải sử dụng Training Data khác để huấn luyện lại) Có 3 kỹ thuật chính để kiểm tra mô hình đó là sử dụng Accuracy Chart ( Lift Chart), Classification Matrix và ProfitChart
Bước 4: Sử dụng mô hình để dự đoán dự liệu trong tương lai (Model
Usage); Sau khi mô hình được kiểm tra (Testing) nếu độ chính xác đáp ứng yêu cầu thì có thể sử dụng model đã xây dựng vào dự đoán các dữ liệu chưa biết
Hình 1.2 - Quy trình xây dựng mô hình khai phá dữ liệu
Trang 191.2.Bài toán phân lớp và dự báo
1.2.1 Giới thiệu bài toán
Phân lớp: là quá trình xây dựng một mô hình để mô tả dữ liệu được
phân chia như thế nào, nói cách khác, phân lớp là quá trình xây dựng một mô
hình bằng các gán các đối tượng dữ liệu (thuộc tính) vào các lớp đã xác định
Tiến trình phân lớp dựa trên 4 thành phần cơ bản:
- Lớp (class)
- Dự đoán (predictors)
- Tập dữ liệu được đào tạo (Training dataset)
- Tập dữ liệu kiểm thử (Testing dataset)
Đặc trưng của tiến trình phân lớp gồm những điểm sau:
Input: tập dữ liệu đào tạo chứa những đối tượng với thuộc tính của
nó,với một số thuộc tính đã được gán nhãn;
Output: mô hình (classifier) được gán bởi những nhãn cụ thể cho mỗi đối
tượng phân lớp các đối tượng từng các thư mục), dựa trên những thuộc tính khác;
Dự báo: là một quá trình gồm hai bước, nó gần giống với quá trình phân
lớp Tuy nhiên để dự báo, chúng ta bỏ qua khái niệm nhãn phân lớp bởi vì các giá trị được dự báo là liên tục (được sắp xếp) hơn là các giá trị phân loại Ví
dụ thay vì phân loại xem một khoản vay có là an toàn hay rủi do thì chúng ta
sẽ dự đoán xem tổng số tiền cho vay của một khoản vay là bao nhiêu thì khoản vay đó là an toàn
Có thể xem xét việc dự báo cũng là một hàm y = f(X), trong đó X là dữ liệu đầu vào, và đầu ra là một giá trị y liên tục hoặc sắp xếp được Việc dự báo và phân lớp có một vài điểm khác nhau khi sử dụng các phương pháp xây
Trang 20dựng mô hình Giống với phân lớp, tập dữ liệu huấn luyện sử dụng để xây dựng mô hình dự báo không được dùng để đánh giá tính chính xác Tính chính xác của mô hình dự báo được đánh giá dựa trên việc tính độ lệch giá các giá trị dự báo với các giá trị thực sự nhận được của mỗi bộ kiểm tra X
1.2.2 Các bước giải quyết bài toán
Các bước giải quyết bài toán gồm:
Bước 1:Xây dựng mô hình từ tập huấn luyện
- Mỗi bộ/mẫu dữ liệu được phân vào một lớp được xác định trước
- Lớp của một bộ/mẫu dữ liệu được xác định bởi thuộc tính gán nhãn lớp
- Tập các bộ/mẫu dữ liệu huấn luyện - tập huấn luyện - được dùng để xây dựng mô hình
- Mô hình được biểu diễn bởi các luật phân lớp, các cây quyết định hoặc các công thức toán học
Bước 2: Sử dụng mô hình - kiểm tra tính đúng đắn của mô hình và dùng
nó để phân lớp dữ liệu mới
- Phân lớp cho những đối tượng mới hoặc chưa được phân lớp
- Đánh giá độ chính xác của mô hình:
+ Lớp biết trước của một mẫu/bộ dữ liệu đem kiểm tra được so sánh với kết quả thu được từ mô hình
+ Tỉ lệ chính xác = phần trăm các mẫu/bộ dữ liệu được phân lớp đúng bởi mô hình trong số các lần kiểm tra
Trang 21Chương 2: CÁC PHƯƠNG PHÁP PHÂN LỚP TRONG KHAI PHÁ
DỮ LIỆU 2.1 Phân lớp bằng phương pháp quy nạp cây quyết định
Cây quyết định là biểu đồ có cấu trúc dạng cây được giới thiệu lần đầu
tiên bởi Hunt và các cộng sự (Hunt, Marin, & Stone, 1966)
Trang 22- Node lá: node cuối trong nhánh mà tất cả các đối tượng đều thuộc một lớp hoặc không còn thuộc tính điều kiện nào để phân chia hoặc không còn đối tượng dữ liệu nào để phân chia
Điều quan trọng của thuật toán cây quyết định là tiêu chí đánh giá để tìm điểm chia Ý tưởng chính trong việc đưa ra các tiêu chí này là làm sao cho các tập con được phân chia càng trở nên “trong suốt” (tất cả các bộ thuộc về cùng một nhãn) càng tốt Quinlan đã phát triển thuật toán ID3 dùng độ đo thông tin thu thêm (Information Gain - Gain) để xác định điểm chia tốt nhất Độ đo này dựa trên cơ sở lý thuyết thông tin của Claude Shannon (1948) để đo tính
thuần nhất (hay ngược lại là pha trộn) của một tập hợp Độ đo này được xác như sau:
Entropy (S) = mi=1Pilog2Pi (1.1) Trong đó m là số lượng các lớp khác nhau và P i là tỉ lệ các đối tượng mang nhãn i
Để xác định điểm chia, ID3 so sánh entropy của một node cha với tổng tỉ
lệ entropy của các node con sau khi phân chia, Gain(S, A) của thuộc tính A, trên tập S, được định nghĩa như sau:
Trang 23J Ross Quinlan đã kế thừa các kết quả đó phát triển thành C4.5 với 9000 dòng lệnh C Mặc dù đã có phiên bản phát triển từ C4.5 là C5.0 - một hệ thống tạo ra lợi nhuận từ Rule Quest Research, nhƣng nhiều tranh luận, nghiên cứu vẫn tập trung vào C4.5 vì mã nguồn của nó là sẵn dùng
Một số cải tiến của thuật toán C4.5 so với ID3:
- Sử dụng Gain Ratio (thay vì Information Gain) để chọn thuộc tính phân chia trong quá trình xây dựng cây
- Có thể xử lý tốt cả 2 loại dữ liệu rời rạc và liên tục
- Có thể xử lý dữ liệu không đầy đủ ( thiếu một số giá trị tại một số thuộc tính)
- Thực hiện cắt tỉa cây sau khi xây dựng: loại bỏ những nhánh cây không thực sự ý nghĩa
Thuật toán C4.5, một cải tiến của ID3, mở rộng cách tính Information Gain thành Gain Ratio để chọn thuộc tính phân chia trong quá trình xây dựng cây
Gain Ratio đƣợc xác định bởi công thức sau:
log2|Si|
|S| (1.4)
Trang 242.2 Phân lớp bằng phương pháp Bayesian
Thuật tốn phân lớp Nạve Bayes (NB) là một trong những thuật tốn phân lớp điển hình nhất trong học máy và khai thác dữ liệu Nạve Bayes là phương pháp phân lớp dựa vào xác suất được sử dụng rộng rãi trong lĩnh vực học máy, được sử dụng lần đầu tiên trong lĩnh vực phân loại bởi Maron vào năm 1961 [Maron, 1961] sau đĩ trở nên phổ biến dùng trong nhiều lĩnh vực như trong các cơng cụ tìm kiếm [Rijsbergen et al, 1970], các bộ lọc email
Áp dụng trong bài tốn phân lớp, các dữ kiện gồm cĩ:
-D: tập dữ liệu huấn luyện đã được vector hĩa dưới dạng:
𝑋 = (𝑋1, 𝑋2,….𝑋𝑛)
- Ci: phân lớp i, với i = {1,2, ,m}
- Các thuộc tính độc lập điều kiện đơi một với nhau
Theo định lý Bayes:
𝑃 𝐶𝑖 X =𝑃 𝑋 𝐶𝑖 𝑃(𝐶𝑖)
𝑃 𝑋 (2.2) Theo tính chất độc lập điều kiện:
𝑃 𝑋 Cj = nk=1P 𝑋𝑘 𝐶𝑗Trong đĩ:
- P(Ci|X) là xác suất thuộc phân lớp i khi biết trước mẫu X
Trang 25- P(Ci) xác suất là phân lớp i
- P(xk|Ci) xác suất thuộc tính thứ k mang giá trị xk khi biết X thuộc phân lớp i
Các bước thực hiện thuật toán Naive Bayes:
Bước 1: Huấn luyện Naive Bayes (dựa vào tập dữ liệu), tính P(Ci ) và
P(Xk|Ci)
Bước 2: Phân lớp Xnew= (x1,x2, ,xn), tính xác suất từng lớp khi đã
biết trước được gán vào lớp có xác suất lớn nhất theo công thức
𝑚𝑎𝑥𝐶𝑖 ∈ 𝐶 𝑃 𝐶𝑖 𝑛𝑘=1𝑃 𝑋𝑘 Ci (2.3)
2.3 Support Vector Machine (SVM)
2.3.1 Phân tách tuyến tính với lề cực đại
Chúng ta hãy bắt đầu SVM bằng một bài toán khá đơn gián: xây dựng một hàm tuyến tính để phân tách một tập dữ liệu phân loại hai lớp rời nhau
Dữ liệu phân loại hai lớp là một tập các đối tượng S gồm l phần tử, trong đó
mỗi phần tử được mô tả bởiVec-tơ d chiều và một giá trị nhãn + 1 hoặc -1:
𝑆 = 𝑥𝑖, 𝑦𝑖 , 𝑥𝑖 ∈ 𝑅𝑑, 𝑦𝑖 ∈ −1,1 , 𝑖 = 1 … 𝑙 Khái niệm hai lớp rời nhau có nghĩa là tồn tại một siêu phẳng có phương trình [2]
𝑓 𝑥 = 𝑤 𝑥 + 𝑏 (3.1)
Trong không gian Rd nằm giữa hay chia đôi tập dữ liệu S thành hai phần, mỗi phần gồm toàn các đối tượng chung một nhãn +1 hay −1 Các siêu phẳng này là các đường thẳng trong không gian hai chiều, mặt phẳng trong không gian ba chiều, và tổng quát hơn là các không gian con
Trang 26𝑅𝑑−1 chiều trong không gian 𝑅𝑑 Khi tập dữ liệu được dùng để xây dựng nên các siêu phẳng thì S thường được gọi là tập huấn luyện và các phần tử trong đó được gọi là dữ liệu (hay véc-tơ huấn luyện )
Có nhiều phương pháp khác nhau có thể tìm ra lời giải của bài toán trên,
ví dụ như thuật toán Perceptron của Rosenblatt hay mạng nơ-ron nhân tao, phương pháp phân tách tuyến tính của Fisher và cả SVMs Chúng ta sẽ cùng tìm hiểu sự khác biệt của SVMs đối với các phương pháp khác thông qua khái niệm hàm phân tách tuyến tính với lề cực đại Trưóc tiên chúng ta sẽ xem xét hai khái niệm khá quan trọng là lề hàm (functional margin) và lề hình học (geometric margin) của một điểm tới một siêu phẳng như sau:
Định nghĩa 3.1 Lề hàm của một véc-tơ huấn luyện (xi, yi) đối với siêu phẳng f (x) = 0 là đại lượng [2]
𝑝 𝑓 𝑥𝑖, 𝑦𝑖 = 𝑦𝑖 𝑤 𝑥𝑖 + 𝑏 ( 3.2)
Đối với bài toán phân loại 2 –lớp 𝑝 𝑓 𝑥𝑖, 𝑦𝑖 > 0 đồng nghĩa với việc phân loại đúng Với 𝑦𝑖 = 1, giá trị của lề hàm 𝑤 𝑥 + 𝑏 có giá trị dương và
với độ lớn tỷ lệ với độ rõ ràng của véc-tơ 𝑥𝑖 thuộc về lớp -1 Trong cả hai trường hợp, nếu giá trị 𝑦𝑖(𝑤 𝑥 + 𝑏 )> 0, hay lề dương, thì sự chia tách của hàm 𝑓 đối với véc-tơ huấn luyện 𝑥𝑖, 𝑦𝑖 là đúng đắn
Việc phân loại dựa vào giá trị của lề hàm 𝑝 𝑓 tuy thuận lợi như đã nêu nhưng có một nhược điểm là có vô số hàm 𝑓 cho cùng một giá trị phân loại
định không thay đổi vì sign 2𝑤 𝑥 + 2𝑏 = 𝑠𝑖𝑔𝑛 𝑤 𝑥 + 𝑏 Nói một cách
Trang 27khác, nhiều hệ số khác nhau của 𝑤 và b có thể cho cùng một kết quả phân
loại
Để đơn giản hóa vấn đề mà không làm mất đi tính tổng quát, chúng ta có
thể chọn một giá trị đặc biết của w, chẳng hạn nhƣ 𝑤 = 1 và thay thế bộ
Trang 28Hình 2.2 - Về mặt trực quan thì hàm tuyến tính siêu phẳng với lề lớn nhất trông có vẻ hợp lý
Hình 2.3 - Ví dụ về bài toán phân loại trong không gian hai chiều
Dùng một đường thẳng để phân tách các điểm „o‟ và điểm „+‟ Giả sử
rằng đường thẳng có lề là p và tọa độ của các điểm „o‟ và điểm „+‟ bị dịch
Trang 29chuyển qua bán kính r do có nhiễu Nếu 𝑟 < 𝑝 thì đường thẳng trên vẫn có thể phân tách chính xác các điểm này
Định lý 4.1 Cho một lớp các hàm phân loại 𝑓 𝑥 = 𝑠𝑖𝑔𝑛 𝑤 𝑥 (coi b=0
cho đơn giản) với 𝑤 ≤ 𝐴 và giả sử tất cả các véc-tơ đều nằm trong một hình cầu 𝑥 ≤ 𝑅, với R,A> 0 Với p > 0, và v là tỷ lệ các véc-tơ huấn luyện
có lề nhỏ hơn 𝑝
𝑤 gọi là lỗi lề [2]
Với mọi phân bố P của véc-tơ X, vơi mọi p>0 và δ ∈ (0, 1), với xác suất
ít nhất là 1- δ trên toàn bộ l véc-tơ huấn luyện, khả năng phân loại lỗi đối với bất kỳ véc-tơ X nào đều nhỏ hơn (bị chặn trên) bởi
(3.6)
Trong đó c là một hằng số
Định lý trên nói rằng khả năng phân loại lỗi của 𝑓 đối với một véc-tơ bất
kỳ bị chặn trên bởi tổng của lỗi lề v (lỗi huấn luyện) và giá trị trong dấu √
giá trị lớn vô cùng, hay với vô hạn dữ liệu huấn luyện thì giá trị trong dấu √ tiến tới 0 và lỗi huấn luyện gần trở thành lỗi của hàm phân loại trên
tỷ lệ nghịch với R và A, tỷ lệ thuận với lề p Nếu chúng ta có thể giữ R và A có
các giá trị không đổi (ví dụ như chuẩn hóa dữ liệu trong một siêu cầu có bán kính 1, 𝑥 ≤ 1, và chỉ xét các giá trị 𝑥 = 1), thì thành phần có giá trị ảnh
hưởng lới tới cận trên của lỗi chính là p Một giá trị lớn hơn của p mang lại
tỷ lệ thuận với p) Ngược lại, với p nhỏ hơn thì lỗi lề sẽ giảm nhưng thành
Trang 30phần thứ 2 trong công thức 3.6 thường được gọi là mức điều chỉnh/ phạt năng lực sẽ tăng Như vậy, để giảm thiểu khả năng phán đoán lỗi chúng ta cần tìm một siêu phẳng 𝑓 với ít lỗi thực hiện (v nhỏ) và giá trị lề p lớn (đây cũng
thường là tiêu chí chung của nhiều phương pháp học máy khác nhau: ưu tiên các mô hình đơn giản với ít lỗi thực nghiệm)
Với giả thuyết dữ liệu có thể chia tách được nêu trên (lỗi thực nghiệm bằng 0), siêu phẳng với lề cực đại dường như là một trong những hàm phân tách tuyến tính tốt nhất do có chặn trên của lỗi là bé nhất
Một lý do khác mà siêu phẳng với hàm cực đại hay SVM được dùng thử
là đã có rất nhiều bài học thành công trên thực tế như: phân loại văn bản, nhận dạng ảnh, nhận dạng chữ viết
2.3.1.1 Tìm kiếm siêu phẳng với lề cực đại
Đối với dữ liệu khả tách tuyến tính, thuật toán SVM đơn giản chỉ là tìm siêu phẳng 𝑓 𝑥 = 𝑤 𝑥 + 𝑏 có giá trị lề càng lớn càng tốt Để làm được điều này, chúng ta có thể giả thiết rằng các giá trị lề tại các điểm huấn luyện
𝑝 𝑓 𝑥𝑖, 𝑦𝑖 ≥ 1 mà không làm mất đi tính tổng quát Điều này tương đương với:
𝑤 𝑥𝑖 + 𝑏 ≥ 1 𝑘𝑖 𝑦𝑖 = +1,
𝑤 𝑥𝑖 + 𝑏 ≤ 1 𝑘𝑖 𝑦𝑖 = −1, hay
𝑦𝑖 𝑤 𝑥𝑖 + 𝑏 − 1 ≥ 0, 𝑖 = 1, … 𝑙 (3.7) Nếu gọi siêu phẳng 𝐻+: 𝑤 𝑥 + 𝑏 = +1, và 𝐻−: 𝑤 𝑥 + 𝑏 = −1, thì lề
Trang 31hay khoảng cách giữa hai siêu phẳng 𝐻+ và 𝐻− là 2
𝑤 Như vậy, việc tìm siêu phẳng với lề cực đại tương đương với việc tìm siêu phẳng 𝑓 có giá trị
2.3.1.2 Hàm phân loại tuyến tính với lề mềm cực đại
Điều kiện 3.7 dường như quá cứng nhắc vì trong nhiều ứng dụng thực tế thì khả năng có nhiễu hay phần tử ngoại lai là rất cao Cho dù bản chất của bài toán là đơn giản và có thể phân loại tuyến tính một cách hiệu quả, nhưng chỉ với một phần tử nhiễu hay bị dữ liệu gán nhãn sai cũng có thể làm cho bài toán tối ưu 3.8 trở nên vô nghiệm vì không thể tìm ra được hàm phân tách tuyến tính với lỗi thực nghiệm bằng 0 Trong khi đó khả năng kháng nhiễu là một trong những tính chất bắt buộc đối với bất kỳ phương pháp học máy hiệu quả nào
Để giải quyết vấn đề dữ liệu có nhiễu, SVM chọn giải pháp thay thế ràng buộc 3.7 bởi một ràng buộc khác mềm mại hơn:
𝑦𝑖 𝑤 𝑥𝑖 + 𝑏 ≥ 1 − ξi, 𝑖 = 1, … , 𝑙 (3.10)
ξi ≥ 0, 𝑖 = 1, … , 𝑙 (3.11)
phép các véc-tơ huấn luyện có thể có lề hàm nhỏ hơn 1 (hay vi phạm điều kiện cứng), tuy nhiên những véc-tơ này cần chịu một khoản phạt được tính trong hàm mục tiêu tỷ lệ với mức độ vi phạm và một số C :
Trang 32min𝑤 ,𝑏 1
𝑖=1 (3.12)
Tham số C có vai trò cân bằng lỗi thực nghiệm, mức độ vi phạm điều kiện
lề “cứng” và cả độ lớn của lề Khi C = 0 thì có nghĩa là không cho phép vi phạm điều kiện lề và yêu cầu tìm hàm f với điều kiện (3.7)
Tóm tắt lại thì bài toán tìm kiếm siêu phẳng phân cách với lề mềm cực đại được viết như sau:
2.3.1.3 Lý thuyết tối ưu Lagrangian
Phương pháp nhân tử La-grăng (Lagrange multiplier) [2] thường được sử dụng để giải các bài toán tối ưu như trên Tuy nhiên, với ràng buộc là các bất đẳng thức thì bài toán gốc này cần được chuyển thành một dạng bài toán đối ngẫu dễ giải hơn
Định nghĩa 3.4 Với bài toán tối ưu trên miền xác định lồi Ω ⊆ 𝑅𝑑
𝑖=1
Trang 33Định nghĩa 3.5 Bài toán đối ngẫu của bài toán Lagrangian gốc là bài
toán [2]
max𝛼 ,𝛽 𝜃(𝛼, 𝛽) (3.20) thỏa mãn 𝛼 ≥ 0 (3.21) với
𝜃 𝛼, 𝛽 = 𝑖𝑛𝑓𝜔 ∈Ω 𝐿 𝜔, 𝛼, 𝛽 (3.22) Mối quan hệ giữa hai bài toán gốc và bài toán đối ngẫu là giá trị tối ưu của bài toán đối ngẫu bị chặn trên bởi các giá trị của bài toán gốc:
sup 𝜃 𝛼, 𝛽 : 𝛼 ≥ 0 ≤ inf 𝑓 𝜔 : 𝑔 𝜔 ≤ 0, 𝜔 = 0 (3.23) Hơn thế nữa, nếu 𝜔∗ và (𝛼∗𝛽∗) là các giá trị nằm trong miền xác định của hai bài toán và 𝑓 𝜔∗ = 𝜃 𝛼, 𝛽 , thì 𝜔∗và (𝛼∗, 𝛽∗) tương ứng là hai nghiệm của hai bài toán gốc và bài toán tối ưu Đồng thời định lý The Kuhn-
hàm affine, thì sự tồn tại của nghiệm tối ưu (𝛼∗, 𝛽∗) là điều kiện cần và đủ cho sự tồn tại của 𝜔∗
Định lý 3.2 (Kuhn-Tucker) [2] Cho bài toán tối ưu trên miền xác định lồi
Với hàm lồi 𝑓 ∈ 𝐶1 (khả vi) và 𝑔𝑖,𝑖 là các hàm affine, điều kiện cần và
đủ để véc-tơ 𝜔∗là điểm tối ưu là tồn tại các giá trị của 𝛼∗ 𝑣à 𝛽∗ sao cho:
Trang 342.3.1.4 Tìm kiếm siêu phẳng với lề cực đại
Trở lại với bài toán tối ƣu tìm siêu phẳng với lề cực đại ở mục 2.3.1.1
hàm Lagrangian tổng quát của bài toán XXX là hàm
Trang 35Thay thế các mối quan hệ trên vào hàm lagrangian, chúng ta có hàm mục tiêu của bài toán đối ngẫu
đƣợc bài toán tối ƣu đối ngẫu với điều kiện dễ có thể giải đƣợc hơn
Điều kiện thứ nhất trong định lý Kuhn-Tucker có liên quan tới một định
lý trong học máy thống kê gọi là định lý về sự biểu diễn.Chúng ta thấy rằng
hợp tuyến tính của các véc-tơ huấn luyện 𝑥𝑖 với hệ số 𝛼𝑖 là nghiệm của bài toán đối ngẫu
Trang 36Điều kiện thứ ba trong định lý Kuhn-Tuker, hay còn gọi là điều kiện Karush-Kuhn-Tuker là [2]
𝛼𝑖(𝑦𝑖 𝜔 𝑥𝑖 + 𝑏 − 1 + ξ𝑖) = 0, 𝑖 = 1, … , 𝑙 (3.40)
ξ𝑖(𝛼𝑖− 𝐶) = 0, 𝑖 = 1, … , 𝑙 (3.41)
Các điều kiện này nói lên rằng ξ𝑖 ≠ 0 chỉ sảy ra khi 𝛼𝑖 = 𝐶, và những véc-tơ thỏa 0 < 𝛼𝑖 < 𝐶 sẽ có lề hàm bằng 1 (do ξ𝑖 = 0) Nói cách khác, chỉ
gốc chỉ phụ thuộc vào những véc-tơ này Trong SVM, khái niệm véc-tơ hỗ trợ
Do số b của bài toán gốc không có mặt trong bài toán đối ngẫu nên giá trị tối
ƣu 𝑏∗ đƣợc chọn sao cho 𝑦𝑖𝑓 𝑥𝑖 = 1 đối với các chỉ số i mà 0 < 𝛼𝑖∗ < 𝐶 Bài toán đối ngẫu là một bài toán tối ƣu với hàm mục tiêu là hàm bậc 2 (đối với 𝛼∗) có các điều kiện tuyến tính và xác định trên một tập lồi, do vậy có tồn tại duy nhất một nghiệm tối ƣu Giải bài toán tối ƣu này chúng ta có đƣợc các hệ số 𝛼𝑖∗, 𝑖 = 1, … , 𝑙 và chúng ta có đƣợc hàm phân tách tuyến tính với lề cực đại:
= 𝑠𝑖𝑔𝑛 𝑦𝑖𝛼𝑖∗
𝑥𝑖 𝑥 + 𝑏∗ (3.42)
Với bài toán lề cực đại cứng thì điều kiện 0 ≤ 𝛼𝑖 ≤ 𝐶 đƣợc thay bởi
điều kiện thay đổi nhƣ bài toán lề cứng thì hàm mục tiêu trở thành
Trang 372.3.2 Phương pháp hàm nhân (kernel methods)
Khả tách tuyến tính là một giả thuyết quá mạnh đối với các ứng dụng trong thực tế.Thông thường thì nhiều bài toán trong thế giới thực đòi hỏi các
sự vật, hiện tượng cần được mô tả bởi những thuộc tính (feature) phức tạp hơn là một tổ hợp tuyến tính của các điểm đặc trưng (attribute) Một trong những giải pháp cho vấn đề này là mạng nơ-ron nhiều lớp (multilayer neural networks) và các thuật toán huấn luyện như lan truyền ngược (backpropagation)
Hình 2.4 - Ba điểm trong mặt phẳng bị chia tách bởi một đường thẳng
có hướng
Phương pháp hàm nhân (kernel-based method) [2] đưa ra một cách tiếp cận khá độc đáo là ánh xạ hay chiếu toàn bộ dữ liệu sang một không gian khác nhiều chiều hơn, thường được gọi là không gian thuộc tính, và các mô hình tuyến tính được áp dụng trong không gian mới này Trong mục này
Trang 38chúng ta sẽ tìm câu trả lời cho hai vấn đề quan trọng là tại sao khi làm việc trong một không gian mới nhiều chiều thì mô hình tuyến tính lại có thể giải quyết được các vấn đề phức tạp trong thực tế và làm sao để có thể áp dụng phương pháp hàm phân tách tuyến tính với lề cực đại trong không gian thuộc tính mới này
2.3.2.1 Chiều VC về khả năng phân tách của hàm tuyến tính
Chiều VC (VC dimension), mang tên hai tác giả Vapnik và Chervonenkis, là một độ đo về năng lực (capacity) của một lớp hàm, ví dụ như lớp các hàm tuyến tính mà chúng ta đang quan tâm Chúng ta đã biết rằng với một tập gồm l điểm thì sẽ có 2l cách khác nhau để gán nhãn các điểm này với một trong hai −1 hoặc +1 Với mỗi phương án gán nhãn, nếu có thể tìm được một thành viên của họ hàm f(x,α) phân tách một cách chính xác tất cả các điểm thì chúng ta gọi tập l điểm có thể bị chia tách bởi họ hàm đó Chiều
VC được định nghĩa như sau:
Định nghĩa 3.6 Chiều VC của một họ hàm số 𝑓(𝑥, 𝛼) là số lượng lớn
nhất h các véc-tơ 𝑥1, … , 𝑥 có thể được chia tách thành hai lớp với bất kỳ 2cách gán nhãn nào (số lượng lớn nhất các véc-tơ có thể bị chia tách bởi họ
hàm) Nếu với bất kỳ số tự nhiên n nào đều tồn tại một tập n vec-tơ có thể bị
trở lại với câu hỏi đã nêu: tại sao một hàm tuyến tính lại có năng lực lớn hơn khi được áp dụng trọng một không gian nhiều chiều hơn Định lý sau sẽ cho chúng ta biết câu trả lời [2]
Định lý 3.3 Cho một tập gồm m điểm trong không gian 𝑅𝑑 và chọn một điểm bất kỳ làm gốc tọa độ Chúng ta có m điểm có thể bị chia tách bởi một
Trang 39siêu phẳng nếu và chỉ nếu các véc-tơ vị trí của tất cả các điểm còn lại là độc lập tuyến tính [2]
Một hệ quả có thể được rút ra từ định lý trên là chiều VC của các siêu
thể chọn được một tập nhiều nhất gồm d điểm độc lập tuyến tính.Nói một
cách khác, càng làm việc trong không gian nhiều chiều thì các siêu phẳng càng có khả năng chia tách được nhiều véc-tơ khác nhau Do vậy, một tập điểm không khả tách tuyến tính trong không gian đặc trưng ít chiều nhưng ảnh của chúng trong không gian thuộc tính nhiều chiều hơn lại có thể là khả tách tuyến tính (và do vậy thuật toán tìm siêu phẳng với lề cực đại có thể được
áp dụng) Vấn đề cốt lõi ở đây là làm sao để có được, hay xây dựng được, các ánh xạ đó
2.3.2.2 Hàm nhân và SVM phi tuyến (Kernel function and nonlinear SVMs)
SVMs là một ví dụ điển hình của phương pháp hàm nhân [2] Trong cả bài toán tối ưu tìm siêu phẳng với lề cực đại (3.37) và hàm quyết định (3.42), chúng ta không làm việc trực tiếp với từng véc-tơ 𝑥𝑖, 𝑖 = 1, , 𝑙, mà chỉ cần tới tích vô hướng giữa hai véc-tơ bất kỳ Trong bài toán đối ngẫu, những giá trị của tích vô hướng giữa hai véc-tơ 𝑥𝑖 𝑥𝑗 đóng vai trò là các tham số để tìm
ra giá trị tối ưu của các tham số La-grăng 𝛼𝑖 Do vậy, chúng ta chỉ cần biết cách tính được tích vô hướng giữa hai ảnh véc-tơ trong không gian thuộc tính
là cũng đủ để tìm được siêu phẳng tối ưu trong không gian thuộc tính mà không cần biết một cách tường minh không gian thuộc tính đó có bao nhiêu chiều hay ảnh của mỗi véc-tơ đặc trưng có tọa độ cụ thể là bao nhiêu Hàm số
để tính được tích vô hướng đó thường được gọi là hàm nhân (kernel function) được định nghĩa như sau:
Trang 40Định nghĩa 3.7 Hàm nhân K là một hàm số trên không gian X mà với
mọi véc-tơ 𝑢, 𝑣 ∈ 𝑋
𝐾 𝑢, 𝑣 = 𝛷 𝑢 𝛷 𝑣 (3.44) với Φ là một ánh xạ từ X tới một không gian (vô hướng) thuộc tính F
Một khi chúng ta có thể tính được tích vô hướng của hai véc-tơ trong một không gian đặt trưng nào đó thì chúng ta có thể tìm siêu phẳng tối ưu trong không gian đó bằng cách thay các giá trị xi xj trong (3.37) bởi K xi xj
Về lý thuyết, tất cả những hàm số thỏa mãn điều kiện Mercer sau đây đều có thể là hàm nhân
Định lý 3.4.(Mercer condition) [2] Điều kiện cần và đủ để một hàm đối
xứng khả vi liên tục 𝐾 𝑢, 𝑣 trong không gian 𝐿2 𝐶 (các hàm khả vi bậc 2)
có thể được khai triển dưới dạng