Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
293,17 KB
Nội dung
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU ĐỀ TÀI: ỨNG DỤNG NAÏVE BAYESIAN TRONG KHAI PHÁ DỮ LIỆU – PHÂN LỚP EMAIL GVHD : PGS. TS. Đỗ Phúc Thực hiện: Vưu Văn Tòng - CH1101146 Ứng dụng Naïve Bayesian trong khai phá dữ liệu – phân lớp email Thành phố Hồ Chí Minh - Tháng 10 Năm 2012LỜI MỞ ĐẦU Trong thời đại ngày nay, nhân tố quan trọng quyết định sự thành công chính là kỷ năng phân tích đánh giá, tìm ra cái mới từ những dữ liệu tưởng chừng như vô nghĩa. Hay nói chính xác hơn đó là kỷ năng nắm bắt và khai thác thông tin hiệu quả từ những dữ liệu có sẵn. Tuy nhiên, vấn đề đặt ra là: làm cách nào để khai thác thông tin một cách hiệu quả nhất ? Làm cách nào để đảm bảo độ chính xác của thông tin đã khai phá được ? Làm cách nào có thể áp dụng quá trình khai phá đó vào một lĩnh vực cụ thể ? Để giải quyết các vấn đề trên, lĩnh vực nghiên cứu mới “khám phá tri thức” được ra đời. Nhiệm vụ cơ bản của “khám phá tri thức” là tìm ra những tri thức, những thông tin hữu ích trong cơ sở dữ liệu. “Khám phá tri thức” không có nghĩa là một quá trình tự động hoàn toàn mà là sự tương tác giữa người dung và cơ sở dữ liệu bằng cách sử dụng các công cụ trong toán học và tin học. Nội dung của bài thu hoạch em xin trình bày gồm bốn chương: Chương 1: giới thiệu chung về lĩnh vực “khám phá tri thức”, các khái niệm cơ bản, các phương pháp được áp dụng để khai phá dữ liệu – một bước quan trọng trong khám phá tri thức Chương 2: tìm hiểu về bộ phân lớp Naïve Bayesian Chương 3: ứng dụng bộ phân lớp Naïve Bayesian để phân lớp email Chương 4: những hạn chế và hướng phát triển Em xin bày tỏ lòng biết ơn sâu sắc đến PGS. TS. Đỗ Phúc – người đã hướng dẫn trực tiếp, chỉ bảo tận tình và cung cấp tài liệu về “khám phá tri thức” để em có nền tảng thực hiện bài thu hoạch này. Trong suốt quá trình nghiên cứu, mặc dù đã cố gắng hết sức nhưng chắc chắn bài thu hoạch không tránh khỏi những thiếu sót. Rất mong nhận được những ý kiến đóng góp quý báu từ thầy để bài thu hoạch được hoàn chỉnh hơn. Khai phá dữ liệu và kho dữ liệu Ứng dụng Naïve Bayesian trong khai phá dữ liệu – phân lớp email NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN Khai phá dữ liệu và kho dữ liệu Ứng dụng Naïve Bayesian trong khai phá dữ liệu – phân lớp email NỘI DUNG Khai phá dữ liệu và kho dữ liệu Ứng dụng Naïve Bayesian trong khai phá dữ liệu – phân lớp email DANH SÁCH HÌNH Khai phá dữ liệu và kho dữ liệu Ứng dụng Naïve Bayesian trong khai phá dữ liệu – phân lớp email DANH SÁCH BẢNG Khai phá dữ liệu và kho dữ liệu • Nhận dạng vấn đề • Định nghĩa vấn đề • Thu thập dữ liệu • Tiền xử lý dữ liệu • Khai phá dữ liệu • Tách tri thức • Làm rõ tri thức • Đánh giá tri thức • Sử dụng tri thức Ứng dụng Naïve Bayesian trong khai phá dữ liệu – phân lớp email 1. GIỚI THIỆU CHUNG VỀ KHÁM PHÁ TRI THỨC 1.1. Khám phá tri thức là gì ? Khai phá dữ liệu (data mining) và khám phá tri thức (knowledge discovery) là một khái niệm ra đời vào cuối thập kỷ 80. Nó là sự kết hợp của các lĩnh vực: hệ quản trị cơ sở dữ liệu, thống kê, máy học và các lĩnh vực khác có liên quan nhằm mục đích khám phá, chiết xuất ra những kiến thức hữu ích từ bộ sưu tập cơ sở dữ liệu lớn. Khai phá dữ liệu là một bước con trong quá trình khám phá tri thức. Là một bước mà trong đó các giải thuật cụ thể được thực thi dưới một số điều kiện về tính hiệu quả nhằm tìm ra các “mẫu” (pattern) hoặc “mô hình” (model) của dữ liệu đang được khai phá. 1.2. Tiến trình khám phá tri thức Khám phá tri thức là một tiến trình gồm nhiều bước: Hình 1: Tiến trình khám phá tri thức Bước 1: bước đầu tiên và không thể thiếu. Trong bước này, ta sẽ xác định lĩnh vực cần khám phá là gì? Và mong muốn áp dụng giải thuật gì trong bước 3 dựa trên lĩnh vực cần khám phá và đặc điểm của từng giải thuật. Chẳng hạn, lĩnh vực ta cần khám phá là bệnh sốt, thì nhiệt độ là một trong những nhân tố quan trọng để thu thập Khai phá dữ liệu và kho dữ liệu Ứng dụng Naïve Bayesian trong khai phá dữ liệu – phân lớp email dữ liệu. Mà nhiệt độ lại có miền giá trị liên tục nên ta phải lựa chọn giải thuật phù hợp cho dạng giá trị liên tục này. Bước 2: đây là bước để thu thập dữ liệu. Bước này bao gồm: chọn nguồn dữ liệu, thu thập, khử bỏ dữ liệu bị nhiễu, lựa chọn biện pháp đối với dữ liệu bị thiếu, mất… Bước này chiếm nhiều thời gian nhất trong toàn bộ tiến trình. Và là bước có thể xác định được sự hơn thua của cả tiến trình…Với dữ liệu càng nhiều (và tất nhiên là đúng) thì tri thức được khám phá ra sẽ càng nhiều và càng chính xác. Bước 3: trong bước này, chúng ta sẽ trích xuất ra những “mẫu” hay “mô hình” vốn được ẩn giấu trong dữ liệu bằng cách phương pháp như: phân lớp, gom cụm, mạng nơ-ron…. Một mô hình có thể được xem là “một sự biểu diễn tóm tắt các thành phần ẩn giấu trong dữ liệu một cách có hệ thống”. Thật vậy, sau khi khám phá ra “mô hình” trong dữ liệu thì chúng ta có thể dùng nó kết hợp với một số dữ liệu đầu vào để sinh ra dữ liệu gần như nguyên gốc (mức độ tùy thuộc vào độ tin cậy của mô hình). Một mô hình có thể là một cấu trúc “nếu…thì…” đơn giản. Ví dụ: xét cơ sở dữ liệu lưu lại thông tin của những nhà khoa học (cá nhân) đã đoạt giải Nobel thì người ta rút ra quy luật rằng: nếu là nam, đã kết hôn, khoảng 61 tuổi và sinh vào mùa xuân, đã từng học đại học Harvard và không mang kính thì tỷ lệ đoạt giải Nobel là cao nhất (nguồn: http://www.nobelprize.org) Bước 4: làm rõ và đánh giá tri thức. Việc làm rõ tri thức nghĩa là chuyển những “mẫu” hay “mô hình” đã tìm được ở bước 3 sang dạng “mô tả được và dự đoán được” – 2 mục tiêu quan trọng của tiến trình khám phá tri thức. Trong khi đánh giá tri thức nhằm kiểm tra mức độ chính xác của tri thức. Thông thường, người ta chia tập dữ liệu ban đầu thành hai phần: tập huấn luyện và tập kiểm tra. Sau đó, thực hiện quá trình đánh giá nhiều lần dựa trên mức độ chia khác nhau và lấy trung bình kết quả của những lần chia đó. Ví dụ: lần đầu, ta chia theo tỷ lệ huấn luyện/kiểm tra là 60/40, lần hai, chia theo 70/30… Bước 5: sử dụng những tri thức được khám phá vào thực tế. Thực tế ở đây không có nghĩa là phải liên quan đến máy vi tính. Vì có một số người sử dụng những tri thức này vào cuộc sống và một số người lại đặt những tri thức này vào máy tính để dung các chương trình khám phá. Bước này là đích đến lớn nhất của tất cả tiến trình khám phá tri thức. Khai phá dữ liệu và kho dữ liệu Ứng dụng Naïve Bayesian trong khai phá dữ liệu – phân lớp email 1.3. Các phương pháp khai phá dữ liệu Hình dưới đây thể hiện một mảng 2 chiều của dữ liệu chứa 23 mẫu. Mỗi chấm thể hiện một người nào đó đã từng được ngân hàng cho vay trong quá khứ. Màu khác nhau của mỗi chấm là một sự phân lớp thể hiện khoản vay của người đó trong tình trạng tốt hay xấu (nợ khó đòi). Debt Income have defaulted on their loans good status with the bank Hình 2: Tập dữ liệu đơn giản mô phỏng phân lớp Như đã nói lúc đầu, hai mục đích chính của khai phá dữ liệu là mô tả được và dự đoán được. Dự đoán được nghĩa là việc sử dụng một số biến trong cơ sở dữ liệu để dự đoán một giá trị chưa biết. Mô tả được là việc đi tìm một mẫu lời giải thích rõ ràng, dễ hiểu để mô tả dữ liệu. Dưới đây là các phương pháp khai phá dữ liệu thường được sử dụng: Phân lớp: là việc gắn các đối tượng (có các thuộc tính) và những lớp đã được định nghĩa. Giống như việc gán nhãn cho đối tượng. Hình dưới đây thể hiện việc phân lớp các đối tượng có tình trạng vay tốt và xấu (dữ liệu lấy từ hình 2) Khai phá dữ liệu và kho dữ liệu Ứng dụng Naïve Bayesian trong khai phá dữ liệu – phân lớp email Income Debt Hình 3: Mô phỏng phương pháp phân lớp Các kỹ thuật phân lớp được sử dụng là: Cây quyết định: - Một dạng biểu đồ hình cây - Mỗi nút bên trong cây là một sự kiểm tra dựa trên thuộc tính - Mỗi nhánh là một kết quả của sự kiểm tra đó - Nút là biểu thị nhãn của lớp. - Mục đích chính là có thể phân lớp một mẫu chưa biết bằng cách kiểm tra sự trùng khớp thuộc tính của mẫu dựa trên cây quyết định. Dưới đây là một ví dụ về cây quyết định đối với việc một người nào đó có là khách hang tiềm năng sẽ mua máy tính hay không ? Hình 4: Ví dụ về cây quyết định Khai phá dữ liệu và kho dữ liệu [...]... P(d1|h)*P(d2|h)**P(dn|h) Khai phỏ d liu v kho d liu ng dng Naùve Bayesian trong khai phỏ d liu phõn lp email Tuy nhiờn, ta khụng ỏp dng c cỏch ny trong trng hp mt giỏ tr ca mt thuc tớnh no ú trong mu khụng thuc vo min giỏ tr ca thuc tớnh ú (m x lý vn bn l phn ln xy ra trng hp ny) Vỡ lỳc ú P(D|h) s luụn bng 0, cho dự cỏc giỏ tr ca cỏc thuc tớnh cũn li vn trong min giỏ tr 2.3 B phõn lp Naùve Bayesian B phõn lp Naùve Bayesian. .. phõn lp Naùve Bayesian nh sau: Cho D l mt tp hp cỏc mu m mi mu l mt vector thuc tớnh cú n chiu Cho X l mt mu l mt vector thuc tớnh cng cú n chiu Gi s: s lng lp sn cú l m lp Ký hiu: Ci vi i=1m B phõn lp Naùve Bayesian s d oỏn mu X thuc v lp Ck nu: P(Ci|X) > P(Cj|X) vi Khai phỏ d liu v kho d liu ng dng Naùve Bayesian trong khai phỏ d liu phõn lp email 3 NG DNG NAẽVE BAYESIAN TRONG PHN LP EMAIL 3.1 Gii... hun luyn gi (ch gm nm mu) v thuc v 3 lp: spam, job v family Khai phỏ d liu v kho d liu ng dng Naùve Bayesian trong khai phỏ d liu phõn lp email Hỡnh 8: Hun luyn h thng Mụ hỡnh c lu di tờn l sampletest Sau ú, qua test mode thc hin vic phõn lp cho mt mu d liu no ú: Khai phỏ d liu v kho d liu ng dng Naùve Bayesian trong khai phỏ d liu phõn lp email Mụ hỡnh ó lu D liu cn phõn lp Kt qu phõn lp: d liu thuc... hot ng da trờn vic phõn tớch tiờu , ni dung ca email bit c mt email thuc loi gỡ: cụng vic, spam, du lchM tiờu hay ni dung email li l nhng on vn bn Nh vy, cụng vic phõn lp email li a v bn cht ca mt loi khai phỏ d liu ú l khai phỏ vn bn (text mining) Trong phm vi bi thu hoch ny, em xin trỡnh by quỏ trỡnh ci t b phõn lp Naùve Bayesian n gin phõn lp vn bn (email) 3.2 Mụi trng v ti nguyờn - Nn tng: ng... duy nht Khai phỏ d liu v kho d liu ng dng Naùve Bayesian trong khai phỏ d liu phõn lp email - Lp ca mu l mt t u tiờn trong cựng dũng ca mu d liu Cỏc mu cỏch nhau bi du xung dũng trong window (\r\n) Vớ d: SPAM Register account and get 100$ free JOB We are pleasure to offer you the position of software engineer Ch in m l lp ca mu Giao din hun luyn trong ng dng nh sau: Danh sỏch nhón d nh cú trong h... gin l c s d liu hng húa vi cỏc ct l mó húa n v hng húa, cũn cỏc dũng l danh sỏch hng húa trong mt húa n: Khai phỏ d liu v kho d liu ng dng Naùve Bayesian trong khai phỏ d liu phõn lp email Ta thy rng, h cú bỏnh mỡ xut hin trong mt húa n no ú thỡ b cng xut hin trong húa n ú iu ny dn ti mt lut kt hp n gin: Bỏnh mỡ b Trong tỡm lut kt hp cú hai i lng cn chỳ ý l h tr (ký hiu: support(AB)) v tin cy (ký... cỏc phn nh: ng phỏp, cm t Khai phỏ d liu v kho d liu ng dng Naùve Bayesian trong khai phỏ d liu phõn lp email 5 TI LIU THAM KHO Danh sỏch website: [1] http://en.wikipedia.org/wiki /Bayesian_ probability [2] http://en.wikipedia.org/wiki /Naive_ Bayes_classifier [3] http://www.statsoft.com/textbook /naive- bayes-classifier/ Danh sỏch giỏo trỡnh v sỏch in t [4] PGS TS Phỳc Silde Khai Phỏ D Liu v Kho D Liu... luyn Khai phỏ d liu v kho d liu ng dng Naùve Bayesian trong khai phỏ d liu phõn lp email 3.3.2.2 Thnh phn dựng phõn lp Sau khi h thng c hun luyn, h thng t ng to ra cỏc mụ hỡnh ln sau s dng m khụng cn phi hun luyn li Quỏ trỡnh phõn lp s ng dng gii thut Naùve Bayesian Cỏc bc nh sau: - - Ngi dựng chn mt mụ hỡnh phõn lp Vớ d: mụ hỡnh phõn lp email theo 2 lp: hi tho hoc khụng hoc mụ hỡnh phõn lp email. .. tng s dũng trong c s d liu (2/3 = 66.6%) cũn tin cy l s dũng cha c bỏnh mỡ v b trờn tng s dũng cú cha bỏnh mỡ (2/2 = 100%) Mt lut kt hp l hp l khi tha món c minsupport ( h tr nh nht) v minconfidence ( tin cy nh nht) minsupport v minconfidence c cung cp bi ngi dựng tựy vo lnh vc v kinh nghim Khai phỏ d liu v kho d liu ng dng Naùve Bayesian trong khai phỏ d liu phõn lp email 2 B PHN LP NAẽVE BAYESIAN. .. (nhng t khụng cú ý ngha trong vn bn cn phõn tớch nh: the, a, an, is) o Tỏch thnh cỏc t riờng bit to thnh tỳi t (tokenization) o Mó húa mi mu trong training data thnh mt vector cú giỏ tr nh phõn da trờn tỳi t Vớ d: tỳi t cú 5 t thỡ vector cú 5 chiu, mi chiu nhn cỏc giỏ tr 0 (t tng ng trong tỳi t khụng xut hin trong mu) hoc 1 (t tng ng trong tỳi t xut hin trong mu) o To thnh file trong th mc models lu . dữ liệu Ứng dụng Naïve Bayesian trong khai phá dữ liệu – phân lớp email NỘI DUNG Khai phá dữ liệu và kho dữ liệu Ứng dụng Naïve Bayesian trong khai phá dữ liệu – phân lớp email DANH SÁCH HÌNH Khai. hơn. Khai phá dữ liệu và kho dữ liệu Ứng dụng Naïve Bayesian trong khai phá dữ liệu – phân lớp email NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN Khai phá dữ liệu và kho dữ. lớp email DANH SÁCH HÌNH Khai phá dữ liệu và kho dữ liệu Ứng dụng Naïve Bayesian trong khai phá dữ liệu – phân lớp email DANH SÁCH BẢNG Khai phá dữ liệu và kho dữ liệu • Nhận dạng vấn đề • Định