Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
780,06 KB
Nội dung
Ket-noi.com Ket-noi.com Kho Kho tai tai lieu lieu mien mien phi phi TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG BÀI TẬP LỚN HỌC MÁY Đề tài: Phân loại trang Web dựa vào phương pháp Naïve Bayes Sinh viên thực hiện: Bùi Văn Toàn 20092754 CNTT2-K54 Đoàn Xuân Dũng 20090506 CNTT2-K54 Hứa Mạnh Hùng 20091292 CNTT2-K54 Giảng viên hướng dẫn: TS Nguyễn Nhật Quang Hà Nội 12-2013 Học Máy - 2013 Page Ket-noi.com Ket-noi.com Kho Kho tai tai lieu lieu mien mien phi phi MỤC LỤC I Giới thiệu chung……………………………………………………………… …3 II Cơ sở lý thuyết phân loại Naïve Bayes……………………………………… ….3 Phân loại Naïve Bayes………………………………………………… … Phân loại văn Naïve Bayes……………………………… ………5 III Giải tốn…………………………………………………………… Datasets………………………………………………………………………6 Áp dụng Nạve Bayes cho giải toán thực tế …………………… IV Kết cài đặt thử nghiệm………………………………………………… ….8 V Cài đặt demo…………………………………….…………………………… Cài đặt……………………………………………………………………… 2.Demo……………………………………………………………………… 10 VI Kết luận đánh giá………………………………………………………… 12 VII Tài liệu tham khảo…………………………………………………………… 13 Chú dẫn …………………………………………………………………… ……….14 Học Máy - 2013 Page Ket-noi.com Ket-noi.com Kho Kho tai tai lieu lieu mien mien phi phi I Giới thiệu chung Đề tài : Phân loại nội dung Web dựa phương pháp Naïve Bayes - Ngơn ngữ lập trình : Java Thành viên nhóm: Họ tên Bùi Văn Tồn Đồn Xn Dũng Hứa Mạnh Hùng SHSV 20092754 20090506 20091292 Lớp CNTT2-K54 CNTT2-K54 CNTT2-K54 Mục đích: Phân loại nội dung trang Web thuộc lĩnh vực ? Như Giải trí, Xã hội, Công nghệ,… Yêu cầu : - Lĩnh vực phân loại cho trang web phải phù hợp với nội dung - Độ xác tồn hệ thống mức chấp nhận Kịch bản: Đưa vào nội dung Web Hệ thống phân tích nội dung(biểu diễn ) Đánh giá (tính tốn) Phân loại nội dung II Cơ sở lý thuyết phân loại Naïve Bayes Phân loại Naïve Bayes - Là phương pháp học máy áp dụng phổ biến thực tế - Dựa định lý Bayes Biểu diễn toán phân loại: Một tập học D_train, ví dụ học x biểu diễn véctơ n chiều : (x1, x2, x3, ,xn) Một tập xác định nhãn lớp : C={c1, c2, c3,…,cm} Với ví dụ (mới) z, z phân vào lớp ? Mục tiêu: Xác định phân lớp ( phù hợp) z Học Máy - 2013 Page Ket-noi.com Ket-noi.com Kho Kho tai tai lieu lieu mien mien phi phi Giải thuật: Giai đoạn học, sử dụng tập học: Đối với phân lớp (mỗi nhãn lớp) ci ∈ C Tính giá trị xác xuất trước : P(ci) Đối với giá trị thuộc tính xj , tính giá trị xác suất xảy giá trị thuộc tính đố với phân lớp ci : P(xj|ci) Giai đoạn phân lớp, tập ví dụ mới: - Đối với phân lớp ci ∈ C , tính giá trị biểu thức : P(ci) ∏nj=1 P(xj|ci) - Xác định phân lớp z lớp c* : c* = arg max P(ci) ∏nj=1 P(xj|ci) (ci ∈ C) Ví dụ phân lớp Nạve Bayes: Một sinh viên trẻvới thu nhập trung bình mức đánh giá tín dụng bình thường sẽmua máy tính? http://www.cs.sunysb.edu/~cse634/lecture_notes/07classification.pdf Biểu diễn toán phân loại z = (Age = Young, Income = Medium, Student=Yes, Credit_rating = Fair) Có phân lớp c1 (“Mua máy tính”) c2 (“khơng mua máy tính” Học Máy - 2013 Page Ket-noi.com Ket-noi.com Kho Kho tai tai lieu lieu mien mien phi phi Tính giá trị xác suất trước cho phân lớp P(c1) = 9/14 P(c2) =5/14 Tính giá trị xác suất giá trị thuộc tính phân lớp P(Age = Young|c1) = 2/9 P(Income = Medium|c1) = 4/9 P(Student = Yes|c1) = 6/9 P(Credit_rating= Fiar|c1) = 6/9 P(Age = Young|c2) = 3/5 P(Income = Medium|c2) = 2/5 P(Student= Yes|c2) = 1/5 P(Credit_rating= Fair|c2) = 2/5 Tính tốn xác suất xảy ví dụ z phân lớp Đối với phân lớp c1 P(z|c1) = P(Age = Young|c1) P(Income = Medium|c1) P(Student=Yes|c1) P(Credit_rating= Fiar|c1) = (2/9).(4/9).(6/9).(6/9) = 0.044 Đối với phân lớp c2 P(z|c2) = P(Age = Young|c2) P(Income = Medium|c2) P(Student=Yes|c2) P(Credit_rating= Fiar|c2) = (3/5).(2/5).(1/5).(2/5) = 0.019 Kết luận : Anh ta (z) mua máy tính Phân loại văn Naïve Bayes Biểu diễn toán phân loại văn Tập học D_train, ví dụ học biểu diễn văn gắn với nhãn lớp: D = {(dk, ci)} Một tập nhãn lớp xác định: C= {ci} Giai đoạn học Học Máy - 2013 Page Ket-noi.com Ket-noi.com Kho Kho tai tai lieu lieu mien mien phi phi Từ tập văn D_train, trích tập từ khóa (keywords/tems): T= {tj} Gọi D_ci (⊆D_train) tập văn D_train có nhãn lớp ci Đối với phân lớp ci o Tính giá trị xác suất trước phân lớp ci : 𝑃 𝑐𝑖) = |𝐷𝑐𝑖 | |𝐷| o Đối với từ khóa tj, tính xác suất từ khóa tj xuất lớp ci n(dk, tj) : số lần xuất từ khóa tj văn dk Giai đoạn phân lớp văn d Từ văn d, trích tập T_d gồm từ khóa (keywords) tj định nghĩa tập T(T_d ⊆ T) Giả sử : Xác suất từ khóa tj xuất lớp ci độc lập vị trí từ khóa văn P(tj vị trí k|ci) = P( tj vị trí m|ci) , ∀k,m Đối với phân lớp ci, tính giá trị likelihooh văn d ci P(ci) ∏tj∈T_d P(tj|ci) Phân lớp văn d thuộc vào lớp c* c* = arg max P(ci) ∏tj∈T_d P(tj|ci) III Giải toán Bài toán : Phân loại nội dung Web dựa phương pháp Naïve Bayes Datasets Nội dung web thu thập ( lưu vào MySQL) dựa webcrawler(1) Thu thập từ trang http://vietnamnet.vn/ bao gồm: Lĩnh vực Kinh tế Xã hội Chính trị Cơng nghệ Giáo dục Khoa học Thể thao Tổng Học Máy - 2013 Số ghi 758 716 734 747 749 571 686 4961 Page Ket-noi.com Ket-noi.com Kho Kho tai tai lieu lieu mien mien phi phi Mỗi ghi gán nhãn từ 17 theo quy ước nội dung website Lĩnh vực Kinh tế Xã hội Chính trị Cơng nghệ Giáo dục Khoa học Thể thao Nhãn 2 Áp dụng Nạve Bayes cho giải tốn thực tế Tập học: D_train lấy từ tập web thu thập - D_train ~ 33% tập Datasets - Để tránh ví học tập trung, lấy ghi có (id%3)=0 - Gọi D_ci tập web D_train mà có nhãn lớp ci Lĩnh vực Số văn D_train (~33% tổng số tập web) Kinh tế 252 Xã hội 238 Chính trị 244 Cơng nghệ 249 Giáo dục 250 Khoa học 190 Thể thao 228 Tập D= 1651 Mỗi ví dụ học học gán nhãn lớp ci (i= 17 ) Số từ đôi khác D_ci 398499 342393 374066 338250 403408 241999 238120 Giai đoạn học B1 : Trích tập từ khóa tần suất xuất từ tập D_ci Vấn đề xảy bước tập từ lớn, trung bình khoảng 80.000 - 90.000 từ Nguyên nhân chủ yếu xảy vấn đề lập đếm từ văn web Để khắc phục tình trạng ta lấy 1.500 từ có kí tự có tần số cao Lý lấy 1500 từ từ khoảng từ có ý nghĩa việc phân loại mà ta cảm quan mắt thường B2 : Tính P(ci) Học Máy - 2013 Page Ket-noi.com Ket-noi.com Kho Kho tai tai lieu lieu mien mien phi phi Ci P(ci) 238/1651~0.144155 228/1651~0.138098 252/1651~01526348 190/1651~0.1150817 244/1651~0.147789 250/1651~0.1514234 249/1651~01508177 B3: Tính P(tj | ci) theo cơng thức P(tj | ci) = 𝑇ầ𝑛 𝑠ố 𝑐ủ𝑎 𝑡ừ 𝑡𝑗 𝑡𝑟𝑜𝑛𝑔 𝑡ậ𝑝 𝑤𝑒𝑏 𝑐ó 𝑛ℎã𝑛 𝑙ớ𝑝 𝑐𝑖 𝑇ổ𝑛𝑔 𝑠ố 𝑡ừ đơ𝑖 𝑚ộ𝑡 𝑘ℎá𝑐 𝑛ℎ𝑎𝑢 𝑡𝑟𝑜𝑛𝑔 𝑡ậ𝑝 𝐷_𝑐𝑖 Để tránh trường hợp hàm Naive Bayes hội tụ ta tính theo công thức : P(tj | ci) = 𝑇ầ𝑛 𝑠ố 𝑐ủ𝑎 𝑡ừ 𝑡𝑗 𝑡𝑟𝑜𝑛𝑔 𝑡ậ𝑝 𝑤𝑒𝑏 𝑐ó 𝑛ℎã𝑛 𝑙ớ𝑝 𝑐𝑖 𝑇ổ𝑛𝑔 𝑠ố 𝑡ừ 𝑘ℎô𝑛𝑔 𝑝ℎâ𝑛 𝑏𝑖 ệ𝑡 đô𝑖 𝑚ộ𝑡 𝑘ℎá𝑐 𝑛ℎ𝑎𝑢 𝑡𝑟𝑜𝑛𝑔 𝑡ậ𝑝 𝐷_𝑐𝑖 *100 +1 Giai đoạn phân lớp với văn d B1 : Từ văn d, trích từ khóa tj tần xuất d B2 : Phân lớp văn d thuộc vào lớp c* Do xét 1.500 từ có tần xuất cao tập D_train nên xảy trường hợp : Có từ d mà khơng tính xác suất Để giải vấn đề này, trường hợp ta coi P(tj | ci) =1 Nói cách khác, ta bỏ qua từ IV Kết cài đặt thử nghiệm Lĩnh vực Kinh tế Xã hội Chính trị Cơng nghệ Giáo dục Khoa học Thể thao Độ xác tồn hệ thống Học Máy - 2013 Gán nhãn sai (tập huấn luyện 1/3) / 478 0 0 Độ xác lĩnh vực 100% 99.16 % 100% 100% 100% 100% 100% 99.88 % Page Ket-noi.com Ket-noi.com Kho Kho tai tai lieu lieu mien mien phi phi Độ xác lĩnh vực Xã hội đạt : 99.16 % , lĩnh vực khác 100% Xét toàn hệ thống : 4/(4961-1651) ~ 99.88 % Xác định nguyên nhân : Trong văn web gán nhãn “chính trị” phải “xã hội”, nguyên nhân chủ yếu gây tương đồng hai lĩnh vực Việc phân tách rõ ràng tương đối khó, với mức xác hồn tồn chấp nhận Một vài kết cài đặt khác thay đồi kích thước tập huấn luyện Lĩnh vực Gán nhãn sai (tập huấn luyện 1/20) 0/721 / 681 0/698 0/710 0/712 0/543 0/652 99.91% Gán nhãn sai (tập huấn luyện 1/2) 0/379 2/358 0/367 0/374 0/375 0/286 0/343 99.92% Kinh tế Xã hội Chính trị Cơng nghệ Giáo dục Khoa học Thể thao Độ xác tồn hệ thống Nhận xét : Ta thấy để đạt độ xác 0.01% ta phải bỏ chi phí lớn D_train= 50% Datasets Ngược lại với trường hợp tập huấn luyện nhỏ D_train= 1/20 Datasets lại cho kết tốt V Cài đặt demo Cài đặt Các lớp cài đặt DemTu.java : Trích rút tất từ suất xuất tập học TapTuVung.java : Trong tập đầu lớp DemTu.java lấy 1500 kết có tần suất cao tính tần suất theo phương pháp Naive Bayes Classify.java : Lớp sử dụng giai đoạn phân lớp MainUI.java : Lớp dùng để demo< Phân loại văn web cụ thể đưa nhãn lớp ) Học Máy - 2013 Page Ket-noi.com Ket-noi.com Kho Kho tai tai lieu lieu mien mien phi phi 2.Demo Giao diện chính( sử dụng JformDesigner ) Chạy thử nghiệm phân loại thể loại nội dung web thu thập database Cách sử dụng : Nhập nội dung web vào “Noi dung Web thu thập được” Click “Check” hệ thống đưa nhãn lĩnh vực phù hợp với nội dung vừa đưa vào Học Máy - 2013 Page 10 Ket-noi.com Ket-noi.com Kho Kho tai tai lieu lieu mien mien phi phi Giải thích kết Sau đưa vào nội dung web thu thập hệ thống tính hàm Nạve Bayes lĩnh vực, sau chọn giá trị lớn gán nhãn tương ứng Ở ví dụ : Nội dung Web thuộc lĩnh vực “Cơng nghệ” có c* = 2.099 x 10^59 giá trị lớn Học Máy - 2013 Page 11 Ket-noi.com Ket-noi.com Kho Kho tai tai lieu lieu mien mien phi phi VI Kết luận đánh giá Khó khăn gặp phải: Khó khăn: - Việc thu thập tập thử nghiệm lớn tương đối khó khăn Giải : - Làm việc vơi tập thử nghiệm nhỏ gây ảnh hưởng tới độ xác hệ thống Kết đạt được: - Cài đặt thành cơng giải thuật học Nạve Bayes - Hệ thống có độ xác chấp nhân Phân chia cơng việc - Dũng : Tìm hiểu Web Crawler thu thập liệu - Hùng : Code phần tính tần suất từ tập học - Toàn : Các việc lại Hướng phát triển : - Cài đặt thêm số giải thuật học khác để so sánh độ xác hệ thống - Thử nghiệm tập liệu lớn Kết luận : Cài đặt chúng em thử nghiệm không tránh khỏi thiếu sót Chúng em mong nhận góp ý thầy để cài đặt chúng em hoàn thiện Chúng em xin gửi lời cảm ơn chân thành tới thầy Nguyễn Nhật Quang cung cấp nhiều điều kiện thuận lợi cho chúng em hoàn thành tập lớn ! Học Máy - 2013 Page 12 Ket-noi.com Ket-noi.com Kho Kho tai tai lieu lieu mien mien phi phi VII Tài liệu tham khảo Bài giảng L3_Học dựa xác suất - TS Nguyễn Nhật Quang – ĐH Bách Khoa HN Chú giải (1) webcrawler : Trong tập lớn sử dụng Crawler4j , dự án mã nguồn mở java , tham khảo thêm tại: http://code.google.com/p/crawler4j/ Học Máy - 2013 Page 13 ... thống phân tích nội dung(biểu diễn ) Đánh giá (tính tốn) Phân loại nội dung II Cơ sở lý thuyết phân loại Naïve Bayes Phân loại Naïve Bayes - Là phương pháp học máy áp dụng phổ biến thực tế - Dựa. .. chung……………………………………………………………… …3 II Cơ sở lý thuyết phân loại Naïve Bayes? ??…………………………………… ….3 Phân loại Naïve Bayes? ??……………………………………………… … Phân loại văn Nạve Bayes? ??…………………………… ………5 III Giải tốn……………………………………………………………... Fiar|c2) = (3/5).(2/5).(1/5).(2/5) = 0.019 Kết luận : Anh ta (z) mua máy tính Phân loại văn Naïve Bayes Biểu diễn tốn phân loại văn Tập học D_train, ví dụ học biểu diễn văn gắn với nhãn lớp: D = {(dk,