1. Trang chủ
  2. » Luận Văn - Báo Cáo

(LUẬN văn THẠC sĩ) nghiên cứu xây dựng mô hình đa phân lớp dựa trên GA và SVM

65 5 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 65
Dung lượng 2,04 MB

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

Nội dung

Với một dữ liệu ung thư nếu xác định được giai đoạn bệnh của bệnh nhân thì khả năng những giai đoạn mới đầu là có thể được chữa khỏi, vì vậy việc đa phân lớp sẽ trở thành rất quan trọng

Trang 1

LỮ ĐĂNG NHẠC

NGHIÊN CỨU XÂY DỰNG MÔ HÌNH ĐA PHÂN LỚP DỰA

TRÊN GA VÀ SVM

LUẬN VĂN THẠC SĨ

Trang 2

LUẬN VĂN THẠC SĨ

Người hướng dẫn khoa học:

TS NGUYỄN HÀ NAM

Trang 3

BANH MỤC CÁC KÝ HIỆU, TỪ VIẾT TẮT 5

MỤC LỤC 6

Chương 1 - MỞ ĐẦU 8

Chương 1 - THUẬT TOÁN PHÂN LỚP VỚI SVM 10

1.Giới thiệu chung về phân lớp 10

1.1.Khái niệm cơ bản 10

1.2.Quá trình phân lớp 10

1.2.1.Xây dựng mô hình 11

1.2.2.Sử dụng mô hình 11

1.3.Các yêu cầu đối với bàn toán phân lớp 12

2.Kỹ thuật phân lớp SVM(Support vector machines) 13

2.1.SVM tuyến tính 13

2.1.1.Các bộ phận phân lớp tuyến tính 13

2.1.2.Tập huấn luyện có thể phân chia tuyến tính 14

2.1.3.SVM tuyến tính cho bộ huấn luyện có thể phân chia 15

2.1.4.Tìm siêu phẳng tối ưu 16

2.1.5.Các véc tơ hỗ trợ 17

2.1.6.SVM tuyến tính cho tập huấn luyện tổng quát 18

2.2.SVM không tuyến tính 20

2.2.1.Không gian đặc trưng 20

2.2.2.SVM tuyến tính trong không gian đặc trưng 21

2.2.3.Ngầm xạ sang không gian đặc trưng 22

2.2.4.Các hàm nhân phổ biến 22

2.3.Một số biến thể và cải tiến của SVM 23

2.3.1.Một số kỹ thuật đa phân lớp 23

2.3.2.Kỹ thuật Cross Validation 25

Kết luận chương 26

Trang 4

5.Hàm thích nghi và sự chọn lọc 34

Kết luận chương 35

Chương 3 - MÔ HÌNH TỐI ƯU ĐA PHÂN LỚP SVM 36

1.Mô hình đề xuất 36

2.Cấu trúc hàm Kernel 37

3.Cấu trúc của cá thể và kỹ thuật tìm tham số tối ưu dựa trên giải thuật di truyền 39

Kết luận chương 40

Chương 4 - XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG 41

1.Giao diện chương trình 41

1.1.Giới thiệu về MatLab 41

1.2.Các module trong hệ thống và giao diện của chương trình 41

1.2.1 Module Genetic Algorithm 41

1.2.2.Các hàm trong chương trình 43

2.Thực nghiệm 44

2.1.Sử dụng bộ dữ liệu Stomach cho chương trình 44

2.1.1.Kết quả thực nghiệm với hàm Gaussian 45

2.1.2 Kết quả thực nghiệm với hàm Poly 48

2.2 Thực nghiệm với bộ dữ liệu men Yeast 51

2.2.1.Kết quả thực nghiệm với hàm Gaussian 51

2.2.2.Kết quả thực hiện với hàm Poly 54

Kết luận chương 57

KẾT LUẬN 58

1.Các đóng góp khoa học của luận văn 58

2.Hướng phát triển 58

TÀI LIỆU THAM KHẢO 59

PHỤ LỤC 61

Trang 5

Tôi cũng xin cảm ơn gia đình, đồng nghiệp và những người thân đã cùng chia sẻ, giúp

đỡ, động viên, tạo mọi điều kiện thuận lợi để tôi hoàn thành nhiệm vụ học tập và luận văn tốt nghiệp cuối khóa

Hà Nội, tháng 10 năm 2010

Học viên

Lữ Đăng Nhạc

Trang 6

DANH MỤC HÌNH VẼ

Hình 1.1 Mô hình phân lớp 10

Hình 1.2 Quá trình phân lớp 11

Hình 1.3 Véc tơ hai chiều x [11] 14

Hình 1.4 Mặt phẳng phân chia hai lớp [11] 14

Hình 1.5 Các siêu phẳng phân chia tập dữ liệu [11] 15

Hình 1.6 Siêu phẳng tối ưu 17

Hình 1.7 Các véc tơ hỗ trợ 18

Hình 1.8 Biến nới lỏng cho lề mềm 19

Hình 1.9 Không gian đặc trưng 21

Hình 1.10 Mô tả kỹ thuật One against all (a) và one against one(b)[9] 24

Hình 1.11 Thẩm định chéo K-fold 26

Hình 1.12 Thẩm định chéo lấy mẫu ngẫu nhiên 26

Hình 2.1 Các toán tử chung cho thuật giải di truyền [15] 33

Hình 3.1.Mô hình mới dựa trên GA và SVM 36

Hình 3.2 Đưa dữ liệu về không gian mới 38

Hình 4.1 Các bước thực hiện để tìm ra chromosome tốt nhất 42

Hình 4.2 Hàm đánh giá của GA tại mỗi thế hệ 43

Hình 4.3 Giao diện chương trình 44

Hình 4.4.Kết quả thử nghiệm SVM với hàm Gaussian trên Stomach 46

Hình 4.5 Kết quả thử nghiệm của GA&SVM với hàm Gaussian trên tập Stomach 47

Hình 4.6 So sánh kết quả thực nghiệm của SVM và GA&SVM với hàm Gaussian trên tập Stomach 48

Hình 4.7 Kết quả thực nghiệm của SVM với Poly trên tập Stomach 49

Hình 4.8 Kết quả thực nghiệm của GA&SVM với Poly trên Stomach 50

Hình 4.9 So sánh kết quả thực nghiệm của SVM và GA&SVM với hàm Poly trên Stomach 51

Hình 4.10 Kết quả thử nghiệm của SVM với hàm Gaussian trên tập Yeast 52

Hình 4.11 Kết quả thử nghiệm của GA&SVM với hàm Gaussian trên tập Yeast 53

Hình 4.12 So sánh kết quả thực nghiệm của SVM và GA&SVM với hàm Gaussian trên tập Yeast 54

Trang 7

3 Hình 4.13 Kết quả thử nghiệm của SVM với hàm Poly trên tập Yeast 55Hình 4.14 Kết quả thử nghiệm GA&SVM với hàm Poly trên tập Yeast 56Hình 4.15 So sánh kết quả thực nghiệm của SVM và GA&SVM với hàm Gaussian trên tập Yeast 57

Trang 8

DANH MỤC BẢNG BIỂU

Bảng 1.Mô tả dữ liệu Stomach 44

Bảng 2.Kết qủa lỗi thu được của SVM với hàm Gaussian trên tập stomach 45

Bảng 3.Kết quả lỗi thu được của GA&SVM với hàm Gaussian trên Stomach 46

Bảng 4.Kết quả lỗi thu được của SVM với hàm Poly trên dữ liệu Stomach 48

Bảng 5 Kết qủa lỗi thu được của GA&SVM với hàm Poly trên tập Stomach : 49

Bảng 6 Kết quả lỗi thu được của SVM với hàm Gaussian trên tập Yeast 51

Bảng 7 Kết quả lỗi thu được của GA&SVM với hàm Gaussian trên tập Yeast 52

Bảng 8 Kết quả lỗi thu được của SVM với hàm Poly trên tập Yeast 54

Bảng 9 Kết quả lỗi thu được của GA& SVM với hàm Poly trên tập Yeast 55

Trang 9

5

BANH MỤC CÁC KÝ HIỆU, TỪ VIẾT TẮT

Từ viết tắt Tiếng anh

Gas Genetic Algorithms

SVM Suporst Vector Machine MSVM Mô hình đa phân lớp xây dựng bởi OAA và SVM Matlab Matrix Laboratory

Trang 10

MỞ ĐẦU

Ngày nay cùng với việc phát triển của Khoa Học Công Nghệ thì lượng dữ liệu ngày càng trở nên lớn hơn, khai thác được những thông tin có ích từ lượng dữ liê ̣u khổn g lồ

như vâ ̣y đang là vấn đề lớn đặt ra trong thực tiễn cuộc sống

Khai phá dữ liệu là một trong những lĩnh vực nghiên cứu của khoa học máy tính hiện

nay đang được phát triển rất mạnh mẽ Nó kết hợp giữa học máy, công nghệ cơ sở dữ liệu và một số chuyên ngành khác để tìm ra những tri thức, bao gồm cả các thông tin

dự báo, từ những cơ sở dữ liệu lớn

Phân lớp dữ liệu được coi là một trong những vấn đề nghiên cứu mở rộng hiện nay

trong Khai phá dữ liệu, hiện nay có rất nhiều dữ liệu thực tế lớn cần được phân lớp như: Việc khai thác thông tin về nhu cầu mua hàng dành cho những người bán hàng, hoặc các khả năng rủi ro trong việc cho vay tiền ở ngân hàng, hoặc việc cần phải phân biệt những người bị bệnh hoặc không bị bệnh trong một lớp dữ liệu của bệnh viện…

Như vậy việc phân tích được thông tin rất quan trọng, nhưng dữ liệu thực tế rất lớn và

có rất nhiều lớp khác nhau, vậy bài toán được đặt ra ở đây là làm thế nào để phân loại được những lớp dữ liệu khác nhau càng nhiều càng tốt với độ chính xác cao Như việc phân tích một bệnh ung thư, bệnh được chia làm nhiều giai đoạn, giờ đây điều quan tâm không những là việc xác định người bị bệnh và người không bị bệnh nữa mà còn

là việc quan tâm xem người bị bệnh đang ở giai đoạn nào Với một dữ liệu ung thư nếu xác định được giai đoạn bệnh của bệnh nhân thì khả năng những giai đoạn mới đầu là

có thể được chữa khỏi, vì vậy việc đa phân lớp sẽ trở thành rất quan trọng trong việc phân lớp dữ liệu

Yêu cầu của một bài toán đa phân lớp đó là làm thế nào phân lớp dữ liệu thành nhiều lớp đạt hiệu quả cao nhất ở khả năng dự đoán những dữ liệu mới vào đúng lớp dữ liệu một cách chính xác nhất Hiện nay có rất nhiều thuật toán phân lớp như thuật toán

Support vector machines (SVM) thuật toán phân lớp bằng Học cây quyết định, mô

hình Mạng lan truyền ngược (Neural Network)[8],… và có nhiều kết quả đạt được

trong việc sử dụng các mô hình phân lớp này vào việc đa phân lớp[8,11,14] Nhưng vấn đề tìm kiếm một phương pháp đủ tốt đáp ứng nhu cầu cần phải phân tích dữ liệu ra nhiều lớp khác nhau vẫn là một vấn đề hiện nay cần nghiên cứu

Trang 11

9 Luận văn này tập trung tìm hiểu, xây dựng mô hình đa phân lớp mới bằng việc kết hợp một thuật toán phân lớp SVM với kĩ thuật đa phân lớp One agaist all (OAA) nhằm thực hiện đa phân lớp một tập dữ liệu Luận văn cũng tập trung vào việc sử dụng giải thuật di truyền (GA) để tối ưu các tham số của hàm nhân Kernel của SVM phục vụ cho việc đa phân lớp nhằm tăng độ chính xác khi phân lớp của mô hình[10]

Nội dung chính của luận văn được tổ chức thành 4 chương có nội dung được mô tả như dưới đây

Chương 1 Thuật toán phân lớp SVM Chương này giới thiê ̣u cơ bản về vấn

đề phân lớp, các bước trong phân lớp và những yêu cầu trong vấn đề phân lớp

Chương này tập trung vào một thuật toán phân lớp SVM, nghiên cứu kỹ thuật đa phân lớp nhằm xây dựng mô hình đa phân lớp với SVM

Chương 2 Giải thuật di truyền Chương này trình bày về giải thuật di truyền, tìm hiểu và áp dụng giải thuật nhằm tối ưu các giá trị

Chương 3 Mô hình tối ưu đa phân lớp SVM Chương này trình bầy viê ̣c xây

dựng một mô hình đa phân lớp dựa vào giải thuật di truyền, kĩ thuật One against all và SVM Đề cập đến việc tìm kiếm các Kernel tốt cho mô hình bằng việc sử dụng giải thuật di truyền để tối ưu các tham số của Kernel

Chương 4 Xây dựng chương trình mô phỏng Chương này sử dụng những

lý luận ở trên kết hợp với MATLAB để xây dựng mô hình phân lớp phân tích trên một

số tập dữ liệu cụ thể nhằm thu được các kết quả để đánh giá mô hình mới xây dựng (GA&SVM) so với mô hình đa phân lớp SVM

Phần kết luận tổng kết những kết quả đạt được của luận văn và hướng phát

triển nghiên cứu tiếp theo

Trang 12

Chương 1 - THUẬT TOÁN PHÂN LỚP VỚI SVM

1.Giới thiệu chung về phân lớp

1.1.Khái niệm cơ bản

Một nhà nghiên cứu về y học muốn phân tích dữ liệu về bệnh ung thư phổi để dự đóan trước một trong ba phương pháp điều trị đặc biệt dành cho bệnh nhân, nhân viên ngân hàng khi xem xét quyết định cho vay, họ cần phải phân tích xem hồ sơ vay nào là “an toàn”, cái nào là “rủi ro” Việc phân tích dữ liệu được gọi là phân lớp (Classification), trong đó một mô hình (Classifier) được xây dựng để dự đoán các nhãn như là “an tòan”, “rủi ro” của dữ liệu cho vay, “ phương pháp A”, “phương pháp B”, “phương pháp C” của dữ liệu y học.[5]

Mục đích của phân lớp là dự đoán giá trị lớp của thuộc tính đích dựa trên các giá trị thuộc tính đầu vào Ta phải dựa vào các mối quan hệ giữa các đối tượng để tìm ra sự giống nhau giữa các đối tượng theo một độ đo nào đó đặc trưng cho lớp

Hình 1.1 Mô hình phân lớp

1.2.Quá trình phân lớp

Gồm hai bước:

Trang 13

11 Bước 1: Xây dựng mô hình từ tập dữ liệu huấn luyện 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

Hình 1.2 Quá trình phân lớp

1.2.1.Xây dựng mô hình

- Mỗi bộ/mẫu dữ liệu được phân vào lớp đã xác định trước

- Lớp của bộ/mẫu dữ liệu được chỉ ra trong thuộc tính nhãn lớp của bộ/mẫu dữ liệu đó

- Tập dữ liệu được dùng để xây dựng mô hình gọi là tập dữ liệu huấn luyện

- Mô hình được xây dựng có thể là các luật phân lớp, cây quyết định hoặc có thể là các công thức toán học, bộ tham số …

1.2.2.Sử dụng mô hình

- Phân lớp cho các đối tượng trong tương lai hoặc các đối tượng chưa biết

- Đánh giá độ chính xác của mô hình + So sánh các nhãn lớp đã biết của các bộ trong tập dữ liệu kiểm tra với kết quả phân lớp của mô hình

+ Độ chính xác là tỉ lệ phần trăm của các bộ trong tập dữ liệu kiểm tra được phân lớp đúng mô hình

- Tập dữ liệu phải có cùng khuôn dạng và độc lập với tập dữ liệu huấn luyện

Xây dựng mô hình Sử dụng mô hình để dự báo

Dữ liệu huấn luyện

Bộ phân loại (mô hình )

Dữ liệu kiểm tra

Dữ liệu chưa biết

Trang 14

1.3.Các yêu cầu đối với bàn toán phân lớp

Các phương pháp phân lớp thường đòi hỏi một số yêu cầu sau:

- Tính tuyến tính: Với các tập dữ liệu nhỏ mà số lượng các đối tượng ít thì các thuật toán có thể giải quyết tốt, nhưng trên thực tế có những cơ sở dữ liệu lớn có thể có hàng ngàn, hàng triệu đối tượng Khi đó phân lớp có thể dẫn đến kết quả không như mong muốn hoặc tốn rất nhiều thời gian

- Khả năng làm việc với nhiều loại dữ liệu khác nhau: Dữ liệu không đơn thuần chỉ là các con số, mà còn có nhiều kiểu dữ liệu Vì thế, các ứng dụng có thể yêu cầu phân lớp với nhiều dạng dữ liệu như nhị phân, dữ liệu phân loại, dữ liệu hỗn hợp theo nhiều kiểu

- Tối thiểu các tham số đầu vào: các tham số thường rất khó xác định, đặc biệt với các tập dữ liệu có các đối tượng nhiều chiều Điều này gây khó khăn cho người sử dụng và ảnh hưởng tới chất lượng của các lớp

- Khả năng làm việc với các dữ liệu nhiễu Hầu hết các dữ liệu thực đều có dữ liệu không đầy đủ, không biết rõ hoặc dữ liệu lỗi Một số thuật toán rất nhạy cảm với các

dữ liệu như vậy và có thể làm giảm khả năng phân lớp của chúng

- Không phụ thuộc vào thứ tự của các bản ghi đầu vào Với cùng một tập dữ liệu, khi biểu diễn với thứ tự khác nhau, một số thuật toán có thể tạo ra những lớp khác nhau

Vì vậy yêu cầu thuật toán không phụ thuộc vào thứ tự đầu vào của dữ liệu là một yêu cầu hết sức quan trọng

- Khả năng làm việc với dữ liệu nhiều chiều: với lượng dữ liệu lớn, lượng thông tin càng ngày càng thay đổi thì một cơ sở dữ liệu có thể có nhiều chiều hoặc nhiều thuộc tính Các thuật toán có thể xử lý tốt với dữ liệu ít chiều xong lại không tỏ ra hiệu quả với dữ liệu nhiều chiều Đây cũng là một thách thực lớn trong phân lớp các đối tượng

dữ liệu trong không gian nhiều chiều

- Phân lớp các ràng buộc Các ứng dụng trong thực tế có thể phải thực hiện phân lớp với nhiều ràng buộc Nhiệm vụ của phân lớp là phải tìm một nhóm dữ liệu sao cho phân lớp tốt nhất thỏa mãn các điều kiện ràng buộc

- Tính có thể hiểu được và khả năng sử dụng được Người sử dụng mong rằng có thể hiểu được, nhận biết được và sử dụng được các lớp sau khi chia Điều đó đòi hỏi các lớp sau khi được phân lớp phải có ý nghĩa và đem lại ứng dụng

Trang 15

13 Với những yêu cầu trên, thật khó để có thể tìm được một thuật toán đáp ứng được tất

cả các yêu cầu Vì vậy đây luôn là một thách thức lớn đối với lĩnh vực khai phá dữ liệu

2.Kỹ thuật phân lớp SVM(Support vector machines)

SVM là phương pháp học máy cho phép phân lớp các đối tượng ra thành hai lớp Mặc

dù các đối tượng cần phân lớp hết sức phong phú từ tranh ảnh, âm thanh, đồ thị…, nhưng ở đây tôi chỉ xem xét các đối tượng là các vector thực với số chiều hữu hạn

2.1.SVM tuyến tính 2.1.1.Các bộ phận phân lớp tuyến tính

Giả sử m=2, hay mỗi đối tượng chỉ là một vector hai chiều   x

= (x1, x2) Mỗi đối tượng như vậy có thể được biểu diễn bởi một điểm trên mặt Trong không gian đó, mỗi đường thẳng được đẳng trưng bởi phương trình

x + b chia mặt phẳng thành hai nửa mặt phẳng tương ứng với các x

làm w

x

+ b nhận giá trị dương hay âm

Một đường thẳng như vậy xác định một bộ phân lớp tuyến tính Bộ phân lớp tuyến tính phân loại mỗi điểm x

 R2 phụ thuộc vào vị trí của đối tượng của nó: x

được phân vào loại +1 nếu w

Theo cách thức này, ta có thể tổng quát hóa đối với số chiều lớn hơn 2 Với các véc tơ

Trang 16

Hình 1.3 Véc tơ hai chiều x [11]

Được gọi là siêu phẳng (với m=2, ta được một đường thẳng trong không gian hai chiều) Siêu phẳng chia không gian ra thành hai nửa không gian Vì thế, ta có thể xác định một bộ phân lớp tuyến tính có khả năng phân x

thành 2 lớp tùy thuộc vào dấu của w

x

+ b

Hình 1.4 Mặt phẳng phân chia hai lớp [11]

2.1.2.Tập huấn luyện có thể phân chia tuyến tính

Chúng ta xem xét một tập huấn luyện S bao gồm một tập điểm x

 Rm cùng với các lớp của nó yi {-1,+1} với I =1,…,N

Trang 17

15

Hình 1.5 Các siêu phẳng phân chia tập dữ liệu [11]

Các kết quả trong lý thuyết học mày chứng minh trong trường hợp này, số chiều liên quan đến khoảng cách nhỏ nhất giữa một điểm trong tập huấn luyện và siêu phẳng phân chia nó Khoảng cách này được gọi là “lề” và được kí hiệu là  Như vậy, số chiều của một bộ phân lớp tuyến tính (có thể phân chia một cách đúng đắn dữ liệu) với

lề lớn hơn hoặc bằng  sẽ giảm theo , điều này dẫn đến việc:

+ Chọn một bộ phân lớp có thể phân chia tất cả dữ liệu huấn luyện (để thu được rủi ro thực nghiệm nhỏ nhất)

+ Trong số các bộ phân lớp, chọn bộ phân lớp với lề lớn nhất (để có số chiều

VC nhỏ nhất) Siêu phẳng với lề lớn nhất cho một tập huấn luyện được gọi là siêu phẳng tối ưu

Thuật toán chọn bộ phân lớp với lề lớn nhất được gọi là máy vector hỗ trợ tuyến tính cho bộ phân lớp có thể phân chia

2.1.3.SVM tuyến tính cho bộ huấn luyện có thể phân chia

Nếu bộ huấn luyện có thể phân chia tuyến tính thì có rất nhiều bộ phân lớp tuyến tính cho phép phân lớp đúng Một phân lớp tốt cần phải thỏa mãn hai tính chất:

+ Chọn một bộ phân lớp với độ rủi ro thực nghiệm càng nhỏ càng tốt

+ Chọn một bộ phân lớp với số chiều càng nhỏ càng tốt

Trường hợp các bộ phân lớp tuyến tính cho tập huấn luyện có thể phân chia, điều kiện thứ 1 nêu trên có thể thỏa mãn bằng cách chọn một đường thẳng có thể phân lớp đúng đối với tất cả các đối tượng trong tập huấn luyện

Trang 18

2.1.4.Tìm siêu phẳng tối ƣu

Trong phần này, chúng ta sẽ xem xét làm thế nào để tính toán siêu phẳng tối ưu từ một tập huấn luyện Nói cách khác, chúng ta sẽ mô tả thuật toán dùng bởi SVM tuyến tính cho một tập huấn luyện có thể phân chia

Xem xét một tập các cặp(w

,b) thỏa mãn các phương trình sau với i= 1,…N (nói

cách khác, với mọi ví dụ trong tập huấn luyện)(1.2):

Mỗi cặp,(w

, b) xác định một bộ phân lớp đúng Nói cách khác, phương trình trên đặc trưng cho một một tập các bộ phân lớp tuyến tính xác định theo cặp vector (w

, b) các bộ phân lớp này phân chia tập huấn luyện theo lề lớn hơn 0

) được chọn vuông góc với siêu phẳng, và w

cũng vuông góc với siêu phẳng này nên w

Trang 19

17 Nói cách khác, khoảng cách giữa các siêu phẳng định nghĩa bởi w

||càng nhỏ thì lề càng lớn Vấn đề tìm kiếm siêu phẳng tối

ưu có thể được phát biểu lại như sau: Siêu phẳng tối ưu được xác định bởi cặp (w

sử dụng biển đổi đối ngẫu

Trong dạng biến đổi đổi ngẫu, chúng ta sử dụng vector đối ngẫu: * * *

1

( , , n)

   và dùng nó cho việc khôi phục mặt phẳng tối ưu ( *

+ Các ràng buộc mà các i>0 là các ràng buộc tích cực

Trang 20

+ Các ràng buộc mà i=0 là các ràng buộc không tích cực

Trong trường hợp này, ràng buộc thứ i được thể hiện dưới dạng:

Ràng buộc này thể hiện rằng những điểm x i

nằm ở phần “tốt” của siêu phẳng phân biệt, và khoảng cách của nó từ siêu phẳng lớn hơn một lề nào đó Hơn thế nữa, ràng buộc này là “tích cực” khi và chỉ khi khoảng cách này đúng bằng lề.[11]

Điều này dẫn đến một số hệ quả sau:

+ Tính chất thưa: Số lượng các vector hỗ trợ có thể rất nhỏ so với kích cỡ của tập huấn luyện

+ Siêu phẳng tối ưu không bị ảnh hưởng bởi các ví dụ học không phải là các vector hỗ trợ

2.1.6.SVM tuyến tính cho tập huấn luyện tổng quát

Những kết quả trong phần trên chỉ áp dụng cho trường hợp các tập có thể phân chia tuyến tính Với các tập không thể phân chia tuyến tính, người ta đưa ra giải pháp “Lề mềm” (soft margin) trong đó người ta thay thế các ràng buộc khi giải bài toán tối ưu với các điều kiện sau

Trang 21

19

Ở đây i gọi là biến nới lỏng (slack variables), hay các biến dương thể hiện mức độ chịu lỗi của bộ phân lớp (tolerances of misclassification) Thông qua đó, các vector huấn luyện được phép rơi vào trong khoảng chịu lỗi dọc theo biên ngăn cách hai lớp như được mô tả trong Hình 1.8 Hàm tối ưu trong trường hợp này là:

Thừa số thứ hai trong công thức trên là thừa số phạt (penalty term) cho việc phân lớp sai, và hằng số C xác định mức độ đóng góp của thừa số thứ hai

Hình 1.8 Biến nới lỏng cho lề mềm

Theo cách lập luận tương tự cho dữ liệu huấn luyện có thể phân chia tuyến tính, việc tìm siêu phẳng trong trường hợp này được mô tả như trong định đề sau:

Định đề:Với một tập huấn luyện bất kì

Trang 22

( *

w



, b*) được xác định như sau:

Xác định các siêu phẳng tối ưu, thỏa mãn làm cực tiểu hóa:

Định đề này trừ các ràng buộc trên là (ràng buộc dạng

“hộp” - box contraint) 0  C thay vì: 0 [11]

2.2.SVM không tuyến tính

2.2.1.Không gian đặc trƣng

Tập dữ liệu huấn luyện:S{( ,x y 1), , (xN,y N)}là một tập của các ví dụ được gán nhãn

Giả sử người ta có thể định nghĩa một tập các hàm thực 1, ,Mtrên không gian các đối tượng Các hàm này được gọi là đặc trưng Khi đó, bất kì đối tượng x

nào cũng có thể ánh xạ sang một vector thực ( )x với số chiều M như sau:

Các đặc trưngi có thể là một hàm bất kì Trong trường hợp đặc biệt, chúng không nhất thiết phải là hàm tuyến tính Hơn thế nữa, số lược các đặc trưng M có thể lớn hơn chiều m của các đối tượng x

Sau khi ánh xạ tất cả các điểm từ tập huấn luyện sang không gian đặc trưng, ta được một tập các điểm trong không gian

Trang 23

21 + Xác định một ánh xạ đến một không gian đặc trưng + Xây dựng một SVM tuyến tính trong không gian đặc trưng

Hình 1.9 Không gian đặc trưng

2.2.2.SVM tuyến tính trong không gian đặc trƣng

Trong không gian đặc trưng, tập huấn luyện là:

Theo những phân tích trong phần trước, ta có một SVM tuyến tính xác định một vector đối ngẫu (1, ,N)bằng cách tính cực đại hóa hàm sau:

Theo ràng buộc:

Từ *

 ta có thể tính toán b* theo phương trình:

Và kết quả phân lớp ví dụ mới x

phụ thuộc vào dấu của phương trình:

Chú ý rằng, ở đây ta không cần phải tính toán w

do ta không cần xác định bộ phân lớp tối ưu

Trang 24

Từ phương trình này, ta thấy rằng tất cả những gì ta cần biết về ánh xạ  là giá trị của tích vô hướng '

( ) ( )x x

    Ở đây, Ở đây,  là một ánh xạ sang không gian đặc trưng

Định nghĩa : Một hàm nhân K(.,.) là một hàm sao cho với mọi điểm (x,x) trong không

gian đầu vào:

Ở đây,  là một ánh xạ sang không gian đặc trưng[11]

2.2.3.Ngầm xạ sang không gian đặc trƣng

Một hàm nhân K() luôn luôn tương ứng với một tích vô hướng trong một không gian

đặc trưng xác định bởi ánh xạ (.) Vì thế, cách thức tự nhiên nhất để xây dựng một nhân là đầu tiên định nghĩa ánh xạ (.) và sau đó tính toán kernel tương ứng

Tuy nhiên, trong nhiều trường hợp việc tính toán các hàm kernel '

( )x

  của chúng Tính chất này là lý

do vì sao việc sử dụng các hàm nhân là hết sức hữu ích: dễdàng cho việc tính toán, nhưng có thể tận dụng các không gian đặc trưng phức tạp Vì thế chúng ta đề cập đến ánh xạ ngầm đến không gian vector do dữ liệu được ánh xạ sang không gian vector chừng nào tích vô hướng của nó có thể tính toán được, trong khi các ảnh của chúng không được tính toán một cách rõ ràng

2.2.4.Các hàm nhân phổ biến

Một số hàm nhân phổ biến thường được dùng trong cài đặt SVM với giả thiết đầu vào

là các véc tơ

2.2.4.1.Hàm nhân đa thức

Hai hàm nhân đa thức tổng quát được xác định như sau:

Với d là bậc của đa thức và c là hằng số Các cặp véc tơ là đầu vào và kết quả đầu ra của hàm nhân

Trang 25

23

2.2.4.2.Hàm nhân cơ sở

Hàm nhân cơ sở được xác định như sau:

Ở đây là tham số, điều này cho thấy việc ánh xạ trực tiếp sang không gian đặc trưng

là rất phức tạp nhưng việc tính tích vô hướng lại được tính toán một cách dễ dàng

Các hàm quyết định có dạng sau:

Đây là tổng các phân phối Gaussian có tâm là các vector hỗ trợ Hầu hết mọi hình dạng đều có thể mô phỏng với hàm nhân này.Với giá trị  càng nhỏ, các phân phối Gaussian càng nhọn xung quanh các vector hỗ trợ, do đó đường bao càng phức tạp

Giá trị càng lớn, biên xác định càng trơn

2.2.4.3.Hàm nhân sigmoid

Hàm nhân sigmoid được xác định bởi:

Ở đây, k và  là các tham số tương ứng với “gain” và ngưỡng Một lần nữa, ta lại

gặp trường hợp mà việc ánh xạ trực tiếp sang không gian đặc trưng không thể thực hiện được Hàm quyết định:

2.3.Một số biến thể và cải tiến của SVM

2.3.1.Một số kỹ thuật đa phân lớp

2.3.1.1.Kỹ thuật One Against all

Chiến lược “ One against all” đối với tập gồm có K lớp , chiến lược phân lớp giữa mô ̣t lớp và K -1 lớp còn la ̣i, tất cả sẽ là K lần phân lớp , mỗi mô ̣t phân lớp thứ k đầu ra là

viê ̣c cho ̣n k hay k Ta có thể thấy viê ̣c phân chia như hình vẽ (Hình (a)) để đơn

giản ta xét với 3 lớp làm ví dụ, đó là lớp A, B và C

Trang 26

a) b)

Hình 1.10 Mô tả kỹ thuật One against all (a) và one against one(b)[9]

Với lớp A ta tìm được một siêu phẳng phân tách lớp A với tất cả các lớp còn lại là

Ưu điểm: Thực hiện K lần phân lớp với bộ dữ liệu có K lớp

Nhược điểm: Khả năng mà mẫu bị bỏ đi hoặc bị chỉ ngẫu nhiên vào một trong K lớp là lớn

2.3.1.2.Kỹ thuật One Against one

“Chiến lược” phân tách này khác với chiến lược One against all là phân tách theo từng cặp lớp , mỗi một cặp sẽ tìm ra một siêu phẳng tối ưu phân tách , việc này thực hiê ̣n tất cả K K( 1) / 2 lần phân lớ p, viê ̣c phân chia thế này sẽ có đầu ra là hai lựa cho ̣n

1

 hoặc 2, như (Hình 2.10 (b)) ta thấy việc phân chia được thực hiện từng đôi một

các lớp, A và B ta có một siêu phẳng tối ưu, A và Ccó một siêu phẳng tối ưu, B

và C có một siêu phẳng tối ưu phân tách hai lớp

Ưu điểm: Khả năng mẫu bị bỏ là ít Nhược điểm: Số lần phân lớp lớn là K(K-1) lần đối với tập có K lớp

Trang 27

25

2.3.1.3.Áp dụng kỹ thuật đa phân lớp với SVM

Giả sử dữ liệu của bài toán có N lớp, chúng ta sẽ dùng các kỹ thuật đa phân lớp kết hợp với SVM để phân lớp dữ liệu

Áp dụng kỹ thuật One against all với SVM:

Ta tiến hành N lượt phân lớp từ 1 đến N đối với tập dữ liệu Giả sử tại lần phân lớp k

ta sẽ sử dụng kỹ thuật SVM để phân lớp, dữ liệu sẽ được phân vào lớp k hay k(là một lớp bất kỳ không thuộc lớp k)

Áp dụng kỹ thuật One against one với SVM:

“Chiến lược” phân tách này khác với chiến lược One against all là phân tách theo từng cặp lớp Đối với từng cặp lớp, ta sử dụng SVM để phân lớp dữ liệu cho từng lớp

Như vậy, với N lớp, ta sẽ dùng SVM để phân các cặp lớp với số lần là N(N-1)/2

2.3.2.Kỹ thuật Cross Validation

Thẩm định chéo là một phương thức đánh giá mô hình tốt hơn phương thức đánh giá

độ dư thừa Vấn đề của việc đánh giá độ dư thừa là không đưa ra được phương thức hướng việc học sẽ làm những gì khi được yêu cầu tạo ra những dự đoán của dữ liệu không nhìn thấy được Một cách khắc phục vấn đề này là việc không sử dụng toàn bộ tập dữ liệu trong quá trình đào tạo Một số dữ liệu bị loại bỏ trước khi việc đào tạo bắt đầu Sau đó khi việc đào tạo được thực hiện, dữ liệu đã bị loại bỏ có thể được dùng để kiểm định hiệu năng của mô hình đã học trên tập dữ liệu mới Đây là ý tưởng cơ bản cho phương thức đánh giá mô hình trong toàn bộ lớp – gọi là thẩm định chéo(cross-validation CV)

Với những thiết lập đơn giản nhất, lựa chọn mô hình thường liên quan đến hai bộ dữ

liệu: bộ dữ liệu huấn luyện (training set) dùng cho ước lượng tham số và bộ dữ liệu thẩm định (validation set) dùng cho lựa chọn mô hình

Tập dữ liệu thẩm định cung cấp một phương tiện của việc so sánh khả năng tổng quát hóa của các mô hình và phát hiện overfitting: nếu hiệu năng trên tập dữ liệu thẩm định kém hơn nhiều so với hiệu năng trên tập dữ liệu huấn luyện, mô hình xuất hiện overfitting Nếu nhiều mô hình được so sánh với tập thẩm định, hiệu năng của mô hình lựa chọn tốt nhất trên tập thẩm định là ước lượng quan trọng trong hiệu quả dự đoán trên tập dữ liệu mới Một tập dữ liệu thứ ba gọi là tập kiểm định – dùng để đánh giá hiệu năng cuối cùng của mô hình

Trang 28

2.3.2.1.Thẩm định chéo K- fold

- Với mỗi lần thực hiện, sử dụng K-1 nhóm cho Training và một phần còn lại để là Test

Hình 1.11 Thẩm định chéo K-fold

- Kiểm tra chéo K-Fold cũng tương tự với việc lấy mẫu ngẫu nhiên

- Điều thuận tiện của việc kiểm tra chéo K-Fold là thất cả các mẫu trong tập dữ liệu đều được sử dụng cho cả hai việc là Training và Testing

2.3.2.2.Thẩm định lấy mẫu ngẫu nhiên

- Lấy mẫu ngẫu nhiên bằng cách chia ra K phần của tập dữ liệu

- Mỗi một cách chia ngẫu nhiên chọn mẫu mà không cần thay thế

- Với mỗi dữ liệu chia ra ta thực hiện việc phân lớp với tập Training ngẫu nhiên và xác định lỗi E ivới tập mẫu test

Hình 1.12 Thẩm định chéo lấy mẫu ngẫu nhiên

Kết luận chương

Trong chương này chúng tôi tìm hiểu chung về các khái niệm phân lớp, mô hình phân lớp dữ liệu; đặc biệt tìm hiểu về phân lớp dữ liệu với SVM; SVM là kỹ thuật phân lớp

Trang 29

27 nhị phân, với những dữ liệu đa lớp chúng tôi áp dụng các kỹ thuật OAA, OAO với SVM để phân lớp chúng

Trang 30

Chương 2 - GIẢI THUẬT DI TRUYỀN

1.Giới thiệu

Thuật toán di truyền là thuật toán tối ưu ngẫu nhiên dựa trên cơ chế chọn lọc tự nhiên

và tiến hóa di truyền [15] Thuật toán di truyền được ứng dụng đầu tiên trong hai lĩnh

vực chính: tối ưu hóa và học máy Trong lĩnh vực tối ưu hóa thuật toán di truyền được phát triển nhanh chóng và ứng dụng trong nhiều lĩnh vực khác nhau như tối ưu hàm,

xử lý ảnh, bài toán hành trình người bán hàng, nhận dạng hệ thống và điều khiển

Thuật toán di truyền cũng như các thuật toán tiến hóa nói chung, hình thành dựa trên quan niệm cho rằng, quá trình tiến hóa tự nhiên là quá trình hoàn hảo nhất, hợp lý nhất

và tự nó đã mang tính tối ưu Quan niệm này có thể xem như một tiên đề đúng, không chứng minh được, nhưng phù hợp với thực tế khách quan Quá trình tiến hóa thể hiện tính tối ưu ở chỗ, thế hệ sau bao giờ cũng tốt hơn (phát triển hơn, hoàn thiện hơn) thế

hệ trước bởi tính kế thừa và đấu tranh sinh tồn

2.Nội dung thuật toán

Bài toán dành cho GAs là tìm kiếm trên không gian các giả thuyết ứng cử để xác định giả thuyết tốt nhất Trong GAs “giả thuyết tốt nhất” được định nghĩa như là một giả thuyết tối ưu hóa một đại lượng số được định nghĩa trước cho bài toán sắp tới, được

gọi là độ thích nghi của giả thuyết Ví dụ, nếu tác vụ học hỏi là bài toán xấp xỉ một

hàm chưa biết cho tập mẫu huấn luyện gồm dữ liệu đầu vào và dữ liệu đầu ra, thì độ thích nghi có thể được định nghĩa như là độ chính xác của giả thuyết trên dữ liệu huấn luyện này Nếu tác vụ là học chiến lược chơi cờ, độ thích nghi có thể là số ván thắng của chiến lược này khi đấu với các chiến lược khác trong quần thể hiện tại

Mặc dù các thuật giải di truyền được thực hiện thay đổi theo bài toán cụ thể, nhưng chúng chia sẻ chung cấu trúc tiêu biểu sau: Thuật giải hoạt động bằng cách cập nhật liên tục tập giả thuyết – được gọi là quần thể Ở mỗi lần lặp, tất cả các cá thể trong quần thể được ước lượng tương ứng với hàm thích nghi Rồi quần thể mới được tạo ra bằng cách lựa chọn có xác suất các cá thể thích nghi tốt nhất từ quần thể hiện tại Một

số trong những cá thể được chọn được đưa nguyên vẹn vào quần thể kế tiếp Những cá

Trang 31

29 thể khác được dùng làm cơ sở để tạo ra các cá thể con bằng cách áp dụng các tác động

di truyền: lai ghép và đột biến

Thuật giải di truyền mẫu [20]

GA (Fitness, Fitness_threshold, p, r, m)

{ // Fitness: hàm gán thang điểm ước lượng cho một giả thuyết

// Fitness_threshold: Ngưỡng xác định tiêu chuẩn dừng giài thuật tìm kiếm

// p: Số cá thể trong quần thể giả thuyết

// r: Phân số cá thể trong quần thể được áp dụng toán tử lai ghép ở mỗi bước

Chọn cá thể: chọn theo xác suất (1 – r)p cá thể trong quần thể P thêm

vào P S Xác suất Pr(h i ) của giả thuyết h i thuộc P được tính bởi công thức:

Lai ghép: chọn lọc theo xác suất

2

rp

cặp giả thuyết từ quần thể P, theo

Pr(h i ) đã tính ở bước trên Ứng với mỗi cặp <h 1 , h 2 >, tạo ra hai con bằng

cách áp dụng toán tử lai ghép Thêm tất các các con vào P S

Đột biến: Chọn m% cá thể của P S với xác suất cho mỗi cá thể là như nhau Ứng với mỗi cá thể biến đổi một bit được chọn ngẫu nhiên trong cách thể hiện của nó

Cập nhật: P  P S.

Ƣớc lƣợng: Ứng với mỗi h trong P, tính Fitness(h)

Trả về giả thuyết trong P có độ thích nghi cao nhất

}

Trang 32

Quần thể gồm p cá thể Ở mỗi lần lặp, quần thể kế tiếp P S được hình thành từ việc lựa chọn theo xác suất các giả thuyết hiện tại theo độ thích nghi của chúng và bằng cách thêm vào các giả thuyết mới Các giả thuyết mới được tạo ra bằng cách áp dụng toán

tử lai ghép cho cặp giả thuyết thích nghi nhất và bằng cách tạo ra các đột biến điểm đơn trong thế hệ giả thuyết kết quả Quá trình này được lặp cho đến khi các giả thuyết

thích hợp được phát hiện Các toán tử lai ghép và đột biến tiêu biểu được định nghĩa

trong bảng kế tiếp

Một thuật giải di truyền mẫu được mô tả ở trên, các đầu vào cho thuật giải này bao gồm hàm tính độ thích nghi để tính hạng cho các giả thuyết ứng cử, một giá trị ngưỡng được định nghĩa cấp độ thích nghi có thể chấp nhận để kết thúc thuật giải, kích thước quần thể, và các tham số quyết định các quần thể kế tiếp được tạo ra như thế nào: phần quần thể bị thay thế ở mỗi thế hệ và tỉ lệ đột biến

Lưu ý trong thuật giải này, ở mỗi bước lặp qua vòng lặp chính tạo ra một thế hệ mới các giả thuyết dựa vào quần thế hệ hiện tại Trước tiên, một số giả thuyết được chọn từ quần thể hiện tại để đưa vào thế hệ kế tiếp Những giả thuyết này được chọn theo xác suất, ở đây xác suất của giả thuyết được tính bởi [15]:

Vì vậy, xác suất để giả thuyết được chọn tỉ lệ với độ thích nghi của nó và tỉ lệ nghịch với độ thích nghi của các giả thuyết cạnh tranh khác trong quần thể hiện tại

Một khi các cá thể này của thế hệ hiện tại đã được chọn để đưa vào quần thể thế hệ kế tiếp, các cá thể thêm vào được tạo ra dùng toán tử lai ghép Lai ghép, được định nghĩa chi tiết trong phần kế tiếp, lấy hai giả thuyết từ thế hệ hiện tại và tạo ra hai giả thuyết con bằng cách kết hợp các phần của hai giả thuyết cha Các giả thuyết cha được chọn theo xác suất từ quần thể hiện tại, sử dụng hàm xác suất được định nghĩa ở trên Sau khi các cá thể mới được tạo ra từ hoạt động lai ghép này, quần thế thế hệ mới bây giờ

có đủ số lượng thành viên mong muốn Lúc này, một phân số m nào đó các cá thể này

được chọn một cách ngẫu nhiên và tất cả các đột biến ngẫu nhiên được thực hiện để thay đổi các cá thể này

Ngày đăng: 17/12/2023, 02:07

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] Giáo sư Hà Quang Thụy, Đại học Công Nghệ, Đại học Quốc Gia Hà Nội - Giáo trình giảng dạy môn Khai phá dữ liệu Web (2008).Tiếng Anh Sách, tạp chí
Tiêu đề: Giáo trình giảng dạy môn Khai phá dữ liệu Web (2008)
Tác giả: Giáo sư Hà Quang Thụy, Đại học Công Nghệ, Đại học Quốc Gia Hà Nội - Giáo trình giảng dạy môn Khai phá dữ liệu Web
Năm: 2008
[3] Grefenstette, J. J. (1991) - Strategy acquisition with genetic algorithms, in Handbook of Genetic Algorithms, Davis, L. D. (Ed.), Boston: Van Nostrand Reinhold Sách, tạp chí
Tiêu đề: Strategy acquisition with genetic algorithms, in Handbook of Genetic Algorithms
[4] Nello Cristianini,John Shawe-Taylor (2000) An Introduction to Support Vector Machines and Other Kernel-based Learning Methods, Cambridge University Press Sách, tạp chí
Tiêu đề: An Introduction to Support Vector Machines and Other Kernel-based Learning Methods
[5] Jiawei Han, Micheline Kamber(2006): Data Mining:Concepts and Techniques (second edition) 285-289 , Morgan Kaufmann Publishers Sách, tạp chí
Tiêu đề: Data Mining:Concepts and Techniques (second edition)
Tác giả: Jiawei Han, Micheline Kamber
Năm: 2006
[6] Yi Liu, Yuan F.Zheng (2007) One- Against –All Multi-Class SVM Classification Using Reliability Measures Department of Electrical and Computer Engineering, The Ohio State University Sách, tạp chí
Tiêu đề: One- Against –All Multi-Class SVM Classification Using Reliability Measures
[7] Xiao-Lei, Kang Li (2007) A new score correlation analysis Multi-class Support Vector Machine for Microarray, Proceedings of International Joint Conference on Neural Networks, Orlande, Florida ,USA, August 12-17, 2007 Sách, tạp chí
Tiêu đề: A new score correlation analysis Multi-class Support Vector Machine for Microarray
[9]. David M.J Tax, Robert P.W Duin (2002) Using two-class classifiers for multiclass classification Pattern Recognition Group, Faculty of Applied Science, Delft University of Technology Sách, tạp chí
Tiêu đề: Using two-class classifiers for multiclass classification
[10] Jonathan Milgram, Mohamed Cheriet, Robert Sabourin (2006) “One Against One” or “One Against All” Which One is Better for Handwriting Recognition with SVMs? École de Technologie Supéieure, Montréal, Canada Sách, tạp chí
Tiêu đề: “One Against One” or “One Against All” Which One is Better for Handwriting Recognition with SVMs
[11] Jane P.V, Introduction to support vector machines and applications to computational biology, July 17, 2001 Sách, tạp chí
Tiêu đề: Introduction to support vector machines and applications to computational biology
[1] Nguyễn Đức Cường, Khoa Công nghệ thông tin, Đại học Bách Khoa, Thành phố Hồ Chí Minh - Tổng quan về khai phá dữ liệu (Reviewing of Data Mining) Khác

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