1. Trang chủ
  2. » Thể loại khác

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

85 281 0

Đ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 85
Dung lượng 1,85 MB

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

Nội dung

ĐẠ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 1

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

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 3

LỜ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 4

LỜ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 5

MỤ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 6

2.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 7

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

Trang 8

DANH 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 9

DANH 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 10

MỞ ĐẦ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 11

lượ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 12

Chươ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 13

extraction (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 14

1.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 15

Hì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 16

learning 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 17

trự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 18

Bướ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 19

1.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 20

dự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 21

Chươ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 23

J 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 24

2.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 27

khá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 28

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ý

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 29

chuyể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 30

phầ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 31

hay 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 32

min𝑤 ,𝑏 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 34

2.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 35

Thay 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 37

2.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 38

chú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ỳ 2𝑕cá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 39

siê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

Ngày đăng: 21/12/2017, 21:32

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