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

Phân loại văn bản bằng phương pháp support vector machine

99 23 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 99
Dung lượng 1,44 MB

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

Nội dung

Gần đây hơn, các nhà nghiên cứu đã thực hiện sử dụng các kỹ thuật học máy để kết hợp tự động các tài liệu với các phân loại bằng cách đầu tiên sử dụng một tập huấn luyện để thông qua bộ

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI -

LUẬN VĂN THẠC SỸ KHOA HỌC

PHÂN LOẠI VĂN BẢN BẰNG PHƯƠNG PHÁP

SUPPORT VECTOR MACHINE

NGÀNH: CÔNG NGHỆ THÔNG TIN

MÃ SỐ:

LƯƠNG THỊ MINH HỒNG

Người hướng dẫn khoa học: TS NGUYỄN LINH GIANG

Trang 2

MỤC LỤC

Danh mục các ký hiệu, các từ viết tắt 5

Danh mục các bảng 6

Danh mục các hình vẽ, đồ thị 7

Mở đầu 8

PHẦN I - CƠ SỞ LÝ THUYẾT 12

CHƯƠNG 1 TÔNG QUAN VỀ KHAI PHÁ VĂN BẢN 13

1.1 Một số khái niệm 13

1.2 Khai phá dữ liệu văn bản – Text Mining 15

1.3 Phân loại văn bản 19

1.4 Quy trình phân loại văn bản 20

1.4.1 Lưu trữ tài liệu 20

1.4.2 Định dạng văn bản 21

1.4.3 Cấu trúc hoá tài liệu 22

1.4.4 Tách dữ liệu 22

1.4.5 Giảm chiều 23

1.4.6 Mô hình hoá không gian vector 25

1.4.7 Giải thuật học máy 26

1.4.8 Thiết lập cấu hình học máy 26

1.4.9 Học tăng cường 26

1.4.10 Hành vi giả thuyết 27

CHƯƠNG 2 SUPPORT VECTOR MACHINE 28

2.1 Động cơ 28

2.1.1 Học máy 28

Trang 3

2.1.2 Lý thuyết học thống kê 30

2.2 Nguyên lý tối thiểu hoá rủi ro cấu trúc 33

2.3 Máy học vector hỗ trợ - SVM 35

2.3.1 SVM với các vấn đề tuyến tính 37

2.3.2 Trường hợp phân tách không tuyến tính 39

2.4 Một số phương pháp Kernel 41

2.4.1 Polynomial - Phép toán đa thức 43

2.4.2 Gaussian RBF (Radial Basis Function) 44

2.4.3 RBF mở rộng (Exponential Radial Basis Function) 44

2.4.4 Perceptron đa tầng (multi-Label Perceptron –MLP) 44

2.5 Một số vấn đề trong SVM 45

2.5.1 Các hàm thiệt hại cho SVM 45

2.5.2 Các vấn đề đa lớp 45

2.5.3 Các vấn đề phân loại đa lớp – đa nhãn 46

2.5.4 Tối ưu hoá các siêu phẳng phân tách 46

CHƯƠNG 3: PHÂN LOẠI VĂN BẢN VỚI SVM 56

3.1 Thực hiện phân loại văn bản với SVM 56

3.2 Ưu điểm khi sử dụng SVM phân loại văn bản 58

PHẦN II - THỬ NGHIỆM PHÂN LOẠI VĂN BẢN TRONG ORACLE BẰNG PHƯƠNG PHÁP SVM 59

CHƯƠNG 4 PHÂN LOẠI VĂN BẢN VỚI ORACLE TEXT 60

4.1 Khai phá văn bản với Oracle 60

4.2 Phân loại văn bản trong Oracle Text 62

Trang 4

4.2.2 Phân loại với SVM 65

4.2.3 Phương pháp đánh giá 80

CHƯƠNG 5 TIẾN HÀNH THỬ NGHIỆM 82

5.1 Chuẩn bị dữ liệu 82

5.2 Kiểm thử với Oracle 10g 83

5.2.1 Thử nghiệm lần 1 83

5.2.2 Thử nghiệm lần 2 87

5.2.3 Thử nghiệm lần 3 88

5.2.4 Kết quả 3 lần thử nghiệm 89

KẾT LUẬN 92

TÀI LIỆU THAM KHẢO 95

Phụ lục 1 97

TÓM TẮT LUẬN VĂN 99

Trang 5

Danh mục các ký hiệu, các từ viết tắt

DF Document Frequency Tần xuất tài liệu

ERM Empirical Risk Minimization Tối thiểu hoá rủi ro theo kinh

nghiệm

IG Information Gain Thu nhận thông tin

KDD Knowledge Discovery in Database Khai phá tri thức trong CSDL

KNN K Neighbourhood Nearest K láng giêng gần nhất

ODM Oracle Data Mining Khai phá dữ liệu Oracle

SVM Support Vector Machine Máy học vector hỗ trợ

SRM Structural Risk Minimization Tối thiểu hoá rủi ro cấu trúc

VC Vapnik-Chervonenkis Chiều VC

Trang 6

Danh mục các bảng

Bảng 1.1 Bảng ngẫu nhiên cho phân loại cj và thuật ngữ f k 24

Bảng 4.1 Bảng các thuộc tính của SVM_CLASSIFIER 79

Bảng 5.1 Bảng dữ liệu thử nghiệm đã phân loại 82

Bảng 5.2 Bảng kết quả thử nghiệm lần 1 89

Bảng 5.3 Bảng kết quả thử nghiệm lần 2 90

Bảng 5.4 Bảng kết quả thử nghiệm lần 3 90

Bảng 5.5 Bảng tổng hợp kết quả thử nghiệm qua 3 lần 90

Trang 7

Danh mục các hình vẽ, đồ thị

Hình 1.1 Các bước trong tiến trình KDD 14 Hình 1.2 Hoạt động của một bộ phân loại trên một tập tài liệu 19 Hình 2.1 Mô hình hoá các lỗi 30 Hình 2.2 Mô tả VC Dimension 32 Hình 2.3 Mô tả của phương trình 2.7 34 Hình 2.4 Siêu phẳng phân tách tối ưu là một siêu phẳng phân tách dữ liệu

với margin lớn nhất 37

Hình 2.5 Sử dụng một hàm ánh xạ Φ vào không gian đặc trưng F có thể

được tìm thấy bằng cách sử dụng một siêu phẳng tuyến tính (bên phải) 42

Hình 2.6 Siêu phẳng phân tách tối ưu là một phân tách với lề cực đại 47 Hình 2.7 Không gian đặc trưng SV ánh xạ không gian nguồn vào một không

gian đặc trưng nhiều chiều và sau đó xây dựng một siêu phẳng tối ưu trong

không gian đặc trưng 54

Hình 4.1 Cấu trúc cuả một ứng dụng phân loại văn bản 63 Hình 4.2 Mô hình phân loại tổng quan trong Oracle 72 Hình 4.3 Quy trình đánh chỉ số văn bản 75

Trang 8

Mở đầu

Phân loại văn bản là tiến trình xếp các tài liệu văn bản vào trong một hoặc nhiều các phân loại hoặc lớp các tài liệu tương tự xác định trước Sự khác nhau trong các kết của của từng phân loại từ sự lựa chọn tập đặc trưng tới sự kết hợp của tài liệu đã cho với một phân loại cho trước Chủ trương của nhận dạng phân loại văn bản xếp các tài liệu văn bản vào trong các phân loại của các tài liệu với các yêu cầu cao hơn để thu nhận nhanh hơn các tài liệu đó

và cung cấp các lĩnh vực trong đó người dùng có thể khảo sát sâu hơn các tài liệu tương tự Trước đây, các hệ thống thu nhận thông tin sử dụng các biểu đồ phân loại truyền thống trong khi hầu hết các giải thuật phân nhóm sử dụng mô hình không gian vector để hình thức hoá các nhóm tài liệu

Gần đây hơn, các nhà nghiên cứu đã thực hiện sử dụng các kỹ thuật học máy để kết hợp tự động các tài liệu với các phân loại bằng cách đầu tiên sử dụng một tập huấn luyện để thông qua bộ phân loại tới tập đặc trưng của tập tài liệu đặc biệt Quy trình học máy được khởi tạo bởi một một sự kiểm tra các tài liệu mẫu để quyết định tập đặc trưng tối thiểu mà sinh ra các kết quả phân loại mong muốn Giai đoạn huấn luyện này có thể được kiểm soát hoặc không kiểm soát Trong cả hai trường hợp một tập các phân loại được định nghĩa một quyền ưu tiên, không giống phân nhóm mà định nghĩa các phân loại dựa trên đặc trưng của các tài liệu thực sự Các kỹ thuật học không kiểm soát sử dụng các đặc trưng của các tài liệu huấn luyện để cho giải thuật quyết định phân loại mỗi tài liệu thuộc vào Các kỹ thuật học có kiểm soát sử dụng một tập các tài liệu huấn luyện mà đã được kết hợp trong một phân loại để quyết định tập đặc trưng nào của các tài liệu sẽ tạo ra kết quả mong muốn Các kỹ thuật học máy, nếu thành công, cung cấp một ưu thế mới với các tập tài liệu động thông qua qua mô hình không gian vector chuẩn, trong đó hướng

Trang 9

dẫn của các tài liệu mới và các tập tài liệu mới sẽ không yêu cầu xây dựng lại các ma trận vector tài liệu

Với số lượng thông tin ngày càng tăng được sinh ra bởi các giao dịch thương mại và các nhà nghiên cứu có một nhu cầu cho các giải thuật chính xác và nhanh để phân tích dữ liệu Các cải tiến trong kỹ thuật CSDL, thực hiện tính toán và trí tuệ nhân tạo đã xây dựng để phát triển phân tích dữ liệu thông minh Dữ liệu thế giới thực thường được đặc tính hoá bằng cách có các

số lớn các ví dụ, ví dụ hàng tỷ các giao dịch thẻ tín dụng ,…Quan hệ giữa các biến dự đoán như ký hiệu vật lý và các khái niệm đích,… thường không tuyến tính Một kỹ thuật gần đây được phát triển để thu nhận các vấn đề đó là SVM SVM được phát triển như một công cụ thô để phân loại và hồi quy trong các lĩnh vực phức tạp và đa dạng

Các CSDL thương mại hiện đại càng phát triển đã làm tăng khả năng phân tích Kỹ thuật khai phá văn bản trở nên chủ yếu để phân tích khối lượng lớn dữ liệu Các kỹ thuật khai phá tài liệu hiện tại đã đưa ra các kết quả chính xác cao và tổng quá hoá cho tập dữ liệu Tuy nhiên, các kết quả thu được có chất lượng cao yêu cầu mức độ chuyên nghiệp hơn của người dùng SVM là một giải thuật khai phá văn bản mạnh có thể giải quyết các vấn đề mà không cần các phương pháp thống kê truyền thống Tuy nhiên, vẫn còn một số giới hạn về độ phức tạp phương pháp luận, khả năng linh hoạt, và cài đặt sản phẩm SVM có chất lượng thấp Luận văn này mô tả cách thực hiện của SVM nhằm chính vào tính dễ sử dụng và khả năng linh hoạt trong khi vẫn duy trì tính chính xác cao SVM đã được hợp nhất vào CSDL Oracle và do đó có thể dễ dàng khai phá văn bản trong CSDL với việc hỗ trợ dữ liệu trong CSDL hoặc ngoài CSDL và thực hiện phân loại với bộ dữ liệu gồm nhiều phân loại và mỗi tài liệu có thể thuộc một hoặc nhiều phân loại khác nhau

Trang 10

Với dữ liệu thông tin trong CSDL ngày càng lớn cùng với yêu cầu thực

tế của các ứng dụng phân loại văn bản là đa lớp và đa nhãn nên trong luận văn này tác giả tập trung nghiên cứu về vấn đề phân loại văn bản bằng phương pháp SVM và thử nghiệm với bộ dữ liệu gồm nhiều phân loại khác nhau bên trong CSDL Trong phần thực nghiệm, chúng tôi cũng thử nghiệm với các văn bản được đưa vào trong CSDL Oracle, đồng thời thực hiện thử nghiệm giải thuật SVM đã được hợp nhất trên Oracle với phiên bản mới nhất là Oracle 10g Release 2

Nội dung của luận văn được chia thành 2 phần chính

Phần 1: Cơ sở lý thuyết về các vấn đề được nêu trên Phần này được

tổ chức với 3 chương Chương 1 là giới thiệu tổng quan về Khai phá văn bản Chương 2 tác giả trình bày về quá trình hình thành SVM, nội dung giải thuật SVM và một số vấn đề khi phân loại với SVM Chương 3 trình bày về khái niệm phân loại văn bản và lý do vì sao SVM lại được lựa chọn cho phân loại văn bản

Phần 2: mô tả phương pháp luận về khai phá văn bản với Oracle, và phương pháp để có thể thực hiện phân loại văn bản trong Oracle với giải thuật SVM Phần này được tổ chức thành 2 chương Chương 4 trình bày

phương pháp luận về khai phá văn bản trong Oracle Chương 5 báo cáo một

số kết quả thử nghiệm dữ liệu văn bản với giải thuật SVM trong CSDL Oracle 10g

Ngoài ra, tại phần cuối cùng là: Kết luận và định hướng nghiên cứu và phát triển của luận văn

Trang 11

Em xin chân thành cảm ơn TS.Nguyễn Linh Giang cùng các thày cô giáo bộ môn đã trang bị kiến thức, giúp đỡ tận tình trong suốt quá trình học và quá trình làm luận văn Em cũng cảm ơn những người bạn lớp CH CNTT 2004-2006, các bạn đồng nghiệp, những người bạn thân và gia đình đã thường xuyên động viên khích lệ và giúp đỡ em trong thời gian qua

Trang 12

PHẦN I - CƠ SỞ LÝ THUYẾT

Trong phần đầu tiên này, tác giả đưa ra một số khái niệm, quá trình hình thành và các vấn đề khi phân loại thông thường khi áp dụng SVM:

- Khái niệm về khai phá văn bản

- Giới thiệu phương pháp SVM

- Các vấn đề gặp phải khi phân loại bằng phương pháp SVM

- Bài toán phân loại văn bản, cách sử dụng SVM trong bài toán phân

loại văn bản

Trang 13

CHƯƠNG 1 TÔNG QUAN VỀ KHAI PHÁ VĂN BẢN

Mục đích của chương này là giới thiệu một cách tóm tắt về vấn đề khai phá

dữ liệu văn bản, bài toán phân loại văn bản

9 Khai phá dữ liệu văn bản là gì?

9 Các bước để xây dựng bài toán khai phá dữ liệu văn bản

9 Bài toán phân loại văn bản

9 Khái niệm các bước cần thực hiện để phân loại văn bản

1.1 Một số khái niệm

Trước tiên, tác giả xin trình bày một số khái niệm cơ bản để hiểu rõ được mối liên quan giữa dữ liệu, thông tin và tri thức, và lý do vì sao lại cần phải giải quyết các bài toán liên quan của lĩnh vực này

• Dữ liệu được hiểu là một chuỗi các con số hoặc các đối tượng mà

chúng ta thu thập được hàng ngày Ví dụ: dữ liệu là các file trong máy tính, dữ liệu là các văn bản giấy tờ mà chúng ta xử lý hàng ngày,

• Thông tin là dữ liệu đã được loại bỏ đi nhiễu, sự dư thừa và đã được

biểu diễn dưới dạng mà con người có thể nhận thức được Ví dụ: thông tin về tình hình chiến sự tại IRAQ, thông tin về nhiệt độ trong tháng

• Tri thức được hiểu là các thông tin đã được tích hợp lại, đã được nhận

thức, kiểm nghiệm, hay được đúc rút ra thành các quy luật có ý nghĩa đối với con người Ví dụ: từ thông tin về nhiệt độ trong tháng, con người có thể đưa ra được những dự báo thời tiết quan trọng,

Như vậy, tri thức chính là các dữ liệu, thông tin ở mức trừu tượng và khái quát cao hơn, tri thức ở dạng cô đọng và dễ hiểu nhất đối với con người

Rõ ràng trong kỷ nguyên công nghệ thông tin này thì con người chỉ muốn tìm

Trang 14

thể có đủ thời gian và khả năng để hiểu được các dữ liệu ở một dạng thô sơ nào đó Điều đó cũng cho thấy vai trò quan trọng của lớp các bài toán khai phá dữ liệu và phát hiện tri thức Phần tiếp theo tác giả trình bày về tiến trình khai phá dữ liệu và phát hiện tri thức (KDD) Theo nhiều tài liệu khác nhau thì tiến trình KDD nói chung đều bao gồm 5 bước cơ bản sau đây:

Bước 1 Tìm hiểu về lĩnh vực và các vấn đề có liên quan

Bước 2 Thu thập và tiền xử lý dữ liệu Đây là một bước cực kỳ quan trọng,

chiếm phần lớn thời gian và sức lực (70 ÷ 90%) trong cả tiến trình

Nó cũng ảnh hưởng tới toàn bộ các kết quả thu được về sau của tiến trình khai phá dữ liệu

Bước 3 Khai phá dữ liệu, trích chọn ra các mẫu, các thông tin có ý nghĩa

Bước này gồm các phương thức để sản sinh ra các tri thức hữu ích

Bước 4 Thể hiện và đánh giá các tri thức đã rút ra được ở bước 3

Bước 5 Đưa các tri thức đã phát hiện được vào sử dụng trong thực tế

Mô hình KDD không phải là một mô hình như kiểu mô hình thác nước (thực hiện xong bước 5 là kết thúc) mà trên thực tế nó có tính lặp lại, bước sau phản hồi về cho bước trước đó, rồi thực hiện những sự điều chỉnh cần thiết nhằm đưa đến một kết quả tốt nhất cho toàn bộ hệ thống

Hình 1.1 Các bước trong tiến trình KDD

Trang 15

Việc áp dụng tiến trình KDD có thể thực hiện trên nhiểu kiểu loại dữ liệu khác nhau với các hình thức tổ chức lưu trữ khác nhau Hiện nay, có rất nhiều cách tổ chức dữ liệu khác nhau, cách phổ biến nhất và cũng là cách truyền thống là cơ sở dữ liệu quan hệ, ngoài ra còn có các cơ sở dữ liệu hướng đối tượng, cơ sở dữ liệu không gian, cơ sở dữ liệu hướng thời gian, và cơ sở

dữ liệu văn bản,…Đối với mỗi dạng cơ sở dữ liệu lại có các phương pháp xử

lý khác nhau và mục đích khai phá dữ liệu khác nhau tùy theo tính chất và đặc thù của dữ liệu

Các kỹ thuật được sử dụng có thể là các phương pháp truyền thống như học máy (machine learning), nhận dạng (recognition), thống kê (statistics), phân loại (classification),… và các kỹ thuật được phát triển bởi ngành nghiên cứu trí tuệ nhân tạo như mạng nơ-ron nhân tạo (neural network), thuật toán di truyền (genetic algorithm), quy nạp luật (rule reduction), cây quyết định (decision tree),…

Phần tiếp theo tác giả đề cập các khái niệm cơ bản trong lĩnh vực Text Mining, lĩnh vực mà đồ án tập trung giải quyết

1.2 Khai phá dữ liệu văn bản – Text Mining

Trước khi đi sâu vào các bài toán liên quan tới khai phá dữ liệu văn bản, tác giả trình bày một số khái niệm xung quanh bài toán này

• Thế nào là văn bản: đó là các tài liệu ở dạng không có cấu trúc hoặc

bán cấu trúc Ví dụ như các các file dạng đuôi txt, doc

• Khai phá dữ liệu văn bản là gì?

- Khai phá dữ liệu văn bản là việc trích ra, lấy ra các thông tin có ích, chưa được biết đến còn tiềm ẩn trong các kho dữ liệu văn bản lớn

- Khai phá dữ liệu văn bản là việc thu thập và phân tích dữ liệu bằng

Trang 16

- Khai phá văn bản là phát hiện ra các mô tả chung của các lớp đối tượng, các từ khoá, các mối liên quan về mặt nội dung, sự phân loại của các đối tượng văn bản, v.v

• Các bài toán hiện nay được quan tâm trong lĩnh vực TM:

a) Phát hiện xu hướng văn bản (Text Trend Detection):

Đây là bài toán phát hiện các xu hướng, các luật chưa được biết đến trong các CSDL văn bản lớn Ví dụ điển hình nhất của bài toán này đó là tìm

ra các thông tin xác định khả năng bị ung thư của một bệnh nhân từ cơ sở dữ liệu bệnh án về ung thư đã được thu thập, hay đưa ra được các xu hướng mua các mặt hàng của khách hàng khi họ đi siêu thị, v.v Đây là bài toán hay, có

ý nghĩa rất quan trọng và tất nhiên đó cũng là bài toán khó nhất trong các bài toán thuộc về lĩnh vực khai phá dữ liệu văn bản

b) Tìm kiếm văn bản (Text Retrieval):

Tìm kiếm văn bản là quá trình tìm các văn bản trong một kho dữ liệu theo các yêu cầu của người dùng Ở đây, các yêu cầu là các truy vấn và thường được biểu diễn dưới dạng thuật ngữ hay biểu thức logic giữa các thuật ngữ Ví dụ: người dùng đưa vào truy vấn sau: "Manchester United" & "David Beckham" & "Victoria" Ứng với truy vấn này, hệ thống sẽ tìm tất cả các tài liệu về "Manchester United" có liên quan đến "David Beckham" và

"Victoria" Hiện nay, các hệ thống tìm kiếm mạnh và thông dụng nhất như Google cũng chỉ hiểu được các câu truy vấn có sử dụng phép toán logic Và, Hoặc như trên

Kết quả đưa ra cho người sử dụng là danh sách các tài liệu được sắp xếp giảm dần theo mức độ phù hợp với truy vấn đầu vào

c) Phân loại văn bản (Text Categorization - Text Classification):

Theo cách truyền thống, việc phân loại văn bản có thể thực hiện một cách thủ công: đọc từng văn bản một và gán nó vào nhóm phù hợp nhất Rõ

Trang 17

ràng đây là một công việc tốn nhiều thời gian, công sức nếu số lượng văn bản cần phân loại lớn Vì thế việc xây dựng các công cụ tự động phân loại các văn bản là một việc cần thiết và có tính hữu ích cao

d) Lập nhóm văn bản (Text Clustering):

Lập nhóm văn bản là bài toán tự động lập ra các nhóm văn bản từ một tập các văn bản có sẵn căn cứ vào sự tương tự về mặt nội dung giữa các văn bản Số lượng nhóm từ 1 đến K Người sử dụng có thể chỉ định số nhóm cần lập hoặc hệ thống tự động tính số nhóm sao cho phù hợp nhất Nhờ việc phân loại tự động, hệ thống sẽ gợi ý cho người dùng cách phân loại một tập các văn bản có sẵn môt cách hợp lý

Đối với bài toán này, không bao giờ có một kết quả thoả mãn hoàn toàn theo ý người dùng Lý do chính là vì máy tính không thể hiểu được bản chất của các văn bản đó và kết quả tất yếu là việc phân loại không thể làm người

sử dụng luôn cảm thấy hài lòng Chúng ta cũng phải thừa nhận rằng ngay cả con người giải quyết bài toán này cũng rất khác nhau, tuỳ theo sở thích và quan niệm của người đó Ví dụ, khi cho lập nhóm các từ: "bơi", "vận động viên", "nghiên cứu" và "sinh viên" Người thứ nhất có thể lập thành 2 nhóm: động từ (bơi, nghiên cứu) và danh từ (vận động viên, sinh viên), trong khi đó người thứ hai lại lập thành 2 nhóm khác: thể thao (bơi, vận động viên) và học tập (sinh viên, nghiên cứu) Vì vậy, việc xây dựng một hệ thống tự động lập nhóm, phân loại đúng tuyệt đối là một việc phi thực tế

e) Tóm tắt văn bản (Text Summarization):

Tóm tắt văn bản là bài toán tìm ra thể hiện nội dung của một văn bản thông qua một vài đoạn văn bản, hoặc thông qua các câu quan trọng nhất của văn bản đó

Ứng dụng điển hình của bài toán này là trong tìm kiếm văn bản Các

Trang 18

nhưng cũng có thể lên tới hàng trăm trang Khi người dùng đưa vào một truy vấn yêu cầu hệ thống tìm kiếm đưa ra những văn bản có liên quan, thì kết quả thường là một danh sách dài có thể lên đến hàng trăm tài liệu Làm thế nào để

có thể tìm được tài liệu người dùng quan tâm giữa một danh sách dài như thế, tất nhiên chúng ta không đề cập đến việc đọc hết từng tài liệu để lấy ra những tài liệu mình thấy là thích hợp nhất Hệ thống tóm tắt văn bản sẽ làm cho việc tìm kiếm giảm nhẹ đi rất nhiều bằng cách tự động tóm lược nội dung của toàn

bộ văn bản bởi một vài đoạn hoặc bởi những câu quan trọng nhất Sau khi đọc qua đoạn tóm lược này, người dùng có thể biết được đây có phải là những tài liệu chứa thông tin mà họ quan tâm hay không

Hầu hết các máy tìm kiếm hiện nay như Google, Altavista, đều có chức năng này khi thể hiện kết quả của truy vấn

f) Dẫn đường văn bản (Text Routing):

Bài toán dẫn đường văn bản; là sự tổ hợp giữa bài toán tìm kiếm văn bản và phân loại văn bản Giống như phân loại văn bản, bài toán dẫn đường đưa các bài báo về các nhóm khác nhau Tuy nhiên nó cũng giống bài toán tìm kiếm, mỗi nhóm văn bản được gán với các thông tin cần thiết của một hay nhiều nhóm người dùng Mỗi người dùng có thể thay đổi thêm bớt các yêu cầu của mình Quá trình phản hồi có thể được sử dụng để nâng cao chất lượng tìm kiếm

g) Trích chọn từ khoá (Keyword Extraction):

Bài toán trích chọn từ khoá, thực hiện việc trích ra được các từ khoá quan trọng nhất của văn bản, thể hiện đặc thù về chuyên môn của văn bản đó

Phần tiếp theo tác giả trình bày chi tiết hơn về bài toán phân loại văn bản và phần tiếp sau và cũng là cuối cùng trong chương trình là quy trình phân loại văn bản

Trang 19

1.3 Phân loại văn bản

Đề hiểu một cách đơn giản thì phân loại văn bản là việc gán các tài liệu vào trong các phân loại dựa trên nội dung của chúng Sử dụng học máy, mục tiêu là để học các bộ phân loại từ các mẫu mà văn bản chưa thấy có thể được

tự động phân loại

Về mặt hình thức, cho trước một tập các nhãn (các phân loại) C = {c 1 , , c |C| } và một tập các tài liệu chưa thấy trước đó D = {d 1 , d 2 , }, một bộ

phân loại là một hàm K ánh xạ từ D tới tập của tất cả các tập con của C Hình

1.2 biểu diễn một biểu đồ đơn giản của phân loại văn bản:

Hình 1.2 Hoạt động của một bộ phân loại trên một tập tài liệu

Trong một vài ứng dụng, các bộ phân loại chỉ gán một nhãn đơn tới

từng tài liệu, bởi vậy thường là một hàm ánh xạ trực tiếp từ D tới C Thông

thường một hàm trung gian rất hữu ích cho các phân loại theo vùng hoặc phân

loại mềm, ánh xạ từ D×C tới tập các số thực R gán một điểm tới từng phân loại c j cho từng tài liệu d i Các phân loại tính điểm có thể được biểu diễn tới một hệ chuyên gian nhân tạo theo thứ tự giảm, và con người sau đó có thể tạo các quyết định cuối cùng trên thành phần loại của tài liệu Hệ thống có thể tự tạo một quyết định dựa trên một ngưỡng tới thành phần phân loại, biến đổi vấn đề trở lại các phân loại cứng được biểu diễn trong hình 1.2

Các cách tiếp cận hiện đại chuẩn để tạo các hàm phân loại mới là để

Trang 20

luyện T r Đây là một tập các tài liệu do người dùng cung cấp và được gán

nhãn trước mà cho phép một phân loại phân bổ tương tự với sự phân bổ của

D, và có các nối dụng cung cấp thông tin phần nào về các tài liệu sẽ được ánh

xạ tới các phân loại Các giải thuật sau đó có thể được phát triển để tạo ra các

sự tổng quát hoá về quan hệ giữa nội dung tài liệu và phân loại tài liệu, mã

hoá các sự tổng quát hoá đó trong hàm học K

1.4 Quy trình phân loại văn bản

Để huấn luyện một bộ phân loại theo cách trên, người dùng phải bắt

đầu với một một huấn luyện, và được gọi là T r Đây là một tập tài liệu được gán nhãn trước với các phân loại mà được xem là đúng hoàn toàn - chúng được gán thủ công bởi một chuyên gia về lĩnh vực đó, một người biết rõ kiểu tài liệu chứa trong các văn bản và biết làm thế nào để gán các phân loại tới từng tài liệu dựa trên nội dung tài liệu

Phác thảo cơ bản về việc tạo các ứng dụng phân loại văn bản là khá đơn

giản: các tài liệu trong T r được đưa tới hệ thống phân loại văn bản, hệ thống

xử lý nội dung các tài liệu và hàm phân loại xác định K được sinh ra có thể được sử dụng để phân loại các tài liệu tương lai từ tập D Trong một ứng

dụng, nhiều điểm của quy trình này cần được quản lý trong nhiều cách xác định Từ phần 1.4.1 tới 1.4.10 miêu tả các giai đoạn cuả quá trình này

1.4.1 Lưu trữ tài liệu

Trong một tổ chức mà cần một ứng dụng phân loại văn bản, các tài liệu

có thể có từ nhiều nguồn Chúng có thể xuất phát từ các văn bản thuần tuý (chỉ có các ký tự) hoặc các thông điệp thư điện tử đã định dạng, chúng có thể

là các trang web đã được xử lý và còn thô, chúng có thể là các bộ dữ liệu từ một CSDL (phần 1.4.4), hoặc chúng không thể có một biểu diễn ngoài hệ

Trang 21

thống phân loại văn bản Bởi vậy quan trọng để nhận dạng khái niệm phương tiện lưu trữ tài liệu và tiến hành chuyển đổi từ các phương tiện đó tới một trung gian có thể truy cập tới hệ thống phân loại văn bản, là một phần quan trọng của quy trình phân loại văn bản

Hơn nữa, nhiều bộ dữ liệu phân loại văn bản là khá lớn Theo định dạng ban đầu của chúng, chúng có thể lớn hơn khối lượng bộ nhớ trên máy xử

lý Đầu tiên, cần chuyển đổi các tài liệu tới các chuẩn lưu trữ đặc biệt (ví dụ, trong một tập các file trên hệ thống file cục bộ) để hệ thống phân loại văn bản

có thể truy cập chúng có thể là không thể được hoặc không mong muốn vì các

lý do về thời gian, không gian hoặc dư thừa dữ liệu Thứ hai, một kỹ thuật mà

có thể giải quyết quan trung gian lưu trữ âm của các tài liệu mà không không tất cả các tài liệu vào trong bộ nhớ là có thể cần thiết trong một hệ thống phân loại văn bản

1.4.2 Định dạng văn bản

Tuy hầu hết các phân loại văn bản xem xét một tài liệu là một văn bản thuần tuý chuỗi dữ liệu, nhưng điều này là khó gặp trong một môi trường ứng dụng Các tài liệu có thể được lưu trong nhiều định dạng tài liệu, bao gồm văn bản thuần tuý (plain text), HyperText Markup Language (HTML), Adobe’s Portable Document format (PDF), Extensible Markup Language (XML), Microsoft Word (DOC), các thư điện tử mã hoá MIME, … Dữ liệu bên trong mỗi tài liệu cũng có thể được xem xét một phần định dạng của nó khi khối lượng thông tin trích dẫn hoặc các biến đổi khác cần được áp dụng tới dữ liệu tài liệu để làm chúng có khả năng có thể truy cập được tới hệ thống phân loại văn bản Ví dụ, các chuỗi số trong một số tập tài liệu có thể là các thuật ngữ đáng xem xét khi phân loại, nhưng ngược lại trong các bộ dữ liệu khác có thể chỉ có dữ liệu nhiễu Vì lý do tương tự như đã đề cập trong phần trước, có thể

Trang 22

tiếp, hoặc để cung cấp một kỹ thuật để mở rộng hệ thống để nhận dạng các chuẩn mới, hoặc là chuyển đổi dữ liệu của tất cả các dữ liệu tới một chuẩn nhận dạng bởi hệ thống

1.4.3 Cấu trúc hoá tài liệu

Một vấn đề khác với vấn đề chuẩn tài liệu mà cần quan tâm là vấn đề là cấu trúc tài liệu Trong thời đại hiện nay khi dữ liệu XML ngày càng tăng trong trao đổi dữ liệu và định dạng lưu trữ, cấu trúc của một tài liệu, cách các phần của một tài liệu liên quan tới nhau và xếp lồng nhau để tạo thành toàn bộ tài liệu có thể là quan trọng để hiểu ý nghĩa của tài liệu

Trong phân loại văn bản, một ít là tạo bởi cấu trúc văn bản, ngoại trừ rằng một hệ thống phân loại văn bản có thể gán các trọng số quan trọng tới các thuật ngữ trong một tài liệu theo các trọng số quan trọng được thiết lập trước theo các phần trong các thuật ngữ đó được tìm thấy Ví dụ, một thuật ngữ tìm thấy trong một tiêu đề của một tài liệu có thể được xem xét 2 lần quan trọng hơn một thuật ngữ tìm thấy trong nội dung Tuy nhiên, khi nghiên cứu vào sự phân loại của việc thực hiện các tài liệu có cấu trúc, có thể là một lĩnh vực rất lớn để xem xét việc xây dựng các hệ thống phân loại văn bản

1.4.4 Tách dữ liệu

Để chuyển đổi văn bản của một tài liệu thành dữ liệu mà có thể được phân tích bởi một giải thuật học máy, cần chia văn bản thành các đơn vị rời, mỗi đơn vị tương ứng với một từ hoặc cụm từ trong văn bản Việc này được gọi là tách từ (tokenization) Trong phần thảo luận này, từ thuật ngữ ám chỉ tới thực thể ngôn ngữ chính xác khi nó xuất hiện trong văn bản nguồn, token

là một chuỗi được trích ra bởi hệ thống phân loại văn bản Việc phân đoạn dữ liệu văn bản vào trong các khoanh (chunk) biểu diễn các từ riêng biệt có thể giống với bài toán không phức tạp, nhưng thực tế có nhiều biến đổi quy trình

Trang 23

này sẽ được thực hiện Việc phân tách các từ bằng khoảng trống (dấu cách, tab, ) là không đủ vì chưa thực hiện với các dấu chấm hay các từ ghép, việc tách từ này thường cần được tạo với một vài kiến trức về tập tài liệu D Hơn nữa, nhiều ngôn ngữ như tiếng Hàn hay tiếng Nhật không chứa các khoảng trắng để chỉ ra sự phân tách giữa các từ Quy trình tách từ có thể xoá dữ liệu

có trong danh sách từ dừng (stop-list) định nghĩa trước đó Từ dừng là các thường xuất hiện trong lĩnh vực (như “the” hay “and” trong các văn bản tiếng Anh) và được cho rằng chứ một ít hoặc không liên quan tới vấn đề thuộc phân loại bằng tay

Để đưa ra các vấn đề đó, một hệ thống phân loại văn bản cần cho phép các biến đổi trong tiến trình phân loại văn bản Việc này có thể bao gồm các điều chỉnh một tập các tham số điều khiển hoặc một vài trường hợp người phát triển ứng dụng có thể viết thêm mã điều khiển trong trong các trường hợp xác định

1.4.5 Giảm chiều

Giống với nhiều lĩnh vực nghiên cứu xử lý ngôn nhữ, nhiều bộ phân loại văn bản phải giải quyết vấn đề tính đa chiều cao Số chiều của không gian trong đó giải thuật học máy thực hiện có thể là lớn hơn nhiều tổng số các

thuật ngữ trong T r

Tính đa chiều cao có thể đưa ra hai vấn đề Đầu tiên, một vài giải thuật học máy có thể hiệu quả trên dữ liệu ít chiều, nhưng chúng yêu cầu nhiều thời gian hoặc bộ nhớ hơn thực tế khi tính đa chiều của tập dữ liệu là cao Thứ hai,

dữ liệu T r trong không gian đa chiều lớn có thể là quá rải rác, mà không đủ các điểm dữ liệu khác 0 để tạo ra bất kỳ một biến đổi quy nạp nào trong quá trình huấn luyện Điều này đặc biệt đúng trong các ngôn ngữ hình thái học cao như Phần Lan, trong đó một từ đơn có thể có hàng ngàn hoặc hàng triệu

Trang 24

kiểu biến tố, và hầu hết các kiểu có thể chỉ thấy một lần trong toàn bộ T r, làm chúng hầu như không có ích trong quá trình học quy nạp

Một cách nhắm vào vấn đề tính đa chiều cao là áp dụng một giải thuật

chặn ngôn ngữ thành các thuật ngữ tìm thấy trong T r và D Các giải thuật đó

biến đổi các từ bằng cách xoá các tiền tố và hậu tố Một cách khác để giảm tính đa chiều là trong một hệ thống phân loại áp dụng lựa chọn đặc trưng và/hoặc trích chọn đặc trưng

Có c j Đúng Sai

Bảng 1.1 Bảng ngẫu nhiên cho phân loại cj và thuật ngữ f k

(Số lượng A-D biểu diễn số tài liệu với thuộc tính cho trước)

Cả hai kỹ thuật biến đổi toàn bộ tập các thuật ngữ trong tài liệu vào một tập đặc trưng nhỏ hơn với ít rải rác hơn, chọn các thuật ngữ “liên quan nhất”

sử dụng một vài tiêu chí thống kê Ba trong số các tiêu chí lựa chọn đặc trưng

thường được sử dụng là tần xuất tài liệu (document frequency (DF)), χ2 , và

các độ đo thu nhận thông tin (information gain (IG)) DF(f k ) đơn giản là số

các tài liệu của T r trong đó số đặc trưng f k xuất hiện χ2 được định nghĩa trong phương trình (1.1) A, B, C, và D là các thuật ngữ trong bảng 1 χ2 (f k , c j ) có

giá trị 0 khi f k and c j độc lập, và là 1 khi chúng có liên quan với nhau

( ) ( )

) )(

)(

)(

( ,

2 2

D C B A D B C A

CB AD T c

f

r j

=

Trang 25

Để tìm toàn bộ độ đo χ2 (f k ), các thuật ngữ χ2 (f k , c j ) có thể là trung bình

(được đánh trọng số là tần xuất của từng phân loại) hoặc giá trị tối đa với từng phân loại có thể được nhận IG được định nghĩa trong phương trình (1.2)

P(f k ) và P(f k) là các xác suất mà một tài liệu có thể chứa hoặc không chứa f k

k

f

C

k f

C là các tập phân loại của D chứa hoặc không chứa f k H(x) là

hàm entropy chuẩn từ Lý thuyết thông tin

) ( ) ( ) ( ) ( ) ( )

(

k

f k

f

1.4.6 Mô hình hoá không gian vector

Như đã trình bày ở trên, tác giả đã đề xuất mỗi tài liệu có thể được xem như một vector trong một không gian vector chung có số chiều được biểu diễn

là tập các đặc trưng duy nhất từ T r Ý tưởng này tạo thành các cơ sở cho một vài kỹ thuật học máy, gồm có các bộ phân loại máy học vector hỗ trợ (SVM)

và k láng giềng gần nhất (KNN) Nó cũng cho phép các giải thuật xử lý vector tuỳ ý trên dữ liệu văn bản tận dụng các kết quả phân loại Một tập các giải thuật thường được sử dụng cho mục đích thu nhận thông tin là sơ đồ trọng số thuật ngữ TF/IDF của Salton và Buckley, cho phép một vài cách khác nhau để biểu diễn một tài liệu như một vector trong không gian vector chung Các thuật ngữ có thể được đánh trọng số bởi tần xuất của chúng trong tài liệu, tính logarit các tần xuất đó hoặc bởi một biểu diễn minh họa có hay không có thuật ngữ Trọng số thuật ngữ cũng có thể được làm giảm bằng một yếu tố biểu diễn sự xuất hiện của thuật ngữ trong các tài liệu khác, trên học thuyết bất cứ thuật ngữ nào đưa ra trong hầu hết các tài liệu có sự liên quan giữa các phân loại Cuối cùng, độ dài toàn bộ của vector tài liệu có thể được giảm bớt theo nhiều cách khác nhau

Trang 26

1.4.7 Giải thuật học máy

Nhiều giải thuật học máy khác nhau đã được nghiên cứu trong lĩnh vực nghiên cứu phân loại văn bản và các giải thuật mới hoặc sự biến đổi trên hệ thống hiện tại vẫn tiếp tục đang được phát triển Hơn nữa, lựa chọn giải thuật

có thể phụ thuộc vào các giải thuật - ứng dụng khác không chỉ trong khả năng thực hiện chính xác trên các tập dữ liệu khác nhau, nhưng cũng trong các nguồn chung có thể yêu cầu chọn một giải thuật để hợp nhất vào trong một framework Trong một hệ thống phân loại văn bản, cần cho phép chọn theo một vài giải thuật chuẩn và thống nhất các giải thuật đã được phát triển bởi các nhà nghiên cứu

1.4.8 Thiết lập cấu hình học máy

Thậm chí trong một giải thuật học máy cũng có thể có một vài tham số

có ảnh hưởng tới quy trình huấn luyện và phân loại Ví dụ, giải thuật k láng giềng gần nhất có một tham số điều chỉnh k và một giải thuật SVM cho phép một vài biến về kiểu kernel sử dụng và hầu hết các giải thuật cho vào một vài kiểu điều khiển việc cân bằng precision và recall với nhau Để thu nhận sự thực hiện tương ứng với một bài toán đã cho, những người ừng dụng cần các cách đơn gian tới các tham số đó Thực tế, vấn đề này không chỉ duy nhât với thành phần học máy của phân loại văn bản Một vài hướng đã thảo luận trước

đó của bài toán phân loại văn bản như chọn lựa chọn đặc trưng, giảm chiều và biến đổi không gian vector có thể được điều khiển bởi các tham số mà người kiểm soát có thể muốn thay đổi Tính nhất quán trong việc điều khiển các tham số của hệ thống có thể là một thành phần quan trọng trong thiết kế

1.4.9 Học tăng cường

Một vài ứng dụng phân loại văn bản có thể được mong muốn kết hợp lại với người dùng về có các quyết định phân loại của hệ thống có thể là đúng hoặc không đúng Việc này có thể cho phép với một số nhỏ các tập huấn

Trang 27

luyện ban đầu Tr hoặc với việc phân loại trên các khái niệm mà có thể thay đổi theo thời gian Quá trình này được gọi là học trực tuyến hay hoặc tăng cường Tuy nhiên, việc học tăng cường là không thể với tất cả các phương pháp học máy, một vài giải thuật (mạng nơron) không thể hợp nhất với dấu hiệu mới vào trong mô hình của chúng mà không thực hiện lại quy trình huấn luyện Với các giải thuật mà có thể được hỗ trợ, việc sử dụng học tăng cường

có thể được xem là quan trọng trong việc xây dựng một ứng dụng phân loại văn bản

1.4.10 Hành vi giả thuyết

Hầu hết các phương pháp phân loại văn bản chuẩn cho rằng mục tiêu của phân loại văn bản là gán từng tài liệu tới một hoặc nhiều phân loại, ngược lại được coi như một phân loại nhị phân Tất nhiên, các vấn đề thế giới thực thường bao gồm các bản thể (cây phân loại phân cấp) gồm hơn 2 phân loại và thành viên có không là duy nhất Tình huống này không biểu diễn một không kết nối lý thuyết giữa nghiên cứu và thực tế vì mỗi vấn đề đa phân loại có thể được đưa ra lại như một chuỗi các vấn đề nhị phân Hầu hết các nhà xây dựng ứng dụng, sẽ không muốn đưa lại các vấn đề của họ vì nó yêu cầu thêm các công việc và có thể mơ hồ về ứng dụng cần phát triển

Trang 28

CHƯƠNG 2 SUPPORT VECTOR MACHINE

Chương này tác giả sẽ đề cập tới quá trình hình thành và một số vấn đền của SVM:

- Nội dung của phương pháp SVM

Một số vấn đề khi phân loại SVM: vấn đề đa nhãn, vấn đề đa lớp

-đa nhãn Các thức giải quyết các vấn đề không thể phân tách tuyến tính

- Các phương pháp để tìm được siêu phẳng tối ưu

2.1 Động cơ

2.1.1 Học máy

Hiện nay, có nhiều tập dữ liệu số lớn tồn tại trong các cơ quan, doanh nghiệp trong các CSDL như thông tin sinh học, bộ văn bản, bài hát được số hoá, thông tin WEB và thậm chí một vài kênh truyền hình cũng được số hoá Khi một số lượng lớn các dữ liệu trở nên lớn và khả năng tính toán của CPU được cải thiện, thì việc hy vọng vào việc sử dụng các thông tin một cách có hiệu quả và việc lưu trữ các thông tin dư thừa sẽ ngày càng cao Tuy nhiên, với dữ liệu ngày càng lớn thì độ phức tạp của các bài toán phần mềm ngày càng lớn và xuất hiện tư tưởng có chăng một giải thuật học có thể làm việc với lĩnh vực đã cho được biểu diễn bởi một tập dữ liệu huấn luyện và khai thác nó bất cứ khi nào tri thức được mở rộng Lĩnh vực khoa học máy tính

miêu tả lớp các giải thuật này được gọi là học máy (Machine Learning)

Lịch sử của các kỹ thuật học máy bắt đầu từ giữa thập kỷ 1950 khi Frank Rosenblatt, một nhà tâm lý học, đưa ra Perceptron Ý tưởng đã được công khai trên giấy vào tháng 2 năm 1958 Khoảng cùng thời gian, Widrow

Trang 29

và Hoff phát triển một thủ tục học có kiểm soát, bình phương trung bình nhỏ nhất Widrow cũng đã phát triển một thành phần nơron tương tự như Perceptron là Adaptive Linear Neuron Sự kiện quan trọng tiếp theo trong lịch sử các mạng nơron là công việc của Novikoff trên tỷ lệ hội tụ của các nơron nhân tạo Một thế hệ hiện đại của các hệ thống học máy đã được phát triển sau một học thuyết đã phát triển gần đây bởi một nhà toán học từ Liên

xô cũ, Vladimir N Vapnik Sự thành công của mô hình mới cũng được thúc đẩy bởi tính linh hoạt đưa hàm số tương tự mẫu định nghĩa trước của người dùng vào, nó có thể đưa ưu điểm của tính rải rác của giải pháp các vấn đề dựa trên các tập dữ liệu lớn, nó có thể điều khiển các không gian đặc trưng lớn, nó xác định một hàm suy xét uyển chuyển (hoặc tính gần đúng) và vấn đề số hoá hợp lý Lý thuyết học thống kê đã đưa ra một động lực to lớn với học máy Lớp các vấn đề mà chúng ta xem xét là các vấn đề phân loại nhị phân, phân loại đa lớp đa nhãn Trong tài liệu này tác giả đã tìm hiểu một số tài liệu dựa trên một vài phương pháp xây dựng các hàm số kernel trên dữ liệu có cấu trúc

Các thuật toán học máy chủ yếu tập trung vào 2 vấn đề đó là phân lớp

và phân đoạn dữ liệu và được chia làm 2 nhóm chính :

a Học có giám sát (supervised learning): Là phương pháp từ một bộ dữ liệu

huấn luyện, bộ dữ liệu đã biết kết quả phân nhóm

b Học không có giám sát (unsupervised learning) : cũng tương tự như học có

giám sát, sự khác biệt là không có bộ dữ liệu huấn luyện, và thường là không biết trước số lớp

Lĩnh vực học máy gần đây đã được nghiên cứu qua việc sử dụng một tài liệu học thuyết thống kê đã thu được một sự quan tâm đáng kể Học thuyết học thống kê (V.N Vapnik, 1979) bắt đầu phát triển năm 1960 khi được đưa

Trang 30

ra rằng các phương pháp cổ điển cho các bài toán ước lượng hàm số chiều thấp không có khả năng theo tính phức tạp của các trường hợp đa chiều cao

Phần tiếp theo tác giả trình bày sơ qua về lý thuyết học thống kê

2.1.2 Lý thuyết học thống kê

Hình 2.1 Mô hình hoá các lỗi

Mục tiêu trong mô hình hoá là để chọn một mô hình từ không gian giả thiết, mà là gần nhất (với độ đo một vài lỗi) với hàm cơ sở trong không gian đích Các lỗi trong quá trình này xảy ra từ 2 trường hợp:

Approximation Error- Lỗi xấp xỉ: là một kết quả không gian giả thuyết nhỏ

hơn không gian đích, và do đó hàm cơ sở có thể nằm ngoài không gian giả thuyết Một sự lựa chọn không tốt mô hình không gian sẽ dẫn tới một lỗi xấp

xỉ lớn và được quy tới trong mô hình lỗi

Estimation Error - Lỗi ước lượng là lỗi bởi thủ tục học với các kết quả trọng

một sự lựa chọn ký thuật mô hình không tối ưu từ không gian giả thuyết

Các lỗi đó gắn với nhau tạo ra lỗi tổng quát hoá Tóm lại chúng ta sẽ tìm hàm f, tối thiểu hoá lỗi:

Trang 31

Tuy nhiên, P(x, y) không được biết Nó có thể tìm thấy một xấp xỉ theo

nguyên tắc tối thiểu hoá lỗi theo kinh nghiệm (ERM)

l f R

l h R

2

(2.6) Đặc biệt, biểu thức này với rủi ro mong muốn độc lập với khả năng phân bổ lỗi

VC dimension - Chiều VC

VC dimension là một giá trị vô hướng mà đo các khả năng của một tập

các hàm

Trang 32

Hình 2.2 Mô tả VC Dimension Định nghĩa (Vapnik–Chervonenkis) VC dimension của một tập các hàm là p

nếu và chỉ nếu có tồn tại một tập các điểm {x i } p i=1 mà các điểm đó có thể được phân biệt trong tất cả 2 p cấu hình có thể, và không có tập {x i } q i=1 tồn tại với q > p thoả mãn thuộc tính này

Hình 2.2 miêu tả làm thể nào 3 điểm đó trong mặt phẳng có thể được đảo lộn bởi một tập các hàm chỉ thị tuyến tính trong khi 4 điểm thì không Trong trường hợp này VC dimension bằng với số các tham số free (tự do), nhưng nhìn chung đó không là tính huống, ví dụ hàm Asin(bx) có một VC dimension vô hạn Tập các hàm chỉ thị tuyến tính trong không gian n chiều

có một VC dimension bằng n + 1

Một định nghĩa tương đương của VC dimension là độ lớn của tập huấn luyện lớn nhất mà có thể được tìm thấy mà lớp hàm có thể làm phá huỷ tập huấn luyện

Xem xét các siêu phẳng sau trong R d sau:

Định lý: cho trước một tập n> 1 điểm trong R d Chọn một trong các điểm đó làm gốc, sau đó n điểm có thể bị phá vỡ bởi các các siêu phẳng có hướng nếu

và chỉ nếu các vector vị trí của các các điểm còn lại là độc lập tuyến tính

Trong một kết quả trực tiếp của kết quả này, dễ thấy là VC dimension của tập các siêu phẳng có hướng trong Rd là d + 1

Trang 33

2.2 Nguyên lý tối thiểu hoá rủi ro cấu trúc

Khái niệm VC dimension thúc đẩy một phương pháp mới về suy luận

quy nạp Cung cấp các giả thiết lớp S với một cấu trúc bằng cách định nghĩa

trong các lớp con liên tiếp

S1 ⊂ S2 ⊂ ⊂ Sn với Sk = {fα(z): α ∈Ωk}

là chiều VC h k của mỗi lớp con Sk là hữu hạn và thoả mãn h 1 ≤ h 2 ≤ …≤ h p

(tăng độ phức tạp qua cấu trúc) Kết quả VC chính độc lập với sự phân bố nguồn là giới hạn:

n R

R

k

n emp n

η φ

Nguyên tắc hướng dẫn giải thuật này được gọi là tối thiểu hoá rủi ro

cấu trúc (Structural Risk Minimization (SRM))

Bởi vậy, để thu được giới hạn nhỏ nhất trên lỗi thử nghiệm là tối thiểu hoá số các lỗi huấn luyện, tập hàm với chiều VC nhỏ nhất có thể được sử dụng Hai yêu cầu là mâu thuẫn vì theo thứ tự tối thiểu hoá số lỗi huấn luyện một hàm phân loại có thể được lấy ra từ một tập lớn các hàm số, hơn là một tập ít với chiều VC nhỏ Giải pháp đảm bảo nhất được tìm thấy với một sự thoả hiệp giữa độ chính xác của tính gần đúng trên dữ liệu theo kinh nghiệm

và khả năng của máy được sử dụng tối thiểu hoá số lỗi (Hình 2.3)

Khái niệm khả năng là một cái gì đó liên quan việc quyết định các điều kiện cần và đủ cho tính nhất quán của các bài toán học và tỷ trọng hội tụ của các bài toán học Một thành tựu quan trọng của học thuyết này là sự khai phá khả năng tổng quát hoá của máy học phụ thuộc vào khả năng của tập các hàm thực hiện bởi máy học, khác với số các tham số tự do

Với số lượng dữ liệu huấn luyện, một giải pháp hiệu quả của các bài

Trang 34

bài toán, tránh giải quyết một vấn đề chung hơn như một bước trung gian Có thể là thông tin hiện có là đủ cho một giải pháp trực tiếp nhưng là đủ để giải quyết một vấn đề trung gian chung hơn

Hình 2.3 Mô tả của phương trình 2.7

Hàm số giảm biểu diễn lỗi huấn luyện (rủi ro theo kinh nghiệm), trong khi hàm tăng là giới hạn trên trên độ phức tạp (phụ thuộc vào lỗi đúng) Với một độ phức tạp cho trước của lớp hàm, sự tin cậy của rủi ro mong muốn có thể được quyết định Mục tiêu là để tìm một trao đổi tối ưu giữa lỗi theo kinh nghiệm và độ phức tạp, chọn từ các tập S1,…, Sn, hàm số học với VC dimension tối ưu h*, với độ phức tạp tối ưu

Ứng dụng của các khái niệm đó tìm không gian để phát triển trong các chiêu bài khác nhau của các bài toán học Học có kiểm soát, ví dụ, là bài toán của việc học một hàm đã cho một vài dữ liệu và trợ giúp một nguồn các kết quả mẫu Trong mô hình học không kiểm soát chỉ không gian nguồn χ là cho

trước, không gian ra Y là chưa có Các ứng dụng khác là ước lượng các hàm

số giá trị thức, xấp xỉ hàm, ước lượng hồi quy và xử lý tín hiệu

Học thuyết trên là cần thiết để đưa ra một nền móng thô cho việc đặc tính hoá phương pháp hoạt động hiện đại để giải quyết các bài toán học máy

Trang 35

2.3 Máy học vector hỗ trợ - SVM

Cách tiếp cận thường này dùng để tối thiểu hoá giới hạn rủi ro là chọn một lớp giả thiết cố định Việc này cố định chiều VC và do đó khoảng cách

tin cậy được đo bởi Φ() toán hạng trong phương trình 2.7 của giới hạn Khi đó

sự tối thiểu hoá của rủi ro theo kinh nghiệm (lỗi huấn luyện) dẫn tới một giới hạn trên bên trên rủi ro mong muốn

Phương pháp này nảy sinh một khó khăn khi lớp được chọn quá phức tạp (chiều VC quá lớn) Trong trường hợp này khoảng cách tin cậy sẽ lớn và giới hạn trên quá lỏng Ngược lại, nếu lớp được chọn là quá đơn giản (chiều VCquá thấp) rủi ro theo kinh nghiệm sẽ lớn và giới hạn sẽ tồi tệ nữa

Một giải pháp để thiết kế lại màu cho mỗi độ lớn khác nhau của dữ liệu huấn luyện và có lựa chọn một độ phức tạp đúng một tiên nghiệm (a priori)

để khắc phục các hạn chế trên Một kỹ thuật khác sẽ là cố định rủi ro theo kinh nghiệm nhỏ (hoặc bằng 0) và sau đó tích cực tối thiểu hoá khoảng cách tin cậy của giới hạn (phương trình 2.7) Việc này yêu cầu một máy học trong

đó kiểm soát độ phức tạp được xây dựng bên trong Support Vector Machines,

(SVM) là một ví dụ của giải thuật học mà thực hiện theo cách tiếp cận này Giải pháp của một bài toán phân loại có thể được diễn đạt với một siêu phẳng:

f(x) = m x + b

với m là một vector tham số và dấu f(x) là giá trị dự đoán cho từng x cho

trước Một siêu phẳng có thể được diễn đạt cũng với một sự kết hợp tuyến

tính các mẫu Thực tế, cho L = {(x 1 ,y 1 ),…, (x n ,y n )} là một tập các mẫu phức

tạp và các giá trị đích liên quan, thì:

i i

iy K x x b sign

x f

1

) , ( )

Trang 36

là một bộ phân loại ánh xạ tạm có trọng số Hàm K: R d × R d → R định nghĩa một độ đo khoảng cách giữa hai thành phần bất kỳ của không gian nguồn Khoảng cách suy ra bởi hàm kernel có thể được viết như sau:

d(x,y) = K(x,x) – 2K(x,y) +K(x,y)

Vector x i là các mẫu được sử dụng để ánh xạ các trường hợp tương lai

và αi là các hệ số điều khiển đánh trọng số giữa các mẫu Chúng tôi giả sử hầu hết tất cả các hệ số sẽ là 0 các hệ số khác 0 xác định mẫu nào là quan

trọng Các mẫu đó được gọi là các vector hỗ trợ (support vectors)

Một cách hiểu nguyên tắc phân loại (classification rule) mà SVM thực

hiện là: đầu tiên biến đổi các điểm dữ liệu tới một không gian đặc trưng đa chiều trong đó không gian đầu vào được sắp xếp với một ánh xạ không tuyến tính Khi đó, một sự phân tách của dữ liệu ánh xạ với một siêu phẳng là có thể Do vậy, chúng ta có thể quyết định quyết định nào là tối ưu để đưa vào, theo SRM bằng các xem xét tình huống siêu phẳng

Mặt khác, chiều VC của tập các siêu phẳng với các vector trọng số giới

hạn ||m|| 2 ≤ A là số tối thiểu của d + 1 và [C 2 A 2 ] +1 với C là bán kính của

đường tròn nhỏ nhất giới hạn dữ liệu huấn luyện Bởi vậy siêu phẳng tối ưu là một siêu phẳng phân tách dữ liệu và có chiều VC nhỏ nhất, như là vector trọng số nhỏ nhất

Bằng cách chỉ chọn theo các siêu phẳng mà phân tách dữ liệu (như vậy, với một Remp(α) = 0 cố định), chúng ta thu thập một sự thực hiện kiểu suy luận rủi ro có cấu trúc Khi các hạn chế này được biến đổi ngược lại vào trong không gian nguồn của các điểm dữ liệu, nó xuất hiện các giá trị tối ưu của m

và b được đưa ra bởi giải pháp của một bài toán tối ưu toàn phương lồi

Trang 37

2.3.1 SVM với các vấn đề tuyến tính

Một SVM là một siêu phẳng phân tách các mẫu âm với các mẫu dương với một khoảng cách giữa các lớp tối đa được gọi là lề giới hạn (margin) (Hình 2.4)

Hình 2.4 Siêu phẳng phân tách tối ưu là một siêu phẳng phân tách dữ liệu

với margin lớn nhất

Bài toán có thể được chuyển thành một bài toán tối ưu Như chúng tôi

đã dự đoán trước, siêu phẳng SVM có để được biểu diễn:

f(x) = m x + b

do đó:

f(x i ) 1 với y i = +1 f(x i ) ≤ 1 với y i = -1

khi:

y i f(x i ) 1 ∀i ∈ 1, ,n (2.8)

và lề (margin) của nó phải là lớn nhất Có thể chỉ ra rằng lề là 2/||m|| Bởi vậy, bằng cách tối thiểu hoá số lượng ½(m m) đã đảm bảo tính tối ưu của siêu phẳng đáp án Bởi vậy, bài toán kết quả là:

1

Trang 38

đối với: y i (m • x i +b) 1 ∀i ∈ 1, ,n

với: m ∈ Rd, b ∈ R

Nếu chúng ta chuyển thành công thức Lagrangian:

))'

(1(2

1max

1

2

b x m y m

i

i − ++

i i

m m

iy b

Thay thế 2.9, 2.10 vào 2.11, thu được:

j i j i i j i

i i

L =∑ α − ∑ α α

,

21

và bài toán bội là:

j i j j i j

i

yi

i

i i

, , 1 , 0

Trang 39

tối ưu của 2.11 Giá trị tối ưu của b có thể cuối cùng xem xét αi * >0 và các

điều kiện KKT thêm vào:

0 )) '

( 1 (

Các điểm đó được gọi là các vector hỗ trợ (support vectors)

2.3.2 Trường hợp phân tách không tuyến tính

Giải thuật trên, nếu áp dụng tới một tập huấn luyện phân tách không tuyến tính, sẽ không tìm được bất kỳ giải pháp nào hợp lý Bởi vậy cần mở rộng mô hình tới trường hợp không thể phân tách, các ràng buộc có thể được thả lỏng (công thức 2.8) nhưng chỉ khi cần Việc này có thể được thực hiện bằng đưa vào các biến dương không chặt ξi với ∀i {1, ,n} với các ràng

buộc:

f(x i ) 1- ξi với y i = +1 f(x i ) ≤ 1+ ξi với y i = -1

với ξi ≥ 0 ∀i Bởi vậy, với một lỗi xảy ra, ξi tương ứng phải vượt quá 1 đơn vị (unity), bởi vậy ∑iξi là một giới hạn trên số các lỗi huấn luyện Bởi vậy một cách tự nhiên để gán một giá trị thêm với các lỗi là để thay đổi hàm mục tiệu được tối thiểu hoá từ:

22

1

i i

C

2 1

Trang 40

với C là một tham số được chọn bởi người dùng; một C lớn tương ứng để gán một bất lợi lớn tới lỗi, trong khi một C nhỏ có nghĩa là các lỗi ít hơn Có thể

chỉ ra rằng bài toán bội tương ứng là:

j i j i j

của các tích trong x ix j Bây giờ, giả sử đầu tiên chúng ta ánh xạ dữ liệu tới một vài không gian Euclit khác (có thể số chiều vô hạn), sử dụng một ánh xạ

mà chúng ta gọi φ:

φ: Rd → H Khi đó giải thuật huấn luyện có thể được áp dụng vào trong H sử dụng

các hàm từ φ(x i )⋅φ(x j ) Khi bài toán được diễn đạt chỉ trong các toán hạng của

các tích trong như là các giải pháp tốt Một vấn đề với các mẫu trong một

không gian đặc trưng H khác có thể được giải quyết xác định một tích trong thực hiện trong H Một tích trong có thể cũng được gọi là một hàm nhân

kernel function Bởi vậy, để giải quyết một bài toán SVM định nghĩa rõ ràng

ánh xạ φ là không cần thiết

Ngày đăng: 27/02/2021, 23:48

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w