Mục đích của luận văn là: Tìm hiểu kỹ thuật khai phá dữ liệu, nghiên cứu sử dụng kỹ thuật khai phá luật kết hợp trong hỗ trợ tư vấn chọn chuyên ngành học cho sinh viên, trình bầy ví dụ á
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
PHẠM THỊ THANH MAI
ỨNG DỤNG LUẬT KẾT HỢP TRONG HỖ TRỢ TƯ VẤN CHỌN CHUYÊN NGÀNH HỌCCHO SINH VIÊN
Chuyên ngành: Truyền dữ liệu và mạng máy tính
Mã số: 60.48.15
TÓM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI - 2012
Trang 2Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học:PGS.TS NGUYỄN BÁ TƯỜNG
Phản biện 1: ………
Phản biện 2: ………
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông Vào lúc: giờ ngày tháng năm
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
Trang 3Hướng phát triển tiếp theo của luận văn:
Để quá trình đào tạo theo tín chỉ hoạt động có hiệu quả,
cần xây dựng một hệ thống hoàn chỉnh hỗ trợ cả quá
trình đào tạo (hỗ trợ thêm nhiều chức năng: sắp xếp lịch
học, sinh viên đăng ký môn học, …)
Hiện nay, dữ liệu được lưu trữ ngày một tăng, để ứng
dụng khai phá dữ liệu vào các bài toán này cần tiếp
tục nghiên cứu các phương pháp xử lý cho bài toán có
dữ liệu lớn Xem xét, nghiên cứu một số ứng dụng
khác của Khai phá dữ liệu
MỞ ĐẦU
Bước sang thế kỷ 21 chúng ta đang phải đối mặt với sự gia tăng, bùng nổ của dữ liệu từ mức độ Terabytes đến mức độ Petabytes, đã làm nảy sinh và thúc đẩy sự phát triển của kỹ thuật thu thập, lưu trữ, phân tích và khai phá dữ liệu Khai phá
dữ liệu là khai phá những thông tin hữu ích tiềm ẩn, không được biết trước trong cơ sở dữ liệu Khai phá dữ liệu đã và đang được ứng dụng thành công trong nhiều lĩnh vực khác nhau như thương mại, tài chính, thị trường chứng khoán, y học, thiên văn học, sinh học, giáo dục và viễn thông…
Hệ thống giáo dục nước ta đang dần chuyển từ đào tạo theo niên chế sang đào tạo theo tín chỉ Đào tạo tín chỉ có rất nhiều ưu điểm, giúp sinh viên có thể tự quản lý quỹ thời gian của mình và tùy theo khả năng của mình sinh viên sẽ tự quyết định các môn học từng kỳ, tạo điều kiện cho sinh viên đạt được kết quả cao nhất trong học tập Vì thế việc xây dựng một hệ thống tư vấn lựa chọn chuyên ngành học cho sinh viên là điều cần thiết và rất hữu ích
Mục đích của luận văn là: Tìm hiểu kỹ thuật khai phá dữ liệu, nghiên cứu sử dụng kỹ thuật khai phá luật kết hợp trong
hỗ trợ tư vấn chọn chuyên ngành học cho sinh viên, trình bầy ví
dụ áp dụng cho nghiên cứu xây dựng hệ thống tư vấn lựa chọn chuyên ngành học cho sinh viên tại trường Cao đẳng Kinh tế -
Kỹ thuật Thương mại
Trang 4Chương 1 - TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1 Đặt vấn đề
Ngày nay dữ liệu được lưu trữ ngày càng gia tăng Vấn đề
đặt ra là phải làm gì để tìm ra những tri thức hữu ích, tiềm ẩn từ
một lượng lớn khổng lồ dữ liệu như vậy
Nhiệm vụ của Khai phá dữ liệu là từ dữ liệu có sẵn tìm ra
những thông tin tiềm ẩn có giá trị mà trước đó chưa được phát
hiện cũng như tìm ra những xu hướng phát triển và các xu hướng
tác động lên chúng Các kỹ thuật cho phép lấy được tri thức từ cơ
sở dữ liệu được gọi là các kỹ thuật khai phá dữ liệu (DM: Data
Mining) Có rất nhiều kỹ thuật khai phá dữ liệu khác nhau tuân
theo các bước của quá trình phát hiện tri thức
1.2 Quá trình phát hiện tri thức từ cơ sở dữ liệu
1.2.1 Quá trình phát hiện tri thức
Quá trình phát hiện tri thức từ cơ sở dữ liệu bao gồm
năm giai đoạn sau:
1 Hiểu và xác định vấn đề
2 Thu thập và tiền xử lý dữ liệu
3 Khai phá dữ liệu
4 Minh họa, đánh giá tri thức được phát hiện
5 Đưa kết quả vào thực tế
KẾT LUẬN
Luận văn “Ứng dụng luật kết hợp trong hỗ trợ tư vấn chọn chuyên ngành học cho sinh viên” đã trình bày một số
kết quả sau đây:
Những nghiên cứu về khai phá dữ liệu và ứng dụng trong nhiều lĩnh vực khác nhau nhằm khai phá nguồn
dữ liệu phong phú được lưu trữ trong các hệ thống thông tin Khai phá dữ liệu cũng được áp dụng nhiều trong việc tư vấn, dự báo, đặc biệt là những ứng dụng cho tư vấn trong giáo dục
Khai phá dữ liệu có rất nhiều hướng tiếp cận (nhiều nhiệm vụ, mục đích), nhưng có 3 nhiệm vụ phổ biến: phát hiện Luật kết hợp (Association rules), Phân cụm (Clustering) và Phân loại (Classification) Trong đó nhiệm vụ phát hiện luật kết hợp là một trong những nhiệm vụ được quan tâm, nghiên cứu nhiều nhất
Tìm hiểu được những ưu điểm cũng như những khó khăn trong việc đào tạo theo tín chỉ Sử dụng phần mềm mã nguồn mở Weka (đang được sử dụng phổ biến) cho việc sinh các luật kết hợp Xây dựng một hệ thống tư vấn môn học cho Sinh viên nhằm giúp sinh viên định hướng được trong việc lựa chọn môn học, chuyên ngành học
Trang 5Giai đoạn 2 (tư vấn): sử dụng các luật nhận được từ giai đoạn
1 để đưa ra những tư vấn cho người dùng
Người dùng cập nhập dữ liệu điểm các môn Đại
cương của mình
Sau đó, người dùng có thể yêu cầu hệ thống đưa ra
những định hướng về chuyên ngành hoặc định hướng
về môn lựa chọn (chương trình sẽ hiển thị ra các luật
phù hợp với dữ liệu điểm mà người dùng đã cập nhật)
Hình 3.6.:Thuật toán tư vấn
3.4 Kết luận chương
Trong chương này đã trình bầy được những thuận lợi và
khó khăn về quá trình đào tạo theo tín chỉ Hiểu được các bước
tiền xử lý dữ liệu từ nguồn dữ liệu thu thập được Sử dụng
được phần mềm mã nguồn mở Weka vào việc sinh ra tập luật
kết hợp Từ đó mô tả một tiến trình tư vấn môn học cho sinh
viên Giúp sinh viên định hướng được việc học tập, đạt kết quả
tốt trong học tập
FOR tất cả các luật DO
IF các cặp mamon, loaidiem
trong vế trái của luật i trùng với cặp
mamon_loaidiem của bangdiem THEN
Luật i là luật được tư vấn
cho người dùng
END
Hình trên mô tả 5 giai đoạn trong quá trình phát hiện tri thức từ cơ sở dữ liệu Quá trình phát hiện tri thức từ cơ sở dữ liệu là một quá trình tương tác, lặp đi lặp lại theo chu trình liên tục kiểu xoáy trôn ốc, trong đó lần lặp sau hoàn chỉnh hơn lần lặp trước Giai đoạn sau sử dụng kết quả của giai đoạn trước
1.2.2 Các nhiệm vụ của khai phá dữ liệu 1.3 Các kỹ thuật khai phá dữ liệu
Cây quyết định
Luật kết hợp
Mạng Nơron
Thuật toán di truyền
(1) Cây quyết định: Cây quyết định là một cấu trúc
giống như một lưu đồ mà mỗi nút trong của cây biểu diễn một trường hợp thử hoặc một phép kiểm tra trên một thuộc tính Mỗi một phân nhánh của một nút biểu diễn một khả năng giá trị (miền giá trị) của phép thử Các giá trị này nằm về một phía so với ngưỡng tương ứng của nút Các nút lá biểu diễn các lớp hoặc phân bố lớp Nút trên cùng trong cây gọi là nút gốc
(2) Luật kết hợp: Trong thực tế những chuyên gia về
kinh doanh và tiếp thị rất quan tâm đến các luật có dạng như: “ 90% phụ nữ có xe máy màu đỏ và đeo đồng hồ Thuỵ Sỹ thì dùng nước hoa hiệu Chanel” Những thông tin như vậy rất hữu ích cho việc định hướng các hoạt động tiếp thị và kinh doanh Luật kết hợp có dạng X=>Y
Tuy nhiên những thông tin tìm được từ một cơ sở dữ liệu
là rất lớn Nhưng thông tin nào là đáng tin cậy Phương pháp
Trang 6khai phá luật kết hợp có hai yếu tố đặc trưng đó là độ hỗ trợ
(support)- tần xuất xuất hiện của một tập mục trong cơ sở dữ
liệu và độ tin cậy (confidence)- tỉ lệ phần trăm các bản ghi chứa
Y trong số các bản ghi có X
(3) Mạng nơron: Có nhiều kiến trúc khác nhau cho
mạng nơron, chúng sử dụng các cách kết nối mạng khác nhau
và chiến lựơc học khác nhau để thực hiện các nhiệm vụ Khi sử
dụng mạng nơron chúng ta phải phân biệt hai giai đoạn: giai
đoạn mã hoá trong mạng nơron được học trên các mẫu dữ liệu
huấn luyện, thực hiện một nhiệm vụ nào đó và giai đoạn giải
mã trong đó mạng được sử dụng để phân lớp, làm dự báo hoặc
thực hiện bắt cứ nhiệm vụ học nào liên quan
(4) Thuật toán di truyền: Việc xây dựng các thuật toán
di truyền phỏng sinh học nhằm tìm ra các giải pháp tốt nhất bao
gồm các bước sau:
1 Tạo ra cơ chế mã di truyền dưới dạng các xâu của một
bảng mã kỹ tự hạn chế
2 Thiết lập môi trường nhân tạo trên máy tính trên đó
các giải pháp có thể tham gia “đấu tranh sinh tồn” với nhau để
xác định độ đo thành công hay thất bại, hay còn được gọi là
“hàm thích nghi”
3 Phát triển các “phép lai ghép” để các giải pháp kết hợp
với nhau Khi đó các xâu mã di truyền của giải pháp cha và mẹ
bị cắt đi và xếp lại Trong quá trình sinh sản như vậy các kiểu
đột biến có thể được áp dụng
4 Cung cấp một quần thể các giải pháp ban đầu tương đối
đa dạng và để máy tính thực hiện “cuộc chơi tiến hoá” bằng cách
3.2 Kiến trúc hệ tư vấn
3.2.1 Kiến trúc chương trình
Hình 3.1.Kiến trúc của hệ thống tư vấn
3.2.2 Mô tả chương trình
Giai đoạn 1 (khai phá dữ liệu):
Trong giai đoạn này phần mềm mã nguồn Weka được
sử dụng để sinh các luật kết hợp
Từ dữ liệu thu thập được, ta chỉnh sửa sao cho không mất đi tính chính xác của dữ liệu
Tạo file dữ liệu định dạng ARFF
Tải file dữ liệu vào phần mềm mã nguồn mở Weka
Sử dụng phần sinh luật kết hợp, với thuật toán Apriori, ta được một tập luật kết hợp lưu dưới dạng file text
Trang 7Chương 3: NGHIÊN CỨU XÂY DỰNG HỆ THỐNG
HỖ TRỢ TƯ VẤN CHỌN CHUYÊN NGÀNH HỌC
CHO SINH VIÊN TẠI TRƯỜNG CAO ĐẲNG KINH
TẾ KỸ THUẬT THƯƠNG MẠI
Chương này giới thiệu về mô hình đào tạo theo tín chỉ,
tìm hiểu cách sử dụng phần mềm mã nguồn mở Weka để sinh
luật kết hợp Sau đó nghiên cứu xây dựng một hệ thống tư vấn
môn học cho Sinh viên
3.1 Giới thiệu về mô hình đào tạo theo tín chỉ
- Sinh viên chủ động đăng ký môn học
- Sinh viên sẽ tốt nghiệp sau khi hoàn thành 42 tín chỉ đại
cương, 69 tín chỉ chuyên ngành
- Sinh viên dễ dàng chuyển đổi chuyên ngành mà vẫn được
bảo lưu các điểm tương ứng
- Sinh viên chủ động sắp xếp lịch học của mình sao cho
phù hợp với lực học, tài chính
- Sinh viên có thể học lại, thi lại các môn với các lớp sau
mà không cần tổ chức thi lại
loại bỏ các giải pháp từ mỗi cá thể và thay thế chúng bằng các con cháu hoặc các đột biến của các giải pháp tốt Thuật toán sẽ kết thúc khi một họ các giải pháp thành công được sinh ra
1.4 Ứng dụng khai phá dữ liệu trong giáo dục
Hiện đã có rất nhiều nghiên cứu về ứng dụng khai phá dữ liệu cho giáo dục Những khai phá dữ liệu trong giáo dục đã nổi bật lên như là một lĩnh vực nghiên cứu độc lập trong những năm gần đây, mà cao điểm là năm 2008 với sự thành lập hội nghị quốc tế về khai phá dữ liệu giáo dục, và những bài báo về
khai phá dữ liệu giáo Đó là “Applying Data Mining Techniques
to e-Learning Problems” của Félix Castro1, Alfredo Vellido1,
Àngela Nebot1, và Francisco Mugica3, “Recommendation in
Higher Education Using Data Mining Techniques” của César
Vialardi, Javier Bravo, Leila Shafti, Álvaro Ortigosa, “Using
Association Rules for Course Recommendation” của Narimel
Bendakir và Esma A¨ımeur
Việc ứng dụng khai phá dữ liệu trong giáo dục đóng vai trò rất quan trọng trong việc phát triển giáo dục cũng như trợ giúp đáng kể cho các hoạt động giáo dục
Trang 8Chương 2: LUẬT KẾT HỢP
Khai phá luật kết hợp là tìm ra những mối quan hệ kết
hợp từ một tập các mục dữ liệu, thông thường từ những cơ sở
dữ liệu lớn, đã được giới thiệu năm 1993 Từ đó đến nay, khai
phá luật kết hợp đã thu hút nhiều quan tâm của các nhà nghiên
cứu, không ngừng được phát triển và đóng vai trò quan trọng
trong khai phá tri thức từ cơ sở dữ liệu
2.1 Các khái niệm
Kí hiệu I = {i1, i2, …, im} là tập các thuộc tính D là cơ
sở dữ liệu của tập các giao tác, mỗi giao tác T là một tập mục
con của tập mục I, T I Mỗi giao tác có một định danh duy
nhất gọi là TID (Transaction Identification) X={i1, i2,…,ik} I
được gọi là một tập mục hay một tập k-mục nếu nó chứa k
mục Một giao tác T được gọi là chứa tập mục X chỉ khi X T
Mỗi giao tác là một bộ <TID, I>, I là tập mục
Độ hỗ trợ (support)
Độ hỗ trợ của một tập mục X trong cơ sở dữ liệu D là tỉ
số giữa số các giao tác T D có chứa tập X và tổng số giao
tác trong D (hay là phần trăm của các giao tác trong D có
chứa tập mục X), kí hiệu Supp(X)
Độ hỗ trợ của luật X Y là tỉ số của số giao tác có chứa
X Y và số giao tác trong cơ sở dữ liệu D, kí hiệu:
Supp(XY)
| D
|
| T X : D T
| (X)
End Call ap_genrules (l k , H m+1 );
End
2.5 Sinh các luật kết hợp với phần mềm mã nguồn mở Weka
Weka đã được phát triển ở trường Đại học Waikato ở New Zealand và là tên viết tắt của Waikato Environment for Knowledge Analysis Hệ thống này được viết bằng Java Nó chạy trên bất kỳ platform nào, đã được thử nghiệm với Linux
và windows, và hệ điều hành Macintosh Nó cung cấp một giao diện thống nhất với nhiều thuật toán khác nhau, cùng với các phương pháp cho việc xử lý trước và xử lý sau và dành cho việc đánh giá kết quả của các sơ đồ học trên bất kỳ tập dữ liệu cho trước nào
Weka có thể download từ
http://www.cs.waikato.ac.nz/ml/weka
Để sử dụng được phần mềm Weka ta phải chuẩn bị dữ liệu dưới dạng file ARFF
Dữ liệu đầu ra có thể được lưu trong file dạng text
2.6 Kết luận chương
Trong chương 2 này, chúng ta đã tìm hiểu được các khái niệm cơ bản, các thuật toán khai phá luật kết hợp
và tìm hiểu về một phần mềm mã nguồn mở Weka, cách
sử dụng Weka để sinh ra luật kết hợp - một phần mềm đang được sử dụng rất phổ biến
Trang 9End
return = k L k ;
Thuật toán AprioriHibrid
Thuật toán AprioriHyrid là thuật toán lai của 2 thuật toán
Apriori và AprioriTID; nghĩa là ban đầu sử dụng thuật toán
Apriori, khi k nhỏ vừa đủ bộ nhớ và số phần tử của tập ứng
viên Ck nhỏ hơn Ck-1 thì chuyển sang sử dụng thuật toán
AprioriTID Điều kiện thứ hai để tránh hiện tượng k đủ vộ
nhớn nhưng k+1 không đủ bộ nhớ Kích thước của k được
ước lượng bằng công thức candidatescCksuport(c)+ số giao tác
2.4.2 Thuật toán sinh luật kết hợp
For all large k-itemset lk , k2, do begin
H 1 ={hệ quả của luật từ l k với một
item có mặt trong phần hệ quả}
Call ap_genrules (l k , H l );
End
Procedure ap_genrules (lk :large k-itemset,
H m : set of m-item consequents)
If (k >m+1) then begin
H m+1 =Apriori_gen(H m );
For all h m+1 H m+1 do begin
Conf = support (l k )/support (l k -h m+1 );
If (conf minconf) then Output the rule (l k –h m+1 ) h m+1 With confidence =conf and support=support(l k );
Else Delete h from H ;
Độ Tin cậy (Confidence)
Độ tin cậy của một luật r =X Y là tỉ số (phần trăm) của
số giao tác trong D chứa X Y với số giao tác trong D có chứa tập mục X Kí hiệu độ tin cậy của một luật là conf (r) Ta
có 0 conf 1
Tập mục (Itemset)
Tập mục X được gọi là tập mục thường xuyên nếu có Supp(X) MinSup, ( MinSup là giá trị cho trứoc)
Luật kết hợp
Cho một giao tác, mỗi giao tác là một tập mục, một luật
là một biểu thức có dạng XY, với X, Y là các tập mục, X
Y = , X I, Y I, X được gọi là tiền đề, Y gọi là kết luận của luật
Một luật X Y thoả mãn trên D nếu với một support tối thiểu minsup và một ngưỡng confidence tối thiểu minconf cho trước ta phải có:
Support (X Y) minsup
Và Confidence (X Y) minconf
(X và Y phải là các tập mục thường xuyên trên D)
Tính chất 4 Luật kết hợp không có tính bắc cầu
Nếu X Y và Y Z thoả trên D thì không thể khăng định X Z thoả mãn trên D
| D
|
| T Y X : D T
| Y) (X
Trang 10Tính chất 5 Luật kết hợp không có tính tách
Nếu X Y Z thì X Z và Y Z chưa chắc xảy ra
Tính chất 6 Luật kết hợp không có tính bắc cầu
Nếu X Y và Y Z thoả trên D thì không thể khăng
định X Z thoả mãn trên D
Tính chất 7
Nếu luật X (L-X) không thoả độ tin cậy cực tiểu thì
luật Y(L-Y) cũng không thoả mãn, với các tập mục Y X
L
2.2 Mô tả kho dữ liệu điểm của bài toán
Với cơ sở dữ liệu (CSDL) có được của trên 6.000 sinh
viên và gần 2000 sinh viên đã tốt nghiệp (kể từ khóa 11 đến
khóa 13) (ký hiệu là một CSDL D)
Ta có thể xem cơ sở dữ liệu D là một ma trận trong đó
mỗi dòng thể hiện một giao tác và mỗi cột ứng với một mục
(thuộc tính) Ma trận này có thể trình bày theo 4 cách: Dạng
véc tơ mục ngang, Dạng danh sách mục ngang, Dạng véc tơ
định danh dọc, Danh sách định danh dọc
Dạng véc tơ mục ngang: HIV (Horizontal Item Vecto)
cơ sở dữ liệu được tổ chức như một tập của các dòng trong đó
mỗi dòng lưu trữ định danh (TID) của giao tác và một vectơ
else Ck = C k {c}; kết tập c vào C k
end;
Return C k ;
End;
Hàm kiểm tra tập con k-1 mục của ứng cử viên k-mục không là tập phổ biến:
function has_infrequent_subset(c: ứng cử
viên k-mục; L k-1 tập phổ biến k-1 mục)
Begin
//sử dụng tập mục phổ biến trước
For (mỗi tập con k-1 mục s của c) do
If s Lk-1 then return TRUE;
End;
Thuật toán AprioriTID
L1= {Large 1-itemset};
C’1 = Database D;
for (k=2; Lk-1 ; k++) do
Begin
C k = apriori_gen(L k-1 );
C’ k = ;
for tất cả t C’k-1 do begin
// xác định tập ứng viên trong C k chứa trong giao dịch với định //danh t Tid (Transaction Code)
C t = c C k | (c-c[k]) t.Set_of_ItemSets^(c-c[k-1] t.Set_of_ItemSets
for những ứng viên c Ct do c.count ++;
if (Ct) then C’k += < t.Tid, C t >
end
L k = c C k | c.count minsup;