Các kết quả đã đạt đượcCài đặt thuật toán K-means và Apriori chạy với dữ liệu thực và ứng dụng trong phân tích kết quả học tập của học viên.. Hướng phát triển Tìm hiểu cải
Trang 1TÌM HIỂU VÀ CÀI ĐẶT THUẬT TOÁN PHÂN LỚP DỮ LIỆU VÀ ỨNG DỤNG TRONG PHÂN TÍCH KẾT QUẢ HỌC TẬP CỦA HỌC VIÊN
Học viên thực hiện:
Trang 3Giới thiệu
Trong thời đại bùng nổ công nghệ thông tin, các công nghệ lưu
trữ dữ liệu ngày càng phát triển nhanh chóng tạo điều kiện cho các đơn vị thu thập dữ liệu nhiều hơn và tốt hơn
Khai thác dữ liệu là quá trình trích xuất các thông tin có giá trị
tiềm ẩn trong những kho dữ liệu Khai thác dữ liệu chỉ là một khâu trong quy trình Khám phá tri thức trong cơ sở dữ liệu
Hiện nay kỹ thuật khai thác dữ liệu đang được áp dụng một
cách rộng rãi trong rất nhiều lĩnh vực kinh doanh và đời sống khác nhau như: y tế, marketing, ngân hàng, viễn thông, internet… Không ai có thể phủ định được những lợi ích to lớn
Trang 4Giới thiệu
CSDL càng lớn thì tri thức khai thác được càng nhiều, tuy nhiên
với tốc độ phát triển của công nghệ hiện nay, dữ liệu phình lên với tốc độ rất lớn, trung bình là 10% - 15% một năm, điều này gây khó khăn không nhỏ cho việc áp dụng các phương thức khai thác dữ liệu kinh điển Các thuật toán xử lý tuần tự đôi khi không thể thực hiện trên những CSDL lớn
Trong những năm gần đây, việc nghiên cứu cải tiến các thuật
toán tuần tự trong khai thác dữ liệu đang là hướng được nhiều người quan tâm Việc cải tiến được thực hiện trên hai hướng:
Cải tiến về cấu trúc nhằm lưu trữ dữ liệu thích hợp cho các thuật
toán.
Cải tiến về cách thực thi các thuật toán trên cơ sở song song hóa
dựa trên sự phát triển của công nghệ chế tạo.
Trang 5Các kết quả đã đạt được
Cài đặt thuật toán K-means và Apriori chạy với dữ liệu thực
và ứng dụng trong phân tích kết quả học tập của học viên
Hướng phát triển
Tìm hiểu cải tiến thuật toán tuần tự để phân lớp dữ liệu và
tìm luật kết hợp được nhanh chóng theo 2 hướng đã trình bày ở trên
Trang 6Phân lớp dữ liệu
Cho một CSDL D = {t1,t2,…,tn}, một tập hợp
các lớp C= {C1,…,Cm}, bài toán phân lớp
được phát biểu như sau: Xác định ánh xạ
f : DC sao cho với mỗi ti được quy về một lớp Cj.
Về mặt thực chất, bài toán phân lớp chính là
chia D thành các lớp tương đương.
Trang 7Các thuật toán phân lớp dữ liệu
Trang 8Thuật toán K-Means
Phân lớp /nhóm n đối tượng thành k nhóm dựa trên đặc
tính/thuộc tính của đối tượng (k n nguyên, dương).
Trang 9Thuật toán K-Means
Mỗi đối tượng được coi là 1 véc tơ m chiều
(m - số thuộc tính của đối tượng).
Việc phân lớp được thực hiện dựa trên khoảng
cách Euclidean nhỏ nhất giữa đối tượng đến phần tử trung tâm của các lớp/nhóm
Phần tử trung tâm của nhóm được xác định
bằng giá trị trung bình các phần tử trong nhóm
Trang 10Tính khoảng cách Euclidean
A = {a1, a2 an} - Tập n đối tượng
aj=(xj1, xj2, xjm) j=1 n - phần tử thứ j cần phân loại
xjs s=1 m - thuộc tính của đối tượng
ci=(ci1, ci2, cim) i=1 k - phần tử trung tâm nhóm i
cis s=1 m - thuộc tính của phần tử trung tâm i
Khoảng cách Euclidean
giữa mỗi đối tượng aj
đến phần tử trung tâm
Trang 11Tính lại toạ độ tâm của vùng
Clusteri = {a1, a2 at} – Nhóm thứ i
Trang 12Các bước của thuật toán K-Means
• Khởi tạo ci i=1 k ngẫu nhiên
• Lặp
B1: Xác định khoảng cách Euclidean giữa aj j=1 n
và ci i=1 k theo công thức (1)
B2: Nhóm đối tượng vào cluster dựa nhỏ nhất.
B3: Tính ci của mỗi nhóm theo công thức (2).
đến khi không còn đối tượng nào di chuyển từ nhóm này sang nhóm khác
Trang 13Sơ đồ khối của thuật toán K-Means
Data input:
- n objects
- k clusters Start
Initial k cluster centers
F
End
Trang 14Độ phức tạp của thuật toán
Số ô nhớ cần dùng để lưu trữ các đối tượng
là O(mn) trong đó m là số đối tượng còn n là số chiều (hay số thuộc tính) của các đối
tượng
Còn độ phức tạp về thời gian của giải thuật
K-MEANS là O(I*K*m*n) trong đó I là số bước lặp cần thiết để giải thuật dừng (hội
tụ), K là số vùng
Trang 15Nhược điểm
Việc khởi tạo phần tử trung tâm của nhóm ban đầu ảnh hưởng
đến sự phân chia đối tượng vào nhóm trong trường hợp dữ liệu không lớn
Số nhóm k luôn phải được xác định trước.
Không xác định được rõ ràng vùng của nhóm, cùng 1 đối
tượng, nó có thể được đưa vào nhóm này hoặc nhóm khác khi dung lượng dữ liệu thay đổi
Điều kiện khởi tạo có ảnh hưởng lớn đến kết quả Điều kiện
khởi tạo khác nhau có thể cho ra kết quả phân vùng nhóm khác nhau
Không xác định được mức độ ảnh hưởng của thuộc tính đến
Trang 16Luật kết hợp
Gọi I={I1, I2,…,Im} là tập m thuộc tính riêng biệt, mỗi thuộc tính
gọi là một item Gọi D là một CSDL, trong đó mỗi bản ghi T là một giao dịch và chứa các tập item, TI
Định nghĩa 1: Một luật kết hợp là một quan hệ có dạng XY,
trong đó X, Y I là các tập item gọi là itemsets và XY= Ở đây
X được gọi là tiền đề, Y là mệnh đề kết quả
Hai thông số quan trọng của luật kết hợp là độ hỗ trợ (s) và độ tin
cậy (c).
Định nghĩa 2: Độ hỗ trợ (support) của luật kết hợp X Y là tỷ lệ
% các giao dịch có chứa X, Y với tổng số các giao dịch có trong cơ
sở dữ liệu
Định nghĩa 3: Độ tin cậy (confidence) của luật là tỷ lệ % của số
giao dịch có chứa X, Y với số giao dịch có chứa X
Trang 17Luật kết hợp
Việc tìm các luật kết hợp từ cơ sở dữ liệu chính là việc tìm tất
cả các luật có độ hỗ trợ và độ tin cậy lớn hơn ngưỡng của độ hỗ trợ và độ tin cậy do người sử dụng xác định trước Các ngưỡng
của độ hỗ trợ và độ tin cậy được ký hiệu là minsup và mincof.
Ví dụ:
TID Items
Example:
Beer }
Diaper ,
Milk
4
0 5
2
| T
|
) Beer Diaper,
, Milk
s
Trang 18Luật kết hợp
Một số khái niệm liên quan
Tập k item là tập hợp có k item
Tập item phổ biến là tập hợp các item có độ hỗ trợ lớn hơn
hay bằng minsup
Tập item dự kiến (tập ứng cử viên) là tập hợp các item cần
được xem xét có phải là tập item phổ biến không
Các thuật toán tìm luật kết hợp
Thuật toán AIS
Thuật toán SETM
Thuật toán Apriori
Thuật toán Eclat
Trang 19Thuật toán Apriori
Ý tưởng: Tạo ra các tập phổ biến có 1 item, tập 2 items tạo từ
tập 1_item,……tập k items tạo từ tập k-1 items Xây dựng luật
từ tập phổ biến k items tìm được
Mỗi tập item được tạo ra phải được tính toán độ hỗ trợ và độ
tin cậy
Tính chất: mọi tập item phổ biến thì tất cả các tập item con của
nó đều là phổ biến
Qua 2 bước:
Tạo tập item phổ biến: tạo tất cả các tập item dự kiến, tính
toán độ hỗ trợ, loại bỏ các tập dự kiến không đạt minsup
Tạo luật kết hợp: Từ các tập con của tập phổ biến xây dựng
luật kết hợp và tính độ tin cậy của luật
Trang 20Thuật toán Apriori
1 Xác định các tập item phổ biến:
Xác định các tập ứng cử viên (Ck).
Xác định các tập phổ biến (Fk) dựa vào các tập
ứng cử viên.
Trang 21Thuật toán Apriori
Trang 22Thuật toán Apriori
1.2 Nội dung hàm Apriori_gen()
+ Fk-1 được kết nối với chính nó thu được Ck
+ Apriori_gen() xoá tất cả các tập item từ kết quả kết nối mà có
1 số tập con (k-1) không có trong Fk-1 Sau đó nó trả về tập item phổ biến kích thước k còn lại
Trang 23Thuật toán Apriori
Trang 243 b
2 a
Sup Itemset
Data base D 1-candidates
Scan D
3 e
3 c
3 b
2 a
Sup Itemset
Freq 1-itemsets
bc ae ac
ce be
ab Itemset 2-candidates
ce be bc ae ac ab Itemset
2 1 2
2 3
1 Sup Counting
Scan D
ce be bc ac
Itemset
2 2 2 3
Sup
Freq 2-itemsets bce
Itemset 3-candidates
bce
Itemset
2 Sup Freq 3-itemsets
Scan D
Trang 25Thuật toán Apriori
2 Sinh các luật kết hợp từ các item phổ biến:
Tìm tất cả các tập con không rỗng h của tập
item phổ biến f F
Với mỗi tập con h tìm được, ta xuất ra luật
dạng (h) (f-h) nếu tỉ lệ support(f)/support(h)
mincof.
Trang 26Thuật toán Apriori
Ví dụ sinh luật kết hợp
Suppose {2,3,4} is frequent, with sup=50%
Proper nonempty subsets: {2,3}, {2,4}, {3,4}, {2}, {3},
Trang 27Thuật toán Apriori
Trang 28Thuật toán Apriori
Thủ tục tìm tập ứng cử viên
Trang 29Thuật toán Apriori
Thủ tục loại bỏ các tập ứng cử viên không phổ biến
Trang 30Nhận xét thuật toán Apriori
Tạo các tập phổ biến chậm
Tạo các luật kết hợp từ các tập phổ biến nhanh
Không gian của tất cả các luật là hàm mũ O(2m); m:
số item.
Quét nhiều lần CSDL.
Số lượng tập ứng cử viên lớn.
Tốn nhiều công sức khi tính toán độ hỗ trợ cho các tập
ứng cử viên.(Sử dụng hàm băm để khắc phục các hạn chế trên).