Khai thác dữ liệu là tập hợp những phương pháp từ các chuyên ngành xác suất thống kê, phân tích dữ liệu, máy học, trí tuệ nhân tạo, hiển thị dữ liệu và cơ sở dữ liệu, nhằm khám phá tri t
Trang 1-BÀI THU HOẠCH MÔN HỌC KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
ĐỀ TÀI KHAI PHÁ DỮ LIỆU MỘT SỐ BÀI TOÁN VỀ
Trang 3MỞ ĐẦU 1
Chương 1: GIỚI THIỆU VỀ KHÁM PHÁ TRI THỨC VÀ KHAI MỎ DỮ LIỆU 2
1.1 Sơ lược quá trình hình thành khám phá tri thức và khai mỏ dữ liệu 2
1.2 Khám phá tri thức và khai thác dữ liệu 4
Chương 2: CÂY QUYẾT ĐỊNH 7
2.1 Các lớp giải thuật học 7
2.2 Giải thuật học cây quyết định 7
2.3 Giải thuật học cây quyết định gồm 2 bước lớn 8
2.4 Chọn thuộc tính phân hoạch 8
2.5 Tính chất của độ đo thuần khiết: 3 tính chất 12
2.6 Tính chất của entropy 12
Chương 3: LUẬT KẾT HỢP 13
3.1 Giới thiệu 13
3.2 Các định nghĩa 14
3.3 Giải thuật luật kết hợp APRIORI 16
Chương 4: TÌM HIỂU KỸ THUẬT PHÂN LỚP MỚI SVM 19
4.1 Giới thiệu máy học véctơ hỗ trợ SVM 19
4.2 Giải thuật máy học SVM 19
4.3 Ứng dụng của SVM 26
4.4 Demo chương trình 27
Chương 5: Ý TƯỞNG ỨNG DỤNG KHAI MỎ DỮ LIỆU ĐỂ LỌC THƯ RÁC 31
5.1 Những tiện ích của thư điện tử (Email) 31
5.2 Những vấn nạn của thư rác (Spam) 31
5.3 Những thống kê về tổn thất do thư rác gây ra 31
5.4 Ý tưởng của việc lọc thư rác 31
5.5 Giải thuật MNB (Multinomial Nạve Bayes) 32
5.6 Giải thuật 33
5.7 Chuẩn bị dữ liệu 33
5.8 Tiêu chí đánh giá 33
Trang 5MỞ ĐẦU
Khai thác dữ liệu được biết là một môn chuyên ngành rất quan trọng đối với chương trình đào tạo cử nhân, kỹ sư và thạc sĩ công nghệ thông tin Khai thác dữ liệu là tập hợp những phương pháp từ các chuyên ngành xác suất thống kê, phân tích dữ liệu, máy học, trí tuệ nhân tạo, hiển thị dữ liệu và cơ sở dữ liệu, nhằm khám phá tri thức tiềm ẩn dữ liệu lớn
Khai thác dữ liệu được ứng dụng nhiều trong các bài toán thực tế, nó có đến hàng trăm giải thuật Trong bài tiểu luận này em xin trình bài sơ lược về khám phá tri thức, khai thác dữ liệu và một số giải thuật quan trọng trong Khai thác dữ liệu Qua đây được gửi lời cảm ơn sâu sắc đến PGS.TS Đỗ Phúc, người đã tận tâm truyền đạt những kiến thức nền tảng cơ bản cho chúng em về môn học “Khai thác dữ liệu” và cũng xin gửi lời cảm ơn đến TS Đỗ Thanh Nghị (Trường ĐH Cần Thơ) người đã cung cấp cho em những tài liệu về Khai mỏ dữ liệu Bên cạnh đó cũng không thể không nhắc đến công lao trợ giúp không mệt mỏi của các chuyên gia cố vấn qua mạng thuộc Trung tâm phát triển CNTT – ĐH Quốc gia TP.HCM và toàn thể các bạn bè học viên cùng lớp
Trang 6Chương 1 GIỚI THIỆU VỀ KHÁM PHÁ TRI THỨC VÀ KHAI MỎ DỮ LIỆU1.1 Sơ lược quá trình hình thành khám phá tri thức và khai mỏ dữ liệu
Trong những 1990, cuộc cách mạng kỹ thuật số cho phép số hóa thông tin dễ dàng
và chi phí thấp, thêm vào đó là sự phát triển của công nghệ thông tin về phần cứng lẫn phần mềm, công nghệ truyền thông, Web, internet đã góp phần đưa máy tính vào các sinh hoạt thường nhật của con người Tất cả các hoạt động kinh doanh, vui chơi giải trí, nghiên cứu khoa học, giáo dục, truyền thông đều có sự hỗ trợ của máy tính Từ đó, kết quả là dữ liệu ngày càng lớn và con người tìm ra các thiết bị lưu trữ trong cơ sở dữ liệu như băng từ, đĩa từ
Từ năm 1999, Giáo sư P.Lyman và các cộng sự của ông ở Đại học Berkeley đã tiến hành thống kê dữ liệu được sinh ra hằng năm trên toàn cầu
Kết quả chỉ trong năm 2002-2003 (tham khảo ở địa chỉ http:www.sims berkeley.edu/research/projects/how-much-info-2003), dữ liệu toàn cầu tăng 5
Exabytes(5.1018) Dữ liệu tăng 2 lần trong vòng 9 tháng
Những số minh chứng của sự bùng nổ cơ sở dữ liệu trong cuộc sống hằng ngày:
- Một số dữ liệu thiên văn khoa học
+ Eroby’s Very Long Base Line Interforometry (VLBI)
+ 16 kính thiên văn (mỗi kính thu 1/Gigabit trên giây dữ liệu Phân tích dữ liệu trong 25 ngày, kho dữ liệu quá lớn vài trăm Terabytes)
- Các cơ sở dữ liệu khoa học
+ NSA: Hàng triệu văn bản nói về khủng bố
+ Merck: Hàng triệu cấu trúc phân tử hóa học
+ E1 nino: vài trăm Gigabytes
- Cơ sở dữ liệu truyền thông
+ AT&T: Tiếp nhận 275 cuộc gọi mỗi ngày
- Cơ sở dữ liệu thương mại
+ Rất nhiều công ty hiện đang duy trì các kho dữ liệu khổng lồ về các giao dịch của khách hàng Một kho dữ liệu tương đối nhỏ thôi cũng có thể lưu trữ hơn một triệu giao dịch
+ Phục vụ cho kế hoạch đầu tư và phát triển
+ France Telecom: 30 Terabyte thông tin về khách hàng
Trang 7+ Walmart: 20 triệu giao dịch mỗi ngày.
- Dữ liệu về Word wide
+ Google: Tiếp nhận hơn 4 tỉ yêu cầu tìm kiếm / ngày, lưu trữ hàng trăm Terabytes dữ liệu
Vì kho dữ liệu quá lớn nên đòi hỏi cần khai thác những tri thức tìm ẩn
Vấn đề đặt ra là làm sao chúng ta có thể rút trích tri thức quan trọng từ các kho dữ liệu khổng lồ Các tri thức phục vụ cho tổ chức cơ quan bao gồm việc phát hiện quan trọng trong khoa học, các dự báo chính xác về thời tiết và các thảm họa tự nhiên, những tri thức cho ta xác định được nguyên nhân và phương pháp điều trị các bệnh hiểm nghèo,
… Sự ra đời của công nghệ khám phá tri thức và khai mỏ dữ liệu trong những năm gần đây nhằm đáp ứng các nhu cầu cần thiết của các tổ chức, cơ quan, công ty về phát triển tri thức từ các kho dữ liệu khổng lồ và áp dụng nhiều dữ liệu khác nhau
Các ứng dụng thành công của công nghệ khai mỏ dữ liệu có thể tìm thấy trong nhiều lĩnh vực như: tiếp thị, ngân hàng, bảo hiểm, y tế, sinh học, phát hiện gian lận, tìm kiếm thông tin, lọc thư rác, phân loại văn bản
Tạp chí về công nghệ môi trường MIT số ra tháng 7 năm 2001 cho rằng khai mỏ dữ liệu là một trong 10 công nghệ nổi bật nhất của thế kỷ XXI
Hình 1.1: Lĩnh vực ứng dụng thành công của khai mỏ dự liệu
Trang 81.2 Khám phá tri thức và khai thác dữ liệu
Công nghệ khám phá tri thức từ dữ liệu được định nghĩa là sự trích xuất từ dữ liệu những thông tin hữu ích là tiềm ẩn và chưa được biết đến Khai thác dữ liệu là một bước quan trọng, là quá trình khám phá tri thức từ dữ liệu Khai thác dữ liệu được phân tích và khảo sát, phân tích một lượng lớn dữ liệu nhằm phát hiện ra các mẫu hoặc các luật có ý nghĩa
Hình 1.2: Quá trình khám phá tri thức
Quá trình khám phá tri thức mô tả trong hình 1.2 là một quá trình lặp phức tạp, sử dụng nhiều cơ sở dữ liệu, máy học, phương pháp thống kê trong phân tích dữ liệu, hiển thị dữ liệu, tri thức nhân tạo, nhằm tìm ra những tri thức từ kho dữ liệu khổng lồ
Hình 1.3: Các lĩnh vực liên quan đến khám phá tri thức và khai thác dữ liệu
Quy trình khám phá tri thức bao gồm 3 bước chính: tiền xử lý khai thác dữ liệu và đánh giá kết quả Từ mục tiêu đề ra của ứng dụng, ở bước tiền xử lý chúng ta cần thực hiện:
- Tập hợp dữ liệu từ nguồn dữ liệu khác nhau
- Chọn dữ liệu cần thiết cho mục tiêu đề ra, mẫu tin, trường dữ liệu
Trang 9- Biểu diễn dữ liệu, chuyển đổi kiểu sao cho phù hợp với giải thuật khai mỏ dữ liệu
mà bước tiếp theo được sử dụng
- Làm sạch dữ liệu khắc phục đối với trường dữ liệu rỗng, dư thừa hoặc dữ liệu rỗng không hợp lệ, có thể tinh giảm dữ liệu hơn
Sau khi đã tiến hành xử lý dữ liệu xong, đến bước khai mỏ dữ liệu tiến hành xây dựng các mô hình với sự hỗ trợ của:
+ Máy học
+ Trí tuệ nhân tạo
+ Phân tích dữ liệu nhiều chiều bằng phương pháp thống kê
+ Phương pháp trực quan hiển thị dữ liệu
Bước khai mỏ dữ liệu được xem là bước trung tâm của quá trình khám phá tri thức Công việc rất phức tạp, lặp đi lặp lại các công việc như: xây dựng mô hình, tạo tri thức về
dữ liệu, kiểm định lại mô hình, nếu chưa đạt thì phải xây dựng mô hình khác
Khai thác dữ liệu tập trung giải quyết các vấn đề cơ bản như phân lớp, truy hồi, gom nhóm và luật kết hợp
Phân lớp: Xây dựng mô hình phân loại dựa trên tập dữ liệu học có nhãn (lớp).
Ví dụ: Chúng ta có sẵn tập dữ liệu thư điện tử, mỗi thư có nhãn là thư rác hay thư
bình thường, mục tiêu là xây dựng mô hình phân lớp tập dữ liệu thư điện tử thành thư rác hay thư bình thường để khi có một thư điện tử mới đến thì mô hình dự báo được là thư này có phải là thư rác hay không?
Hồi quy: Xây dựng mô hình phân loại trên tập dữ liệu học có nhãn (lớp) là giá trị
liên tục
Ví dụ: Người ta xây dựng mô hình báo cáo mực nước sông MêKông (kiểu số thực)
từ các yếu tố như thời tiết, mùa
Gom nhóm: Xây dựng mô hình gom cụm tập dữ liệu học (không có nhãn) sao cho
các dữ liệu cùng nhóm có các tính chất tương tự nhau và dữ liệu của hai nhóm khác nhau
có các tính chất khác nhau
Ví dụ: Chúng ta cần gom nhóm học sinh trong một lớp sao cho các học sinh cùng
nhóm học giỏi cùng ban (khoa học xã hội, khoa học tự nhiên) Gom nhóm cũng như vấn
đề học không giám sát
Luật kết hợp: Phát hiện mối liên quan giữa các biến của dữ liệu, chẳng hạn luật kết hợp có thể phát quy luật như một khách hàng mua bơ, bánh mì thì cũng mua sữa.
Trang 10Sau bước khai mỏ dữ liệu, tiếp đến là đánh giá tri thức sinh ra từ việc tiền xử lý và khai mỏ dữ liệu Kiểm định kết quả dựa vào mục tiêu ban đầu của ứng dụng Nghĩa là chỉ
có người sử dụng hoặc chuyên gia về lĩnh vực mới có khả năng đánh giá được tri thức sinh ra Vì vậy, kết quả sinh ra từ quá trình khám phá tri thức cần dễ hiểu, dễ dịch kết quả
để giúp người sử dụng hoặc chuyên gia có thể đánh giá và hiểu được kết quả sinh ra Nếu kết quả không đạt được so với mục tiêu đề ra, người ta có thể quay lại các bước tiền xử lý hay khai mỏ dữ liệu để lặp lại quá trình khám phá tri thức
Những giải thuật trong 10 giải thuật quan trọng trong khai mỏ dữ liệu bao gồm:
7 Giải thuật gom cụm kMeans
8 Luật kết hợp có tên là Apriori
Trang 11Chương 2: CÂY QUYẾT ĐỊNH
Cây quyết định được biết như là hàng đầu trong nhóm 10 giải thuật quan trọng của khai mỏ dữ liệu
2.1 Các lớp giải thuật học
- Kết quả sinh ra dễ dịch (if… then)
- Khá đơn giản, nhanh, hiệu quả được sử dụng nhiều
- Liên tục trong nhiều năm qua, cây quyết được bình chọn là giải thuật được dùng nhiều nhất và thành công nhất
- Giải quyết các vấn đề của phân loại, hồi qui
- Làm việc cho dữ liệu số và loại
- Được ứng dụng thành công trong hầu hết về phân tích dữ liệu, phân loại text, spam, phân loại gien
- Có rất nhiều giải thuật sẵn dụng (Quinlan, 1993), (CART, 1984)
2.2 Giải thuật học cây quyết định
- Nút là được gán nhãn tương ứng với góc dữ liệu
- Nút trong được tích hợp với điều kiện kiểm tra để rẽ nhánh
Một luật quyết định có dạng IF-THEN được tạo ra từ việc thực hiện trên các đường dẫn được thực hiện AND trên các điều kiện được thực hiện trên nút gốc đến nút lá
Ví dụ: Mô hình cây quyết định được xây từ việc học trên tập dữ liệu weather.
Dữ liệu weather dựa trên các thuộc tính (Outlook, Temp, Humidity, Windy), quyết định (play, no)
Hình 2.1: Tập dữ liệu weather
Trang 12Hình 2.2: Cây quyết định cho tập dữ liệu weather
Cây có 5 nút lá tương ứng với năm luật quyết định sau đây:
+ IF (Outlook=sunny) AND (Humidity=high) THEN Play=No
+ IF (Outlook=sunny) AND (Humidity=normal) THEN Play=Yes
+ IF (Outlook=overcast) AND THEN Play=Yes
+ IF (Outlook=rain) AND (Windy=True) THEN Play=No
+ IF (Outlook=rain) AND (Windy=false) THEN Play=Yes
2.3 Giải thuật học cây quyết định gồm 2 bước lớn
2.3.1 Xây dựng cây (Top-down)
2.4 Chọn thuộc tính phân hoạch
Ở mọi nút được đánh giá dựa trên phân tích dữ liệu học tốt nhất có thể:
Việc đánh giá dựa trên:
- Độ lợi thông tin, information gain
- Information gain radio
- Chỉ số gini, gini index (CART)
Trang 13Thuộc tính nào tốt?
- Cho ra kết quả là cây nhỏ nhất
- Heuristics: Chọn thuộc tính sinh ra các nút “purest” thuần khiết
- Độ lớn thông tin: Tăng với giá trị trung bình thuần khiết của các tập con dữ liệu
mà thuộc tính sinh ra
- Chọn thuộc tính có lợi thông tin lớn nhất
Độ lớn thông tin
- Thông tin được đo bằng bits
+ Cho một phân phối xác xuất, thông tin cần thiết để dự đoán một sự kiện là entropy
+ Công thức tính entropy
entropy(p 1, p 2 … p n )= -p 1 log p 1 -p 2 log p 2 -….-p n log p n
Ví dụ: Tính thuộc tính của outlook
Trang 14Độ lợi thông tin của outlook
trước khi phân hoạch) - (sau khi phân hoạch)
gain("Outlook") = info([9,5]) - info([2,3], [4,0], [3,2]) = 0.940 - 0.693
Trang 15info([6,1] ) = entropy(6/7,1/7) = - 6/ 7 log(6/7) -1/7 log(1/7)=0.
độ lợi thông tin của thuộc tính humidity
info([9,5] ) - info([3,4] , [6,1])= 0.940 -0.788 =0.152
Độ lợi thông tin thông tin của các thuộc tính
(trước khi phân hoạch) - (sau khi phân hoạch)
Giải thuật học cây quyết định
Trang 16Phân hoạch dừng khi dữ liệu không thể phân hoạch, nhãn được gán cho lớp lớn nhất chứa trong nút lá.
2.5 Tính chất của độ đo thuần khiết: 3 tính chất
- Khi 1 nút là thuần khiết thì độ đo nên bằng 0
- Khi độ hỗn loạn là maximal thì độ đo thuần khiết phải maximal
- Độ đo phải có tính chất multistage
measure([2 ,3,4]) = measure([2 ,7]) + (7/9) x measure([3 ,4])
entropy là hàm thỏa mãn các tính chất trên!
Đơn giản hóa trong tính toán
Info([2,3,4]) = -2/9xlog(2/9) - 3/9xlog(3/9) - 4/9xlog(4/9)
= [- 2log2 - 3log3- 4log4 + 9log9]/9
Chú ý: thay vì tính cực đại độ lợi thông tin, chúng ta có thể chỉ tính cực tiểu thông
tin
Thuộc tính có nhiều giá trị phân nhánh
- Thuộc tính có nhiều giá trị phân nhánh
- Tập con thường có tính thuần khiết nếu có nhiều giá trị
+ Độ lợi thông tin: thường là những thuộc tính có nhiều giá trị phân nhánh
+ Điều này thường dẫn đến overfitting
Trang 17Chương 3: LUẬT KẾT HỢP3.1 Giới thiệu
Trong ứng dụng thực tế, người ta có thể cần khám phá hay phát hiện mối liên quan giữa các biến của dữ liệu Mối liên quan phải mang tính qui luật có nghĩa là đồng xuất hiện một cách thường xuyên Chẳng hạn như việc bán hàng trong siêu thị, khách hàng thường mua chung các mặt hàng như tã giấy, sữa cho em bé Nhờ phát hiện các mối liên quan mà siêu thị có thể đề ra chiến lược đầu tư cung cấp sản phẩm kịp thời cho khách hàng Giải thuật luật kết hợp (association rule) tên gọi là Apriori được đề xuất đầu tiên bởi Agrawal và các cộng sự cho phép khám phá ra các mối liên quan giữa các biến dữ liệu Luật kết hợp được ứng dụng rất nhiều trong thực tế, luôn nằm trong nhóm đầu của các giải thuật ứng dụng thành công của khai mỏ dữ liệu Giải thuật cũng góp mặt vào trong 10 giải thuật quan trọng của khai mỏ dữ liệu
Ví dụ: Tập dữ liệu chứa các giao dịch sau:
Trang 183.2 Các định nghĩa
Trước khi trình bày giải thuật kết hợp chúng ta sẽ làm quen với các định nghĩa được dùng trong giải thuật
+ Item: cặp thuộc tính = giá trị hay giá trị Ví dụ: A,B,D,E
+ Itemsetly: tập các item, ví dụ như I={A,B,E} (thứ tự không quan trọng)
+ Transaction(TID,itemset): giao dịch (mỗi giao dịch là 1 dòng)
+ Support của itemset I: độ hỗ trợ sup(I) là số lượng của các giao dịch chứa I
Dựa trên ví dụ trên thì:
Ví dụ: Giả sử {A,B} là frequent, khi đó số lần xuất hiện của cả A,B là thường
xuyên => hiển nhiên là số lần xuất hiện của A hoặc B cũng thường xuyên Tất cả các giải thuật luật kết hợp đều dựa trên tính chất subset
Trang 19Luật kết hợp R dạng.
Luật kết hợp R: Itemset1 => Itemset2
Itemset1,2 không giao nhau và Itemset2 không rỗng
- Luật kết hợp khác với luật phân lớp là luật kết hợp có nhiều thuộc tính dự đoán trong luật phân lớp chỉ có duy nhất một luật phân lớp dự đoán
- Supp của luật kết hợp Rort giả: I => J độ hỗ trợ của luật R là độ hỗ trợ của luật
itemset I ∪J Luật kết hợp là luật mạnh nếu độ hỗ trợ của nó lớn hơn hoặc bằng ngưỡng giá trị nào đó
Ví dụ: Độ giá trị của luật R: A,B => E là sup(R)=2.
- Confidence của luật kết hợp R:I =>: độ tinh cậy của R được tính bằng độ hỗ trợ của luật R chia cho độ hỗ trợ của vế trái I của luật R như công thức conf(R)=sup(R)/sup(I)
Ví dụ: Tính độ tin cậy của A,B => E là conf(R)=2/4.
- Luật kết hợp có minimum support thường được cho là luật “strong”
Ví dụ: Cho frequent set {A,B,E}, luật kết hợp có minsup=2 và minconf= 50%.