Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 78 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
78
Dung lượng
1,67 MB
Nội dung
1
TRƯỜNG ………………….
KHOA……………………….
Báo cáo tốt nghiệp
Đề tài:
PHÁ DỮLIỆUỨNGDỤNGTRONGĐÀO TẠO
2
MỤC LỤC
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 5
DANH MỤC CÁC HÌNH VẼ 6
LỜI MỞ ĐẦU 7
Chương 1 9
TỔNG QUAN KHAI PHÁDỮLIỆU VÀ PHÁT HIỆN TRI THỨC 9
1.1. Khái niệm phát hiện tri thức và khai phádữliệu 9
1.2. Các bước trong quá trình phát hiện tri thức[7] 10
1.3. Kiến trúc hệ thống khai phádữliệu 12
1.4.1. Cơ sở dữliệu quan hệ 12
1.4.2. Kho dữliệu 12
1.4.3. Cơ sở dữliệu không gian 13
1.4.4. Cơ sở dữliệu văn bản 13
1.4.5. Dữliệu Web 13
3
1.5. Các phương pháp khai phádữliệu 13
1.5.1. Các thành phần của giải thuật khai phádữliệu 14
1.5.2. Phương pháp suy diễn / quy nạp 16
1.5.3. Phương pháp ứngdụng K-láng giềng 16
1.5.4. Phương pháp sử dụng cây quyết định và luật[14] 17
1.5.5. Phương pháp phát hiện luật kết hợp 18
1.6. Các nhiệm vụ trong khai phádữliệu 19
1.6.1. Phát hiện các luật tối ưu truy vấn ngữ nghĩa 20
1.6.2. Phát hiện sự phụ thuộc Cơ sở dữliệu 20
1.6.3. Phát hiện sự sai lệch 21
1.6.4. Phát hiện luật kết hợp 21
1.6.5. Mô hình hoá sự phụ thuộc 21
1.6.6. Mô hình hoá nhân quả 22
1.6.7. Phân cụm, nhóm 22
1.6.8. Phân lớp 23
1.6.9. Hồi quy 23
1.6.10. Tổng hợp 23
1.7. Các thách thức và giải pháp cơ bản 24
1.7.1. Thách thức 24
1.7.2. Một số giải pháp 25
1.8. Kết luận 25
Chương 2 26
CƠ SỞ LÝ THUYẾT CỦA LUẬT KẾT HỢP, MỘT SỐ THUẬT TOÁN
PHÁT HIỆN LUẬT KẾT HỢP 26
2.1. Lý thuyết về luật và luật kết hợp 26
2.1.1. Luật thừa 26
2.1.2. Luật kết hợp 27
2.1.3. Một số tính chất của luật kết hợp[6] 30
2.1.4. Phát biểu bài toán khai phá luật kết hợp[8] 31
2.1.5. Một số hướng tiếp cận trong khai phá luật kết hợp 32
2.2. Các đặc trưng của luật kết hợp 34
2.2.1. Không gian tìm kiếm của luật 34
4
2.2.2. Độ hỗ trợ của luật 36
2.3.Một số giải thuật cơ bản khai phá các tập phổ biến 36
2.3.1.Kỹ thuật BFS 37
2.3.2.Kỹ thuật DFS 44
2.5. Thuật toán AIS 44
2.5.1. Bài toán đặt ra 44
2.5.2. Thuật toán AIS 45
2.6. Thuật toán SETM 47
2.6.1. Bài toán đặt ra 47
2.6.2. Thuật toán SETM 47
2.7. Thuật toán CHARM[9] 50
2.7.1. Tư tưởng thuật toán CHARM 50
2.7.1.1. Cơ sở lý thuyết 50
2.7.2.2. Bài toán đặt ra 52
2.7.2. Thuật toán CHARM 53
2.8. Kết luận 56
Chương 3 57
ỨNG DỤNG KHAI PHÁ LUẬT KẾT HỢP TRONGĐÀOTẠO 57
3.1. Bài toán 57
3.2. Đặc tả dữliệu 58
3.3. Chương trình thử nghiệm minh họa 63
3.4. Kết luận 66
KẾT LUẬN 67
PHỤ LỤC 68
TÀI LIỆU THAM KHẢO 77
5
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
Từ viết tắt Tiếng Anh Tiếng Việt
ADO Activate X Data Object
BFS Breadth First Search Tìm kiếm theo bề rộng
C
k
C
k
Tập các K – itemset ứng cử
Conf confidence Độ tin cậy
CSDL Database Cơ sở dữliệu
DFS Depth First Search Tìm kiếm theo độ sâu
DW Data Warehouse Kho dữliệu
Item item Khoản mục
Itemset itemset Tập các khoản mục
K- itemset K- itemset Tập gồm K mục
KDD Knowledge Discovery and
Data Mining
Kỹ thuật phát hiện tri thức và khai
phá dữliệu
L
k
L
k
Tập các K - itemset phổ biến
Minconf Minimum Confidence Độ tin cậy tối thiểu
Minsup Minimum Support Độ hỗ trợ tối thiểu
MOLAP Multidimensional OLAP Phân tích đa chiều trực tuyến
OLAP On Line Analytical
Processing
Phân tích trực tuyến
ROLAP Relational OLAP Phân tích quân hệ trực tuyến
Record record Bản ghi
Supp suppport Độ hỗ trợ
TID Transaction Indentification Định danh giao tác
SQL Structured Query Language Ngôn ngữ vấn đáp chuẩn
SQO Sematics Query Optimization
TC Tính chất
6
DANH MỤC CÁC HÌNH VẼ
Hình 1.1: Các bước trong quá trình phát hiện tri thức 11
Hình 1.2: Kiến trúc hệ thống khai phádữliệu 12
Hình 1.3: Ví dụ mô hình khai phádữliệu 15
Hình 1.4: Ví dụ cây quyết định 17
Hình 1.5: Ví dụ về luật kết hợp 19
Hình 1.6: Ví dụ Form nhập liệu 24
Bảng 2.1: Ví dụ về một cơ sở dữliệu dạng giao dịch - D 28
Bảng 2.2 : Các tập phổ biến trong cơ sở dữliệu ở bảng 1 với độ hỗ trợ tối thiểu 50% 28
Hình 2.3: Dàn cho tập I = {1,2,3,4} 34
Hình 2.4: Cây cho tập I = {1, 2, 3, 4} 35
Hình 2.5: Hệ thống hóa các giải thuật 37
Bảng 2.6: Ví dụ thuật toán Apriori 42
Bảng 2.7. Ví dụ thuật toán AIS 46
Bảng 2.8: Ví dụ thuật toán SETM 50
Bảng 2.9: Tập các giao dịch trong ví dụ thuật toán CHARM 53
Bảng 2.10: Tập mục phổ biến trong ví dụ minh hoạ thuật toán CHARM 54
Hình 2.11: Thuật toán CHARM sắp xếp theo thứ tự từ điển 54
Hình 2.12: Sắp xếp theo độ hỗ trợ tăng dần 55
Hình 3.1: Trường Đại học Dân lập Hải phòng 57
Bảng 3.2: Ví dụ CSDL điểm của sinh viên 59
Bảng 3.3: Dữliệu đã chuyển đổi từ dạng số sang dạng logic 60
Bảng 3.4: Bảng ký hiệu tên các môn học 63
Hình 3.5: Sơ đồ quan hệ CSDL điểm sinh viên 63
Hình 3.6: Giao diện chương trình chính 63
Hình 3.7: Phần kết nối CSDL 64
Hinh 3.8: Form cập nhật điểm sinh viên 64
Hình 3.9: Form cập nhật thêm sinh viên 64
Hình 3.10: Phần dữliệu đã được mã hoá 65
Hình 3.11: Phần tạo luật kết hợp dùng thuật toán Apriori 65
Hình 3.12: Phần mô phỏng thuật toán với dữliệu nhập vào từ bàn phím 66
7
LỜI MỞ ĐẦU
Ngày nay công nghệ thông tin luôn luôn phát triển và không ngừng đổi mới, cùng
với sự phát triển đó là các hệ thống thông tin phục vụ việc tự động hoá trong các lĩnh
vực của con người cũng được triển khai vượt bậc. Điều đó đã tạo ra những dòng dữ
liệu khổng lồ. Nhiều hệ quản trị CSDL mạnh cũng đã ra đời giúp chúng ta khai thác
hiệu quả nguồn tài nguyên đã thu thập được.
Với lượng dữ liệu, thông tin thu thập được ngày càng nhiều như vậy đòi hỏi
chúng ta phải trích rút ra những thông tin tiềm ẩn nhằm đưa ra các quyết định đúng
đắn trong công việc. Xuất phát từ thực tiễn đó, vào những năm cuối của thế kỷ 20 khai
phá dữliệu ra đời. Đây là một lĩnh vực nghiên cứu khá mới mẻ của ngành khoa học
máy tính và khai phá tri thức (KDD). Nó đã thu hút sự quan tâm của rất nhiều người ở
các lĩnh vực khác nhau như : các hệ CSDL, thống kê, nhận dạng, máy học, trí tuệ nhân
tạo
Khai phádữliệu sử dụng các công cụ phân tích dữliệu như: truy vấn, báo cáo,
dịch vụ phân tích trực tuyến (OLAP, ROLAP, MOLAP) để tìm ra các mẫu có giá trị
trong kho dữ liệu. Khai phádữliệu đã và đang được ứngdụng thành công vào các
ngành thương mại, tài chính, kinh doanh, sinh học, y học, giáo dục, viễn thông
Khai phá luật kết hợp từ CSDL lớn được khởi xướng từ năm 1993, nó đã và đang
được nghiên cứu, phát triển mạnh vì khả năng tìm được các luật có ích, từ đó có những
dự báo giúp chúng ta có kế hoạch các hướng phát triển cho tương lai.
Việc khai phá luật kết hợp ứngdụng vào trong công tác đàotạo còn chưa được
nghiên cứu và ứngdụng tối đa. Để từng bước nâng cao khả năng ứngdụng khai phá
luật kết hợp vào giải quyết những công việc trong công tác đàotạo đạt hiệu quả cao,
bằng những kinh nghiệm thực tế và qua kiến thức thu thập được trong những năm theo
học tại khoa Công nghệ Thông tin trường đại học Quốc Gia Hà Nội, nghiên cứu giảng
dạy tại trường đại học Dân Lập Hải Phòng, chính vì vậy tác giả chọn đề tài “KHAI
PHÁ DỮLIỆUỨNGDỤNGTRONGĐÀO TẠO”. Nội dung chính của đề tài là đi
sâu vào tìm hiểu một số thuật toán khai phá luật kết hợp và áp dụng thuật toán kinh
điển Apriori ứngdụngtrong công tác đàotạo của trường đại học Dân lập Hải Phòng.
Kết quả nghiên cứu sẽ cung cấp các thông tin hỗ trợ cho sinh viên lựa chọn môn học,
ngành học, hướng nghiên cứu, đồng thời hỗ trợ cán bộ làm công tác tư vấn đào tạo,
cán bộ phòng đàotạo được thuận lợi hơn trong công tác đào tạo.
Nội dung của luận văn gồm 3 chương và phần phụ lục:
8
Chương 1: TỔNG QUAN VỀ KHAI PHÁDỮLIỆU VÀ PHÁT HIỆN TRI
THỨC. Chương này đề cập đến các giai đoạn của quy trình phát hiện tri thức, các vấn
đề chính của khai phádữ liệu, các phương pháp, các nhiệm vụ trong khai phádữ liệu.
Chương 2: CƠ SỞ LÝ THUYẾT CỦA LUẬT KẾT HỢP, MỘT SỐ THUẬT
TOÁN PHÁT HIỆN LUẬT KẾT HỢP. Chương này trình bày một số vấn đề chính của
khai phá luật kết hợp: lý thuyết luật kết hợp, bài toán khai phá và phát hiện luật kết
hợp, các phương pháp phát hiện luật kết hợp, một số thuật toán điển hình giải quyết
vấn đề, phân tích độ phức tạp của bài toán.
Chương 3: ỨNGDỤNG KHAI PHÁ LUẬT KẾT HỢP TRONGĐÀO TẠO.
Nội dung của chương là áp dụng kỹ thuật khai phá luật kết hợp vào trongđàotạo của
trường Đại học Dân lập Hải phòng. Ứngdụng này nhằm đưa ra dự báo hỗ trợ cho công
tác đàotạo của trường.
Phần phụ lục đưa ra một số modul của chương trình ứng dụng. Cuối cùng là kết
luận lại những kết quả đạt được của đề tài và hướng phát triển trong tương lai.
9
Chương 1
TỔNG QUAN KHAI PHÁDỮLIỆU
VÀ PHÁT HIỆN TRI THỨC
1.1. Khái niệm phát hiện tri thức và khai phádữliệu
Việc dùng các phương tiện tin học để tổ chức và khai thác các CSDL đã được
phát triển từ những năm 60, nhiều CSDL đã được tổ chức, phát triển và khai thác ở
mọi qui mô và khắp các lĩnh vực hoạt động của xã hội. Với sự phát triển mạnh mẽ của
máy tính và các mạng viễn thông, người ta đã xây dựng được nhiều hệ CSDL lớn tập
trung hoặc phân tán, nhiều hệ quản trị CSDL mạnh với các công cụ phong phú và
thuận tiện giúp con người khai thác có hiệu quả các nguồn tài nguyên dữliệutrong các
hoạt động kinh tế xã hội.
Tuy nhiên từ đầu thập niên 90, con người mới thực sự bước vào giai đoạn bùng
nổ thông tin. Nhờ áp dụng các công nghệ và kỹ thuật mới, rất nhiều các thiết bị tiên
tiến ra đời có khả năng hỗ trợ đắc lực cho việc thu thập, lưu trữ và khai thác dữ liệu.
Các thiết bị lưu trữ với tốc độ cao, dung lượng lớn như đĩa từ, CD/DVD-ROM, thiết bị
điều khiển từ xa, vệ tinh nhân tạo… đã giúp con người hàng ngày thu thập được hàng
chục, hàng trăm gigabytes dữ liệu.
Sự phát triển nhanh chóng của một lượng lớn dữliệu được thu thập và lưu trữ
trong các CSDL lớn đã vượt ra ngoài khả năng của con người có thể hiểu được chúng
nếu không có những công cụ hỗ trợ tốt. Kết quả là, dữliệu thu thập được trong một
lượng lớn CSDL đã trở thành những đống dữliệu mà ít khi được xem xét đến. Do vậy,
việc đưa ra những quyết định thường không dựa vào những thông tin hoặc dữliệu thu
thập được mà chỉ dựa vào nhận thức, suy đoán của người đưa ra quyết định. Đơn giản
là vì họ không có những công cụ giúp cho việc lấy ra những tri thức từ lượng lớn dữ
liệu. Tình huống này đã đặt chúng ta trong hoàn cảnh nhiều dữliệu nhưng thiếu thông
tin, thiếu tri thức. Với một khối lượng lớn dữliệu như vậy rõ ràng là các phương pháp
thủ công truyền thống áp dụng để phân tích dữliệu như chia bảng không còn là phù
hợp nữa. Và có một kỹ thuật mới ra đời đó là kỹ thuật khai phá tri thức trong cơ sở dữ
kiệu (Knowledge Discovery in Database) gọi tắt là KDD.
Thuật ngữ KDD được đưa ra vào năm 1989 với ý nghĩa là thực hiện các xử lý để
tìm ra các tri thức trong CSDL và mục đích nhấn mạnh đến các ứngdụng ở mức cao
hơn của khai phádữliệu (data mining). Khai phádữliệu thường được dùngtrong các
lĩnh vực thống kê, đánh giá dữliệu và các hệ thống quản lý dữ liệu.
10
Chúng ta có thể phân biệt một cách tương đối giữa phát hiện tri thức trong CSDL
và khai phádữ liệu. KDD để chỉ một quá trình tổng thể bao gồm nhiều bước nhằm
phát hiện ra các tri thức hữu ích trongdữliệu còn khai phádữliệu chỉ tập trung vào
việc ứngdụng các thuật toán nhằm phát hiện các mẫu từ dữliệu mà không có thêm các
bước của quá trình KDD như bước kết hợp với tri thức đã có hoặc bước đánh giá kết
quả thu được. Các bước thêm vào này rất cần thiết để thấy rõ được rằng những thông
tin thu được từ dữliệu là thực sự hữu ích. Đối với quá trình khai phádữ liệu, nhiều khi
các mẫu thu được nhờ thực hiện một ứngdụng nào đó không có giá trị hoặc không
phục vụ cho mục đích nào. Như vậy, một quá trình phát hiện tri thức từ dữliệu được
đặc trưng bằng các bước lặp chính là lặp lại các ứngdụng theo một thuật toán khai phá
dữ liệu cụ thể và hiểu các mẫu thu được từ thuật toán này
Định nghĩa: “KDD là một quá trình không tầm thường của việc xác định các
mẫu mới, có giá trị, có hiệu quả sử dụng và cơ bản hiểu được trong cơ sở dữ liệu”.[7]
Còn các nhà thống kê thì xem Khai phádữliệu như là một qui trình phân tích
được thiết kế để thăm dò một lượng cực lớn các dữliệu nhằm phát hiện ra các mẫu
thích hợp và/hoặc các mối quan hệ mang tính hệ thống giữa các biến và sau đó sẽ hợp
thức hoá các kết quả tìm đưọc bằng cách áp dụng các mẫu đã phát hiện được cho các
tập con mới của dữ liệu. Qui trình này bao gồm ba giai đoạn cơ bản: thăm dò, xây
dựng mô hình hoặc định nghĩa mẫu, hợp thức/kiểm chứng.
1.2. Các bước trong quá trình phát hiện tri thức[7]
Phát hiện tri thức bao gồm nhiều giai đoạn được lặp đi lặp lại nhiều lần mà không
cần phân biệt từng bước trong quá trình thực hiện.
1. Giai đoạn 1: Hình thành, xác định và định nghĩa bài toán. Là việc tìm hiểu lĩnh vực
ứng dụng từ đó hình thành bài toán, xác định các nhiệm vụ cần phải hoàn thành.
Bước này sẽ quyết định cho việc rút ra được các tri thức hữu ích và cho phép chọn
các phương pháp khai phádữliệu thích hợp với mục đích ứngdụng cùng với bản
chất của dữ liệu.
2. Giai đoạn 2: Thu thập và tiền xử lý ( xử lý thô). Bước này còn được gọi là tiền xử
lý dữliệu nhằm loại bỏ nhiễu (dữ liệudư thừa), làm sạch dữ liệu, xử lý và khắc
phục vấn đề thiếu hoặc thừa dữ liệu, biến đổi dữliệu và rút gọn dữliệu nếu cần
thiết. Bước này thường chiếm nhiều thời gian nhất (bước quan trọng) trong toàn bộ
quy trình phát hiện tri thức.
[...]... việc khai phádữ liệu: Phân chia nhiệm vụ dữliệu cho nhiều bộ xử lý thực hiện đồng thời 1.8 Kết luận Nội dung chương đã tìm hiểu quá trình phát hiện tri thức và các vấn đề khai phádữliệu Phát hiện tri thức (KDD) là một quá trình rút ra tri thức từ dữliệu mà trong đó khai phádữliệu là giai đoạn chủ yếu Khai phádữliệu là nhiệm vụ khám phá các mẫu có ích từ số lượng lớn dữ liệu, ở đó dữliệu có... Database) là quá trình chiết xuất ra tri thức từ kho dữliệu mà trong đó khai phádữliệu là công đoạn quan trọng nhất 12 1.3 Kiến trúc hệ thống khai phádữliệu Kiến trúc của hệ thống khai phádữliệu có thể chia thành các thành phần chính như trong hình 1- Kho dữ liệu: là một tập các cơ sở dữ liệu, các công cụ làm sạch dữliệu và tích hợp dữliệu có thể thực hiện trên chúng 2- Cơ sở tri thức: là... mẫu dữliệu là dp Biến động dữliệu và tri thức: Sự thay đổi nhanh chóng dữliệu làm cho các mẫu đã phát hiện trước đây có thể không còn đúng Hơn nữa các độ đo biến trong các CSDL ứngdụng có thể thay đổi, bị xoá, hoặc tăng lên theo độ đo mới Các giải pháp có thể là các phương pháp gia tăng để cập nhật các mẫu Thiếu dữliệu và thừa dữ liệu: Đây là vấn đề có thể nói rất khó khăn cho việc khai phádữ liệu. .. trong các CSDL, kho dữliệu hoặc kho lưu trữ thông tin khác Nó là một lĩnh vực còn mới mẻ, phát triển từ các lĩnh vực như hệ thống CSDL, kho dữ liệu, thống kê, học máy, trực quan hoá dữliệu Khám phá tri thức bao gồm nhiều giai đoạn trong đó giai đoạn khai phádữliệu là giai đoạn quan trọng nhất Chương này đã tóm tắt một số phương pháp phổ biến dùng để khai phádữliệu và phân tích việc khai phá dữ. .. đến việc tìm kiếm các mẫu trong CSDL Trong khai phádữ liệu, quy nạp được sử dụngtrong cây quyết định và tạo luật 1.5.3 Phương pháp ứngdụng K-láng giềng Sự miêu tả các bản ghi trong tập dữliệu khi trỏ vào không gian nhiều chiều là rất có ích đối với việc phân tích dữliệu Việc dùng các miêu tả này, nội dung của vùng lân cận được xác định, trong đó các bản ghi gần nhau trong không gian được xem xét... dùng và hệ thống khai phádữliệu 1.4 Các loại dữliệu sử dụng 1.4.1 Cơ sở dữliệu quan hệ Các CSDL quan hệ là một trong những kho chứa phổ biến nhiều thông tin nhất và là dạng dữliệu chủ yếu để nghiên cứu khai phádữliệu 1.4.2 Kho dữliệu 13 Kho dữliệu (Data Warehouse) chứa thông tin thu thập từ nhiều nguồn, được lưu trữ trong một lược đồ hợp nhất Kho dữliệu được tổ chức theo các chủ đề và cung cấp... phương pháp khai phádữliệu cần tích hợp với các kỹ thuật lấy thông tin và xây dựng từ điển, từ điển đồng nghĩa… 1.4.5 Dữliệu Web Dữliệu Word Wide Web cung cấp các dịch vụ thông tin trực tuyến toàn cầu là cơ hội phong phú với nhiều thách thức mới cho khai phádữliệu Khai phádữliệu Web với các mục đích như: Khai phá nội dung Web để phát hiện ra các tri thức từ nội dung các trang Web Khai phá. .. vào các hệ thống lai để khai phádữliệu theo thống kê trong nhiều năm nghiên cứu Tuy nhiên, với dữliệu rất lớn trong kho dữliệu thì các phương pháp này cũng đối diện với thách thức về mặt hiệu quả và quy mô 1.5.1 Các thành phần của giải thuật khai phádữliệu Giải thuật khai phádữliệu bao gồm 3 thành phần chính như sau: biểu diễn mô hình, kiểm định mô hình và phương pháp tìm kiếm Biểu diễn mô hình:... với tham số được xác định dựa trên dữliệu (trong một số trường hợp khác thì mô hình và các tham số lại thay đổi để phù hợp với dữ liệu) Trong một số trường hợp, tập các dữliệu được chia thành tập dữliệu học và tập dữliệu thử Tập dữliệu học được dùng để làm cho tham số của mô hình phù hợp với dữliệu Mô hình sau đó sẽ được đánh giá bằng cách đưa các dữliệu thử vào mô hình và thay đổi các tham số... nghĩa của dữliệu theo thời gian Sai lệch theo nhóm là sự khác nhau không chờ đợi giữa dữliệutrong hai tập con dữ liệu, ở đây tính đến cả trường hợp tập con này thuộc trong tập con kia, nghĩa là xác định dữliệutrong một nhóm con của đối tượng có khác đáng kể so với toàn bộ đối tượng không Theo cách này, các sai sót dữliệu hay sự sai lệch so với giá trị thông thường được phát hiện 1.6.4 Phát hiện . khai phá dữ liệu 12
1.4.1. Cơ sở dữ liệu quan hệ 12
1.4.2. Kho dữ liệu 12
1.4.3. Cơ sở dữ liệu không gian 13
1.4.4. Cơ sở dữ liệu văn bản 13
1.4.5. Dữ. nhằm
phát hiện ra các tri thức hữu ích trong dữ liệu còn khai phá dữ liệu chỉ tập trung vào
việc ứng dụng các thuật toán nhằm phát hiện các mẫu từ dữ liệu