---BÀI THU HOẠCH MÔN HỌC CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG ĐỀ TÀI KHAI MỎ DỮ LIỆU MỘT SỐ BÀI TOÁN VỀ DATAMINING GVHD: GS.TSKH... Giải thuật luật kết hợp APRIORI...18 Chương 4: Ý TƯỞNG ỨNG
Trang 1-BÀI THU HOẠCH MÔN HỌC CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG
ĐỀ TÀI KHAI MỎ DỮ LIỆU MỘT SỐ BÀI TOÁN
VỀ DATAMINING
GVHD: GS.TSKH Hoàng Văn Kiếm
Học viên thực hiện: Huỳnh Thị Mỹ Hồng
Mã số học viên: CH1101086
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 MỎ DỮ LIỆU 4
Chương 2: CÂY QUYẾT ĐỊNH 8
2.1 Các lớp giải thuật học 8
2.2 Giải thuật học cây quyết định 8
2.3 Giải thuật học cây quyết định: gờm 2 bước lớn 9
2.3.1 Xây dựng cây (Top-down) 9
2.3.2 Cắt nhánh Bottom-up 10
2.4 Chọn thuộc tính phân hoạch 10
2.5 Tính chất của độ đo thuần khiết: 3 tính chất 13
2.6 Tính chất của entropy 13
Chương 3: LUẬT KẾT HỢP 15
3.1 Giới thiệu 15
3.2 Các định nghĩa 16
3.3 Giải thuật luật kết hợp APRIORI 18
Chương 4: Ý TƯỞNG ỨNG DỤNG KHAI MỎ DỮ LIỆU ĐỂ LỌC THƯ RÁC .21 4.1 Những tiện ích của thư điện tử (Email) 21
4.2 Những vấn nạn của thư rác (Spam) 21
4.3 Những thống kê về tổn thất do thư rác gây ra 21
4.4 Ý tưởng của việc lọc thư rác 21
4.5 Giải thuật MNB (Multinomial Nạve Bayes) 22
4.6 Giải thuật 23
4.7 Chuẩn bị dữ liệu 23
4.8 Tiêu chí đánh giá 23
TÀI LIỆU THAM KHẢO 25
Trang 4Khai mỏ dữ liệu được ứng dụng nhiều trong các bài toán thực tế, nó có đếnhàng trăm giải thuật Trong bài tiểu luận em cũng xin trình bài sơ lược về khám phátri thức và khai mỏ dữ liệu và một số giải thuật quan trọng trong Khai mỏ dữ liệu.Qua đây được gửi lời cảm ơn sâu sắc đến GS.TSKH Hoàng Văn Kiếm, 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
“Công nghệ tri thức và ứng dụng” và cũng xin gởi lời cảm ơn đến TS Đỗ ThanhNghị (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ệtmỏi của các chuyên gia cố vấn qua mạng thuộc Trung tâm phát triển CNTT – ĐHQuốc gia TP.HCM và toàn thể các bạn bè học viên trong lớp
Trang 5Chương 1 GIỚI THIỆU VỀ KHÁM PHÁ TRI THỨC VÀ KHAI MỎ DỮ LIỆU
1.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 đó sự phát triển của công nghệ thông tin cả phầncứng lẫn phần mềm, công nghệ truyền thông, Web, internet đã góp phần đưa máytí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ủamá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ưutrữ 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ằngngà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
Trang 6+ Rất nhiều công ty hiện đang duy trì các kho dữ liệu khổng lồ về các giaodị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ơnmộ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
+ 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ămTerabytes 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áckho 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áthiệ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ácbệnh hiểm nghèo,…Sự ra đời của công nghệ khám phá tri thức và khai mỏ dữ liệutrong 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 trongnhiề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
Trang 71.2 KHÁM PHÁ TRI THỨC VÀ KHAI MỎ 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 mỏ 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 mỏ 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ácmẫ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 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ữ
Hình 1.1: Lĩnh vực ứng dụng thành công của khai mỏ dự liệu
Trang 8liệ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ệukhổng lồ.
Hình 1.3: Các lĩnh vực liên quan đến khám phá tri thức và khai mỏ 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 mỏ 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ầnthự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
- 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ànhxâ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á trithứ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 mỏ 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
Trang 9Phâ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 tính chất tương tự nhau và dữ liệu của hai nhómkhá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ómcũ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.
Sau 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 bị đánhgiá được tri thức sinh ra Chính vì vậy kết quả sinh ra từ quá trình khám phá tri thứccầ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ìnhkhá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 baogồm:
1 K láng giềng
2 Baby ngây thơ
3 Cây quyết định
Trang 104 Phương pháp tập hợp mô hình như bagging, boosting.
5 Rừng ngẫu nhiên
6 Máy học và véctơ hỗ trợ
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ọngcủ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 đượcdù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 đếnnú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)
Trang 12Hình 2.1: Tập dữ liệu weather
Hì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)
Trang 132.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)
Thuộ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
Trang 14+ 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
Ví dụ: Thuộc tính outlook
Trang 15Cách tính entropy của thuộc tính outlook
Độ 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 16“Humidity” = “Normal”:
info([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
Chú ý: Có thể nút lá không thuần khiết
Phân hoạch dừng khi dữ liệu không thể phân hoạch, nhãn được gán cho lớplớ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
Gain(“Temperature”)=0.571 bits Gain(“Windy”)=0.020 bits
Gain(“Humidity”)=0.571 bits
Trang 17- 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 18Chương 3: LUẬT KẾT HỢP
3.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ênquan 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áthiệ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ẩmkị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ốiliê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 193.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 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ì:
Trang 20Ví 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
Luậ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ủaluậ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ặcbằ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ứcconf(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”