Tải bản đầy đủ (.doc) (33 trang)

ỨNG DỤNG CÔNG NGHỆ TRI THỨC TRONG VIỆC TÌM HIỂU CÁC PHƯƠNG PHÁP PHÂN LOẠI VĂN BẢN – EMAIL

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (305.66 KB, 33 trang )

Seminar Công nghệ tri thức GVHD: GS-TSKH. Hoàng Kiếm
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
________________
BÁO CÁO SEMINAR CHUYÊN ĐỀ
CÔNG NGHỆ TRI THỨC
Đề tài:
ỨNG DỤNG CÔNG NGHỆ TRI THỨC
TRONG VIỆC TÌM HIỂU CÁC PHƯƠNG PHÁP
PHÂN LOẠI VĂN BẢN – EMAIL
Giảng viên hướng dẫn: GS-TSKH. Hoàng Kiếm
Sinh viên thực hiện: Trần Thị Diễm Trang – CH0901057
Lớp: Cao học CNTTQM – Khóa 4
Tp. Hồ Chí Minh – Tháng 03/2014
Seminar Công nghệ tri thức GVHD: GS-TSKH. Hoàng Kiếm
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
________________
BÁO CÁO SEMINAR CHUYÊN ĐỀ
CÔNG NGHỆ TRI THỨC
Đề tài:
ỨNG DỤNG CÔNG NGHỆ TRI THỨC
TRONG VIỆC TÌM HIỂU CÁC PHƯƠNG PHÁP
PHÂN LOẠI VĂN BẢN – EMAIL
Giảng viên hướng dẫn: GS-TSKH. Hoàng Kiếm
Sinh viên thực hiện: Trần Thị Diễm Trang – CH0901057
Lớp: Cao học CNTTQM – Khóa 4
Tp. Hồ Chí Minh – Tháng 03/2012
Trần Thị Diễm Trang – CH0901057 Trang 1
Seminar Cụng ngh tri thc GVHD: GS-TSKH. Hong Kim
MC LC



TRNG I HC CễNG NGH THễNG TIN 1
TRNG I HC CễNG NGH THễNG TIN 1
MC LC 2
LI CM N 4
LI NểI U 6
CHệễNG I:TNG QUAN 8
I.Yờu cu t ra 8
II.Cỏc cỏch thc con ngi x lý vi spam 8
III. Cỏc phng phỏp tip cn phõn loi vn bn - email 9
1.í tng ca mt s phng phỏp tip cn 9
2.Phng phỏp tip cn Mỏy hc (Machine Learning) 10
CHệễNG II:TèM HIU MT S THUT TON
PHN LOI VN BN EMAIL 12
IV.Thut toỏn cõy quyt nh (Decision Tree) 12
1.nh ngha 12
3.Thut toỏn 12
4.u Nhc im ca phng phỏp cõy quyt nh 15
V.Thut toỏn K-NN (K-Nearest Neighbors algorithm) 16
1.Gii thiu 16
2.Thut toỏn K-NN 16
5.u Nhc im ca phng phỏp K-NN 17
CHệễNG III:THUT TON NAẽVE BAYES V ADABOOST -
NG DNG TRONG PHN LOI EMAIL 18
VI.Thut toỏn Naùve Bayes 18
1.Gii thiu 18
6.Phõn loi email bng phng phỏp Naùve Bayes 19
7.u nhc im ca phng phỏp phõn loi Naùve Bayes 21
VII.Thut toỏn AdaBoost 22
1.Gii thiu 22

8.Thut toỏn AdaBoost 22
9.AdaBoost trong phõn loi vn bn nhiu lp 23
Trn Th Dim Trang CH0901057 Trang 2
Seminar Công nghệ tri thức GVHD: GS-TSKH. Hoàng Kiếm
10.Ứng dụng AdaBoost trong phân loại email 24
11. Ưu – nhược điểm của phương pháp phân loại AdaBoost 29
CHÖÔNG IV:ĐÁNH GIÁ - KẾT LUẬN 31
TÀI LIỆU THAM KHẢO 32
* * *
Trần Thị Diễm Trang – CH0901057 Trang 3
Seminar Công nghệ tri thức GVHD: GS-TSKH. Hoàng Kiếm
LỜI CẢM ƠN

Công nghệ tri thức ngày nay đóng vai trò hết sức quan trọng trong ngành công
nghệ máy tính. Chính nhờ nó mà máy tính có thể “hiểu”, giải quyết nhiều bài toán
phức tạp trong nhiều ngành khoa học cũng như các nhu cầu trong đời sống hằng ngày
Qua Seminar chuyên đề “Công nghệ tri thức”, tôi cũng như các bạn cùng lớp đã
đúc kết được rất nhiều kiến thức bổ ích cho bản thân. Tuy thời gian nghiên cứu cho
chuyên đề không nhiều nhưng những thông tin mới mẻ cũng như xu hướng phát triển
của tri thức hiện nay mà Thầy Hoàng Kiếm cung cấp trong môn học đã giúp chúng tôi
hình thành những cái nhìn sâu hơn, mới hơn về công nghệ tri thức cũng như các ứng
dụng của chúng vào trong thực tế.
Trong thời gian học tập cũng như làm báo cáo seminar này, bản thân tôi và các
bạn cùng lớp đã nhận được sự chỉ dạy, hướng dẫn rất nhiệt tình và khoa học của GS-
TSKH. Hoàng Kiếm, Thầy đã hỗ trợ bài giảng, tài liệu, cũng như luôn theo dõi, hướng
dẫn và động viên chúng tôi kịp lúc. Chúng em rất cảm ơn và xin kính chúc Thầy nhiều
sức khỏe, thành công.
Cũng xin gởi lời cảm ơn chân thành đến quý Thầy Cô của Phòng Sau ĐH,
cũng như tất cả quý Thầy Cô của trường Đại Học Công Nghệ Thông Tin đã tận tình
hướng dẫn, giảng dạy và truyền đạt kiến thức cho chúng em trong suốt quá trình học.

Xin cám ơn các bạn cùng lớp Cao học CNTTQM khóa 4 đã giúp đỡ tôi trong thời gian
học tập, nghiên cứu, trao đổi bài học trên diễn dàn.
Cuối cùng, xin tri ân gia đình, nơi có những người thân yêu luôn ở bên cạnh
chia sẻ, giúp đỡ và động viên tôi về tinh thần cũng như vật chất trong quãng thời gian
hơn hai năm học tập.
Trân trọng.
Trần Thị Diễm Trang
Trần Thị Diễm Trang – CH0901057 Trang 4
Seminar Công nghệ tri thức GVHD: GS-TSKH. Hoàng Kiếm
* * *
Trần Thị Diễm Trang – CH0901057 Trang 5
Seminar Công nghệ tri thức GVHD: GS-TSKH. Hoàng Kiếm
LỜI NÓI ĐẦU

Phân loại văn bản là một vấn đề quan trọng trong lĩnh vực xử lý ngôn ngữ,
nhiệm vụ của nó là gán các tài liệu văn bản vào nhóm các chủ đề cho trước. Đây là
một bài toán rất thường gặp trong thực tế, một ví dụ điển hình cho việc phân loại văn
bản thường thấy là việc phân loại email, và đây là giới hạn cho phạm vi nghiên cứu
của đề tài này.
Thời đại ngày nay là thời đại bùng nổ thông tin, việc sử dụng Internet trở nên
quen thuộc và không thể thiếu trong cuộc sống mỗi người, mỗi quốc gia. Các dịch vụ
trên Internet đã trở nên rất phổ biến, trong đó có email, là dịch vụ nhận/gửi thư điện tử
có chi phí rất thấp, nhanh chóng và hiệu quả nhất. Hằng ngày mỗi người chúng ta đều
có thể nhận được một lượng lớn email, khi email được gửi đến hộp thư, nếu để người
dùng phải đọc tất cả các email thì sẽ tốn rất nhiều thời gian vì trong đó có những email
cần thiết, hữu ích; nhưng cũng có những email vô bổ, chứa nội dung mà ta không quan
tâm, không muốn nhận; ta gọi các email đó là email spam. Ngược lại, những email
không phải spam gọi là non-spam – email hợp lệ được người dùng chấp nhận.
Spam chính là những email được phát tán rộng rãi không theo bất cứ một yêu
cầu nào của người nhận, với số lượng lớn, nhiều nhất là những email quảng cáo, đính

kèm virus, …. Spam đã và đang gây tác hại đến người sử dụng dịch vụ email và tốc độ
đường truyền Internet, gây thiệt hại rất lớn về kinh tế. Với người sử dụng email, spam
gây cho họ cảm giác bực bội và phải mất thời gian và công sức để xóa chúng, đôi khi
bị xóa nhầm và do đó họ còn có thể mất đi những email quan trọng khác. Tốc độ
đường truyền của Internet cũng bị spam làm cho chậm lại vì số lượng spam được
chuyển đi là cực lớn.
Cho dù được nhận diện là “kẻ thù cộng đồng” (public enemy), nhưng spam đã
và đang mang lại lợi nhuận cho một số nhà đầu tư. Trong số 100.000 email spam phát
tán, chỉ cần một email nào có phản hồi là đã có thể bù đắp chi phí đầu tư.
Trần Thị Diễm Trang – CH0901057 Trang 6
Seminar Công nghệ tri thức GVHD: GS-TSKH. Hoàng Kiếm
Trong thời gian vài năm trở lại đây chúng ta đã chứng kiến sự bùng nổ của số
người sử dụng Internet. Và cũng từ đây spam đã phát triển một cách nhanh chóng, do
đó những kỹ thuật ngăn chặn spam phải ngày một nâng cấp và cải tiến hơn và cần có
một hệ thống phân loại hiệu quả đâu là email spam và đâu là email non-spam.
Để ngăn chặn spam, nhiều nhà khoa học, các tổ chức, cá nhân đã nghiên cứu
và phát triển những kỹ thuật phân loại và lọc văn bản nói chung và email nói riêng.
Tuy nhiên, các spammer – những người tạo và phát tán spam – cũng tìm mọi cách
vượt qua các bộ lọc này. Cuộc chiến giữa các spammer và những người chống spam
vẫn đang còn tiếp diễn và dường như không có hồi kết. Thực tế cho thấy, nhu cầu có
một phương pháp và công cụ chống spam hữu hiệu là rất cần thiết. Để giải bài toán
này đã có rất nhiều phương pháp được đưa ra như: Naïve Bayes, K-NN (K-Nearest-
Neighbor), Cây quyết định (Decision Tree), Mạng Neuron nhân tạo (Artificial Neural
Network) và SVM (Support Vector Machine), AdaBoost, …. Mỗi phương pháp đều
cho kết quả khá tốt, tuy nhiên để có được sự so sánh đầy đủ, ở các phần sau chúng ta
sẽ đi vào tìm hiểu từng phương pháp.
Xuất phát từ thực trạng trên, tôi chọn đề tài báo cáo seminar chuyên đề Công
nghệ tri thức là “Ứng dụng công nghệ tri thức trong việc tìm hiểu các phương pháp
phân loại văn bản – email”.
Đề tài thực hiện gồm các chương:

Chương I: Tổng quan
Chương II: Tìm hiểu một số thuật toán phân loại văn bản - email
Chương III: Thuật toán Naïve Bayes và AdaBoosting –
Ứng dụng trong phân loại email
Chương IV: Đánh giá – Kết luận.
* * *
Trần Thị Diễm Trang – CH0901057 Trang 7
Seminar Công nghệ tri thức GVHD: GS-TSKH. Hoàng Kiếm
CHÖÔNG I: TỔNG QUAN
I. Yêu cầu đặt ra
Việc phân loại văn bản (cụ thể giới hạn trong đề tài này là email) và ngăn chặn
email spam là phân biệt được email đó là spam hay non-sam, từ đó sẽ có biện pháp
ngăn chặn được email spam. Hiệu quả việc phân loại spam phải khả quan, tuy nhiên
cần tránh việc cho rằng email non-spam là email spam vì có thể gây hậu quả nghiêm
trọng hơn là khả năng lọc spam thấp. Bởi vì cùng với việc tăng khả năng, hiệu quả
phân loại spam thì khả năng nhận nhầm email non-spam là email spam cũng tỉ lệ theo.
Do đó yêu cầu đặt ra đối với một hệ thống phân loại spam là phải nhận ra được email
spam càng nhiều càng tốt và giảm thiểu lỗi nhận sai email non-spam là spam.
II. Các cách thức con người xử lý với spam
Khi ta nhận được một email mới gửi đến, khi đó ta dựa vào một số đặc điểm
hay thuộc tính nào đó của email để tăng khả năng phân loại chính xác email đó. Các
đặc điểm của một email như: tiêu đề, nội dung, có tập tin đính kèm hay không… Càng
nhiều những thông tin như vậy xác suất phân loại đúng càng lớn, tất nhiên còn phụ
thuộc vào kích thước của tập mẫu huấn luyện.
Hiện nay đã có nhiều công ty, tổ chức, cá nhân phát triển hệ thống với nhiều
cách thức khác nhau để giải quyết vấn nạn spam, như:
- Xây dựng sẵn một danh sách đen (Blacklist) chứa các tên miền mà từ đó
spam được tạo ra và phát tán; các email đến từ các tên miền này hoàn toàn bị khóa
(block out)
- Căn cứ vào header của email (như nơi gửi (from), chủ đề (subject), …) và

loại bỏ những email có địa chỉ xuất phát từ spammer.
- Dựa vào nội dung của email với những dấu vết cho thấy sự tồn tại của email
(như email có quá nhiều dấu chấm than, số chữ cái được viết hoa nhiều một cách bất
bình thường, …)
Tuy nhiên để đối phó với các hệ thống lọc, các spammer sẽ ngày càng tinh vi,
các kỹ thuật cải tiến spam ngày càng được đổi mới, và chính những cải tiến này ngày
càng thôi thúc các spammer trở nên tinh vi và khó lường hơn… Kết quả là hiện nay
Trần Thị Diễm Trang – CH0901057 Trang 8
Seminar Công nghệ tri thức GVHD: GS-TSKH. Hoàng Kiếm
các email spam gần giống với email thông thường. Tuy nhiên email spam có một đặc
điểm không bao giờ thay đổi, đó là bản chất nội dung của nó. Những email spam luôn
có nội dung là quảng cáo sản phẩm hay dịch vụ nào đó. Cho nên đây chính là cơ sở
cho phương pháp lọc spam dựa trên nội dung (content based filterng). Theo đó hệ
thống lọc cố gắng phát hiện ra các ngôn ngữ dùng để quảng cáo thay vì chú ý đến các
chỉ số thống kê của email.
III. Các phương pháp tiếp cận phân loại văn bản - email
1. Ý tưởng của một số phương pháp tiếp cận
Có rất nhiều phương pháp tiếp cận phân loại văn bản - email đã được nghiên
cứu như:
- Complaining to Spammers’ ISPs: Tìm cách tăng chi phí gửi spam của các
spammer bằng những lời than phiền, phản ánh đến các nơi cung cấp dịch
vụ mạng (ISP).
- Mail Blacklists/Whitelists: Một danh sách đen các địa chỉ email hay các
máy chủ email (mail server) chuyên dùng của các spammer sẽ được thiết
lập và dựa vào đó ta có thể ngăn chặn nhận email spam được phát tán từ
những nơi này.
- Mail volume: Bộ lọc sẽ dùng thuật toán để kiểm tra số lượng email nhận
được từ một máy chủ (host) cụ thể trong các lần kết nối sau cùng. Nếu số
lượng email nhận được lớn hơn một ngưỡng nào đó thì các email đó sẽ
được phân loại là spam.

- Signature/Checksum Schemes: Đây là một trong những phương pháp phân
loại email dựa trên nội dung. Khi một email tới thì giá trị
“Signature/checksum” sẽ được tính toán cho mỗi email này và so sánh nó
với giá trị tính được từ những email spam đặc trưng trong những email có
sẵn trên Internet. Email sẽ được xem là spam nếu giá trị
“Signature/checksum” của nó giống với bất kỳ giá trị nào trong cơ sở dữ
liệu.
Trần Thị Diễm Trang – CH0901057 Trang 9
Seminar Công nghệ tri thức GVHD: GS-TSKH. Hoàng Kiếm
- Genetic Algorithms: Bộ lọc dựa trên thuật toán di truyền sử dụng các bộ
nhận dạng đặc trưng để ghi điểm cho mỗi email để phân biệt email có là
spam hay không.
- Rule-Based (Heuristic): Dựa vào luật tìm kiếm các mẫu có dấu hiệu là
spam như các từ và ngữ xác định, hàng loạt các chữ hoa và dấu chấm than,
phần header của email sai định dạng, ngày của email không đúng với thực
tế.
- Challenge-Response: Khi bạn nhận được một email từ người mà chưa hề
gửi cho bạn trước tới giờ thì hệ thống lọc Challenge-Response gửi ngược
lại một email yêu cầu người đó phải đến một trang web và điền đầy đủ
thông tin vào form trước khi email chuyển cho người dùng.
- Machine Learning (Máy học): Áp dụng các phương pháp máy học trong
các bài toán phân loại, đặc biệt là phân loại văn bản vào bài toán phân loại
email. Các thuật toán máy học như: Naïve Bayes, Decision Tree (Cây
quyết định), Maximun Entropy Modeling (Mô hình xác xuất Entropy tối
đại), KNN (K-Nearest-Neighbor), Suppor Vector Machine (Máy vectơ hỗ
trợ), AdaBoost, … đã được sử dụng trong lĩnh vực phân loại văn bản,
nhận dạng, … với hiệu quả cao. Ý tưởng là tìm cách xây dựng một bộ
phân loại nhằm phân loại cho một mẫu mới bằng cách huấn luyện cho
những mẫu đã có sẵn.
Các phương pháp tiếp cận đã nghiên cứu trong bài toán phân loại như: dựa

trên lý thuyết đồ thị, cách tiếp cận sử dụng lý thuyết tập thô, cách tiếp cận thống kê…
Tuy nhiên, tất cả các phương pháp trên đều dựa vào các phương pháp chung là máy
học, đó là: học có giám sát, học không giám sát và học tăng cường.
2. Phương pháp tiếp cận Máy học (Machine Learning)
Đây là phương pháp có hiệu quả cao, đồng thời cũng rất khó bị các spammer
vượt qua. Phương pháp này có những ưu điểm sau:
- Hiệu quả trong lĩnh vực phân loại văn bản, nhận dạng đã được kiểm chứng
là khá cao.
- Thích hợp cho từng người dùng.
Trần Thị Diễm Trang – CH0901057 Trang 10
Seminar Công nghệ tri thức GVHD: GS-TSKH. Hoàng Kiếm
- Có khả năng tự học để phân loại đúng.
- Hướng tiếp cận còn khá mới.
Trong chương tiếp theo sau chúng ta sẽ tìm hiểu một số thuật toán tiếp cận
Machine Learning để thấy được tính chất, các ưu-nhược điểm của từng phương pháp.
Từ đó ta có cơ sở để tìm hiểu sâu hơn, chi tiết hơn vào hai thuật toán phổ biến là Naïve
Bayes và AdaBoost.
* * *
Trần Thị Diễm Trang – CH0901057 Trang 11
Seminar Công nghệ tri thức GVHD: GS-TSKH. Hoàng Kiếm
CHÖÔNG II: TÌM HIỂU MỘT SỐ THUẬT TOÁN
PHÂN LOẠI VĂN BẢN – EMAIL
IV. Thuật toán cây quyết định (Decision Tree)
1. Định nghĩa
Một cây quyết định là một cấu trúc cây, trong đó mỗi node trong biểu thị cho
một phép phân nhánh tương ứng cho một thuộc tính, mỗi nhánh biểu thị cho một kết
quả của một phép thử, các node lá biểu thị cho lớp hoặc các phân bố lớp. Node trên
cùng trên một cây được gọi là node gốc. Để phân lớp một mẫu chưa biết, những giá trị
thuộc tính của mẫu đó được thử ngược lại trên cây quyết định. Một đường dẫn từ gốc
đến một node lá là cơ sở cho việc dự đoán lớp của một mẫu. Cây quyết định có thể dễ

dàng chuyển đổi sang một tập các luật phân lớp.
3. Thuật toán
Cơ sở toán học của cây quyếy định là thuật toán tham lam (greedy algorithm),
thuật toán này đã xây dựng cây quyết định đệ qui từ trên xuống dưới, theo phương
pháp chia để trị. Thuật toán phát sinh cây quyết định dựa vào dữ liệu học như sau:
Dữ liệu vào: Tập dữ liệu D, tập danh sách thuộc tính, tập nhãn lớp
Dữ liệu ra: Mô hình cây quyết định
Thuật toán: Tạocây(Tập dữ liệu E, tập danh sách thuộc tính F, tập nhãn lớp)
1. Nếu điều_kiện_dừng(E,F) = đúng
2. nútlá = CreateNode()
3. nútlá.nhãnlớp=Phânlớp(E)
4. return nútlá
5. Ngược lại
6. Nútgốc = CreateNode()
7. Nútgốc.điềukiệnkiểmtra = tìm_điểm_chia_tốt_nhất(E, F)
8. Đặt V = {v| v thoả điều kiện là phần phân chia xuất phát từ Nútgốc}
9. Lặp qua từng tập phân chia v ∈V
10. Đặt Ev = {e | Nútgốc.điềukiệnkiểmtra(e) = v và e ∈E}
Trần Thị Diễm Trang – CH0901057 Trang 12
Seminar Công nghệ tri thức GVHD: GS-TSKH. Hoàng Kiếm
Đặt F = F \ {các giá trị của điều kiện để phân chia v}
11. Nútcon = Tạocây(Ev, F, tập nhãn lớp)
12. Dừng lặp
13. End if
14. Trả về nútgốc.
Hàm chính
Gọi hàm Tạocây (E, tập danh sách thuộc tính của E, tập nhãn lớp).
Giải thích thuật toán:
Đây là một thuật toán kiểu đệ qui tạo cây quyết định.
- Tại hàm chính, gọi hàm đệ qui Tạocây() với ba tham số vào là tập dữ liệu E,

tập danh sách thuộc tính của E và tập nhãn. Thuật toán làm việc bằng cách đệ qui chọn
giá trị thuộc tính tốt nhất để chia, lưu ý là chọn giá trị của thuộc tính sao cho điều kiện
chia tốt nhất (bước 7), tiếp tục tiến hành mở rộng nút con bằng cách gọi đệ qui cho đến
khi điều kiện dừng (ở bước 1) được thỏa mãn. Dưới đây là phần giải thích chi tiết thuật
toán:
- Dòng đầu tiên sẽ kiểm tra điều kiện dừng, nếu được thỏa mãn nghĩa là đã đệ
qui để tạo ra được đến nút lá. Điều kiện dừng chỉ xảy ra khi:
+ Tất cả các dòng trong tập dữ liệu E thuộc về cùng một lớp duy nhất (1).
+ Không có bất cứ dòng nào trong tập E, điều này có thể xảy ra khi tập con
được tạo ở bước phân chia các tập con là rỗng (2).
Trong trường hợp (1) chỉ việc tiến hành tạo nút lá bằng hàm createNode() và
tiến hành gán nhãn cho nút lá này bằng cách gán nhãn duy nhất cho thuộc tính nhãn
của nút vừa được tạo này.
Trường hợp (2) sẽ trả về nút lá bằng rỗng và tiến hành gán nhãn cho nút cha là
nhãn lớp xuất hiện nhiều nhất như sau:
Nhãn lớp = max (tổng của từng giá trị nhãn lớp riêng biệt trong E).
Hàm Phânlớp(E) thực hiện việc xác định nhãn cho một tập dữ liệu E, nó tự
động xác định và trả về đúng giá trị nhãn cho cả hai trường hợp trên.
- Dòng 3 và 4 xảy ra khi chỉ còn một thuộc tính trong nút cha (lưu ý nút cha là
nút sau khi đã phân chia tạo ra tập dữ liệu D này). Nếu sau khi phân chia trên nút cha
Trần Thị Diễm Trang – CH0901057 Trang 13
Seminar Công nghệ tri thức GVHD: GS-TSKH. Hoàng Kiếm
mà tập D không còn chứa thuộc tính để phân chia, trả về nút lá là giá trị nhãn xuất hiện
nhiều nhất trong D.
- Xét dòng 5, nếu thuật toán chưa thỏa mãn điều kiện để dừng, tiếp tục xét
bằng cách tìm kiếm điểm chia tốt nhất. Để tìm điểm chia tốt nhất cần sử dụng một hàm
đánh giá, kết quả của hàm này sẽ trả về thuộc tính được chọn tương ứng. Về các tiêu
chuẩn đánh giá cũng như chọn điểm chia sẽ được giải thích rõ hơn trong các phần bên
dưới.
- Xét dòng 6, sau khi đã chọn được điểm chia tốt nhất, tiến hành phân chia tập

D thành các tập con Di, cập nhật lại danh sách các thuộc tính.
- Dòng 7 và 8: lặp qua danh sách các tập con Di và tiến hành gọi đệ qui hàm
Tạocây() với tham số mới tương ứng.
Như vậy rõ ràng có thể thấy rằng với khung sườn thuật toán tổng quát trên,
các bước quyết định chính là bước xác định điểm phân chia tốt nhất dựa trên tiêu chí
cho trước và bước tiến hành phân chia. Hai bước này không những quyết định tốc độ
của thuật toán mà quan trọng nhất là tính chính xác của kết quả. Bước kiểm tra điều
kiện dừng tuy cũng có ảnh hưởng đến tốc độ thuật toán nhưng tương đối rất ít so với
hai bước trên.
Trong lý thuyết quyết định, một cây quyết định là một đồ thị những quyết
định và những kết quả có khả năng của chúng (bao gồm cả giá phải trả và độ rủi ro)
được sử dụng để tạo ra một đường đi tới đích. Cây quyết định là một dạng đặc biệt
của cấu trúc cây được xây dựng để trợ giúp việc ra quyết định.
Trong lĩnh vực máy học, cây quyết định là một mô hình dự đoán, có nghĩa là
từ việc quan sát các item để rút ra kết luận về giá trị đích của item đó. Mỗi nút bên
trong tương đương với một biến, mỗi cung đi tới một nút con tương ứng với giá trị có
thể của biến đó. Các là tương ứng với giá trị đích được dự đoán cho các biến. Kỹ thuật
học máy sử dụng việc xây dựng cây quyết định trên tập dữ liệu được gọi là học cây
quyết định hay đơn giản chỉ là cây quyết định.
Cây quyết định được mô tả bằng cách tính toán xác suất có điều kiện. Cây
quyết định cũng có thể được mô tả như là một kỹ thuật tính toán và hỗ trợ toán học, kỹ
Trần Thị Diễm Trang – CH0901057 Trang 14
Seminar Công nghệ tri thức GVHD: GS-TSKH. Hoàng Kiếm
thuật này hỗ trợ việc mô tả, phân loại và khái quát tập dữ liệu đưa vào. Dữ liệu đưa
vào dạng ghi có dạng:
(x, y) = (x1, x2, … ,xk, y )
Biến phụ thuộc y là biến mà chúng ta cố gắng để biết, phân lớp hay tổng
quát hóa, còn các biến x1, x2,… là các biến giúp ta thực hiện công việc đó. Trong bài
toán phân lớp văn bản, x là vector đặc trưng, y là phân lớp cần tìm.
4. Ưu – Nhược điểm của phương pháp cây quyết định

* Ưu điểm:
- Rất dễ hiểu và dễ giải thích: mọi người đều có thể hiểu mô hình cây
quyết định qua một số giải thích tổng quát ban đầu.
- Dữ liệu dùng cho cây quyết định chỉ là những dữ liệu căn bản hoặc có
thể không cần thiết. Một số kỹ thuật khác có thể đòi hỏi dữ liệu chuẩn, tạo
các biến giả và loại bỏ đi các giá trị trống.
- Có khả năng xử lý cả dữ liệu thực và dữ liệu mập mờ. Một số kỹ thuật
khác chỉ sử dụng những tập dữ liệu đặc biệt chẳng hạn như mạng nơron có
thể chỉ sử dụng các biến là số.
- Có thể kiểm chứng mô hình bằng cách thử thống kê.
- Có khả năng thực hiện tốt đối với dữ liệu lớn trong thời gian ngắn: một
lượng lớn dữ liệu có thể được phân tích bằng máy tính cá nhân trong thời
gian ngắn đủ để người sử dụng đưa ra quyết định dựa trên sự phân tích đó.
* Nhược điểm:
- Sử dụng phương pháp cây quyết định có thể xảy ra hiện tượng overfit, tức
là tồn tại một giả thuyết h phù hợp với tập ví dụ huấn luyện nhưng tiên
đoán không chính xác bằng giả thuyết h’ ít phù hợp với tập ví dụ huấn
luyện hơn so với h. Để giải quyết vấn đề này chúng ta phải dùng cách chặt
bớt cây (pruning), bỏ bớt đi các nhánh dữ liệu nhiễu và dư thừa…
- Một vấn đề khác nữa của phương pháp cây quyết định là sự không an định
của thuật toán. Tức là, dù chỉ 1 sự thay đổi nhỏ như thêm đỉnh, giảm đỉnh,
thêm noise, thì kết quả của thuật toán sẽ khác đi rất nhiều.
Trần Thị Diễm Trang – CH0901057 Trang 15
Seminar Công nghệ tri thức GVHD: GS-TSKH. Hoàng Kiếm
V. Thuật toán K-NN (K-Nearest Neighbors algorithm)
1. Giới thiệu
K-NN được sử dụng rất phổ biến trong lĩnh vực Data Mining. K-NN là
phương pháp để phân lớp các đối tượng dựa vào khoảng cách gần nhất giữa đối tượng
cần xếp lớp (Query point) và tất cả các đối tượng trong Training Data.
Một đối tượng được phân lớp dựa vào K láng giềng của nó. K là số nguyên

dương được xác định trước khi thực hiện thuật toán. Người ta thường dùng khoảng
cách Euclidean để tính khoảng cách giữa các đối tượng.
2. Thuật toán K-NN
Thuật toán K-NN được mô tả như sau:
1. Xác định giá trị tham số K (số láng giềng gần nhất)
2. Tính khoảng cách giữa đối tượng cần phân lớp (Query Point) với tất cả các
đối tượng trong training data (thường sử dụng khoảng các Euclidean)
3. Sắp xếp khoảng cách theo thứ tự tăng dần và xác định K láng giềng gần
nhất với Query Point
4. Lấy tất cả các lớp của K láng giềng gần nhất đã xác định
5. Dựa vào phần lớn lớp của láng giềng gần nhất để xác định lớp cho Query
Point
Bộ phân lớp dựa trên thuật toán K người láng giềng gần nhất là một bộ phân
lớp dựa trên bộ nhớ, đơn giản vì nó được xây dựng bằng cách lưu trữ tất cả các đối
tượng trong tập huấn luyện. Để phân lớp cho một điểm dữ liệu mới x, trước hết bộ
phân lớp sẽ tính khoảng cách từ điểm dữ liệu trong tập huấn luyện. Qua đó tìm được
tập N(x, D,k) gồm k điểm dữ liệu mẫu có khoảng cách đến x là gần nhất. Ví dụ nếu
các dữ liệu mẫu được biểu diễn bởi không gian vector thì chúng ta có thể sử dụng
khoảng cách Euclian để tính khoảng cách giữa các điểm dữ liệu với nhau. Sau khi xác
định được tập N(x, D, k), bộ phân lớp sẽ gán nhãn cho điểm dữ liệu x bằng lớp chiếm
đại đa số trong tập N(x, D, k).
Để áp dụng thuật toán K người láng giềng vào tài liệu văn bản, chúng ta sử
dụng hàm tính trọng số cho mỗi lớp theo biểu thức :
score(c|x) = Σ cos(x,x')
Trần Thị Diễm Trang – CH0901057 Trang 16
Seminar Công nghệ tri thức GVHD: GS-TSKH. Hoàng Kiếm
với mọi x' thuộc tập Nc(x, D, k).
Trong đó Nc(x, D, k) là tập con chỉ chứa các đối tượng thuộc lớp c của tập
N(x,D, k).
Khi đó tài liệu x sẽ được phân vào lớp c0 nếu:

score(c0 | x) = Max {score(c | x), c∈C}
5. Ưu – Nhược điểm của phương pháp K-NN
* Ưu điểm:
- Phương pháp K người láng giềng gần nhất là một phương pháp đơn giản,
nhưng đã cho kết quả tốt trong nhiều ứng dụng thực tế.
- Thuật toán này ổn định và sai sót thấp khi số văn bản trong tập văn bản
láng giềng phải lớn.
* Nhược điểm:
- Trong ứng dụng phân loại văn bản với số lượng văn bản rất lớn, thuật toán
này không thực sự tốt khi phải sử dụng quá nhiều bộ nhớ. Có vài cách để
giảm không gian bộ nhớ (như chỉ lưu trữ N văn bản tiêu biểu cho mỗi lớp)
nhưng lại làm ảnh hưởng tới kết quả của thuật toán.
Với những ưu, khuyết điểm như trên, thuật toán cây quyết định và K-NN cũng
không phải là các phương pháp thường được sử dụng trong bài toán phân loại văn bản
nói chung và phân loại email nói riêng. Do đó trong chương kế tiếp chúng ta sẽ tìm
hiểu chi tiết phương pháp phân loại văn bản – email với hai thuật toán mới và phổ biến
hiện nay là Naïve Bayes và AdaBoost.
* * *
Trần Thị Diễm Trang – CH0901057 Trang 17
Seminar Cụng ngh tri thc GVHD: GS-TSKH. Hong Kim
CHệễNG III: THUT TON NAẽVE BAYES V
ADABOOST -
NG DNG TRONG PHN LOI EMAIL
VI. Thut toỏn Naùve Bayes
1. Gii thiu
Phõn loi Naùve Bayes l phng phỏp phõn loi s dng tri thc cỏc xỏc sut
ó qua hun luyn. Phng phỏp ny thớch hp vi nhng lp bi toỏn ũi hi phi d
oỏn chớnh xỏc lp ca mu cn kim tra da trờn nhng thụng tin t tp hun luyn
ban u.
Theo Charles Elkan:

Cho X
1
, , X
n
l cỏc thuc tớnh vi cỏc giỏ tr ri rc c dựng d oỏn
mt lp riờng bit C cho mt mu, tp cỏc lp m mu cú th thuc b l C = {c
1
, c
2
,
, c
m
}. Cho mt mu hun luyn vi giỏ tr cỏc thuc tớnh tng ng l x
1
, , x
n
, d
oỏn mu thuc v lp cC khi xỏc sut P(C=c|X
1
=x
1


X
2
=x
2





X
n
=x
n
) cú giỏ tr
ln nht. S dng cụng thc xỏc sut Bayes ta cú:
P(C=c|X
1
=x
1


X
2
=x
2




X
n
=x
n
)=
)
)|
nn2211
nn2211

xXxXxXP(
cCxXxXxXP(
===
====
P(C=c)
Xỏc sut P(C=c) c tớnh d dng t tp d liu hun luyn. Xỏc sut
P(X
1
=x
1


X
2
=x
2




X
n
=x
n
) khụng thớch hp dựng cho vic quyt nh lp ca C
bi vỡ giỏ tr ny nh nhau i vi mi lp c. Nh vy cn c d oỏn lp ca C l
da vo xỏc sut P(X
1
=x
1



X
2
=x
2




X
n
=x
n
| C=c). Tuy nhiờn vic tớnh toỏn xỏc
sut ny rt phc tp. Mt phng phỏp n gin v c a ra sm nht l phng
phỏp phõn loi Naùve Bayes, theo ú gi thit rng mi X
i
c lp vi cỏc X
j
(i

j), nh
vy ta s cú:
P(X
1
=x
1



X
2
=x
2




X
n
=x
n
| C=c)=

=
==
n
1i
ii
cCxXP )|(
Tht vy, s dng cụng thc xỏc sut Bayes ta cú:
Trn Th Dim Trang CH0901057 Trang 18
Seminar Công nghệ tri thức GVHD: GS-TSKH. Hoàng Kiếm
P(X
1
=x
1


X

2
=x
2




X
n
=x
n
| C=c)
= P(X
1
=x
1
| X
2
=x
2
|



X
n
=x
n
, C=c) P(X
2

=x
2




X
n
=x
n
| C=c)
Bằng cách đệ qui, viết thừa số thứ hai trong tích trên như sau:
P(X
2
=x
2




X
n
=x
n
| C=c) =
P(X
2
=x
2
| X

3
=x
3
|



X
n
=x
n
, C=c) P(X
3
=x
3




X
n
=x
n
| C=c) và cứ tiếp tục
như vậy. Phương pháp phân loại Naïve Bayes giả thiết rằng với mỗi X
i
kết quả tác
động của nó là độc lập với các X
j
khác, như vậy chúng ta thừa nhận rằng:

P(X
1
=x
1
| X
2
=x
2
|



X
n
=x
n
, C=c)= P(X
1
=x
1
|C=c) và tương tự như vậy đối
với X
2
, …, X
n
.
Như vậy xác suất P(X
1
=x
1



X
2
=x
2




X
n
=x
n
| C=c)=
P(X
1
=x
1
| C=c) P(X
2
=x
2
| C=c) …P(X
n
=x
n
| C=c)=

==

n
i
ii
cCxXP )|(
Mỗi một thừa số trong tích trên có thể được tính dễ dàng từ tập huấn luyện ban
đầu, như vậy với phương pháp Naïve Bayes giảm sự phức tạp của việc tính toán giá trị
xác suất P(X
1
=x
1


X
2
=x
2




X
n
=x
n
| C=c)
6. Phân loại email bằng phương pháp Naïve Bayes
Ở đây mỗi mẫu mà ta xét chính là mỗi một email, tập các lớp mà mỗi email có
thể thuộc về là C = {spam, non-spam}
Khi ta nhận được một email, nếu ta không biết một thông tin gì về nó, do đó
khó có thể quyết định chính xác email này là spam hay không.

Nếu như ta có thêm đặc điểm hay thuộc tính nào đó của email thì ta có thể
nâng cao hiệu quả nhận được email là một spam. Một email có nhiều đặc điểm như:
tiêu đề, nội dung, có đính kèm tập tin hay không, … Ta có thể dựa vào các thông tin
này để nâng cao hiệu quả phân loại email spam. Một ví dụ đơn giản: nếu ta biết được
rằng 95% email html là email spam, và ta lại nhận được một email html, như vậy có
thể dựa vào xác suất biết trước 95% email html là email spam để tính được xác suất
email mà ta nhận được là spam, nếu xác suất này lớn hơn xác suất email đó là non-
spam, có thể kết luận rằng email đó là spam, tuy nhiên kết luận này không chính xác
lắm. Nhưng nếu ta có được nhiều xác suất biết trước như vậy, thì kết luận sẽ trở nên
đáng tin cậy hơn. Để có được các xác suất biết trước này, sử dụng phương pháp Naïve
Trần Thị Diễm Trang – CH0901057 Trang 19
Seminar Công nghệ tri thức GVHD: GS-TSKH. Hoàng Kiếm
Bayes huấn luyện mẫu (email) ban đầu, sau đó sẽ sử dụng các xác suất này ứng vào
phân loại một mẫu (email) mới.
a) Phân loại email dựa trên thuật toán Naïve Bayes
Giả thiết mỗi một email được đại diện bởi một vecto thuộc tính đăc trưng x=
(x
1
, x
2
, …, x
n
) với x
1
, x
2
, …, x
n
là giá trị của các thuộc tính X
1

, X
2
,…, X
n
tương ứng trong
không gian vecto đặc trưng
X
. Theo M.Sahamietal ta sử dụng các giá trị nhị phân, X
i
= 1 nếu các đặc điểm của X
i
có trong email, ngược lại X
i
= 0.
Ta tính giá trị tương hỗ MI(X,C) (Mutual Information) mà mỗi một đại diện
của X thuộc về loại C như sau (công thức tính độ tương hỗ MI):
MI(M,C) =


==
==
==
},{
)()(
),(
log).,(
10x
cCPxXP
cCxXP
cCxXP

c

{spam, non-spam}
Sau đó ta chọn các thuộc tính có giá trị MI cao nhất. Các xác suất P(X), P(C),
P(X,C) được tính dựa trên dữ liệu học.
Dựa vào công thức xác suất Bayes và công thức xác suất đầy đủ ta có được
xác suất một email với vecto đặc trưng
x
, thuộc về loại c là:
P(C=c|
X
=
x
) =

−∈
===
===
},{
)|()(
)|()(
spamnonspamk
kCxXPkCP
cCxXPcCP
Với C là e email được xét, c

{spam, non-spam}
Thực tế thì rất khó tính được xác suất P(
X
|C) bởi vì giá trị số lượng của các

vecto rất nhiều và nhiều vecto hiếm khi hay thậm chí không xuất hiện trong tập dữ liệu
huấn luyện. Như đã nói, phương pháp Naïve Bayes giả thiết rằng X
1
, X
2
,…, X
n

những biến cố độc lập, do đó chúng ta có thể tính được xác suất ở trên như sau:
P(C=c | X=x) =



−∈
=
=
===
===
},{
)|()(
)|()(
spamnonspamk
n
1i
ii
n
1i
ii
kCxXPkCP
cCxXPcCP

Với P(X
i
|C) và P(C) được tính dựa trên dữ liệu học, việc tính này dựa vào tập
huấn luyện ban đầu.
Trần Thị Diễm Trang – CH0901057 Trang 20
Seminar Công nghệ tri thức GVHD: GS-TSKH. Hoàng Kiếm
Từ xác suất này, ta so sánh với một giá trị ngưỡng t mà ta cho là ngưỡng để
phân loại email spam hay không, nếu xác suất này lớn hơn t, ta cho email đó là spam,
ngược lại ta xem email đó là non-spam.
b) Chọn ngưỡng phân loại email:
Trong phân loại email, có hai loại sai lầm: sai lầm thứ nhất là nhận một email
là spam mặc dù thực tế nó là non-spam (false positive) và sai lầm thứ hai là nhận một
email là non-spam mặc dù nó là spam (false negative). Rõ ràng, sai lầm thứ nhất là
nghiêm trọng hơn bởi vì người sử dụng có thể chấp nhận một email spam vượt qua bộ
lọc nhưng không chấp nhận một email hợp lệ quan trọng lại bị bộ lọc chặn lại.
Giả sử N  S và S  N tương ứng với hai lỗi sai trên đây. Sử dụng luật quyết
định Bayes dựa trên chi phí, ta giả sử rằng lỗi N  S có chi phí gấp λ lần lỗi S  N,
chúng ta phân loại một email là spam dựa vào tiêu chuẩn sau:
λ>
=−=
==
)|(
)|)(
xXspamnonCP
xXspamCP
Mà P(C=spam|
X
=
x
) = 1 – P(C=non-spam |

X
=
x
)
Nên ta có:
P(C=spam|
X
=
x
)> t với t =
1+λ
λ

t1
t


Như vậy ngưỡng phân loại được chọn là t tùy thuộc vào giá trị λ.
7. Ưu – nhược điểm của phương pháp phân loại Naïve Bayes
* Ưu điểm:
- Một ưu điểm của bộ lọc Bayes là nó cho phép học spam. Nghĩa là, khi có
môt email spam vượt qua được bộ lọc thì người dùng có thể đánh dấu
spam cho email đó và bộ lọc sẽ tự phân tích email spam đó và cập nhật
thêm vào kho ngữ liệu spam.
- Hiệu quả phân loại là khá cao.
- Thời gian huấn luyện nhanh, theo Charles Elkan với e mẫu huấn luyện và
số thuộc tính là f thời gian cần thiết để huấn luyện phân loại Naïve Bayes
là hàm tuyến tính O(ef), không có thuật toán máy học nào có thể khảo sát
với cùng dữ liệu huấn luyện đó nhanh hơn Naïve Bayes.
Trần Thị Diễm Trang – CH0901057 Trang 21

Seminar Công nghệ tri thức GVHD: GS-TSKH. Hoàng Kiếm
- Ngoài những bộ lọc được xây dựng sẵn dựa trên kho ngữ liệu email có
trước, thì với mỗi người dùng sẽ có bộ lọc riêng được xây dựng dựa trên
kho ngữ liệu học email của chính họ. Do đó, việc đưa spam vượt qua được
bộ lọc xây dựng sẵn thì không chắc là nó có thể vượt qua được bộ lọc của
từng người dùng cụ thể.
* Nhược điểm:
- Nhược điểm thứ nhất là việc phải huấn luyện cho nó.
- Nhược điểm thứ hai là hiệu quả phân loại phụ thuộc vào kho ngữ liệu huấn
luyện ban đầu, nếu ngữ liệu không đủ lớn, kết quả phân loại sẽ bị ảnh
hưởng.
- Dữ liệu đã qua huấn luyện là khá nhiều, làm tăng dung lượng lưu trữ.
VII.Thuật toán AdaBoost
1. Giới thiệu
Thuật toán Adaboost (Adaptive Boost), được giới thiệu lần đầu vào năm 1995
bởi Freund và Schapire, là một trong các thuật toán theo phương pháp Boosting.
Boosting là một trong các phương pháp mới nhất được đề xuất dùng để nâng cao khả
năng dự đoán đúng. Boosting được áp dụng trong các bài toán phân loại và hồi qui.
Boosting kết hợp các luật “yếu” (weak rule) có độ chính xác dự đoán thấp để cho ra
một luật có độ chính xác dự đoán cao. Thông thường mỗi một luật yếu là một luật đơn
giản, c1 thể dựa vào đó để dự đoán đồi tượng được xét thuộc về loại nào, tuy nhiên độ
chính xác của dự đoán là không cao. Các luật yếu sẽ được huấn luyện tuần tự dựa trên
các mẫu huấn luyện rất khó dự đoán đúng nếu chỉ căn cứ vào các luật đã có trước. Các
thuật toán Boost gồm: AdaBoost, Uboost, LPBoost, LPUBoost, … Ở đây đề tài sẽ chỉ
tập trung vào AdaBoost để ứng dụng trong lĩnh vực phân loại văn bản.
8. Thuật toán AdaBoost
Mô tả phác thảo thuật toán như sau:
Cho một tập huấn luyện (x
1
, y

1
), (x
2
, y
2
), …, (x
m
, y
m
)
y
i
∈ {-1,+1} là nhãn đúng của mỗi x
i
trong tập X
Với mỗi t, t = 1, …, T
Xây dựng hàm phân phối D
t
(i) tương ứng i= 1 … m
Trần Thị Diễm Trang – CH0901057 Trang 22
Seminar Công nghệ tri thức GVHD: GS-TSKH. Hoàng Kiếm
Chọn một luật yếu h
t
: X  {-1,+1} với lỗi
ε
t
= Pr
Dt
[h
t

(x
i
) ≠ y
i
] là nhỏ nhất bằng thủ tục WeakLearner
Ra: hàm dùng để dự đoán H
Thuật toán sẽ tìm ra một tập các luật yếu bằng cách gọi thực hiện lặp đi lặp lại
một thủ tục WeakLearner vớ số lần T. Những luật yếu này sã được kết hợp tuyến tính
lại để cho ra một luật phân loại mạnh hơn: H(x) =
)x(h
T
1t
t

=
. Thủ tục WeakLearner
dùng để chọn ra luật yếu có lỗi phân loại sai nhỏ nhất tương ứng trong mỗi bước chạy
t= 1, …, T, kết quả là ta có được tập luật đã được huấn luyện gồm T luật yếu. Lỗi xảy
ra khi H(x
i
)

y
i
, thuật toán AdaBoost xây dựng thủ tục WeakLearner chọn lựa luật yếu
sao cho tương ứng với luật yếu được chọn lỗi sai ε được giảm tối đa. Thuật toán tìm
cách duy trì một tập các trọng số tương ứng với tập mẫu huấn luyện. Mức ảnh hưởng
của trọng số với mẫu học i ở lần t là D
t
(i). Trong quá trình học, các trọng số sẽ được

cập nhật động. Nếu phân loại sai trọng số sẽ tăng lên nhấn mạnh những mẫu huấn
luyện bị phân loại sai, ngược lại, trọng số giảm xuống.
9. AdaBoost trong phân loại văn bản nhiều lớp
* Các thuật toán trong AdaBoost
Một trong các lĩnh vực ứng dụng quan trọng của thuật toán AdaBoost là phân
loại văn bản. Trong phân loại văn bản với nhiều lớp, có hai thuật toán AdaBoost mới
nhất là AdaBoost.MH và AdaBoost.MR, trong phạm vi bài báo cáo này tôi chỉ xin tập
trung nghiên cứu tìm hiểu thuật toán AdaBoost.MH.
Xét bài toán phân loại văn bản nhiều lớp (nhãn), X biểu thị tập các văn bản và
Y là tập có giới hạn các nhãn hoặc lớp. Định nghĩa kích thước của Y là
k= |Y|. Trong trường hợp phân loại nhiều lớp, mỗi loại văn bản x

X được gán nhiều
nhãn trong Y. Một ví dụ dễ thấy là phân loại tin tức là một dạng phân loại văn bản
nhiều lớp, mỗi một tin có thể phù hợp với nhiều lớp, chẳng hạn một tin có thể thuộc về
nhiều loại như tin xã hội, kinh tế, văn hóa, … Như vậy mỗi mẫu sẽ được gán nhãn là
một cặp (x,Y) với Y ⊆ Y là một tập các nhãn được gán cho x.
Với Y ∈ Y, định nghĩa Y[l] cho l ∈ Y là
Trần Thị Diễm Trang – CH0901057 Trang 23
Seminar Công nghệ tri thức GVHD: GS-TSKH. Hoàng Kiếm
Y[l] = +1 nếu l ∈Y
-1 nếu l ∉Y
Phân loại nhiều lớp ở đây là tìm cách xếp hạng các nhãn mà x có thể có. Mục
đích của việc huấn luyện là thu được một hàm f: X x Y

R sao cho với mỗi văn bản x,
những nhãn trong Y sẽ được sắp xếp theo thứ tự f(x, ). Như vậy, nếu f(x, l
1
) > f(x, l
2

)
thì l
1
được xem là có thứ hạng ưu tiên xếp loại cao hơn l
2
. Thuật toán huấn luyện được
xem là thành công nếu với mỗi x có tập nhãn tương ứng là Y thì thuật toán sẽ xếp hạng
các nhãn trong Y cao hơn các nhãn không có trong Y.
* Thuật toán AdaBoost.MH phân loại văn bản nhiều lớp:
Cho S là tập mẫu huấn luyện <(x
1
,Y
1),
(x
2
,Y
2
), …, (x
m
,Y
m
)> với x
i
∈X và Y
i
⊆Y.
Ở mỗi bước thực hiện t, thủ tục WeakLearner sẽ chọn một luật yếu h: X x Y

R, dấu
của h(x,l) cho biết nhãn l được gán hay không gán cho x, còn giá trị |h(x,l)| được xem

là độ tin cậy của dự đoán.
Thuật toán AdaBoost.MH phân loại văn bản với nhiều lớp:
Cho (x
1
,Y
1),
(x
2
,Y
2
), …, (x
m
,Y
m
), x
i
∈X và Y
i
⊆Y
Khởi tạo D
1
(i,l) =
mk
1
Với mỗi t= 1, … T
Huấn luyện tập học yếu sử dụng D
t
Chọn một luật yếu h
t
: X x Y  R bằng thủ tục WeakLearner

Chọn
α
t
∈R
Cập nhật
t
ititt
1t
Z
lxhlYliD
liD
)),(][exp(),(
),(
α−
=
+
Z
t
được chọn sao cho D
t+1
là hàm phân phối
Ra: H(x) = sign(f(x)), f(x) =

=
α
T
1t
tt
xh )(
Luật yếu h

t
được chọn sao cho giá trị Z
t
=
)),(][exp(),( lxhlYliD
ititt
m
1i l
α−
∑∑
=

nhỏ nhất.
10. Ứng dụng AdaBoost trong phân loại email
Trần Thị Diễm Trang – CH0901057 Trang 24

×