7
Bảng 3.. Một số kết quả
Việc lựa chọn 9/10 file thư thường để huấn luyện và 1 file thư thường còn lại đưa vào quá trình test cùng với file các thư rác được lựa chọn ngẫu nhiên, nên kết quả ở các lần chạy sẽ có sự khác nhau, tuy nhiên không chênh lệch quá lớn cả 3 số liệu DR, FPR, Acc và thời gian chạy.
Với kết quả trên ta có nhận xét:
Về khả năng phát hiện:
Với r càng lớn thì kích thước bộ dò (bảng A) càng lớn, đồng nghĩa với việc mức độ kiểm tra, so khớp sẽ chặt chẽ hơn. Do vậy, r càng lớn xác suất thư thường bị phân loại thành thư rác càng lớn. Và ngược lại, r càng nhỏ thì mức độ kiểm tra sẽ ít chặt chẽ hơn, dẫn đến nhiều thư rác được phân loại là thư thường.
Những thư thường mang tính quan trọng hơn rất nhiều, do vậy khi phân loại thư thường và thư rác, cần lựa chọn giá trị của r hợp lí để các thư thường ít bị phân loại thành thư rác.
Về thời gian chạy chương trình: Thời gian chạy chương trình tùy thuộc vào kích thước của bảng băm là chủ yếu, với giá trị r lớn thì bảng băm có kích thước lớn hơn nên việc tạo bảng cũng lâu hơn.
3.3.2. So sánh kết quả với một số thuật toán khác
Để đánh giá kết quả của chương trình, tôi sử dụng phần mềm WEKA, xem xét sự chênh lệch kết quả so với một số thuật toán trong WEKA.
3.3.3.1. Phần mềm WEKA
WEKA (Waikato Environment for Knowledge Analysis) là phần mềm khai thác dữ liệu thuộc dự án của trường đại học Waikato, New Zealand lần đầu tiên năm 1993. Mục
tiêu để xây dựng công cụ hiện đại nhằm phát triển các kĩ thuật máy học và áp dụng chúng vào các bài toán khai thác dữ liệu trong thực tế, sử dụng trong các bài giảng về các thuật giải Machine Learning ở nhiều trường đại học lớn trên thế giới.
WEKA được viết bằng ngôn ngữ Java JDK, cấu trúc gồm hơn 600 lớp tổ chức thành 10 packages. Với các chức năng chính:
Khảo sát dữ liệu: Tiền xử lí dữ liệu, phân lớp, gom nhóm dữ liệu, khai thác luật kết hợp.
Thực nghiệm mô hình: cung cấp phương tiện để kiểm chứng đánh giá các mô hình học.
Biểu diễn trực quan dữ liệu bằng nhiều dạng đồ thị.
Trong đề tài, chủ yếu sử dụng phần mềm này để khảo sát dữ liệu nhằm so sánh với chương trình xây dựng trong đề tài.
Giao diện của phần mềm WEKA
Hình 3.. Giao diện phần mềm Weka
Như đã nói, trong luận văn chỉ sử dụng chức năng khảo sát phân loại dữ liệu của phần mềm để phân loại thư rác và thư thường của cơ sở dữ liệu Spambase. Từ giao diện chính của WEKA thực hiện các bước:
Bước 1. Chọn nút tác vụ Explorer, giao diện Weka Explorer xuất hiện.
Hình .3. Giao diện Weka Explorer
Bước 2. Tại thẻ Preprocess chọn nút Open file… để nạp tệp cơ sở dữ liệu.
Thông thường cơ sở dữ liệu lưu dạng *.arff hoặc *.csv
Hình 3.. Giao diện Weka Explorer sau khi mở nạp Spambase
WEKA sẽ thống kê và đưa ra các thuộc tính có trong cơ sở dữ liệu hiển thị trên giao diện, tại hộp Attributes nhấn nút All để chọn tất cả các thuộc tính.
Bước 3. Chọn thẻ Classify để chọn sử dụng các phương pháp phân loại.
Hình 3.. Phân loại dữ liệu
Bước 4. Chọn hàm, luật,.. phân loại tại mục Classify nhấn nút Choose. Thiết lập một số tùy chọn tại mục Test options, ở đây ta chọn sử dụng phương pháp Cross validation.
Bước 5. Nhấn nút Start để thực hiện, và theo dõi kết quả tại vùng Classifier output.
Để tìm hiểu các chức năng khác của phần mềm Weka và chi tiết cách sử dụng bạn đọc có thể tìm hiểu tại [11].
3.3.3.2. So sánh với một số phương pháp trên WEKA
Sau đây là kết quả thử nghiệm trên các hàm, luật,… trong WEKA và chương trình sử dụng NSA trên cơ sở dữ liệu Spambase.
Với 100% thư thường và thư rác đưa vào quá trình phân loại. Với giá trị r = 8, chương trình sử dụng NSA cho kết quả như sau:
Trong 2788 thư thường, chương trình sử dụng NSA cho kết quả:
Số lượng thư thường phân loại đúng là TN = 2668.
Số lượng thư phân loại sai thành thư rác là FP = 120.
Trong 1813 thư rác, chương trình sử dụng NSA cho kết quả:
Số lượng thư rác phân loại đúng là TP = 1499.
Số lượng thư phân loại sai thành thư thường là FN = 314.
Và các kết quả:
DR: 82.67%
FPR: 4.31%
Acc: 90.56%
Các phương pháp phân loại trong WEKA đều sử dụng toàn bộ 2788 thư thường và 1813 thư spam vào quá trình kiểm tra (phát hiện, phân loại) nên trong chương trình NSA cũng sẽ sử dụng toàn bộ các thư thường và thư rác thay vì chỉ sử dụng file thư thường chưa dùng vào quá trình huấn luyện + thư rác. (Đơn vị tính 3 thông số DR, FPR, Acc: %)
TP | TN | FN | FP | DR | FPR | Acc | |
BayessianLogisticRegression | 1758 | 1986 | 55 | 802 | 96.97 | 28.77 | 81.37 |
NaiveBayesUpdateable | 1725 | 1923 | 88 | 865 | 95.15 | 31.03 | 79.29 |
bayes.DMNBtext | 1617 | 2662 | 196 | 126 | 89.19 | 4.52 | 93.00 |
functions.logistic | 1607 | 2645 | 206 | 143 | 88.64 | 5.13 | 92.41 |
functions.RBFNetwork | 1568 | 2143 | 245 | 645 | 86.49 | 23.13 | 80.66 |
funtions.Spegasos | 1544 | 2661 | 269 | 127 | 85.16 | 4.56 | 91.39 |
lazy.TB1 | 1592 | 2585 | 221 | 203 | 87.81 | 7.28 | 90.78 |
Có thể bạn quan tâm!
- Tổng Quan Về Hệ Miễn Dịch Sinh Học
- Quá Trình Huấn Luyện – Tạo Tập Bộ Dò (Training) Input: Chọn 9 Trong 10 File: Hsub I.txt (I=1,…,10).
- Quá Trình Kiểm Tra Phân Loại (Testing)
- Ứng dụng hệ miễn dịch nhân tạo cho lọc thư rác - Lương Văn Lâm - 8
Xem toàn bộ 69 trang tài liệu này.
163 | 2777 | 1650 | 11 | 8.99 | 0.39 | 63.90 | |
rules.ComnunctiveRule | 1276 | 2437 | 537 | 351 | 70.38 | 12.59 | 80.70 |
trees.RandomTree | 1621 | 2563 | 192 | 225 | 89.41 | 8.07 | 90.94 |
NSA | 1499 | 2668 | 314 | 120 | 82.67 | 4.31 | 90.56 |
misc.HyperPipes
Bảng 3.. Kết quả thử nghiệm trên WEKA và NSA
Dựa vào bảng trên ta thấy:
Phương pháp NSA cho kết quả chính xác hơn 90% nằm trong những phương pháp cho kết quả chính xác nhất.
TP | TN | FN | FP | DR | FPR | Acc | |
bayes.DMNBtext | 1617 | 2662 | 196 | 126 | 89.19 | 4.52 | 93.00 |
functions.logistic | 1607 | 2645 | 206 | 143 | 88.64 | 5.13 | 92.41 |
funtions.Spegasos | 1544 | 2661 | 269 | 127 | 85.16 | 4.56 | 91.39 |
lazy.TB1 | 1592 | 2585 | 221 | 203 | 87.81 | 7.28 | 90.78 |
trees.RandomTree | 1621 | 2563 | 192 | 225 | 89.41 | 8.07 | 90.94 |
NSA | 1499 | 2668 | 314 | 120 | 82.67 | 4.31 | 90.56 |
Bảng .3. Kết quả NSA so với một số phương pháp cho kết quả tốt
Ta nhận thấy rằng, phương pháp NSA cho kết quả xấp xỉ với các phương pháp trong WEKA về độ chính xác tổng thể. NSA có khả năng phát hiện các thư rác kém hơn thể hiện ở thông số TP và FN.
Tuy nhiên, NSA phân loại các thư thường tốt hơn, thể hiện các thông số TN, FP.
NSA cho kết quả cao hơn về độ chính xác tổng thể so với các phương pháp trong bảng dưới:
TP | TN | FN | FP | DR | FPR | Acc | |
BayessianLogisticRegressio n | 1758 | 1986 | 55 | 802 | 96.97 | 28.77 | 81.37 |
NaiveBayesUpdateable | 1725 | 1923 | 88 | 865 | 95.15 | 31.03 | 79.2 9 |
functions.RBFNetwork | 1568 | 2143 | 245 | 645 | 86.49 | 23.13 | 80.6 6 |
163 | 2777 | 1650 | 11 | 8.99 | 0.39 | 63.9 0 | |
rules.ComnunctiveRule | 1276 | 2437 | 537 | 351 | 70.38 | 12.59 | 80.7 0 |
NSA | 1499 | 2668 | 314 | 120 | 82.67 | 4.31 | 90.5 6 |
misc.HyperPipes
Bảng 3.. Kết quả của NSA so với một số phương pháp thấp hơn
Các phương pháp BayessianLogisticRegression, NaiveBayesUpdateable cho khả năng phát hiện thư rác rất tốt, nhưng kéo theo đó nhiều thư thường bị phân loại thành thư rác thể hiện: trong 2788 thư thường BayessianLogisticRegression có 802 bị coi là thư rác, NaiveBayesUpdateable có 865 bị coi là thư rác.
Thông thường, các thư thường có chứa thông tin quan trọng hơn, do vậy việc các thư thường được phân loại thành thư rác gây ra lo ngại hơn so với việc các thư rác bị phân loại nhầm thành thư thường. Xét về mặt này, NSA cho khả năng phân loại tốt hơn 5 phương pháp trên.
3.4. Kết luận
Qua việc phân tích kết quả, so sánh với một số phương pháp trên ta thấy NSA cho khả năng phát hiện với độ chính xác cao, tùy thuộc vào cách đặt giá trị r mà ta được
các bảng băm (bộ dò) kích thước khác nhau làm khả năng phát hiện khác nhau. gian NSA gần tương đương với thời gian chạy của các phương pháp khác.
Về thời
KẾT LUẬN
Đề tài đã đạt được mục đích nghiên cứu đề ra ban đầu. Cụ thể đã nghiên cứu cấu trúc, đặc điểm của thư điện tử đặc biết là về thư rác. Những tác hại mà thư rác gây ra được nêu rõ và từ đó đặt ra vấn đề lọc thư rác. Đề tài đã sử dụng thuật toán NSA của hệ miễn dịch nhân tạo để xây dựng chương trình lọc thư rác và bước đầu đã cho ra những kết quả nhất định. Về ưu điểm, chương trình đã thể hiện được thuật toán NSA và khả năng phát hiện tương đối cao, thời gian huấn luyện và kiểm tra chương trình thực hiện khá nhanh.
Về nhược điểm, khả năng phát hiện thư rác và thư thường trong một số trường hợp là còn hạn chế, điều này đặt ra vấn đề cần xem xét các thuộc tính của email về tần
suất xuất hiện, một số thư
thường chỉ cần có một thuộc tính có mức độ
xuất hiện
ngang với thuộc tính đó ở thư rác cũng có thể bị coi là thư rác. Để loại bỏ vấn đề trên, cần nghiên cứu và áp dụng thêm một số phương pháp khác nhằm cải tiến chương trình cho kết quả cao hơn.
Ngoài ra, vấn đề thử nghiệm phương pháp này với bộ tham số tối ưu hoặc kết hợp nó với các phương pháp học máy khác, áp dụng cho nhiều cơ sở dữ liệu thư điện tử để tăng khả năng học cho hệ thống cũng là một hướng phát triển của đề tài trong tương lai.