Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
247,2 KB
Nội dung
S dng thut toỏn Cõy quyt nh v Naùve Bayes trong phõn lp d liu I HC QUC GIA TP. H CH MINH TRNG I HC CễNG NGH THễNG TIN BI THU HOCH MễN MY HC V NG DNG TI: S DNG THUT TON CY QUYT NH V NAẽVE BAYES TRONG PHN LP D LIU GVHD : PGS.TS. V Thanh Nguyờn SVTH : Bựi Lờ Thun MSSV : CH1301062 Lp : Cao hc khúa 8 Thỏng 03/2014 CH1301062 Trang 1 Sử dụng thuật toán Cây quyết định và Naïve Bayes trong phân lớp dữ liệu NHẬN XÉT CỦA GIẢNG VIÊN CH1301062 Trang 2 Sử dụng thuật toán Cây quyết định và Naïve Bayes trong phân lớp dữ liệu MỤC LỤC CH1301062 Trang 3 Sử dụng thuật toán Cây quyết định và Naïve Bayes trong phân lớp dữ liệu LỜI MỞ ĐẦU Trong cuộc sống hiện nay, máy tính đã trở thành công cụ đắc lực hỗ trợ con người giải quyết nhiều vấn đề thực tế. Tuy nhiên, việc giải quyết những vấn đề vẫn còn đòi hỏi những can thiệp của con người: ta cần phát biểu những bài toán về dạng tìm kiếm hoặc dưới dạng logic trước khi sử dụng máy tính làm công cụ giải quyết. Việc phát biểu tri thức cho vấn đề thông thường đòi hỏi chi phí lớn hoặc không thể thực hiện đầy đủ. Điểm khó khăn này xuất phát từ ngay trong bản chất tri thức của con người: con người vốn vẫn chưa hiểu biết đầy đủ về các lĩnh vực liên quan đến mình. Máy học là hướng tiếp cận trong đó thay vì con người phải chỉ ra những tri thức cần thiết để giải quyết bài toán, máy tính sẽ tự động rút trích tri thức này một cách từ những dữ liệu được cung cấp. Máy học mô phỏng quá trình học của con người qua các mức từ đơn giản đến phức tạp: đầu tiên máy tính ghi nhớ những trường hợp đã xuất hiện và cuối cùng học những trường hợp tổng quát chưa từng xuất hiện. Trong một bài toán máy học, đầu vào là một tập dữ liệu huấn luyện bao gồm các mẫu dữ liệu. Mỗi mẫu dữ liệu bao gồm một tập giá trị ứng với các thuộc tính. Tập thuộc tính được chia làm hai phần: thuộc tính quan sát và thuộc tính kết quả. Mục tiêu của máy học là tìm một ánh xạ từ thuộc tính quan sát vào thuộc tính kết quả (tìm mối quan hệ giữa thuộc tính quan sát và thuộc tính kết quả) ứng với tập dữ liệu huấn luyện. Ánh xạ này sẽ được áp dụng lên những mẫu quan sát mới để rút ra kết quả tương ứng. Công nghệMáy học là một trong những phương pháp chính trong khai phá dữ liệu. Nó được sử dụng trong tiến trình khám phá tri thức. Một số lợi ích của máy học: - Các thông tin ngày càng nhiều, hàng ngày ta phải xử lý rất nhiều thông tin đến từ nhiều nguồn khác nhau. Máy học có thể giúp xứ lý và dự báo các thông tin đó bằng cách tạo ra các luất sản xuất từ dữ liệu thu thập. - Ở những nơi không có chuyên gia, máy học có thể giúp tạo ra được các quyết định từ các dữ liệu có được. - Các thuật toán máy học có thể giúp xử lý khi dữ liệu không đầy đủ, không chính xác. - Máy học giúp thiết kế hệ thống huấn luyện tự động (mạng nơrôn nhân tạo) và giải mã mối liên hệ giữa các tri thức được lưu trữ trong mạng từ dữ liệu. Hiện nay, khối lượng thông tin ở các cơ sở dữ liệu, Internet … đã vượt giới hạn rất nhiều, xét về khả năng nhận thức của con người, do vậy, giải quyết vấn đề tách rút CH1301062 Trang 4 Sử dụng thuật toán Cây quyết định và Naïve Bayes trong phân lớp dữ liệu từ khối lượng khổng lồ đó lượng thông tin thực sự cần thiết cho ứng dụng cụ thể, đã trở nên tuyệt đối cần thiết. Trong số các nhiệm vụ phân tích thông tin có nhiệm vụ nhận biết mẫu, dự báo, phân tích trí tuệ đối với các dữ liệu (khai thác dữ liệu - Data Mining) hỗ trợ việc đề ra quyết định, tạo dựng và bổ sung tri thức. Với những yếu tố trên, ứng dụng máy học trong khai thác dữ liệu thực sự đã trở thành một ngành nghiên cứu mang lại rất nhiều lợi ích thực tiễn. Nội dung của bài tiểu luận này tập trung vào việc tìm hiểu phân lớp dữ liệu với các thuật toán phổ biến hiện nay là cây quyết định và Naïve Bayes. Em xin gửi lời cám ơn sâu sắc đến PGS.TS. Vũ Thanh Nguyên đã tận tình giảng dạy, truyền đạt kiến thức, giúp em hiểu hơn về các ứng dụng của máy học, từ đó tạo cho em định hướng để thực hiện bài thu hoạch này. Tuy nhiên do thời gian nghiên cứu có hạn nên bài thu hoạch này không thể tránh khỏi những thiếu sót nhất định, em rất mong nhận được sự góp ý của thầy để có thể hoàn thiện bài thu hoạch một cách tốt nhất. CH1301062 Trang 5 Sử dụng thuật toán Cây quyết định và Naïve Bayes trong phân lớp dữ liệu CHƯƠNG I : MÁY HỌC 1.1 Khái niệm Máy học là một cụm từ dùng để chỉ khả năng một chương trình máy tính để tăng tính thực thi dựa trên những kinh nghiêm đã trải qua hoặc máy học là để chỉ khả năng một chương trình có thể phát sinh ra một cấu trúc dữ liệu mới khác với các cấu trúc dữ liệu cũ. Lợi điểm của các phương pháp máy học là nó phát sinh ra các luật tường minh, có thể được sửa đổi, hoặc được huấn luyện trong một giới hạn nhất định. Máy học là sự tự động của quy trình học và việc học thì tương đương với việc xây dựng những luật dựa trên việc quan sát trạng thái trên cơ sở dữ liệu và những sự chuyển hoá của chúng.Đây là lĩnh vực rộng lớn không chỉ bao gồm việc học từ mẫu, mà còn học tăng cường, học với “thầy”, Các thuật toán học lấy bộ dữ liệu và những thông tin quen thuộc của nó khi nhập và trả về một kết quả câu nói hay một câu ví dụ, một khái niệm để diễn tả những kết quả học. Máy học kiểm tra những ví dụ trước đó và kiểm tra luôn cả những kết quả của chúng khi xuất và học làm cách nào để tái tạo lại những kết quả này và tạo nên những sự tổng quát hóa cho những trường hợp mới. Nói chung, máy học sử dụng một tập hữu hạn dữ liệu được gọi là tập huấn luyện. Tập này chứa những mẫu dữ liệu mà nó được viết bằng mã theo một cách nào đó để máy có thể đọc và hiểu được. Tuy nhiên, tập huấn luyện bao giờ cũng hữu hạn do đó không phải toàn bộ dữ liệu sẽ được học một cách chính xác. Một tiến trình máy học gồm 2 giai đoạn: - Giai đoạn học (learning): hệ thống phân tích dữ liệu và nhận ra sự mối quan hệ (có thể là phi tuyến hoặc tuyến tính) giữa các đối tượng dữ liệu. Kết quả của việc học có thể là: nhóm các đối tượng vào trong các lớp, tạo ra các luật, tiên đoán lớp cho các đối tượng mới. - Giai đoạn thử nghiệm (testing): Mối quan hệ (các luật, lớp ) được tạo ra phải được kiểm nghiệm lại bằng một số hàm tính toán thực thi trên một phần của tập dữ liệu huấn luyện hoặc trên một tập dữ liệu lớn. CH1301062 Trang 6 Sử dụng thuật toán Cây quyết định và Naïve Bayes trong phân lớp dữ liệu 1.2Phân loại Các thuật toán máy học được chia làm 3 loại: học giám sát, học không giám sát và học nửa giám sát 1.2.1Học có giám sát(Supervised Learning) Đây là cách học từ những mẫu dữ liệu mà ở đó các kỹ thuật máy học giúp hệ thống xây dựng cách xác định những lớp dữ liệu. Hệ thống phải tìm một sự mô tả cho từng lớp (đặc tính của mẫu dữ liệu). Người ta có thể sử dụng các luật phân loại hình thành trong quá trình học và phân lớp để có thể sử dụng dự báo các lớp dữ liệu sau này. Thuật toán học có giám sát gồm tập dữ liệu huấn luyện M cặp: S = {(x i , c j )| i=1,…,M; j=1,…,C} Các cặp huấn luyện này được gọi là mẫu, với x i là vector n-chiều còn gọi là vector đặc trưng, c j là lớp thứ j đã biết trước. Thuật toán máy học giám sát tìm kiếm không gian của những giả thuyết có thể, gọi là H. Đối với một hay nhiều giả thuyết, mà ước lượng tốt nhất hàm không được biết chính xác f : x c. Tùy thuộc vào mức độ của thuật toán học giám sát, người ta có những mô hình học giám sát như sau: - Học vẹt (rote): hệ thống luôn luôn được “dạy” những luật đúng, rồi có học hội tụ. - Học bằng phép loại suy (analogy): hệ thống được dạy phản hồi đúng cho một công việc tương tự, nhưng không xác định. Vì thế hệ thống phải hiệu chỉnh phản hồi trước đó bằng cách tạo ra một luật mới có thể áp dụng cho trường hợp mới. - Học dựa trên trường hợp (case-based learning): trong trường hợp này hệ thống học lưu trữ tất cả các trường hợp, cùng với kết quả đầu ra của chúng. Khi bắt gặp một trường hợp mới, nó sẽ cố gắng hiệu chỉnh đến trường hợp mới này cách xử lý trước đó của nó đã được lưu trữ. - Học dựa trên sự giải thích (explanation-based learning), hệ thống sẽ phân tích tập hợp những giải pháp nhằm chỉ ra tại sao mỗi phương pháp là thành công hay không thành công. Sau khi những giải thích này được tạo ra, chúng sẽ được dùng để giải quyết những vấn đề mới. CH1301062 Trang 7 Sử dụng thuật toán Cây quyết định và Naïve Bayes trong phân lớp dữ liệu 1.2.2Học Không giám sát (Unsupervised Learning) Đây là việc học từ quan sát và khám phá. Hệ thống khai thác dữ liệu được ứng dụng với những đối tượng nhưng không có lớp được định nghĩa trước, mà để nó phải tự hệ thống quan sát những mẫu và nhận ra mẫu. Hệ thống này dẫn đến một tập lớp, mỗi lớp có một tập mẫu được khám phá trong tập dữ liệu. Học không giám sát còn gọi là học từ quan sát và khám phá. Trong trường hợp chỉ có ít, hay gần như không có tri thức về dữ liệu đầu vào, khi đó một hệ thống học không giám sát sẽ khám phá ra những phân lớp của dữ liệu, bằng cách tìm ra những thuộc tính, đặc trưng chung của những mẫu hình thành nên tập dữ liệu. Một thuật toán máy học giám sát luôn có thể biến đổi thành một thuật toán máy học không giám sát (Langley 1996). Đối với một bài toán mà những mẫu dữ liệu được mô tả bởi n đặc trưng, người ta có thể chạy thuật toán học giám sát n-lần, mỗi lần với một đặc trưng khác nhau đóng vai trò thuộc tính lớp, mà chúng ta đang tiên đoán. Kết quả sẽ là n tiêu chí phân lớp (n bộ phân lớp), với hy vọng là ít nhất một trong n bộ phân lớp đó là đúng. 1.2.3Học nửa giám sát. Học nửa giám sát là các thuật toán học tích hợp từ học giám sát và học không giám sát. Việc học nửa giám sát tận dụng những ưu điểm của việc học giám sát và học không giám sát và loại bỏ những khuyết điểm thường gặp trên hai kiểu học này. CH1301062 Trang 8 Sử dụng thuật toán Cây quyết định và Naïve Bayes trong phân lớp dữ liệu CHƯƠNG II : PHÂN LỚP DỮ LIỆU 2.1Giới thiệu Phân lớp dữ liệu (classification) là một trong những hướng nghiên cứu chính của khai phá dữ liệu. Thực tế đặt ra nhu cầu là từ một cơ sở dữ liệu với nhiều thông tin ẩn con người có thể trích rút ra các quyết định nghiệp vụ thông minh. Phân lớp dự đoángiátrịcủanhữngnhãnxácđịnh(categoricallabel)haynhữnggiátrịrờirạc (discrete value), có nghĩa là phân lớp thao tác với những đối tượng dữ liệu mà có bộgiá trị là biết trước. Trong những năm qua, phân lớp dữ liệu đã thu hút sự quan tâm các nhà nghiên cứu trong nhiều lĩnh vực khác nhau như học máy (machine learning), hệ chuyên gia (expert system), thống kê (statistics) Công nghệ này cũng ứng dụng trong nhiều lĩnh vực khác nhau như: thương mại, nhà băng, maketing, nghiên cứu thị trường, bảo hiểm, y tế, giáo dục Phần lớn các thuật toán ra đời trước đều sử dụng cơ chế dữ liệu cư trú trong bộ nhớ (memory resident), thường thao tác với lượng dữ liệu nhỏ. Một số thuật toán ra đời sau này đã sử dụng kỹ thuật cư trú trên đĩa cải thiện đáng kể khả năng mở rộng của thuật toán với những tập dữ liệu lớn lên tới hàng tỉ bản ghi. 2.2 Quy trình phân lớp Quá trình phân lớp dữ liệu gồm hai bước 2.2.1 Bước thứ nhất (Learning) + Quá trình học nhằm xây dựng một mô hình mô tả một tập các lớp dữ liệu hay các khái niệm định trước. Đầu vào của quá trình này là một tập dữ liệu có cấu trúc được mô tả bằng các thuộc tính và được tạo ra từ tập các bộ giá trị của các thuộc tính đó. Mỗi bộ giá trị được gọi chung là một phần tử dữ liệu (data tuple), có thể là các mẫu (sample), ví dụ (example), đối tượng (object), bản ghi (record) hay trường hợp (case). + Trong tập dữ liệu này, mỗi phần tử dữ liệu được giả sử thuộc về một lớp định trước, lớp ở đây là giá trị của một thuộc tính được chọn làm thuộc tính gán nhãn lớp hay thuộc tính phân lớp (class label attribute). Đầu ra của bước này thường là các quy tắc phân lớp dưới dạng luậtdạngif-then,câyquyếtđịnh,côngthứclogic,haymạngnơron. CH1301062 Trang 9 Sử dụng thuật toán Cây quyết định và Naïve Bayes trong phân lớp dữ liệu 2.2.2Bước thứ hai (Classification) + Bước thứ hai dùng mô hình đã xây dựng ở bước trước để phân lớp dữ liệu mới. Trước tiên độ chính xác mang tính chất dự đoán của mô hình phân lớp vừa tạo ra được ước lượng. Holdout là một kỹ thuật đơn giản để ước lượng độ chính xác đó. Kỹ thuật này sử dụng một tập dữ liệu kiểm tra với các mẫu đã được gán nhãn lớp. Các mẫu này được chọn ngẫu nhiên và độc lập với các mẫu trong tập dữ liệu đào tạo. + Độ chính xác của mô hình trên tập dữ liệu kiểm tra đã đưa là tỉ lệ phần trăm các các mẫu trong tập dữ liệu kiểm tra được mô hình phân lớp đúng (so với thực tế). Nếu độ chính xác của mô hình được ước lượng dựa trên tập dữ liệu đào tạo thì kết quả thu được là rất khả quan vì mô hình luôn có xu hướng “quá vừa” dữ liệu. Quá vừa dữ liệu là hiện tượng kết quả phân lớp trùng khít với dữ liệu thực tế vì quá trình xây dựng mô hình phân lớp từ tập dữ liệu đào tạo có thể đã kết hợp những đặc điểm riêng biệt của tập dữ liệu đó. + Do vậy cần sử dụng một tập dữ liệu kiểm tra độc lập với tập dữ liệu đào tạo. Nếu độ chính xác của mô hình là chấp nhận được, thì mô hình được sử dụng để phân lớp những dữ liệu tương lai, hoặc những dữ liệu mà giá trị của thuộc tính phân lớp là chưa biết. 2.3 Các kỹ thuật phân lớp Trong mô hình phân lớp, thuật toán phân lớp giữ vai trò trung tâm, quyết định tới sự thành công của mô hình phân lớp. Do vậy chìa khóa của vấn đề phân lớp dữ liệu là tìm ra được một thuật toán phân lớp nhanh, hiệu quả, có độ chính xác cao và có khả năng mở rộng được. Trong đó khả năng mở rộng được của thuật toán được đặc biệt trú trọng và phát triển Có thể liệt kê ra đây các kỹ thuật phân lớp : - Phương pháp dựa trên cây quyết định - Phương pháp dựa trên luật - Phương pháp Naïve Bayes - Mạng Neural. - SVM (hỗ trợ các máy tính vector). - Tập thô CH1301062 Trang 10 [...]... Windy Weak Strong Weak Weak Weak Strong Strong Weak Weak Weak Strong Strong Weak Strong Play No No Yes Yes Yes No Yes No Yes Yes Yes Yes Yes No Trang 21 S dng thut toỏn Cõy quyt nh v Naùve Bayes trong phõn lp d liu 4.4.1 Bc 1 c lng P(Ci) vi C1 = yes, C2 = no v P(xk|Ci) Ta thu c P(Ci): P(C1) = 9/14=0.643 P(C2) = 5/14 = 0.357 Vi thuc tớnh Outlook, ta cú cỏc giỏ tr: sunny, overcast, rain Trong ú P(sunny|Ci)... 19 S dng thut toỏn Cõy quyt nh v Naùve Bayes trong phõn lp d liu CHNG IV : PHNG PHP NAẽVE BAYES 4.1 S lc Naùve Bayes (NB) l phng phỏp phõn loi da vo xỏc sut c s dng rng rói trong lnh vc mỏy hc [Mitchell, 1996] [Joachims, 1997] [Jason, 2001], c s dng ln u tiờn trong lnh vc phõn loi bi Maron vo nm 1961 [Maron, 1961] sau ú tr nờn ph bin dựng trong nhiu lnh vc nh trong cỏc cụng c tỡm kim [Rijsbergen et... i Cỏc bc thc hin thut toỏn Naùve Bayes: Bc 1: Hun luyn Naùve Bayes (da vo tp d liu), tớnh v Bc 2: Phõn lp , ta cn tớnh xỏc sut thuc tng phõn lp khi ó bit trc X Xnew c gỏn vo lp cú xỏc sut ln nht theo cụng thc new CH1301062 Trang 20 S dng thut toỏn Cõy quyt nh v Naùve Bayes trong phõn lp d liu 4.3 Lm trn Laplace trỏnh trng hp giỏ tr P(Xk|Ci) = 0 do khụng cú mu no trong DL hun kuyn tha món t s, ta... 1970], cỏc b lc email [Sahami et al, 1998] 4.2 Thut toỏn Thut toỏn Naùve Bayes da trờn nh lý Bayes c phỏt biu nh sau: p dng trong bi toỏn phõn loi, cỏc d kin gm cú: D: tp d liu hun luyn ó c vector húa di dng Ci: phõn lp i, vi i = {1,2,,m} Cỏc thuc tớnh c lp iu kin ụi mt vi nhau Theo nh lý Bayes: Theo tớnh cht c lp iu kin: Trong ú: l xỏc sut thuc phõn lp i khi bit trc mu X xỏc sut l phõn lp i... lp Xnew = Cỏc giỏ tr cn tớnh P(C1)*P(X|C1) = P (C1) * P(Sunny|y) * P (Cool|y)*P(High|y)*P(Strong|y) = 0.005 P(C2)*P(X|C2) = P (C2) * P(Sunny|y) * P (Cool|y)*P(High|y)*P(Strong|y) = 0.021 Vy Xnew thuc lp C2 (No) CH1301062 Trang 22 S dng thut toỏn Cõy quyt nh v Naùve Bayes trong phõn lp d liu 4.4.3 Lm trn Laplace Bc 1: c lng P(Ci) vi C1 =... *P(Overcast|y)*P(Cool|y)*P(High|y)*P(Strong|y) = 0.011 P(C2)*P(X|C2) = P(C2) *P(Overcast|y)*P(Cool|y)*P(High|y)*P(Strong|y) = 0.005 Vy Xnew thuc lp C1 (Yes) 4.5 Nhn xột 4.5.1 u im D dng ci t Thi gian thi hnh tng t nh cõy quyt nh t kt qu tt trong phn ln cỏc trng hp 4.5.2 Nhc im Gi thit v tớnh c lp iu kin ca cỏc thuc tớnh lm gim chớnh xỏc CH1301062 Trang 23 S dng thut toỏn Cõy quyt nh v Naùve Bayes trong phõn lp d liu... CH1301062 Trang 11 S dng thut toỏn Cõy quyt nh v Naùve Bayes trong phõn lp d liu 3.3 Thut toỏn xõy dng cõy quyt nh í tng chớnh - Phng phỏp tham lam (greedy) - Phõn chia tp mu da trờn thuc tớnh cho kt qu ti u húa tiờu chun Vn - Xỏc nh cỏch phõn chia cỏc mu da trờn o s ng nht ca d liu - Tiờu chun phõn chia: to ra cỏc nhúm sao cho mt lp chim u th trong tng nhúm - Thuc tớnh c chn l thuc tớnh cho o tt... 4/12 P(High|y) = 4/11 P(Normal|y) = 7/11 P(Strong|y) = 4/11 P(Weak|y) = 7/11 Outlook P(Sunny|n) = 4/8 P(Overcase|n) = 1/8 P(Rain|n) = 3/8 Temperature P(Hot|n) = 3/8 P(Mild|n) = 3/8 P(Cool|n) = 2/8 Humidity P(High|n) = 5/7 P(Normal|n) = 2/7 Windy P(Strong|n) = 4/7 P(Weak|n) = 3/7 Bc 2: Phõn loi Xnew = Ta tớnh theo cụng thc lm trn Laplace... vi I = {1, , m} + |Ci,D|, |D|: lc lng ca tp Ci,D v D tng ng + pi l xỏc sut mt mu bt k ca D thuc v lp Ci - Thụng tin k vng phõn lp mt mu trong D l Info (D) = - Thuc tớnh A cú cỏc giỏ tr : {a1, a2, , av} CH1301062 Trang 12 S dng thut toỏn Cõy quyt nh v Naùve Bayes trong phõn lp d liu - Dựng thuc tớnh A phõn chia tp hun luyn D thnh v tp con {D 1, D2, , DV} - Thụng tin cn thit phõn chia D theo thuc...S dng thut toỏn Cõy quyt nh v Naùve Bayes trong phõn lp d liu CHNG III : PHNG PHP PHN LP DA TRấN CY QUYT NH 3.1 nh ngha Cõy quyt nh l mt cu trỳc phõn cp ca cỏc nỳt v cỏc nhỏnh Cú 3 loi nỳt trờn cõy: + Nỳt gc + Nỳt ni b: mang tờn thuc tớnh ca . Trang 10 Sử dụng thuật toán Cây quyết định và Naïve Bayes trong phân lớp dữ liệu CHƯƠNG III : PHƯƠNG PHÁP PHÂN LỚP DỰA TRÊN CÂY QUYẾT ĐỊNH 3.1 Định nghĩa Cây quyết định là một cấu trúc phân cấp. Trang 1 Sử dụng thuật toán Cây quyết định và Naïve Bayes trong phân lớp dữ liệu NHẬN XÉT CỦA GIẢNG VIÊN CH1301062 Trang 2 Sử dụng thuật toán Cây quyết định và Naïve. bớt cây, xác định và loại bỏ bớt các nhánh không ổn định hoặc cá biệt. CH1301062 Trang 11 Sử dụng thuật toán Cây quyết định và Naïve Bayes trong phân lớp dữ liệu 3.3 Thuật toán xây dựng cây quyết