Luận văn Tìm hiểu phương pháp học tích cực và ứng dụng cho bài toán lọc thư rác

Đối với thuật toán acitve SVM có sự hạn chế là sử dụng hàm hàm nhân Radial basis function mà chưa sử dụng các hàm nhân khác, chẳng hạn như hàm nhân đa thức. Điều này có thể là một trong những nguyên nhân dẫn đến độ chính xác của thuật toán chưa được cao.

pdf65 trang | Chia sẻ: lylyngoc | Lượt xem: 2863 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Luận văn Tìm hiểu phương pháp học tích cực và ứng dụng cho bài toán lọc thư rác, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
mẫu là học một một bộ phân tách tuyến tính cho các dữ liệu phân bố đều trên mặt cầu đơn vị. 3.2 Học tích cực với SVM 3.2.1 Giới thiệu Bộ phân loại SVM đã được sử dụng rộng rãi trong rất nhiều bài tốn phân lớp. Tuy nhiên chúng chỉ được sử dụng với tập dữ liệu huấn luyện đã được lựa chọn ngẫu nhiên. Trong mục này sẽ trình bày thuật tốn Active Support Vector Machines (Acitve SVM) cĩ thể làm giảm đi dung lượng cũng như sự cần thiết của tập dữ liệu huấn luyện. 3.2.2 Máy hỗ trợ vector 3.2.2.1 Máy vector hỗ trợ sử dụng phương pháp qui nạp Máy vector hỗ trợ [41] cĩ các cơ sở lý thuyết vững chắc và đạt được những thành cơng thực nghiệm xuất sắc. Chúng cũng được áp dụng cho những bài tốn như: nhận dạng số viết bằng tay [24], nhận dạng đối tượng [13], và phân lớp văn bản [37][33]. Hãy xét thuật tốn SVM cho bài tốn phân lớp nhị phân. Cho tập huấn luyện ; E   M là các vector trong khơng gian X⊆Rd và tập các nhãn ; E   M với yi∈ {-1,1}. Theo cách hiểu thơng thường nhất, thì SVMs là các siêu phẳng chia tập dữ liệu huấn luyện bằng một lề cực đại. Tất cả các vector nằm trên một mặt của siêu phẳng đều được gán nhãn là -1, và tất cả các 28 vector nằm trên mặt kia đều được gán nhãn là 1. Các vector huấn luyện gần siêu phẳng nhất gọi là vector hỗ trợ (support vector). Hình 3.5 (a) Máy hỗ trợ vector tuyến tính đơn giản. (b) Máy hỗ trợ vector (đường nét đứt) và máy hỗ trợ vector hồi quy (đường nét liền). Những vịng trịn biểu diễn dữ liệu chưa được gán nhãn. Nĩi chung, SVMs cho phép chiếu dữ liệu huấn luyện gốc trong khơng gian X sang một khơng gian đặc trưng F nhiều chiều hơn thơng qua một phép phân Mercer K. Nĩi cách khác chúng ta cĩ tập các bộ phân lớp như sau: (  +NOGP   M Q& R++++++++++++++++++++++++++++++++++++++3.S Khi K thỏa mãn điều kiện Mercer [12] thì PT U  +ΦT.ΦU trong đĩ Φ: X→Y và “⋅” là phép tích trong (inner product). Ta cĩ thể viết lại như sau: +(  V.Φ W BX+YZ++V OGΦ M Q& +++++++++++++++++++++++++3.[ Do vậy, bằng cách sử dụng K chúng ta cĩ thể ánh xạ dữ liệu huấn luyện sang một khơng gian đặc trưng (thường là nhiều chiều hơn). Siêu phẳng lề cực đại được chỉ ra trong biểu thức 3.8. Sau đĩ SVM tính các αi tương ứng với siêu phẳng cĩ lề cực đại trong khơng gian F. Khi chọn các hàm nhân khác nhau thì cĩ thể ánh xạ dữ liệu huấn luyện từ khơng gian X sang F sao cho các 29 siêu phẳng trong F sao cho các siêu phẳng trong F tương ứng với các đường biên quyết định phức tạp hơn trong khơng gian gốc X. Hai hàm nhân thường sử dụng là hàm nhân đa thức P\ #  \. # ] tạo ra đường biên đa thức bậc p trong khơng gian đầu vào X và hàm nhân radial basis fuction ^_ `  abcdbe.dbe tạo đường biên bằng cách định vị trọng số Gauss dựa trên các dữ liệu huấn luyện chính. Trong hình 3.6 minh họa đường biên quyết định trong khơng gian đầu vào X của một SVM sử dụng hàm nhân đa thức bậc 5. Đường biên quyết định được làm cong trong khơng gian X tương ứng với siêu phẳng lề cực đại trong tập thuộc tính F. Các tham số αi xác định SVM cĩ thể được tìm trong hàm đa thức thời gian bằng cách giải quyết bài tốn tối ưu lồi[42]:  f g G  ;Eg GGhhPi h (3.10) với : αi > 0 i=1…n 3.2.2.2 Máy vector hỗ trợ sử dụng phương pháp transduction Giả sử tập dữ liệu huấn luyện đã được gán nhãn và bài tốn đặt ra là tạo ra một bộ phân lớp thực hiện tốt trên tập dữ liệu kiểm tra chưa biết. Thêm vào trong phương pháp qui nạp thơng thường, SVMs cĩ thể sử dụng cho bài tốn transduction. Đầu tiên là cho tập dữ liệu đã gán nhãn và chưa gán nhãn. Bài tốn học là phải khai báo các nhãn tới các dữ liệu chưa gán nhãn càng chính xác càng tốt. SVMs cĩ thể thực hiện phương pháp transduction bằng cách tìm các siêu phẳng làm cực đại hĩa lề liên quan đến dữ liệu đã gán nhãn và chưa gán nhãn. Ví dụ được thể hiện ở hình 3.5b. Gần đây, các transduction SVM(TSVM) cịn được sử dụng để giải quyết bài tốn phâp lớp văn bản [37][38] đã đạt được một số tiến bộ trong việc thực hiện cân bằng tỉ số độ chính xác/độ hồi phục (precision/recall) trên các SVM qui nạp. 30 Hình 3.6 Máy hỗ trợ vector sử dụng hàm nhân đa thức bậc 5. Khơng giống SVM, TSVM cĩ độ phức tạp thời gian đa thức, chi phí để tìm được hướng giải quyết cho TSVM tăng lên theo hàm mũ cùng với sự tăng của dữ liệu chưa được gán nhãn. Bằng trực quan, ta phải gán tất cả các nhãn cĩ thể cho dữ liệu chưa gán nhãn, và mỗi một nhãn phải tìm một siêu phẳng cĩ lề cực đại. Do vậy sẽ sử dụng thuật tốn xấp xỉ thay thế. Ví dụ, Joachims sử dụng dạng tìm kiếm quỹ tích để gán nhãn và tái gán nhãn cho dữ liệu chưa được gán nhãn để cải tiến kích thước của lề. 3.2.3 Version space Cho tập dữ liệu huấn luyện đã gán nhãn và hàm nhân Mercer K, khi đĩ sẽ cĩ một tập các siêu phẳng chia dữ liệu thành vào khơng gian thuộc tính F. Tập các giả thuyết phù hợp như vậy gọi là version space [39]. Nĩi cách khác, giải thuyết f là trong version space nếu với mọi dữ liệu huấn luyện xi cĩ nhãn yi thì f(xi)>0 nếu yi=1 và f(xi)<0 nếu yi=-1. Tổng quát hơn: Định nghĩa 3.5.1: Cho tập các giả thuyết: j  k(<(  l.Φ DlD Lmn+YZ+l∈+op (3.11) Trong đĩ khơng gian tham số W sẽ tương ứng với khơng gian F. Version space q được định nghĩa như sau: q  (∈+j<∀∈( - ' (3.12) 31 Chú ý rằng khi j là tập các siêu phẳng, sẽ cĩ một song ánh giữa vector w vào giả thuyết f trong j. Do vậy q sẽ được định nghĩa lại như sau: q  rl∈o<+DlD   sl.Φt - '   u (3.13) Định nghĩa 3.5.2: Kích thước hay diện tích của version space Area(q) là diện tích bề mặt của siêu khối cầu khi D$D  . Lưu ý rằng version space chỉ tồn tại khi dữ liệu huấn luyện là tách rời tuyến tính trong khơng gian thuộc tính. Như đã đề cập trong phần 3.2.2.1, hạn chế này khơng giới hạn như lúc đầu ta tưởng. Tồn tại sự đỗi ngẫu giữa khơng gian thuộc tính F và khơng gian tham số v[43][28] mà chúng ta sẽ áp dụng cho phần sau: các điểm trong F tương ứng với các siêu phẳng trong W và ngược lại. Vì định nghĩa các điểm trong W tương ứng với các siêu phẳng trong F, ta sẽ quan sát một trường hợp dữ liệu huấn luyện xi trong version space giới hạn các siêu phẳng tách rời nhau vào những bộ mà phân lớp xi một cách chính xác. Thực tế, chúng ta cĩ thể chỉ ra rằng, tập các điểm cĩ thể cho phép w trong W bị giới hạn nằm trong một phía của một siêu phẳng trong W. Hơn nữa, để chỉ ra các điểm trong F tương ứng với siêu phẳng trong W, giả sử cho dữ liệu huấn luyện mới xi cĩ nhãn yi, sau đĩ bất kỳ siêu phẳng phân chia nào cũng phải thỏa mãn s$.Φt - '. Bây giờ thay vì chỉ coi w như là một vector trong siêu phẳng F thì ta nghĩ rằng Φ(xi) cũng là vector trong khơng gian W. Do đĩ s$.Φt - ' là nửa khơng gian trong W. Lại cĩ $.Φ  ' là một siêu phẳng trong W mà nĩ đĩng vai trị như một trong những đường biên của version space q. Lưu ý rằng version space là một miền đã được kết nối trên bề mặt của một siêu khối trong khơng gian tham số. Hình 3.7 là một ví dụ. 32 (a) (b) Hình 3.7 (a) Tính đối ngẫu trong version space. Bề mặt của siêu khối biểu diễn các vector trọng số đơn vị. Mỗi một trong hai siêu phẳng tương ứng với dữ liệu huấn luyện đã gán nhãn. Mỗi siêu phẳng giới hạn diện tích trên siêu khối mà trong đĩ chứa các giả thiết. Ở đây, version space là các đoạn bề mặt của siêu khối gần với camera nhất. (b) Một bộ phân lớp SVM trên một version space. Khối bị chìm tối là khối cĩ bán kính lớn nhất mà tâm của nĩ nằm trên version space và bề mặt của nĩ khơng cắt siêu phẳng. Tâm của khối bị chìm tương ứng với SVM, mà bán kính của nĩ tương đương với lề của SVM trong F và điểm huấn luyện tương ứng với các siêu phẳng mà nĩ tiếp xúc là các vector hỗ trợ. Các SVM tìm siêu phẳng mà siêu phẳng đĩ cực đại hĩa lề trong khơng gian đặc tính F. Một cách để đưa ra bài tốn tối ưu này như sau: wmnxwyz {XV.Φ (3.14) với D$D  +`|+s$.Φt - '+   Vì cĩ điều kiện DVD   và s$.Φt - '+chúng ta đưa ra giải pháp trong version space. Bây giờ chúng ta coi bài tốn trên như tìm một điểm trên version space sao cho khoảng cách: {XV.Φ là cực đại. Từ tính đối ngẫu giữa khơng gian thuộc tính với khơng gian tham số và DV.ΦD  λ 33 thì mỗi Φ } λ là một vector đơn vị của một siêu phẳng trong khơng gian đặc tính. Bởi vì s$.Φt - '   + nên mỗi siêu phẳng sẽ giới hạn version space. Biểu thức s$.Φt cĩ thể xem như sau: λ× khoảng cách giữa điểm w và siêu phẳng cĩ vector Φ Do đĩ, muốn tìm điểm w* trong version space mà làm cực đại khoảng cách cực tiểu tới bất kỳ siêu phẳng đã mơ tả nào. Nghĩa là, các SVM tìm tâm của các siêu khối cĩ bán kính lớn nhất, siêu khối mà tâm của nĩ được đặt trong version space và bề mặt của nĩ khơng cắt siêu phẳng sẽ tương ứng với dữ liệu đã gán nhãn, như trong hình 3.7(b). Các pháp tuyến của khối là khoảng cách từ tâm của khối tới một trong những siêu phẳng sV~.Φt với Φ là vector hỗ trợ. Bây giờ hãy coi w* là một vector đơn vị của SVM và Φ là các điểm trong khơng gian thuộc tính, chúng ta cĩ khoảng cách $~⋅Φ }λ  là: ; λ × khoảng cách giữa vector hỗ trợ Φ và siêu phẳng cĩ vector đơn vị w, Đĩ là lề của siêu phẳng bị chia bởi λ. Do đĩ, bán kính của siêu khối tương ứng với lề của SVM. 3.2.4 Học tích cực với SVM Trong học tích cực dựa trên tập dữ liệu ban đầu đã cĩ một lượng lớn dữ liệu chưa gán nhãn. Giả sử dữ liệu x được phân phối tương tự và độc lập, các nhãn của nĩ cũng được phân phối theo bộ phân phối điều kiện P(Y|x). Cho dữ liệu chưa gán nhãn U, bộ học tích cực SVM ℓ gồm ba thành phần: (f,q,X). Thành phần đầu tiên là một bộ phân lớp SVM f: X→[-1,+1] đã huấn luyện trên tập dữ liệu hiện thời X đã được gán nhãn (cũng cĩ thể là tập dữ liệu chưa gán nhãn U). Thành phần thứ hai q(X) là hàm truy vấn, đưa ra tập dữ liệu hiện tại X đã gãn nhãn sẽ quyết định dữ liệu nào trong U là câu truy vấn tiếp theo. Bộ học tích cực cĩ thể đưa ra bộ phân lớp f sau mỗi câu truy vấn (học trực tuyến – online learning) hoặc sau một số câu truy vấn nhất định. 34 Điểm khác biệt chính giữa bộ học tích cực và bộ học thụ động là thành phần truy vấn q. Thành phần này cho ta biết dữ liệu chưa gán nhãn nào để hỏi tiếp theo dữ liệu nào sẽ đưa tới cách thiết kế một hàm như vậy. Chúng ta sẽ sử dụng phương pháp chung của học tích cực trong phần 2.2. Đầu tiên chúng ta sẽ định nghĩa mơ hình và chất lượng mơ hình. Sau đĩ chúng ta sẽ lựa chọn dữ liệu để cải thiện chất lượng của mơ hình. 3.2.6.1 Mơ hình và hàm tổn thất (Loss) Chúng ta sử dụng version space làm mơ hình của bài tốn, và kích thước của mơ hình như là độ tổn thất của mơ hình. Do vậy, chúng ta sẽ chọn để hỏi dữ liệu, các dữ liệu mà cố gắng làm giảm kích thước của version space càng nhiều càng tốt. Tại sao nên lựa chọn tốt mơ hình và loss mơ hình? Giả sử rằng w*∈v là một vector tham số tương ứng với SVM sao cho cĩ thể biết được các nhãn thực của tất cả dữ liệu. Biết rằng w* phải thuộc version space qi, qi là version space cĩ được sau i câu truy vấn, q1 ⊃q2⊃q3… Do đĩ, bằng việc rút gọn kích thước của version space càng nhiều càng tốt với mỗi câu truy vấn, ta cĩ thể càng làm giảm nhanh kích thước của khơng gian chứa w*. SVM mà chúng ta học được từ một số lượng giới hạn các câu truy vấn sẽ gần tới w*. Định nghĩa 3.6.1: Cho một bộ học tích cực ℓ, qi là version space của ℓ sau i câu truy vấn được đưa ra. Bây giờ khi cho câu truy vấn thứ i+1 của dữ liệu xi+1 ta cĩ: qb  q ∩r$∈v< sV.Φ:;t - 'u (3.15) q:  q ∩r$∈v< sV.Φ:;t - 'u (3.16) Vì qb và q: là version space khi câu truy vấn tiếp theo xi+1 được gán nhãn là -1 hoặc +1. 35 Chúng ta mong muốn giảm kích thước của version space càng nhanh càng tốt. Cách tốt nhất để cĩ được điều này là lựa chọn một câu truy vấn làm giảm nửa kích thước của version space. Hình 3.8 (a) Lề đơn giản truy vấn b (b)Lề đơn giản truy vấn a Hình 3.9 (a) Lề MaxMin truy vấn b. Hai SVM cĩ lề m- và m+ cho b được chỉ ra. (b) Lề MaxRatio truy vấn e. Hai SVM cĩ lề m- và m+ cho e cũng được chỉ ra. Seung và cộng sự [20] cũng sử dụng một phương pháp để truy vấn các điểm sao cho đạt được giảm kích thước của version space càng nhiều càng tốt. Nếu người ta muốn chấp nhận rằng cĩ một giả thuyết ở trong j mà tạo ra dữ liệu thì giả thiết đĩ đĩ là xác định và dữ liệu là những điểm tự do, sau đĩ sự thực hiện tổng quát các thuộc tính của thuật tốn mà chia nửa version space được đưa ra [45]. Ví dụ, cĩ thể chỉ ra rằng lỗi tổng quát giảm số các câu truy vấn theo cấp số nhân. 3.2.6.2 Các thuật tốn truy vấn Ở phần trước chúng ta đã cung cấp một phương pháp truy vấn dữ liệu để chia version space hiện tại thành hai phần tương đương nhau càng nhanh càng tốt. Khi cho dữ liệu x chưa gán nhãn, thực tế là chưa tính tốn rõ ràng 36 được kích thước của version space mới q− và q+ (các version space thu được khi x được gán nhãn tương ứng là -1 và +1). Dưới đây là ba phương pháp cũng gần giống phương phương trên: • Simple Margin (Lề đơn giản): Cho tập dữ liệu {x1,…,xi} và các nhãn tương ứng {y1,…,yi} vector đơn vị SVM wi cĩ được từ tập dữ liệu này là tâm của siêu khối lớn nhất nằm vừa khít trong version space qi. Vị trí của wi trong version space qi phụ thuộc vào hình dạng của qi; tuy nhiên nĩ thường nằm ngay trong tâm của version space. Bây giờ chúng ta cĩ thể kiểm tra mỗi dữ liệu chưa gán nhãn x để biết xem từ sự tương ứng với các siêu phẳng trong W đến việc wi được đặt đúng tâm như thế nào. Siêu phẳng W càng gần điểm wi, thì nĩ càng được đặt gần đúng tâm của version space hơn và nĩ càng cắt đơi version space. Do vậy, với dữ liệu chưa gán nhãn thì siêu phẳng của chúng trong W gần vector wi nhất. Mỗi một dữ liệu chưa gán nhãn x, khoảng cách ngắn nhất giữa siêu phẳng của nĩ trong khơng gian W và vector wi chính là khoảng cách giữa vector đặc tính Φ và siêu phẳng wi trong F. Khoảng cách này được tính là: <$i.Φ<. Kết quả này theo một quy luật rất tự nhiên: học một SVM trên tập dữ liệu gán nhãn đã cĩ trước và chọn dữ liệu tiếp theo để truy vấn sao cho nĩ gần siêu phẳng trong F nhất. Hình 3.8(a) là một ví dụ minh họa. Trong bức ảnh cách điệu, chúng ta đã trải phẳng bề mặt của siêu khối vector đơn vị cĩ trọng số xuất hiện trong hình 3.7(a). Vùng trắng là version space wi được bao quanh bởi các đường nét liền tương ứng với trường hợp dữ liệu cĩ nhãn. Năm đường nét đứt biểu diễn cho các trường hợp dữ liệu chưa gán nhãn. Hình trịn biểu diễn hình cầu cĩ bán kính lớn nhất mà cĩ thể vừa khít trong version space. Lưu ý rằng đường viền của hình trịn khơng chạm vào đường nét liền - giống như những hình cầu tối trong hình 3.7 (b) khơng tiếp xúc được các siêu phẳng trên bề mặt của hình cầu lớn hơn (chúng sẽ tiếp xúc một điểm nào đĩ trên bề mặt). Trường hợp dữ liệu b là gần với SVM wi nhất và vì vậy sẽ chọn b để truy vấn. 37 • MaxMin Margin (Lề MaxMin): Phương pháp lề Simple cĩ thể là một xấp xỉ gần đúng. Nĩ dựa trên giả định rằng version space là đối xứng và wi được đặt ở tâm. Trong lý thuyết và thực tế đã chứng minh rằng các giả định này cĩ thể khơng chính xác [28]. Thật vậy, nếu khơng cẩn thận sẽ rất cĩ thể truy vấn một trường hợp dữ liệu mà siêu phẳng của nĩ thậm chí khơng giao nhau với version space. Xấp xỉ MaxMin được thiết kế để khắc phục phần nào những vấn đề này. Cho dữ liệu {x1,…,xi} và nhãn {y1,…,yi}, các vector đơn vị SVM wi là tâm của hình cầu cĩ bán kính lớn nhất mà vừa khít trong version space qi và bán kính mi của hình cầu tương ứng với kích thước lề của wi. Cĩ thể sử dụng bán kính mi là biểu thị cho kích thước của version space [43]. Giả sử chúng cĩ một trường hợp dữ liệu tiềm năng chưa gán nhãn x. Chúng ta cĩ thể ước lượng tương đối kích thước của các version space q− bằng cách ghi nhãn cho dữ liệu x là -1, sau khi thêm x vào dữ liệu huấn luyện đã gán nhãn thì tìm SVM và kích thước lề m− của nĩ. Chúng ta cĩ thể thực hiện một phép tính tương tự cho q+ bằng cách gán lại nhãn cho x là +1 và tìm được SVM kết quả để cĩ được lề m+. Khi tách version space, ta thường muốn Area(q−) và Area(q+) là tương đương nhau. Bây giờ, hãy tính min(Area(q−),Area(q+)), nĩ sẽ là nhỏ nếu Area(q −) và Area(q+) là khác nhau. Vì vậy chúng ta sẽ xem xét min(m−,m+) là một xấp xỉ và chúng ta sẽ chọn để truy vấn x sao cho min(m−,m+) là lớn nhất. Do đĩ, các thuật tốn truy vấn MaxMin là như sau: đối với mỗi trường hợp dữ liệu chưa gán nhãn x, tính các lề m− và m+ của các SVM thu được khi x được gán nhãn tương ứng là -1 và 1, sau đĩ chọn để truy vấn trường hợp dữ liệu chưa gán nhãn sao cho min(m−,m+) là lớn nhất. Hình 3.8(b) và 3.9(a) chỉ ra một ví dụ so sánh giữa hai phương pháp lề Simple và lề MaxMin. • Ratio Margin: Phương pháp này tương tự phương pháp lề MaxMin. Ta cũng sử dụng m− và m+ biểu thị cho kích thước của q− và q+. Tuy nhiên, thực tế ta sẽ cố gắng tính tốn version space qi lâu hơn và đối với vài 38 trường hợp dữ liệu x thì cả hai m− và m+ cĩ thể là nhỏ vì hình khối của version space. Do vậy thay vì tìm kích thước tương ứng của m− và m+, ta sẽ chọn để truy vấn x sao cho {X k−+ +−p là lớn nhất (xem hình 3.9(b)). Ba phương thức trên xấp xỉ với thành phần truy vấn mà luơn chia nửa version space. Sau khi thực hiện một số truy vấn để trả về một bộ phân lớp bằng cách học một SVM với các trường hợp dữ liệu cĩ nhãn. Phương pháp Simple cĩ độ tính tốn chuyên sâu ít đầy đủ hơn hai phương pháp cịn lại bởi vì nĩ cần học chỉ một SVM cho mỗi vịng truy vấn, trong khi hai phương pháp MaxMin và MaxRatio cần phải học hai SVMs cho mỗi trường hợp dữ liệu trong suốt mỗi vịng truy vấn. Chú ý rằng khơng nhất thiết dùng một trong những phương pháp này cho tất cả các vịng truy vấn. Vì lý do tính tốn, sẽ cĩ thể rất cĩ lợi khi thay đổi giữa các phương pháp khác nhau sau khi một số truy vấn đã được hỏi: phương pháp truy vấn này được gọi là phương pháp Hybird. Chúng ta đưa ra giả định đã cĩ các vector đặc tính huấn luyện với các modun cố định. Các khái niệm về version space và kích thước của nĩ vẫn đúng. Hơn nữa, lề của SVM cĩ thể được sử dụng như là một dấu hiệu kích thước của version space mà khơng cần quan tâm đến vector đặc tính cĩ các modun cố định hay khơng. Do đĩ, sự giải thích cho các phương pháp MaxMin và MaxRatio vẫn đúng thậm chí khơng cĩ các hạn chế trên các module của vector đặc tính huấn luyện. Sự giả thiết về các Modun cố định là cần thiết cho việc xem version space trên phương diện hình học là đúng. Các phương pháp Simple vẫn cĩ thể được sử dụng khi các vector huấn luyện đặc trưng khơng cĩ module cố định, nhưng sự giải thích khơng cịn đúng kể từ khi SVM khơng cịn thể được xem như là tâm của hình cầu lớn nhất cho phép. Tuy nhiên, đối với phương pháp Simple, các hướng thay thế khác đã được Campbell, Cristianini và Smola đề xuất [10] mà khơng yêu cầu sự cố định trên các module. 39 Đối với học quy nạp, sau khi thực hiện một số câu truy vấn, sau đĩ sẽ trả về một bộ phân lớp bằng cách học một SVM với các trường hợp dữ liệu cĩ nhãn. Đối với học hồi quy, sau khi truy vấn một số trường hợp dữ liệu sau đĩ sẽ trả về một bộ phân lớp bằng cách học một SVM hồi quy với các trường hợp dữ liệu cĩ nhãn và khơng cĩ nhãn. 3.3 Kết luận Trong chương này đã nghiên cứu và trình bày tập trung vào hai thuật tốn học tích cực. Phần đầu của chương giới thiệu thuật tốn perceptron do Rosenblatt đề xuất. Tiếp theo là phương pháp cải tiến thuật tốn perceptron của Dasgupta. Dasgupta cải tiến bước cập nhật của perceptron để thu được một thuật tốn đơn giản hơn, sử dụng dữ liệu đã gán nhãn ít hơn và đạt được lỗi mục tiêu ε. Phần tiếp theo của chương trình bày học tích cực dựa vào SVM, đưa ra khái niệm khơng gian version space, và coi đĩ là mơ hình của học tích cực dựa vào SVM, trong đĩ bề mặt của version space đươc coi như là độ tổn thất của mơ hình. Phần cuối của chương giới thiệu một số thuật tốn truy vấn dữ liệu để cĩ thể làm giảm khơng gian version space càng nhanh càng tốt. Khi đĩ độ tổn thất của mơ hình sẽ giảm càng nhanh hơn. Các thuật tốn truy vấn bao gồm: Simple, MaxMin, Ratio Margin. 40 CHƯƠNG 4. ỨNG DỤNG HỌC TÍCH CỰC CHO BÀI TỐN LỌC THƯ RÁC 4.1 Giới thiệu Trong số các phương pháp lọc và ngăn chặn thư rác thơng dụng, phương pháp lọc theo nội dung cĩ một số ưu điểm quan trọng và hiện đang được sử dụng trong nhiều hệ thống lọc thư thương phẩm. Lọc theo nội dung hoạt động theo nguyên tắc phân loại thư điện tử thành hai nhĩm “thư rác” và “thư thường” bằng cách phân tích phần nội dung của thư. Trong nghiên cứu này, chúng tơi giới hạn việc phân loại thư cho trường hợp thư cĩ chứa văn bản. Như vậy, nội dung thư ở đây là phần văn bản trong thư. Chúng tơi cũng khơng xem xét tới cách định dạng trong thư khi phân loại, chẳng hạn thư cĩ được trình bày dưới dạng HTML hay khơng, mặc dù thơng tin về định dạng cĩ thể đĩng vai trị quan trọng trong việc phát hiện thư rác. Lọc thư rác theo nội dung là trường hợp riêng của bài tốn phân loại văn bản. Tuỳ theo nội dung, thư được phân thành hai loại: thư rác và thư bình thường. Việc phân loại tiến hành như sau. Trước tiên, nội dung thư được biểu diễn dưới dạng vector các đặc trưng hay các thuộc tính, mỗi đặc trưng thường là một từ hoặc cụm từ xuất hiện trong thư. Tiếp theo, trong giai đoạn huấn luyện, tập thư đã được gán nhãn {rác, bình thường} - gọi là dữ liệu huấn luyện hay dữ liệu mẫu - được sử dụng để huấn luyện một bộ phân lớp. Sau khi huấn luyện xong, bộ phân loại được sử dụng để xác định thư mới (thư chưa biết nhãn) thuộc vào loại nào trong hai loại nĩi trên. Trong cả giai đoạn huấn luyện và phân loại, thuật tốn phân loại chỉ làm việc với nội dung thư đã được biểu diễn dưới dạng vector. Cĩ nhiều phương pháp phân loại cĩ thể sử dụng để phân loại thư điện tử, luận văn này nghiên cứu phân loại dựa vào phương pháp học tích cực với hai thuật tốn xây dựng bộ học tích cực là thuật tốn Perceptron [17] và Acitve Support Vector Machines (Acitve SVM) [35]. 41 4.2 Học tích cực trong bài tốn lọc thư rác Nhiệm vụ của lọc thư rác là tự động tìm ra các thư điện tử khơng mong muốn, độc hại trước khi chúng được chuyển đến người sử dụng. Nhiệm vụ của lọc thư rác là một phạm vi ứng dụng quan trọng và cĩ qui mơ lớn trong lĩnh vực học máy. Phương pháp học tích cực đã được phát triển mạnh mẽ trong học máy để làm giảm đi chi phí gán nhãn bằng cách xác định các dữ liệu chứa thơng tin mà cĩ yêu cầu nhãn. Điều này được thể hiện trong thực tế rằng chỉ cĩ một phần nhỏ của tập dữ liệu chưa cĩ nhãn là cần phải được gán nhãn để huấn luyện bộ học tích cực sao cho đạt đến một hiệu suất đủ để ứng dụng trong việc phân loại. Với tốc độ học cao và yêu cầu ít các email đã gán nhãn để huấn luyện, chúng ta sẽ áp dụng phương pháp học tích cực ở trên vào bài tốn lọc thư rác. Phương pháp học tích cực cho phép chọn các mẫu huấn luyện một cách tự động. Sử dụng tri thức hiện tại, bộ học tích cực khơng thụ động nhận các mẫu huấn luyện mà lại tích cực lựa chọn các mẫu sao cho cĩ thể huấn luyện được một mơ hình tối ưu hơn. Kịch bản ý tưởng của học tích cực trong bài tốn lọc thư rác được thể hiện qua hình 4.1. Các thư điện tử được giả sử là đến theo luồng, nghĩa là tại một thời điểm chỉ cĩ một thư điện tử đến. Với mỗi một thư đến, bộ học sẽ đưa ra truy vấn để nhận được nhãn của thư bằng cách dự đốn đĩ là thư thường hay thư rác. Người dùng sẽ quan sát thư và nhãn của thư được bộ học dự đốn trước đĩ và thực hiện phản hồi đến bộ học tích cực, cung cấp nhãn thực sự của thư, thư đĩ thực sự là thư rác hay thư thường. Bộ lọc thư tích cực nhận phản hồi của người dùng sẽ xác định được sự dự đốn của mình về nhãn của thư là đúng hay sai. Nĩ học sẽ sử dụng nhãn thực sự của thư do người dùng phản hồi để cập nhật thêm vào tập huấn luyện, huấn luyện (cập nhật) lại mơ hình để cải thiện hiệu suất lọc thư hay cải thiện dự đốn nhãn cho các thư sau. Hình 4.1 Bộ l Cĩ nhiều thuật to hình như thuật tốn truy v mẫu khơng chắc chắn, truy v này đều đạt hiệu quả trong b chỉ áp dụng 2 thuật tốn dựng bộ học tích cực cho b Trong mơ hình b vào thuật tốn perceptron ho bày ở chương 3. Với bộ sẽ cho ta bộ lọc thư rác dựng dựa trên active SVM s thư rác tích cực này được vector hĩa và được trích đĩ được đưa vào bộ học học của bộ lọc thư điện bộ lọc đạt hiệu quả cao. 42 ọc thư rác áp dụng phương pháp học tích án được sử dụng để xây dựng bộ học ấn dựa vào hội động (Query by Committee), l ấn dựa vào tập dữ liệu ban đầu… C ài tốn lọc thư rác. Tuy nhiên trong lu học tích cực là Perceptron và active ài tốn lọc thư rác. ài tốn lọc thư rác bộ học tích cực được ặc thuật tốn học tích cực dựa vào họctích cực được xây dựng trên thuật tích cực perceptron. Bộ học tích tích ẽ thu được bộ lọc thư SVM tích thể hiện trong hình 4.2. Thư điện tử chọn các thuộc tính đặc trưng đại di tích cực (perceptron hoặc SVM active). Qu tử sẽ được lặp đi lặp lại nhằm mục đích cực tích cực, điển ấy ác thuật tốn ận văn này, SVM để xây xây dựng dưa SVM đã trình tốn perceptron cực được xây cực. Các bộ lọc khi đến sẽ được ện cho thư, sau á trình thu được một Hình 4.2 Bộ lọc th 4.3 Thử nghiệm và k Luận văn định hư thử nghiệm phân loại thư đi cả thư thườngvà thưc rác. Ph nghiệm mã nguồn mở chương ba là chương tr ActiveExperimenter do thu thập dữ liệu và xây d liệu về dạng dữ liệu đầ phân tích, đánh giá và nh 4.3.1. Cài đặt chươ 4.3.1.1. Chương tr 1. Giới thiệu chương tr Chương tr năm 1999, và các tiếp theo. Snow trên các thuật tốn 2. Down load Chương trình đượ 43 ư rác tích cực dựa trên Perceptron/SVM active ết quả ớng khai thác phần mềm mã nguồn m ện tử trên tập dữ liệu là các thư đi ần đầu của mục 4.3 sẽ giới thi cài đặt hai thuật tốn học tích cực đã tr ình Snow do Dan Roth xây dựng [46] Ran EL-Yaniv xây dựng [47]. Các ph ựng chương trình tiền xử lý dữ liệu và bi u vào cho các cơng cụ thực nghiệm. V ận xét thực nghiệm. ng trình thử nghiệm ình snow ình ình Snow được Ran Roth cài đặt phi phiên bản sau cũng được phát triển là chương trình học kiến trúc, là bộ h winnow, percepptron, nạve Bayer… c download trên trang web mã nguồn m ở để tiến hành ện tử bao gồm ệu hai tool thực ình bày trong và chương trình ần tiếp theo sẽ ểu diễn dữ à cuối cùng là ên bản đầu tiên trong nững năm ọc được cài đặt ở: 44 3. Cài đặt Chương trình được cài đặt trên máy tính cĩ cài hệ điều hành Linux, Trước tiên, cần giải nén file cài đặt bằng các lệnh sau: >tar –xvzf SNoW_v3.1.8.tar Sau đĩ nĩ sẽ tạo ra một thư mục cĩ tên là Snow_v3.1 chứa Makefile và các file nguồn. Chuyển đường dẫn vào thư mục vừađược tạo ra (Snow_v3.1) bằng lệnh > cd Snow_v3.1 Gõ lệnh: >makefile Chương trình sẽ tạo ra file thực thi Snow Quá trình thực thi này được sử dụng để huấn luyện, kiểm tra và đánh giá quá trình thực hiện. 4.3.1.2. Chương trình ActiveExperimenter 1. Giới thiệu chương trình ActiveExperiment là chương trình được cài đặt dựa trên bốn thuật tốn học tích cực dựa vào SVM, đĩ là thuật tốn Simple, Self-Conf, KFF và balanced. Chương trình được Ran EL-Yaniv xây dựng bằng ngơn ngữ java, cài đặt một số thuật tốn học tích cực. 2. Down load Người dùng cĩ thể download cơng cụ trên trang web: 3. Cài đặt Chương trình cĩ thể cài đặt trên máy tình cáo cài hệ điều hành Window hoặc Linux. Để chạy chương trình trước tiên phải cài java 1.4.2 hoặc phiên bản cao hơn. Cĩ thể download java trên trang web. Sau khi đã cài đặt mơi trường, giải nén file cài đặt AcitveExperimenter.zip, ta được thư mục AcitveExperimenter. Trong 45 thư mục cĩ chưa file experimenter.bat chính là file chạy của chương trình. 4.3.2. Thu thập và biểu diễn dữ liệu 1. Dữ liệu thử nghiệm Một khĩ khăn khi thử nghiệm lọc thư là hiện nay chưa cĩ những bộ dữ liệu mẫu chuẩn. Do vậy tác giả sẽ tự tiến hành xây dựng bộ dữ liệu thư để dùng trong thử nghiệm của mình. Thư rác được thu thập từ hai nguồn: nguồn thứ nhất là những thư rác mà các tác giả nhận được qua địa chỉ thư của mình tại Việt nam. Nguồn thứ hai là những thư rác do quản trị phát hiện tại mail server của cơng ty FPT (mail.fpt.com.vn). Thư bình thường là những thư mà các tác giả nhận được thơng qua hịm thư mail.gdt.gov.vn. Đối với các thư bình thường nhận được, trong trường hợp thư nhận từ cùng một nguồn qua nhiều phiên gửi và reply thì đối với những thư gửi sau sẽ được xố phần đã gửi từ trước, chỉ giữ lại nội dung thư nhận được cuối cùng. Đối với những thư bao gồm cả văn bản và hình ảnh, chỉ cĩ phần văn bản được sử dụng, phần hình ảnh bị bỏ qua khơng xem xét. Các thơng số chính về bộ dữ liệu được thống kê: Tổng thư: 700 Thư rác: 236 Thư thường: 464 2. Biểu diễn nội dung thư dưới dạng mơ hình boolean Để cĩ thể sử dụng kỹ thuật học máy và xác suất thống kê, nội dung thư cần được biểu diễn dưới dạng thuận tiện cho việc áp dụng thuật tốn học máy. Các phương pháp lọc thư bằng cách tự động phân loại theo nội dung đều sử dụng cách biểu diễn thư dưới dạng véctơ. Mặc dù cĩ nhiều cách xây dựng véctơ nhưng cách đơn giản nhất là mơ hình boolean. Nguyên tắc cơ bản của phương pháp này là khơng quan tâm tới vị trí xuất hiện các từ hay cụm từ 46 trong thư mà coi thư như một tập hợp khơng cĩ thứ tự các từ. Mỗi thư khi đĩ được biểu diễn bởi một véctơ. Số phần tử của véctơ bằng số lượng từ khác nhau trên tồn bộ tập dữ liệu huấn luyện. Cĩ nhiều cách tính giá trị các phần tử của vectơ. Cách đơn giản nhất là sử dụng giá trị nhị phân: mỗi phần tử của véctơ bằng 1 hay 0 tuỳ thuộc vào từ tương ứng cĩ xuất hiện trong thư tương ứng với véctơ hay khơng. Giả sử cĩ một tập gồm m văn bản   @; @E   @M. Mỗi văn bản gịm n từ khĩa €  L; LE   LM. Gọi   $h là ma trận trọng số, trong đĩ wij là trọng số của từ khĩa ti trong văn bản dj. Mơ hình Boolean là mơ hình đơn giản nhất, trong đĩ trọng số các từ trong văn bản là 0 hoặc 1. Khi đĩ, mỗi văn bản sẽ được biểu diễn dưới dạng tập hợp như sau: di={tij}, trong đĩ tij là từ ti cĩ trọng số wij trong văn bản dj là 1.[1] Các phương pháp phức tạp hơn thường dựa vào tần suất xuất hiện của từ trong thư. Từ xuất hiện càng nhiều thì phần tử tương ứng của vectơ cĩ giá trị càng lớn và ngược lại. Trên các tập dữ liệu mẫu thực, số lượng từ khác nhau cĩ thể lên tới hàng chục nghìn tương ứng với số lượng phần tử trong mỗi véctơ. Trong các phần sau sẽ đề cập tới kỹ thuật giảm bớt số lượng từ dùng để biểu diễn thư. Phương pháp biểu diễn thư sử dụng boolean trình bày ở trên bỏ qua thơng tin về vị trí xuất hiện và thứ tự các từ trong thư. Những thơng tin này cĩ thể cĩ giá trị quan trọng trong việc phát hiện thư rác. Tuy nhiên, do đơn giản, phương pháp boolean vẫn là phương pháp biểu diễn nội dung thư thơng dụng nhất, mặc dù cĩ nhược điểm vừa nêu. Trong nghiên cứu này, luận văn cũng sử dụng phương pháp boolean và các mở rộng của phương pháp này để biểu diễn nội dung thư điện tử: 47 Tập các từ trong tất cả tài liệu sẽ được sắp xếp thành từ điển và được đánh chỉ số theo thứ tự tăng dần. Thư sẽ được biểu diễn dưới dạng vector, biểu diễn thứ tự tăng dần các chỉ số của các từ cĩ trong thư đĩ. Dưới đây là một ví dụ đơn giản minh hoạ cho cách biểu diễn nội dung nĩi trên. Dữ liệu huấn luyện bao gồm bốn thư, trong đĩ hai thư là thư rác và hai là thư bình thường. Nội dung các thư được cho trong bảng 4.1. Trên bảng 4.3. là biểu diễn véctơ cho các thư trong bảng 4.1. Số TT Nội dung Nhãn 1 mua và trúng thưởng Rác 2 mua một tặng một Rác 3 anh mua rồi Bình thường 4 vừa gửi xong Bình thường Bảng 4.1. Ví dụ nội dung của 4 thư. Từ các thư trên ta sắp xếp các từ trong thư dưới sạng từ điển và đánh chỉ số như sau: Bảng 4.2 Từ điển từ và chỉ số cho dữ liệu trong bảng 4.1 Từ Chỉ số anh 1 gửi 2 một 3 mua 4 rồi 5 tặng 6 thưởng 7 trúng 8 và 9 vừa 10 xong 11 48 Số TT anh gửi một Mua rồi tặng thưởng Trùng và vừa xong 1 4 7 8 9 2 3 4 6 3 1 4 5 4 2 10 11 Bảng 4.3. Biểu diễn véctơ cho dữ liệu trong bảng 4.1 Như vậy các thư sẽ được biểu diễn như sau: Thư1 ={4, 7, 8, 9} Thư2={3, 4, 6} Thư3={1, 4, 5} Thư4={2, 10, 11} 4.3.3. Xây dựng chương trình biểu diễn và tiền xừ lý dữ liệu a. Mơi trường cài đặt: Chương trình được cài đặt trên các mơi trường ứng dụng sau: - Mơi trường cài đặt ứng dụng: Visual Studio .NET - Ngơn ngữ sử dụng: Visual C# b. Chức năng của chương trình: + Tiền xử lý dữ liệu: tách từ trong các thư thành các từ đơn, loại bỏ đi các ký tự đặc biệt, loại bỏ các từ dừng (stop-word). Đưa các từ vào trong từ điển, đánh chỉ số cho các từ. + Xử lý dữ liệu tạo file dữ liệu đầu vào cho các chương trình thực nghiệm. c. Kết quả cài đặt chương trình: 49 - Giao diện chính của chương trình: Hình 4.3. Giao diện chính của chương trình Lựa chọn thư mục chứa dữ liệu để lấy dữ liệu đưa vào chương trình xử lý: Hình 4.4 Giao diện lựa chọn thư mục chứa dữ liệu Nhấn nút “Làm sạch dữ liệu” để loại bỏ các ký tự đặc biệt trong thư: ký tự xuống dịng, loại bỏ các từ dừng (stop word). Quá trình làm sạch dữ liệu sau khi hồn thành sẽ thơng báo như trong hình 4.5 50 Hình 4.5 Thơng báo quá trình làm sạch dữ liệu đã thành cơng Bấm nút “Xứ lý” để biểu diễn dữ liệu về dạng vector thể hiện trong các file cĩ đuơi chấm là snow và libsvm. Trên màn hình chương trình cũng thể hiện dữ liệu huấn luyện và kiểm tra (hình 4.6). Trong file huấn luyện gồm cĩ 323 thư thường và 167 thư rác. Trong file kiểm tra cĩ 141 thư thường và 69 thư rác. Kết quả của chương trình là tạo ra các file cĩ đuơi .snow và .libsvm chính là dữ liệu thử nghiệm tương ứng cho các chương trình Snow và AcitveExperimenter. Dữ liệu ra được lưu trong thư mục đã chọn ở đầu chương trình. 51 Hình 4.6 Giao diện thơng báo kết quả xử lý dữ liệu 4.3.4. Kết quả thử nghiệm Hai phương pháp phân loại được thử nghiệm bao gồm chương trình Snow cài đặt perceptron và active SVM. Chương trình Snow Qua trìnhhử nghiệm được thực hiện qua hai bước: bước huấn luyện và bước kiểm tra. Bước huấn luyện gõ lệnh: ../snow –train –I traindata.snow –F NetworkFile.net –A archfile Bước kiểm tra gõ lệnh: ../snow –test –I testdata.snow – F NetworkFile.net Kết quả màn hình: kết quả của chương trình được thể hiện trong hình 4.7 52 Hình 4.7. Kết quả chạy thuật tốn Perceptron Chương trình ActiveExperimenter Thử nghiệm cũng được chia thành 2 giai đoạn: giai đoạn huấn luyện và kiểm tra. Thực nghiệm sử dụng phương pháp đánh giá 10 fold-cross validation: tồn bộ dữ liệu được chia ngẫu nhiên thành 10 nhĩm kích thước tương đương nhau. Bộ phân loại được huấn luyện trên chín nhĩm sau đĩ được kiểm tra trên một nhĩm cịn lại. Lặp lại 10 lần với 10 nhĩm dùng để kiểm tra, sau đĩ lấy trung bình cộng kết quả. Để chạy chương trình ta gõ lệnh: experimenter.bat thay đổi file dữ liệu hay các thơng số đầu vào chương trình ta cĩ thể sửađổi trong file config.xml trong thư mục ActiveExperimenter\Config. Trong file config.xml ta cĩ thể lựa chọn thuật tốn truy vấn là SIMPLE, SELF_CONF, KFF… Nếu để mặc định sẽ được hiểu là thuật tốn SIMPLE đã trình bày trong chương 3. File config.xml cĩ cấu trúc như trong hình 4.8: 53 Hinh 4.8 Cấu trúc file cấu hình của chương trình ActiveExperimenter Màn hình sau khi chạy chương trình với thuật tốn SIMPLE ta cĩ kết quả thể hiện trong hình 4.9 Hình 4.9. Kết quả chạy thuật tốn SIMPLE 54 Khi lựa chọn thuật tốn là thuật tốn SELF_CONF để thử nghiệm cũng trên tập dữ liệu đĩ, thu được kết quả ở hình 4.10: Hình 4.10. Kết quả chạy thuật tốn SELF_CONF 55 Khi sử dụng thuật tốn KFF ta thu được kết quả như hình 4.11. Hình 4.11. Kết quả chạy thuật tốn KFF Cuối cùng là chạy thử nghiệm trên thuật tốn BALANCE_EE ta thu được kết quả như hình 4.12: Hình 4.12. Kết quả chạy thuật tốn BALANCE_EE 56 Trong bốn thuật tốn đã sử dụng thực nghiệm trong chương trình ActiveExperiment thì cĩ ba thuật tốn đều cho kết quả cao và tương tự ngang nhau. Riêng thuật tốn KFF thì cho độ chính xác rất thấp chưa đạt 50%. Kết quả được thể hiện trong bảng 4.4 Ta cĩ bảng kết quả của các thuật tốn SVM active như trong bảng 4.4: Lần truy vấn SIMPLE SELF_CONF KFF BALANCE_EE 1 63.72 61.79 61.03 61.03 2 80.64 81.25 67.82 73.72 3 62.82 77.31 67.05 63.97 4 84.10 87.82 63.33 74.74 5 69.49 84.87 63.33 79.74 6 81.54 88.21 66.67 82.05 7 76.28 90.13 60.77 74.10 8 86.92 87.31 57.56 83.21 9 87.44 91.54 57.05 83.33 10 87.82 92.18 50.38 80.64 11 90.13 92.65 53.21 86.15 12 90.13 92.82 52.05 85.64 13 91.67 92.56 52.56 92.95 14 92.95 92.18 52.44 90.64 15 93.33 92.95 50.90 92.95 16 89.23 93.82 47.95 86.67 17 92.95 92.56 45.26 92.82 18 93.21 92.56 46.54 94.10 19 93.82 93.08 47.69 93.46 20 93.08 92.31 46.28 93.72 Bảng 4.4 Kết quả chạy qua 20 lần truy vấn của các thuật tốn Cả trong hai chương trình thực nghiệm bước truy vấn và phản hồi người dùng được chương trình hĩa trong quá trình thực nghiệm. Khi chương trình chọn một dữ liệu thư điện tử để truy vấn nhãn, thì nhận được sự phản hồi đã được thể hiện thơng qua là dữ liệu thư đĩ đã được gán nhãn sẵn trong tập dữ liệu huấn luyện. 57 4.5.2. Nhận xét về kết quả thử nghiệm Với dữ liệu huấn luyện trên đây, Snow đạt độ chính xác là 99%, cịn chương trình experimenter chỉ cho độ chính xác là 87,82% ở lần truy vấn thứ 10. Khi số lần truy vấn càng nhiều thì độ chính xác càng cao, thể hiện ở các lần truy vấn thứ 15-20 đạt độ chính xác là 93,08 %.Tuy nhiên điều này cũng đã khẳng định được tính hiệu quả cao của thuật tốn perceptron và acitve SVM. Trong số hai phương pháp phân loại được sử dụng, phương pháp perceptron cho kết quả tốt nhất, tuy nhiên phương pháp active SVM cĩ ưu thế hơn do cĩ độ phức tạp tính tốn thấp hơn nhiều. Thời gian chạy của chương trình snow qua một vịng huấn luyện, kiểm tra mất 1.37s, tuy nhiên với chương trình ActiveExperimenter chạy qua 10 vịng huấn luyện, mỗi vịng sẽ truy vấn 20 lần, thời gian chạy chỉ cĩ 0.91s, trung bình mỗi vịng mất khoảng 0.09s , điều này khẳng định độ phức tạp tính tốn thuật tốn của phương pháp active SVM thấp dù độ chính xác thì chưa cao nhất cĩ thể. Trong khi thuật tốn Perceptron cho độ chính xác cao, nhưng thời gian chạy cịn khá lâu. Đối với thuật tốn acitve SVM cĩ sự hạn chế là sử dụng hàm hàm nhân Radial basis function mà chưa sử dụng các hàm nhân khác, chẳng hạn như hàm nhân đa thức. Điều này cĩ thể là một trong những nguyên nhân dẫn đến độ chính xác của thuật tốn chưa được cao. 4.4 Kết luận Chương này đã giới thiệu bài tốn lọc thư rác và áp dụng phươg pháp học tích cực và trong bài tốn. Trong chương này cũng giới thiệu chương trình xử lý dữ liệu và chuẩn hĩa dữ liệu về dạng vector và đầu vào cho các tool thực nghiệm. Thực nghiệm các tool cĩ cài đặt các thuật tốn học tích cực trên tập dữ liệu tạo được. Phân tích đánh giá và nhận xét kết quả thực ngiệm. 58 KẾT LUẬN Những vấn đề đã được giải quyết trong luận văn Sau một thời gian thu thập tài liệu, khảo sát và phân tích nội dung một số bài báo được đề xuất trong lĩnh vực nghiên cứu về học máy, bản luận văn này là sự tổng hợp những nét chính trong học tích cực và là một hướng giải quyết cho bài tốn lọc thư rác. Sau đây là những điểm chính mà luận văn đã tập trung giải quyết. ü Tìm hiểu phương pháp học tích cực, so sánh với học thụ động, tìm ra ưu điểm của từng phương pháp và các trường hợp ứng dụng phù hợp. ü Tìm hiểu phương pháp học tích cực dựa vào perceptron, thuật tốn học perceptron đã được cải tiến của Dagupsta đề xuất năm 2005. Thuật tốn được xây dựng lên từ việc đưa sự cải tiến bước cập nhật perceptron của Morkin vào thuật tốn perceptron chuẩn cĩ 2 bước lọc và bước cập nhật. ü Tìm hiểu phương pháp học tích cực dựa vào SVM được Simon Tong đề xuất năm 2001, các thuật tốn truy vấn: Simple Margin, MaxMin Margin và Ratio Margin. ü Ứng dụng các phương pháp học tích cực đã tìm hiểu áp dụng vào bài tốn lọc thư rác, xây dựng mơ hình cho bài tốn lọc thư rác. Với các mơ hình khơng sử dụng phương pháp học tích cực (mơ hình thụ động), để huấn luyện được bộ học, cần một lượng lớn dữ liệu huấn luyện, vì vậy mà tốn kém trong chi phí và thời gian. Trong mơ hình lọc thư rác tích cực sẽ làm giảm được lượng dữ liệu huấn luyện này. Hơn nữa, mơ hình lọc thư thụ động sẽ phải mất chi phí nhiều hơn và phải được huấn luyện lại để cĩ thể phát hiện được các thư rác ngày một phát triển tinh vi hơn, thì bộ lọc thư tích cực lại cĩ khả năng tự cập nhật lại lại mơ hình khi nhận được thơng tin cần thiết từ việc đưa ra truy vấn cho dữ liệu đã được lựa chọn phù hợp từ truy vấn và câu phản hồi trước đĩ. Vì vậy mà bộ lọc thư tích cực sẽ khơng cần mất nhiều chi phí cho việc huấn luyện lại, và giảm tập dữ liệu huấn luyện cho mơ hình. Bộ lọc 59 thư rác đã trình bày trong luận văn đạt độ chính xác và hiệu quả cao. Thực nghiệm đạt 99% đối với thuật tốn perceptron và 93.7% đối với các thuật tốn active SVM. ü Thu thập dữ liệu thư, spam và xây dựng chương trình xử lý dữ liệu thực tế thành dữ liệu đầu vào cho các thử nghiệm. Luận văn xây dựng thử nghiệm trên các tool sẵn cĩ cài đặt các thuật tốn perceptron và active SVM mà luận văn đã giới thiệu. Cơng việc nghiên cứu trong tương lai Cải tiến thuật tốn active SVM để sử dụng các hàm nhân khác nhằm nâng cao chất lượng phân lớp. Tiếp tục tìm hiểu các phương pháp xử lý nhằm làm tăng chất lượng phân lớp, đồng thời xử lý các thư cĩ nội dung khơng phải là văn bản chằng hạn như hình ảnh, … Ứng dụng vào một hệ thống mail server trong một tổ chức để lọc thư cho cán bộ/nhân viên. 60 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Hà Quang Thụy, Phan Xuân Hiếu, Đồn Sơn, Nguyễn Trí Thành, Nguyễn Thu Trang, Nguyễn Cẩm Tú (2009), Giáo trình khai phá dữ liệu Web, Nhà xuất bản giáo dục Việt Nam. [2] Nguyễn Thanh Thủy (2001), Khai phá dữ liệu, Nhà xuất bản Kỹ thuật và ứng dụng. Tiếng Anh [3] A. Wald (1950). Statistical decision functions. Wiley, New York [4] A. Blum, A. Frieze, R. Kannan, and S. Vempala (1996). A polynomial-time algorithm for learning noisy linear threshold functions. In Proc. 37th Annual IEEE Symposium on the Foundations of Computer Science. [5] B. Busser, R. Morante (2005) ‘Designing an active learning based system for corpus annotation’, In Procesamiento del Lenguaje Natural, núm. 35, pp. 375-381. [6] Burr Settles (2008) Curious Machines: Active Learning with Structured Instances. Ph.D. dissertation, University of Wisconsin–Madison, USA. [7] Burr Settles (2009) ‘Active learning literature survey’ Computer Sciences Technical Report 1648, University of Wisconsin–Madison. [8] Burr Settles, M. Craven (2008) ‘An analysis of active learning strategies for sequence labeling tasks’ In Proceedings of the Conference on Empirical Methods in Natural Language Processing (EMNLP), pp. 1069–1078. [9] DC.A. Thompson, M.E. Califf and R.J. Mooney (1999) ‘Active learning for natural language parsing and information extraction’, In Proceedings of the 16th International Conference on Machine Learning, pp. 406-414. [10] C. Campbell, N. Cristianini, & A. Smola (2000). Query learning with large margin classifiers. Proceedings of the Seventeenth International Conference on Machine Learning. [11] C. E. Shannon, (1948) ‘A mathematical theory of communication’ Bell System Technical Journal, 27:379-423,623-656. [12] C.J. Burges. A tutorial on support vector machines for pattern recognition. Data Mining and Knowledge Discovery, 1999. [13] C. Nakajima, I. Norihiko, M. Pontil & Poggio (2000). Object recognition and detection by a combination of support vector machine and rotation 61 invariant phase only correlation. Proceedings of International Conference on Pattern Recognition. [14] D.D. Lewis, W. Gale (1994) ‘A sequential algorithm for training text classifiers’, In Proceedings of the ACM SIGIR Conference on Research and Development in Information Retrieval, pp. 3-12. [15] D.D. Lewis, J. Catlett (1994) ‘Heterogeneous Uncertainty Sampling for Supervised Learning’ In Proceedings of the 11th International Conference on Machine Learning, pp.148-156. [16] D. Hakkani-Tür, G. Riccardi and A. Gorin (2002) ‘Active learning for automatic speech recognition’ In Proceedings of ‘International Conference on Acoustics, Speech and Signal Processing (ICASSP), Orlando, FL. [17] F. Rosenblatt (1958). The perceptron: A probabilistic model for information storage and organization in the brain. Psychological Review, 65:386–407. [18] G. Tur, D. Hakkani-Tür and R.E. Schapire (2005) ‘Combining active and semisupervised learning for spoken language understanding’ Speech Communication, 45(2):171–186. [19] G. Tur, R.E. Schapire and D. Hakkani-Tür (2003) ‘Active learning for spoken language understanding’ In Proceedings of International Conference on Acoustics, Speech and Signal Processing (ICASSP), Hong Kong. [20] H. Seung, M. Opper & H. Sompolinsky (1992). Query by committee. Proceedings of Computational Learning Theory. [21] J. Baldridge, M. Osborne (2004) ‘Active learning and the total cost of annotation’, In Proceedings of the Conference on Empirical Methods in Natural Language Processing, Forum Convention Center, Barcelona, Spain, pp. 9-16 [22] J. Zhu, H. Wang, E. Hovy (2008a) ‘Learning a stopping criterion for active learning for word sense disambiguation and text classification’ In Proceedings of the 3rd International Joint Conference on NLP (IJNLP), Heydarabad, India. pp. 366-372. [23] J. Zhu, H. Wang, T. Yao and B. Tsou (2008b) ‘Active learning with sampling by uncertainty and density for word sense disambiguation and text classification’ In Proceedings of the 22nd International Conference on Computational Linguistics (CoLing) pp. 1137-1144. [24] LeCun, Jackel, Bottou, Brunot, A., Cortes, C., Denker, J. S., Drucker, H., Guyon, I., Muller, U. A., Sackinger, E., Simard, P., & Vapnik (1995). Comparison of learning algorithms for handwritten digit recognition. International Conference on Artificial Neural Networks, Paris. [25] M. Steedman, R. Hwax, S. Clark, M. Osborne, A. Sarkar, J. Hockenmaier, P. Ruhleny, S. Bakerz, J. Crimy (2003) ‘Example selection for bootstrapping statistical parsers’ In Proceedings of the Human Language Technology 62 Conference / North American Chapter of the Association for Computational Linguistics (HLT/NAACL), Edmonton, Canada. [26] R. Hwa, (2000) ‘Sample selection for statistical grammar induction’ In Proceedings of the 2000 Joint SIGDAT Conference on EMNLP and VLC, Hong Kong, China, pp. 45.52. [27] R. Hwa, M. Osborne and A. Sarkar and M. Steedman (2003) ‘Corrected cotraining for statistical parsers’ In Proceedings of the ICML Workshop: The Continuum from Labeled to Unlabeled Data. pp. 95-102. [28] R. Herbrich, T. Graepel, & C. Campbell (1999). Bayes point machines: Estimating the Bayes point in kernel space. International Joint Conference on Artificial Intelligence Workshop on Support Vector Machines. [29] R. Liere, P. Tadepalli (1997) ‘Active learning with committees for text categorization’ In Proceedings 14th Conference of the American Association for Artificial Intelligence (AAAI), pp. 591-596. [30] S. Agmon (1954). The relaxation method for linear inequalities. Canadian Journal of Math., 6(3):382–392. [31] S.C.H Hoi, R. Jin, M.R. Lyu (2006) ‘Large-scale text categorization by batch mode active learning’ In Proceedings of the International Conference on the World Wide Web, pp. 633–642. [32] S. Dasgupta (2005). Coarse sample complexity bounds for active learning. In Advances in Neural Information Processing Systems 18. [33] S. Dumais, J. Platt, D. Heckerman & M. Sahami (1999). Inductive learning algorithms and representations for text categorization. Proceedings of the Seventh International Conference on Information and Knowledge Management. ACM Press. [34] S. Hampson and D. Kibler (1999). Minimum generalization via reflection: A fast linear threshold learner. Machine Learning, 37(1):51–73. [35] S. Tong and D. Koller. Support vector machine active learning with applications to text classification. Journal of Machine Learning Research, 2:45–66, 2001. [36] S. Tong, (2001) Active Learning: Theory and Applications. Ph.D. dissertation, Stanford University. [37] T. Joachims. Text categorization with support vector machines. Proceedings of the European Conference on Machine Learning. Springer-Verlag, 1999. [38] T. Joachims. Transductive inference for text classification using support vector machines. Proceedings of the Sixteenth International Conference on Machine Learning. Morgan Kaufmann, 1999. 63 [39] T. Mitchell (1982). Generalization as search. Artificial Intelligence. [40] T.S. Motzkin and I.J. Schoenberg (194). The relaxation method for linear inequalities. Canadian Journal of Math., 6(3):393–404. [41] V. Vapnik. Estimation of dependences based on empirical data. Springer Verlag, 1982. [42] V. Vapnik. The nature of statistical learning theory. Springer, New York, 1995. [43] V. Vapnik, (1998). Statistical learning theory. Wiley. [44] Y. Baram, R. El-Yaniv and K. Luz (2004) ‘Online choice of active learning algorithm’ In Journal of Machine Learning Research 5, pp. 255-259 [45] Y. Freund, H. Seung, E. Shamir & N. Tishby (1992). Selective sampling using the Query by Committee algorithm. Machine Learning. Website: [46] [47]

Các file đính kèm theo tài liệu này:

  • pdfLUẬN VĂN- TÌM HIỂU PHƯƠNG PHÁP HỌC TÍCH CỰC VÀ ỨNG DỤNG CHO BÀI TOÁN LỌC THƯ RÁC.pdf