Kết quả học tập của sinh viên được ghi nhận theo từng học kỳ, năm học.Với kỹ thuật khai khoáng dữ liệu như trên, việc dự đoán kết quả học tập và kếtquả tốt nghiệp của sinh viên sẽ đạt đư
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC KHOA HỌC XÃ HỘI VÀ NHÂN VĂN
-BÁO CÁO KẾT QUẢ
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC
ỨNG DỤNG KHAI THÁC DỮ LIỆU DỰ ĐOÁN KẾT QUẢ
HỌC TẬP CỦA SINH VIÊNNgành : Quản trị thông tin
Giảng viên hướng dẫn : Th.S Nguyễn Minh TuấnSinh viên thực hiện:
Hoàng Bảo Uyên Trang 1356100167(chủ nhiệm đề tài)
Lữ Thị Hồng Vân 1356100183
TP Hồ Chí Minh, 3/2016
Trang 2MỤC LỤC
PHẦN MỞ ĐẦU 4
1 Mở đầu 4
2 Giới thiệu 5
3 Khám phá tri thức trên cơ sở dữ liệu điểm của sinh viên 7
4 Mục tiêu của đề tài 8
5 Các nghiên cứu liên quan 8
PHẦN NỘI DUNG 10
CHƯƠNG I : CƠ SỞ LÝ THUYẾT 10
1.1 Một số định nghĩa 10
1.2 Xác định sự tương đồng giữa các chuỗi 11
1.2.1 Khoảng cách Euclide 11
1.2.2 Chuẩn hóa chuỗi giá trị 11
1.2.3 Độ tương đồng dựa trên con đường chung dài nhất 12
1.3 Khám phá tri thức dựa trên cơ sở dữ liệu chuỗi 12
1.3.1 Tiền xử lý dữ liệu 13
1.3.2 Khám phá luật 14
1.4 Các kỹ thuật khám phá tri thức 15
1.4.1 Gom cụm trên cơ sở dữ liệu chuỗi 15
1.4.1.1 Phương pháp k-means 15
1.4.1.2 Phương pháp Greedy 17
1.4.2 Thuật toán khám phá luật kết hợp 18
1.4.2.1 Các khái niệm 19
1.4.2.2 Khám phá các tập phổ biến 21
1.4.2.3 Phát sinh luật kết hợp 24
1.4.3 Phân lớp dữ liệu bằng cây quyết định 25
CHƯƠNG II: TRIỂN KHAI ỨNG DỤNG 36
2.1 Làm sạch dữ liệu 36
2.2 Chuẩn hóa dữ liệu 39
2.3 Xây dựng tập luật 39
Trang 32.3.1 Độ tương đồng dựa trên chuẩn hóa chuỗi dữ liệu 39
2.3.2 Khám phá luật dựa vào thuật toán Apriori trên dữ liệu đã gom cụm 42
2.3.3 Khám phá tri thức dựa trên cơ sở dữ liệu chuỗi 43
2.3.4 Phân lớp dữ liệu bằng cây quyết định 44
PHẦN KẾT LUẬN 54
1 Kết luận 54
2 Thuận lợi và khó khăn 54
3 Định hướng phát triển 54
DANH MỤC TÀI LIỆU THAM KHẢO 56
Trang 4PHẦN MỞ ĐẦU
1 Mở đầu
Hiện nay, với sự phát triển mạnh mẽ và ảnh hưởng của công nghệ thông tin đãtác động mạnh mẽ tới nhiều lĩnh vực khác nhau khiến khối lượng dữ liệu tăng lênmột cách nhanh chóng Vì thế, việc khai thác và chọn lọc dữ liệu từ kho dữ liệukhổng lồ ấy là việc hết sức cần thiết và quan trọng Do đó, để việc làm này có hiệuquả, chúng ta cần những công cụ và kỹ thuật thích hợp
Các kỹ thuật truyền thống đã không thể giúp khai thác triệt để những thông tinhữu ích mà một cơ sở dữ liệu mang lại, thường thì các thông tin do sử dụng kỹthuật cũ không mang lại hiệu quả cao trong việc ra quyết định
Với những lý do đó, nhu cầu phát triển các kỹ thuật thu thập, lưu trữ, phân tích
dữ liệu, … được đặt ra và đòi hỏi phải được xử lý thông minh và hiệu quả hơn Từ
đó kỹ thuật khai thác dữ liệu ra đời cho phép chúng ta khai thác được tri thức hữudụng từ cơ sở dữ liệu khổng lồ
Khám phá tri thức từ cơ sở dữ liệu phát triển trong những năm gần đây và thuhút sự quan tâm của các nhà nghiên cứu và những người làm công tác quản lý.Khai thác dữ liệu (Data Mining) được xem là một giai đoạn của quá trình khámphá tri thức, các kỹ thuật khai khoáng giúp chuyển khối dữ liệu to lớn thành cácthông tin và tri thức hữu dụng, ứng dụng rộng lớn bao gồm: phân tích thị trường,quản lý thương mại, hỗ trợ ra quyết định,…
Trong đó, việc khai thác dữ liệu trong lĩnh vực giáo dục dần được quan tâmcũng như chú trọng hơn Chúng ta không thể nào phủ nhận được tầm quan trọngcủa giáo dục trong sự phát triển của đất nước về nhiều mặt Do đó, chúng ta phảiđịnh hướng và hoạch định chính sách cho đối tượng chính của giáo dục là thế hệtrẻ, là lực lượng kế thừa của việc xây dựng, bảo vệ và phát triển đất nước trongtương lai một cách đúng đắn và kịp thời Việc định hướng và xây dựng chính sáchtrong giáo dục đào tạo cần phải được hỗ trợ bởi các công cụ khoa học để tránhnhững sai lầm đáng tiếc, và khai thác dữ liệu là một trong những số đó Đây là
Trang 5công cụ hữu ích và có tính khoa học cao, giúp các nhà quản lý giáo dục có đượcnhững tri thức quý giá phục vụ cho công tác quản lý và sinh viên cũng có thể sửdụng những kết quả hữu ích từ quá trình chắt lọc dữ liệu trong khai phá dữ liệu.Trong thời gian qua, đã có nhiều nghiên cứu về việc dự đoán kết quả học tậpcủa học sinh, sinh viên, nhưng chủ yếu khai khoáng dữ liệu dưới dạng các bảng,không quan tâm đến yếu tố thời gian Nghiên cứu này mong muốn trình bày mộtphương pháp khám phá tri thức trong cơ sở dữ liệu dưới một cái nhìn khác hơn, đó
là xem xét cơ sở dữ liệu quản lý sinh viên như là một cơ sở dữ liệu liên tục theothời gian Kết quả học tập của sinh viên được ghi nhận theo từng học kỳ, năm học.Với kỹ thuật khai khoáng dữ liệu như trên, việc dự đoán kết quả học tập và kếtquả tốt nghiệp của sinh viên sẽ đạt được độ chính xác trong khoảng chấp nhậnđược
2 Giới thiệu
Hiện nay, cùng với sự tăng trưởng của dữ liệu thông tin về nhiều lĩnh vực khácnhau, vấn đề dự đoán hay khai phá những kết quả mới từ dữ liệu có sẵn là mộthướng nghiên cứu thu hút sự quan tâm của nhiều nhà nghiên cứu
Đặc biệt, trong lĩnh vực giáo dục cung cấp nhiều ứng dụng lý thú và đầy thửthách cho khai thác dữ liệu Một tổ chức giáo dục thường có nhiều nguồn thông tinphân tán và khác nhau, những nguồn này thường là dữ liệu truyền thống (thông tin
về sinh viên, giảng viên, lớp học, lịch học, điểm,…) và gần đây là cơ sở dữ liệu đaphương tiện
Có nhiều mối quan tâm khác nhau trong lĩnh vực giáo dục tạo cơ sở cho nhiềuyêu cầu trong khai thác dữ liệu Ví dụ: Tìm kiếm thông tin nhập học, dự đoán sốlượng sinh viên đăng ký học, hỗ trợ sinh viên chọn môn học, dự đoán về tình hìnhviệc làm của sinh viên sau khi ra trường,…Tất cả ứng dụng về khai thác dữ liệukhông những đóng góp cho các cơ sở giáo dục để nâng cao chất lượng tốt hơn màcòn hỗ trợ công việc quản lý
Trang 6Với lượng thông tin quá nhiều và những nhu cầu khác nhau, có thể thấy là một
hệ thống khai thác dữ liệu tích hợp có khả năng phục vụ các nhu cầu đặc biệt củacác cơ sở giáo dục sẽ trở thành nhu cầu lớn trong thời gian sắp tới
Đề tài này trình bày một ứng dụng thực tiễn trong lĩnh vực giáo dục Giáo dụcđược xem là một yếu tố quan trọng đóng góp cho sự phát triển kinh tế, xã hội
Ở Việt Nam, sinh viên thường phải tích lũy các môn học trong 4 năm học, mỗinăm học được chia thành 2 học kỳ chính và 1 học kỳ hè Kết thúc 1 học kỳ, sinhviên được tổng kết điểm trung bình tích lũy cho học kỳ đó Áp dụng tương tự chonăm học và toàn khóa học
Đề tài này dựa trên kết quả học tập từng học kỳ của sinh viên để dự đoán kếtquả đạt được của sinh viên trong học kỳ tiếp theo và trong toàn khóa học Ngoài ra,
có thể tìm ra được các sinh viên cá biệt Phương pháp sử dụng để dự đoán kết quảhọc tập của sinh viên là khai thác dữ liệu
Khám phá tri thức được chia làm hai giai đoạn chính:
- Giai đoạn tiền xử lý: chọn lọc, làm sạch dữ liệu, mã hóa dữ liệu,…
- Giai đoạn khai thác dữ liệu: tùy theo dữ liệu và mục tiêu khai thác mà cónhững kỹ thuật khác nhau
Tóm tắt một vài phương pháp khai thác dữ liệu liên quan đến đề tài:
- Gom cụm dữ liệu: mục tiêu là nhận dạng ra những mẫu giống nhau để cókết luận tương tự
- Khám phá luật: khám phá dữ liệu nhằm kết luận “Nếu xuất hiện X thì sẽxuất hiện gì tiếp theo?”
Khai thác dữ liệu đã có rất nhiều trong lĩnh vực kinh tế xã hội, khoa học kỹthuật, nhưng trong lĩnh vực giáo dục và đào tạo thì chưa nhiều Trong giáo dục,việc đánh giá kết quả, chất lượng của sinh viên là quan trọng, nhưng đôi khi vẫncòn mang tính cảm tính và cục bộ Đề tài mong muốn áp dụng phương pháp khaithác dữ liệu trên cơ sở dữ liệu điểm của sinh viên trong nhiều năm, bằng cách biếnđổi phù hợp, từ đó đưa ra thông tin chính xác về thực trạng của sinh viên, đặc biệt
là cung cấp thông tin mang tính dự đoán
Trang 7Qua các thông tin thu được, người dùng sẽ có một cái nhìn tổng quan về kếtquả học tập của sinh viên để đề ra phương hướng, các biện pháp giáo dục thíchhợp trong các năm học sau.
3 Khám phá tri thức trên cơ sở dữ liệu điểm của sinh viên
Ở các trường đại học, việc tính toán và lưu trữ điểm của sinh viên được tiếnhành vào mỗi cuối học kỳ và cuối mỗi năm học Công việc này chủ yếu để đánhgiá học lực của sinh viên Hiệu quả đào tạo, chất lượng sinh viên, tỷ lệ sinh viêngiỏi, khá, trung bình,…
Đánh giá chất lượng giáo dục vẫn còn mang tính bình quân và tương đối.Phương pháp đánh giá hiện nay (xếp loại học tập thông qua điểm trung bình của tất
cả các môn học) có ý kiến cho rằng không đánh giá đúng thực chất của sinh viên.Kết quả học tập của sinh viên được lưu trữ trong nhiều năm, kết quả này baogồm kết quả của nhiều môn học khác nhau Những nghiên cứu về luật kết hợptrước đây đều thực hiện trên số liệu một học kỳ hoặc một năm Trong khi đó, mỗisinh viên có chương trình học kéo dài 4 năm, 5 năm và hơn nữa (tùy trường), kếtquả là một dãy các số thực được ghi nhận theo một khoảng thời gian, do đó hướngtiếp cận trong nghiên cứu này là sử dụng khai thác dữ liệu trong suốt khoảng thờigian học tập của sinh viên
Khám phá tri thức dựa trên cơ sở dữ liệu điểm của sinh viên có thể trình bàyqua các bước sau:
- Bảng tổng kết kết quả học tập của sinh viên qua từng học kỳ
- Sắp xếp theo thứ tự thời gian
- Sử dụng các kỹ thuật khai thác dữ liệu để khám phá tri thức trên cơ sở dữliệu mới nhận được
- Kết quả nhận được là các luật biểu diễn mối quan hệ giữa các kết quả, trảlời được câu hỏi “Với kết quả hiện có thì kết quả đạt được sắp tới là gì?”.Mục tiêu là các thông tin thu được sẽ hữu ích cho việc quản lý chất lượng giáodục, dự đoán và hoạch định phương pháp nâng cao chất lượng giáo dục
Trang 84 Mục tiêu của đề tài
Để đạt được kết quả học tập tốt đang là điều mà đại đa số sinh viên quan tâm.Tuy nhiên, với số lượng sinh viên đông như hiện nay thì việc tư vấn cho từng cánhân lựa chọn lộ trình học tập để đạt điểm số như mong muốn là bất khả thi Do đó,trên cơ sở dựa vào kết quả tuyển sinh và kết quả trong quá trình học tập của sinhviên ở một trường đại học, đề tài này tập trung trình bày hai phương pháp khámphá luật trên cơ sở dữ liệu:
- Phương pháp khám phá các luật dựa trên mẫu đặc trưng
- Phương pháp khám phá các luật liên kết các sự kiện từ cơ sở dữ liệu
- Phương pháp gom cụm dữ liệu cũng được đề cập, được xem như một kỹthuật để hỗ trợ hai thuật toán trên
Các kỹ thuật khai thác trên cơ sở dữ liệu điểm của sinh viên nhằm khám phácác thông tin hữu dụng, thể hiện các mối tương quan về kết quả trong một môn học,giữa các môn học, đề tài sẽ đưa ra các luật Các luật sẽ cung cấp thông tin chínhxác hơn, hy vọng sẽ giúp người quản lý có cái nhìn chính xác hơn về chất lượngsinh viên, có cơ sở khoa học để đánh giá hiệu quả đào tạo cũng như giúp dự đoánkết quả đạt được của sinh viên Từ đó, giúp nhà quản lý giáo dục đề ra các chiếnlược nâng cao chất lượng dạy và học trong nhà trường
5 Các nghiên cứu liên quan
Trong thời gian gần đây, khai thác dữ liệu đã trở thành một trong những hướngnghiên cứu chính trong lĩnh vực khoa học máy tính và công nghệ tri thức ở trongnước và ngoài nước Khai thác dữ liệu đã và đang ứng dụng thành công vàothương mại, tài chính, thị trường chứng khoán, y học, thiên văn, sinh học, giáo dục,viễn thông,…
Việc khai thác dữ liệu trong lĩnh vực giáo dục, ứng dụng vào thực tế đã và đangtrở thành hướng đầu tư của các tổ chức kinh doanh
Một số tác giả nghiên cứu trong lĩnh vực khai thác dữ liệu giáo dục:
- Nguyen Thai Nghe, previously Master’s Student, AIT, Thailand, andcurrently Lecturer, Can Tho University, Viet Nam
Trang 9- Paul Janecek, Assistant Professor, AIT, Thailand.
- Peter Haddawy, Professor, AIT, Thailand
- Gabriele Cevenini, Department of Surgery and Bioengineering, University
of Siena, Siena, Italy
- Emanuela Barbini, Department of Physiopathology, ExperimentalMedicine and Public Health, University of Siena, Siena, Italy
- Zaidah Ibrahim, Faculty of Information Technology and QuantitativeSciences, Malaysia
Trang 10PHẦN NỘI DUNG CHƯƠNG I : CƠ SỞ LÝ THUYẾT
Định nghĩa 1:Chuỗi X = (x1, x2,…, xn) là một tập n giá trị xi được ghi nhậntrong một khoảng thời gian bằng nhau và được sắp theo thứ tự thời gian
Hình 1.1 Minh họa chuỗi kết quả
Khoảng thời gian giữa hai giá trị liên tiếp nhau có thể được chọn tùy theo lĩnhvực hoặc nội dung mà nó biểu diễn
Các chuỗi X có bản chất giống nhau, dữ liệu có thể rất dài, có thể chứa hàngtriệu, hàng tỉ giá trị
Định nghĩa 2: Cho chuỗi X = (x1, x2,…, xn) có chiều dài n, một dãy con S của
X là một dãy có chiều dài m (1 ≤ m ≤ n) các giá trị liền nhau trong X
S = (xk,…, xk+m-1), 1 ≤ p ≤ n – m + 1
Có n – m + 1 dãy con có chiều dài m
Ví dụ:
Trang 11i y x
Để xác định độ tương đồng giữa các chuỗi, cần xây dựng một độ đo để đánhgiá mức độ tương đồng Mỗi độ đo chỉ thích hợp với một vài lĩnh vực nào đó, vìvậy có nhiều độ đo xác định độ tương đồng được xây dựng
1.2.1 Khoảng cách Euclide
Phương pháp này tính toán độ tương đồng giữa các chuỗi có độ dài bằng nhau
- Xem một chuỗi X = (x1, x2,…, xn) là một điểm trong không gian Eucliden-chiều
- Độ tương đồng giữa hai chuỗi được định nghĩa như là khoảng cách giữahai điểm trong không gian Rn
d(X,Y) =Trong đó, X = (x1, x2,…, xn) và Y = (y1, y2,…, yn) là các chuỗi đang xét
Độ tương đồng Euclide có nhiều ưu điểm như dễ tính toán, giải quyết đượcnhiều bài toán khác nhau (đánh chỉ mục, gom cụm,…)
Tuy vậy, cũng có khuyết điểm là không cho phép có biên độ dao động khácnhau
Ví dụ:
Giá trị của X từ 20 đến 40, giá trị của Y từ 60 đến 100 thì không xác định được
độ tương đồng
1.2.2 Chuẩn hóa chuỗi giá trị
Cho chuỗi X = (x1, x2,…, xn), chuẩn hóa X được ký hiệu là
và được định nghĩa như sau:
x x x n
X 1, 2, ,
Trang 12Ex x
Nếu độ tương đồng chỉ dựa trên khoảng cách Euclide, gặp trường hợp giá trị cóbiên độ dao động khác nhau thì kết quả sẽ không tương đồng
1.2.3 Độ tương đồng dựa trên con đường chung dài nhất
Cho hai chuỗi X = (x1, x2,…, xn) và Y = (y1, y2,…, yn)
Đặt X’ = (xi1, xi2,…, xil) và Y’ = (yj1, yj2,…, yjl) lần lượt là hai dãy con của X, Y.X’ và Y’ được gọi là tương đồng nếu:
Độ tương đồng là 3
Sử dụng một độ tương đồng phù hợp để xây dựng mối liên hệ giữa hai chuỗi.
Hiện nay, khám phá tri thức dựa trên cơ sở dữ liệu chuỗi có nội dung phongphú, các nhà khoa học bắt đầu khám phá các tính chất cục bộ, địa phương như: cácmẫu tuần hoàn, các mẫu tương đồng, luật kết hợp, hành vi,…
Trang 13Đề tài sẽ tập trung khám phá luật kết hợp trên các mẫu đặc trưng được trích ra
từ cơ sở dữ liệu
Quá trình khám phá tri thức bao gồm: làm sạch và lọc dữ liệu, nhận dạng cácthuộc tính quan trọng, trích ra các luật kết hợp để dự đoán tương lai, khám phá trithức để hỗ trợ cho quá trình ra quyết định
Các giai đoạn thực hiện:
- Giai đoạn tiền xử lý:
+ Làm sạch dữ liệu thô
+ Định danh các đặc điểm mô tả cơ sở dữ liệu
+ Xác định các mẫu đặc trưng trên các dãy con (gom cụm)
- Giai đoạn khai khoáng:
Các bước thực hiện:
- Chọn độ rộng của dãy con thích hợp
- Ghi nhận các dãy con bằng cách duyệt qua toàn chuỗi, tại một vị trí xácđịnh một chuỗi con theo độ rộng đã chọn Thực hiện gom cụm các dãy conthu được này bằng một độ đo thích hợp
- Mỗi nhóm được gán một định danh duy nhất, khi duyệt qua chuỗi, mỗi dãycon tương ứng với một nhóm được gán định danh của nhóm tương ứngchứa dãy con đó, các dãy con trông cùng nhóm gọi là cùng mẫu
Ví dụ:
Trang 14Chọn độ rộng là 3 và chọn độ tương đồng là phương pháp chuẩn hóa.Duyệt chuỗi, tại mỗi vị trí đặt một định danh:
- Luật đơn giản nhất có dạng: “Nếu A xuất hiện thì B sẽ xuất hiện” Trong
đó, A và B là các mẫu được xây dựng trên chuỗi Các luật phải thỏa độ tincậy chọn trước Trong nhiều trường hợp, người ta quan tâm đến thời điểmxuất hiện: “Nếu A xuất hiện ở thời điểm t1 thì B sẽ xuất hiện ở thời điểmt2”
Ví dụ: Cơ sở dữ liệu ghi nhận nhiệt độ tại nhiều vùng khác nhau, luậtsau đây thể hiện thời điểm xuất hiện: “Nếu nhiệt độ tại vùng A tăng liên tục trong
5 ngày thì nhiệt độ vùng B sẽ tăng sau đó 10 ngày”
- Mở rộng luật đơn giản sang dạng phức tạp hơn: “Nếu A1, A2,…, Ak
xuất hiện thì B sẽ xuất hiện”
- Một hướng khám phá khác: “Nếu A xuất hiện thì điều gì sẽ xảy ra?”
Trang 151.4 Các kỹ thuật khám phá tri thức
1.4.1 Gom cụm trên cơ sở dữ liệu chuỗi
Gom cụm các chuỗi thành từng nhóm sao cho độ tương đồng của các chuỗitrong cùng nhóm cao nhất và các chuỗi trong các nhóm khác nhau thì độ tươngđồng thấp Nói cách khác, gom cụm dữ liệu là tạo ra một phép phân hoạch trên cơ
sở dữ liệu, mỗi một chuỗi chỉ thuộc về một nhóm duy nhất
Cho X là một chuỗi và C1, C2,…, Ck là các nhóm thu được sau khi thực hiệngom cụm thì các nhóm phải thỏa tính chất:
(a) i, j € [1,…, k], Ci∩ Cj= Ø
(b) Ui k1Ci T
Duyệt qua toàn bộ cơ sở dữ liệu và sử dụng một độ đo tương đồng thích hợpgom cụm các đối tượng Có nhiều phương pháp gom cụm có thể thực hiện đượctrên cơ sở dữ liệu và cho kết quả tốt
Phương pháp gom cụm có thể chia làm 2 loại: phương pháp dựa trên độ tươngđồng và phương pháp dựa trên mô hình Đề tài tập trung vào phương pháp gomcụm dựa trên độ tương đồng, một phương pháp được xem là phù hợp với ứng dụng.Mỗi chuỗi được xem như là một điểm trong không gian n chiều, theo phươngpháp đo độ tương đồng, xác định một khoảng cách hay một hàm tương đồng giữamỗi cặp dữ liệu, sau đó sử dụng đến các kỹ thuật gom cụm Độ đo tương đồngđược sử dụng nhiều nhất là khoảng cách Euclide
Có nhiều thuật toán gom cụm khác nhau dựa trên độ đo tương đồng, đề tài
trình bày hai thuật toán gom cụm là Greedy và k-means.
1.4.1.1 Phương pháp k-means
Đây là phương pháp được sử dụng phổ biến Ý tưởng của phương pháp này là
từ tập ban đầu tìm ra một phép phân hoạch vào trong k tập con (nhóm), trong đó k
là số nguyên dương cho trước Trong mỗi nhóm có một phần tử đặc biệt đại diện
Trang 16cho nhóm, gọi là trọng tâm của nhóm Một phần tử được xem xét có thuộc nhómnào đó hay không, tùy thuộc vào khoảng cách từ nó đến phần tử trọng tâm.
Định nghĩa phần tử trọng tâm:
Phần tử trọng tâm (điểm trọng tâm) của một nhóm là phần tử có giá trị trungbình cộng của tất cả các phần tử trong nhóm Phần tử trọng tâm này có thể xem làphần tử đại diện cho nhóm
Điểm trọng tâm r của nhóm C được tính như sau:
r =Trong phương pháp k-means, thay vì tính khoảng cách giữa các cặp phần tửtrong cùng nhóm với nhau, ta tính khoảng cách từ mỗi phần tử đến phần tử trọngtâm của nhóm Trong thuật toán, các phần tử trọng tâm ban đầu của k nhóm đượcchọn ngẫu nhiên từ các điểm trong tập cần phân hoạch Trong mỗi lần lặp, mỗiphần tử được phân vào nhóm có trọng tâm gần nó nhất, sau đó trọng tâm của nhómđược tính lại
Thuật toán k-means:
Gọi D là tập dữ liệu cần phân hoạch, k là số nguyên dương (số nhóm) Kết quảthu được sẽ là danh sách k nhóm: C1, C2,…, Ck
- Lặp i = 1 đến k: chọn ngẫu nhiên ri€ D làm trọng tâm của Ci
- Trong khi có sự thay đổi trong các nhóm Ci
Trang 17Hình 1.2 Mô tả thuật toán K-meansMột dạng cải tiến của thuật toán k-means là xét mỗi phần tử và tính lại phần tửtrọng tâm của nhóm bất cứ khi nào có một phần tử được thêm vào, lặp lại chu trìnhqua các phần tử cho đến khi tình trạng các nhóm không còn thay đổi.
Việc tìm kiếm trong thuật toán k-means bị hạn chế trong không gian phânhoạch, có thể bỏ qua giải pháp gom cụm tốt nhất Người ta có thể khắc phụckhuyết điểm này bằng cách thực hiện nhiều lần thuật toán với các điểm trọng tâmban đầu được chọn khác nhau và chọn một kết quả tốt nhất Thời gian thực hiện sẽtăng lên rất nhiều
1.4.1.2 Phương pháp Greedy
Phương pháp Greedy đặc biệt hiệu quả và thích hợp với trường hợp số lượngnhóm k và bán kính nhóm d đã xác định trước Ta cũng xem một chuỗi như mộtđiểm trong không gian Rn và sử dụng khoảng cách Euclide làm độ đo tương đồng
Trang 18Gọi D là tập dữ liệu cần phân hoạch, với mỗi điểm p trong D ta tìm trọng tâmnhóm q sao cho d(p,q) nhỏ nhất.
- Với qichưa gom cụm trong D:
Với mỗi p trong D \ {qi}: nếu d(p,qi) < d thì thêm p vào nhóm có trọngtâm qi
- Lặp lại bước trên với các điểm trong D \ {nhóm qi} cho đến khi tất cả cácđiểm trong D đều được xét
Xác định được một dãy các trọng tâm q1, q2,…, qk Khoảng cách giữa haitrọng tâm nhỏ nhất là d
1.4.2 Thuật toán khám phá luật kết hợp
Để khám phá tri thức trên cơ sở dữ liệu, có thể vận dụng nhiều kỹ thuật khámphá luật khác nhau trên cơ sở dữ liệu đã qua giai đoạn tiền xử lý Chẳng hạn sửdụng Information Theoretic Network trên cơ sở dữ liệu các sự kiện, thuật toánApriori trên dữ liệu đã phân nhóm,… Đề tài trình bày thuật toán quen thuộc làApriori
Luật kết hợp là dạng rất phổ biến trong việc biểu diễn tri thức, luật kết hợp có
ưu điểm dễ đọc, có thể bổ sung hoặc loại bỏ dễ dàng Đây là một nội dung quantrọng trong việc khám phá tri thức từ cơ sở dữ liệu lớn Biểu diễn tri thức dướidạng luật kết hợp có thể thích ứng với nhiều ứng dụng khác nhau Dạng tổng quátcủa luật kết hợp là: “Nếu X thì Y”, trong đó X là giả thuyết và Y là kết luận Cácluật kết hợp như vậy mô tả thật dễ hiểu, hỗ trợ tích cực cho các nhà quản lý trongviệc ra quyết định hay hoạch định chiến lược phát triển
Thuật toán Apriori
Cho I = {i1, i2,…, im} là tập các mục dữ liệu (item) Một tập con của I gọi làitemset, nếu itemset có k phần tử gọi là k-itemset
Cho tập D chứa các giao tác (transaction), một giao tác d € D là một tập cácitem con của I, d I Trong D, mỗi giao tác có một định danh duy nhất
Cho hai tập con X, Y của I, X ∩ Y = Ø, luật kết hợp r là luật liên kết hai điềukiện là hai tập X và Y, có dạng “Nếu X thì Y”
Trang 19Độ hỗ trợ của S: SP(S) =
Cho trước ngưỡng minsupp € (0, 1], S € I là tập phổ biến nếu SP(S) ≥ minsupp
Ký hiệu FS(minsupp) là tập tất cả các tập phổ biến ứng với minsupp
Cho luật r: X → Y Độ tin cậy CF(r) của luật r được định nghĩa như sau:
CF(r) =hoặc
D
Y X
p
X p
Y p X
X SP
Y X
SP
Trang 20Đặt minsupp € (0, 1] và minconf € (0, 1] là ngưỡng hỗ trợ và ngưỡng tin cậy,luật r: X → Y được xem là hợp lệ nếu SP(r) ≥ minsupp và CF(r) ≥ minconf.
Nếu chọn minconf = 0.8 thì r2 hợp lệ, r1bị loại
Vậy luật r2 thỏa:
5 0 5 0
Trang 21Bài toán khám phá luật kết hợp có thể được phân ra thành hai bài toán nhỏ hơnnhư sau:
- Tìm các itemset có độ hỗ trợ lớn hơn minsupp, tức là tìm các tập phổ biến
- Dung các tập phổ biến để phát sinh các luật, các luật phải thỏa độ tin cậy
đã chọn (minconf)
1.4.2.2 Khám phá các tập phổ biến
Có rất nhiều thuật toán khám phá tập phổ biến, một trong những thuật toán đó
là Apriori, thuật toán tiến hành nhiều lần duyệt trên dữ liệu để xác định các tập phổbiến Có thể chia thuật toán Apriori thành các giai đoạn sau:
- Bước 1: Xác định các tập phổ biến chỉ có một item
- Bước 2: Sử dụng tập phổ biến được tìm thấy ở lần duyệt trước để phát sinhcác tập phổ biến mới Xác định độ hỗ trợ của các tập phổ biến này và xácđịnh tập nào là tập phổ biến thực sự, những itemset nào không thỏaminsupp sẽ bị loại
- Bước 3: Lặp lại quá trình ở bước 2 cho đến khi không còn tìm thấy cácitemset nào mới
Tuy nhiên, thuật toán này cũng có nhiều khuyết điểm như: tập tìm được khôngphải là tập phổ biến, mỗi tập phổ biến tìm thấy phải duyệt lại trên toàn cơ sở dữliệu nên rất khó khăn nếu cơ sở dữ liệu lớn
Thuật toán AprioriTID là cải tiến của thuật toán Apriori, nó khắc phục đượccác khuyết điểm của Apriori Trong thuật toán AprioriTID, cơ sở dữ liệu khôngđược dung toàn bộ cho việc xác định độ hỗ trợ lần đầu tiên, trong lần duyệt saukích thước của mã hóa có thể trở nên nhỏ hơn so với các lần trước đó
Giới thiệu thuật toán AprioriTID
- Thuật toán AprioriTID được cải tiến từ thuật toán Apriori nhằm cải tiếnviệc duyệt cơ sở dữ liệu quá nhiều lần để đếm số lần xuất hiện của các tậpứng viên trong các giao tác
- Thuật toán AprioriTID sử dụng tập k để tính độ hỗ trợ cho các phần tử củatập Ck khi k>1 thay cho việc duyệt cơ sở dữ liệu Mỗi phần tử của tập kcó
Trang 22dạng <TID, X>, với X là tập các ứng viên thuộc Ck tương ứng với giao tác
t có mã TID, hay ta có thể viết <t.TID, {c Ck| c có trong t}>
- Nếu giao tác t không chứa một tập ứng viên nào (Xk = Ø) thì giao tác tkhông được đưa vào k Do đó, số phần tử của k có thể nhỏ hơn số lượngcác giao tác trong cơ sở dữ liệu, đặc biệt khi k lớn
- Khi số phần tử của k nhỏ hơn số lượng các giao tác trong cơ sở dữ liệu thìviệc duyệt k để tính độ hỗ trợ cho từng phần tử của Ck phục vụ cho việcxác định Lk(tập phổ biến) sẽ nhanh hơn duyệt cơ sở dữ liệu
Trang 23Ví dụ:
Nhận xét
- Với k=1, số phần tử của 1bằng số giao tác trong cơ sở dữ liệu, tập X (ứngmỗi phần tử của 1) có số lượng thành viên bằng số item trong giao táctương ứng trong CSDL
- Với k nhỏ (k>1), số lượng phần tử của kbằng hoặc nhỏ hơn không đáng kể
so với số giao tác trong cơ sở dữ liệu, tập X (ứng mỗi phần tử của k) có thể
có số lượng thành viên lớn hơn số item trong giao tác tương ứng trong cơ
sở dữ liệu vì số phần tử của Ck nhiều khi k nhỏ và khả năng các ứng viêncủa tập Ck có trong giao tác là lớn (trong ví dụ trên tập X trong giao tác cóTID 300 có số thành viên là 6 trong khi CSDL chỉ có 4 item)
- Với k lớn, số lượng phần tử củaknhỏ hơn so với số giao tác trong cơ sở dữ
Trang 24số item trong giao tác tương ứng trong CSDL vì số phần tử của Ck khôngnhiều khi k lớn và khả năng các ứng viên của tập Ck có trong giao tác lànhỏ.
1.4.2.3 Phát sinh luật kết hợp
Để phát sinh các luật, với mỗi tập phổ biến h ta tìm các tập con khác rỗng của h.Với mỗi tập con a, ta đưa ra luật a → (h – a) nếu độ tin cậy của nó (tỷ số giữa độ
hỗ trợ của h và độ hỗ trợ của a) lớn hơn hoặc bằng minconf
Xét các tập con của h để phát sinh các luật với nhiều kết quả khác nhau Nếutập con a của tập phổ biến h không sinh ra một luật thì tập con của a cũng khôngcần xem xét để phát sinh luật
Ví dụ:
Nếu ABC → D không thỏa minconf, ta không cần kiểm tra AB → CD
Chúng ta cũng không bỏ sót luật nào vì độ hỗ trợ của bất kỳ tập con a’ của acũng phải lớn như độ hỗ trợ của a Do vậy, độ tin cậy của luật a’ → (h – a’) khôngthể lớn hơn độ tin cậy của luật a → (h – a) Nếu a không sinh ra một luật gồm tất
cả các item trong h với a ở vế trước thì cũng không sinh ra luật với a’ ở vế trước
Ta nhận thấy, nếu luật a → (h – a) không giá trị thì a’ → (h – a’) cũng không
có giá trị với bất kỳ a’ là tập con của a Ngược lại, luật (h – a) → a có giá trị thì(h – a’) → a’ cũng có giá trị
Ví dụ:
Nếu luật AB → CD có giá trị thì ABC → D và ABD → C có giá trị
Nếu một luật có vế thứ hai là a có giá trị thì các luật ở vế thứ hai là tập con của acũng có giá trị
1.5 Thu gọn tập luật
Trong nhiều trường hợp, vấn đề thu gọn tập luật không được đề cập đến Tuynhiên, do các luật thu được thường rất lớn và thường có sự trùng lắp, do đó vấn đềthu gọn các luật được đặt ra
Trang 25Ví dụ: Cho hai luật
Luật 1: Nếu A và B thì TLuật 2: Nếu C và D thì T
Có thể kết hợp hai luật này với nhau như sau:
Luật mới: Nếu (A và B) hoặc (C và D) thì TThuật toán thu gọn luật
Khởi đầu các luật được trộn là 0
Số các điều kiện là l = 0
While (l < số thuộc tính đầu vào) do
Lặp với mỗi luật có l điều kiện
If không có luật đã trộn có l điều kiện
Xác định luật đã trộn đầu tiên với l điều kiệnCho giá trị ban đầu bậc của luật
Xác định một luật mới với l điều kiệnKhởi đầu bậc của luật
Tăng 1
1.4.3 Phân lớp dữ liệu bằng cây quyết định
Cây quyết định (decision tree) là một trong những hình thức mô tả dữ liệu trựcquan nhất, dễ hiểu nhất đối với người dùng Cấu trúc của một cây quyết định baogồm các nút và các nhánh Nút dưới cùng được gọi là nút lá, trong mô hình phânlớp dữ liệu chính là các giá trị của các nhãn lớp (gọi tắt là nhãn) Các nút khác nút
lá được gọi là các nút con, đây còn là các thuộc tính của tập dữ liệu, hiển nhiêncác thuộc tính này phải khác thuộc tính phân lớp Mỗi một nhánh của cây xuất phát
Trang 26từ một nút p nào đó ứng với một phép so sánh dựa trên miền giá trị của nút đó Nútđầu tiên được gọi là nút gốc của cây Xem xét một ví dụ về một cây quyết định nhịphân như sau:
Hình:1.3 Dữ liệu minh họa cho cây quyết định
Cây quyết định của ví dụ trên có thể được giải thích như sau:
- Các nút lá chứa các giá trị của thuộc tính phân lớp (thuộc tính “rủi ro”)
Trang 27- Các nút con tương ứng với các thuộc tính khác thuộc tính phân lớp, nútgốc cũng được xem như một nút con đặc biệt, ở đây chính là thuộc tính
“giới tính”
- Các nhánh của cây từ một nút bất kỳ tương đương một phép so sánh có thể
là so sánh bằng, so sánh khác, lớn hơn nhỏ hơn,… nhưng kết quả các phép
so sánh này bắt buộc phải thể hiện một giá trị logic (Đúng hoặc Sai) dựatrên một giá trị nào đó của thuộc tính của nút
- Cây quyết định trên không có sự tham gia của thuộc tính “thu nhập” trongthành phần cây, các thuộc tính như vậy được gọi chung là các thuộc tính
dư thừa bởi vì các thuộc tính này không ảnh hưởng đến quá trình xây dựng
mô hình của cây
Các thuộc tính tham gia vào quá trình phân lớp thông thường có các giá trị liêntục hay còn gọi là kiểu số hoặc kiểu rời rạc hay còn gọi là kiểu dữ liệu phân loại
Ví dụ kiểu dữ liệu lương biểu diễn bằng số thực là kiểu dữ liệu liên tục, kiểu dữliệu giới tính là kiểu dữ liệu rời rạc (có thể rời rạc hóa thuộc tính giới tính một cách
dễ dàng)
Việc xây dựng cây quyết định được tiến hành một cách đệ qui, lần lượt từ nútgốc xuống tới tận các nút lá Tại mỗi nút hiện hành đang xét, nếu kiểm tra thấythỏa điều kiện dừng: thuật toán sẽ tạo nút lá Nút này được gán một giá trị củanhãn lớp tùy điều kiện dừng được thoả Ngược lại, thuật toán tiến hành chọn điểmchia tốt nhất theo một tiêu chí cho trước, phân chia dữ liệu hiện hành theo điềukiện chia này Lưu ý dữ liệu hiện hành không phải hoàn toàn là tập dữ liệu ngaykhi bắt đầu thuật toán, có thể là tập dữ liệu đã được phân chia theo điều kiện chiacủa nút liền trước đó (nút cha)
Sau bước phân chia trên, thuật toán sẽ lặp qua tất cả các tập con (đã được chia)
và tiến hành gọi đệ qui như bước đầu tiên với dữ liệu chính là các tập con này.Xem thuật toán tổng quát bên dưới:
Dữ liệu vào: Tập dữ liệu D, tập danh sách thuộc tính, tập nhãn lớp
Dữ liệu ra: Mô hình cây quyết định
Trang 28Thuật toán: Tạo cây (Tập dữ liệu E, tập danh sách thuộc tính F, tập nhãnlớp)
(8) Đặt V = {v| v thoả điều kiện là phần phân chia xuất phát từ Nútgốc}
(9) Lặp qua từng tập phân chia v € V
Giải thích thuật toán: Đây là một thuật toán đệ qui tạo cây quyết định
- Tại hàm chính, gọi hàm đệ qui Tạocây() với ba tham số vào là tập dữ liệu
E, tập danh sách thuộc tính của E và tập nhãn Thuật toán làm việc bằngcách đệ qui chọn giá trị thuộc tính tốt nhất để chia, lưu ý là chọn giá trị củathuộc tính sao cho điều kiện chia tốt nhất (bước 7), tiếp tục tiến hành mởrộng nút con bằng cách gọi đệ qui cho đến khi điều kiện dừng (ở bước 1)được thỏa mãn
- Dòng đầu tiên sẽ kiểm tra điều kiện dừng, nếu được thỏa mãn nghĩa là đã
đệ qui để tạo ra được đến nút lá Điều kiện dừng chỉ xảy ra khi:
+ Tất cả các dòng trong tập dữ liệu E thuộc về cùng một lớp duy nhất(1)
+ Không có bất cứ dòng nào trong tập E, điều này có thể xảy ra khi tậpcon được tạo ở bước phân chia các tập con là rỗng (2)