Tải bản đầy đủ (.docx) (29 trang)

TIỂU LUẬN MÔN KHAI THÁC DỮ LIỆU MỘT SỐ THUẬT TOÁN CƠ BẢN TRONG KHAI THÁC DỮ LIỆU

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (934.26 KB, 29 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
TIỂU LUẬN MÔN KHAI THÁC DỮ LIỆU
MỘT SỐ THUẬT TOÁN CƠ BẢN
TRONG KHAI THÁC DỮ LIỆU
Giảng viên hướng dẫn : PGS.TS Đỗ Phúc
Học viên thực hiện : Lương Chấn Viễn
MSHV : CH1101155
Lớp : Cao học khóa 6
Tp Hồ Chí Minh, tháng 11 năm 2012
MỤC LỤC
Chương 1: KHAI PHÁ LUẬT KẾT HỢP
Trong phần này ta xem xét các vấn đề phát hiện ra các luật kết hợp giữa các mặt hàng
trong một cơ sở dữ liệu lớn các giao dịch bán hàng và trình bày thuật toán Apiori để giải
quyết vấn đề này. Đánh giá thực nghiệm cho thấy thuật toán Apiori tuyến tính với số
lượng (kích thước) giao dịch và số lượng của các món hàng trong cơ sở dữ liệu.
1.1 Bài toán thực tế
Khi công nghệ mã vạch phát triển cho phép các tổ chức bán lẻ có thể một cách dễ
dàng thu thập và lưu trữ số lượng lớn các dữ liệu bán hàng (basket data). Trong đó
mỗi một mẫu tin (record) trong dữ liệu như vậy thường bao gồm ngày giao dịch và
các mặt hàng đã mua trong giao dịch. Các tổ chức này xem cơ sở dữ liệu như phần
quan trọng của cơ sở tiếp thị. Họ quan tâm đến khả năng tiếp thị định hướng trên
thông tin trong cơ sở dữ liệu, cho phép các nhà tiếp thị của họ có thế phát triển và
thực hiện các chương trình tiếp thị cũng như tùy chỉnh và chiến lược tiếp thị.
Một ví dụ về luật kết hợp là 98 trong tổng số khách hàng mua lốp xe và phụ tùng ô tô
cũng mua các dịch vụ liên quan. Tìm tất cả các luật như vậy để làm cơ sở cho tiếp thị
chéo giữa các mặt hàng. Các ứng dụng khác có thể kể đến như thiết kế catalog, buôn
bán phụ tùng, cách bố trí cửa hàng cũng như phân khúc khách hàng trên thói quen
mua hàng. Các cơ sở dữ liệu có liên quan đến các ứng dụng này thường là rất lớn. Do
đó, các thuật toán liên quan cần phải nhanh (độ phức tạp nhỏ) để có thể sử dụng được.
1.2 Mô hình bài toán


Ta gọi là tập các món hàng (items) và là tập các giao dịch (transactions). Trong đó
mỗi giao dịch là một tập hợp các món hàng được mua trong giao dịch đó.
Ta gọi là tập các giao dịch có mua các mặt hàng trong .
3
Khi đó một luật kết hợp được ký hiệu như sau:
Trong đó và .
Ta nói luật xảy ra trong với độ tin cậy (confidence) hay xác suất là
Và độ ủng hộ (support) hay tần suất xảy ra của luật là
Cho trước một tập các giao dịch , khi đó bài toán khai phá luật kết hợp là sinh ra tất cả
các luật kết hợp mà có độ ủng hộ và độ tin cậy lớn hơn một ngưỡng mà người dùng
cho trước.
1.3 Thuật giải tổng quát
Bài toán khám phá tấst cả các luật kết hợp có thể được phân tách thành hai bài toán
con:
1. Tìm tất cả các tập các mặt hàng (itemsets) có độ ủng hộ trên hỗ trợ tối thiểu . Các
itemsets thõa điều kiện vậy gọi là tập phổ biến. Thuật toán Apriori trình bày ở
phần sau là sẽ giải quyết vấn đề này.
2. Sử dụng các tập phổ biến được tìm ra ở trên để sinh luật kết hợp. Thuật toán đơn
giản để sinh luật như sau:
4
1.4 Tìm tập phổ biến bằng thuật toán Apriori
1.4.1 Định lý về tính chất của tập phổ biếns
Phát bi ểu 1: cho trước một tập phổ biến , với mọi tập con thì là một tập phổ biến
Phát bi ểu 2 : cho trước một tập , nếu tồn tại một tập con không phải là tập phổ biến thì
cũng không phải là tập phổ biến
Ch ứng minh:
Do thì theo định nghĩa ta có . Mà nên , từ đó . Nên Ta có nên .
Khi đó nên nếu thì . Suy ra phát biểu 1 đúng. Phát biểu 2 là nghịch đảo của
phát biểu 1.
Từ tính chất trên, các thuật toán tìm các tập phổ biến bằng từ các tập phổ biến

nhỏ; đầu tiên là tập phổ biến có 1 phần tử. Từ các tập phổ biến nhỏ đó, ta suy ra
các tập lớn hơn gọi là tập ứng cử viên. Và duyệt cơ sở dữ liệu để tìm tập phổ
biến dựa trên tập ứng cử viên đó.
1.4.2 Ký hiệu
Giả sử ta có một thứ tự sắp xếp các mặt hang ký hiệu là .
Khi ta nói một itemset (, tập các mặt hànx+_g hay một giac dịch), ta xem như itemset
đã được sắp xếp, tức mặt hàng thứ bé hơn mặt hàng thứ . Nếu ta ký hiệu mặt hàng
thứ trong là thì
5
Một -itemset là một itemset có phần tử như sau
Bảng 1-1. Bảng ký hiệu
1.4.3 Thuật toán tìm tập phổ biến
Thuật toán tìm tập phổ biến dựa trên tính chất của tập phổ biến như sau
Algorithm Apriori
for while do
generate from
end
1.4.4 Thuật toán sinh ứng cử viên Apriori-gen
Như vậy, bài toán cần giải quyết là sinh tập các -itemset làm ứng cử viên để tìm tập
các -itemset phổ biến từ tập các -itemset.
Điều kiện của tập ứng cử viên :
• Tối tiểu: tức dựa trên thông tin của ta có thể loại các itemset chắc chắn không phổ
biến. Nghĩa là:
thì
Trong đó ký hiệu cho quan hệ tập con có phần tử.
• Đầy đủ: .
6
Algorithm Apriori-gen
Input:
Output:

Join step
Prune step
remove from if .
Ví dụ:
Bước kết:
Ta kết và thành .
Ta kết và thành .
Bước lượt bớt:
Tập con -itemset của là đều thuộc .
Ta bỏ tập vì tập con không thuộc .
Tính đúng đắn của Apriori-gen
• Tính tối tiểu: từ bước lược (prune step) ta bảo đảm tính tối tiểu của .
• Tính đầy đủ: với mọi khi đó và đều thuộc nên bước kết là đầy đủ.
1.5 Xây dựng thuật toán sinh luật Apiori bằng cây
- Thuật toán được xây dựng một cách có hiệu quả thông qua cấu trúc cây.Cây thể
hiện các tập phổ biến được tìm. Quá trình xây dựng cây cũng chính là quá trình
tìm kiếm tập phổ biến.
- Mỗi node của cây (trừ nút gốc root) tương ứng với một tập phổ biến. Với mỗi
node tương ứng với tập thì ta có:
o Node cha của tương ứng với tập phổ biến .
o Các node con của là các tập phổ biến có phần tử đầu bằng
7
o Các con trỏ đến các node con của được lưu trữ trong một danh sắp được
sắp xếp hay một hash. Nhờ đó việc tìm kiếm một node con bất kỳ có độ
phức tạp thấp.
- Bước kết được thay bằng thao tác trên cây như sau: các node candidate sinh ra
trong phép kết được thay bởi việc kết các sibling của với . Ví dụ:
8
- Trong bước lược bỏ, ta cần duyệt qua các tập con của candidate có thuộc hay
không. Nếu có chiều dài là thì có tập con cần phải kiểm tra. Việc kiểm tra

itemset có thuộc bằng cách tìm kiếm trên cây. Nếu xem thời gian di chuyển từ
node cha đến node con là hằng số thì cần tốn thời gian (do duyệt đến chiều sâu
thứ của cây). Vậy mỗi ứng cử trong bước lược được kiểm tra với chi phí .
- Ví dụ về quá trình tìm phần tử thông qua duyệt cây.
Sau khi kết thúc quá trình xây dựng cây, các node trên cây tương ứng là các tập
phổ biến. Các node lá của cây là các tập phổ biến tối đại.
9
1.6 Chương trình demo
10
Bố cục giao diện chương trình gồm 2 phần, phần bên trái cho phép nhập đề bài, phần
bên phải hiển thị quá trình tìm tập phổ biến cũng như luật kết hợp.
Quá trình tìm kiếm luật kết hợp được chia làm 2 phân tương ứng với 2 bước của thuật
toán tìm luật tổng quát:
Bước 1: Tìm tất cả các tập phổ biến bằng thuật toán Apiori
11
Kết luận về tập phổ biến và tập phổ biến tối đại
Bước 2: Sinh luật từ tập phổ biến tìm được ở bước 1
12
13
Chương 2: PHÂN LỚP – CLASSIFICATION
2.1. Classifier
Định nghĩa: một classifier (hàm phân lớp) là một hàm ánh xạ một vector đầu vào
(input feature vector) đến một lớp . Trong đó là không gian đặc tính (feature space).
là tập các lớp cần phân loại. Ở đây ta giả sử các mỗi vector đầu vào chỉ thuộc một lớp
duy nhất, tức các lớp này loại trừ lẫn nhau (mutually exclusive).
Mục tiêu của ta là cần huấn luyện hay tìm một hàm từ một tập huấn luyện ban đầu.
Mỗi tập huấn luyện là một cặp , quá trình huấn luyện như vậy được gọi là học có
giám sát (supervised learning).
Trong nội dung hiện tại, ta chỉ quan tâm đến các hàm phân lớp xác suất, là các hàm
gán nhãn dựa trên việc tính toán .

2.2. Hai mô hình tiếp cận
Có 2 mô hình tiếp cận chính là Generative model và discriminative model được mô tả
như sau:
Generative model
Học về hàm mật độ c
Sau đó sử dụng luật Bayes
Giả thiết Đưa ra giả thiết về dạng h
Tham số ước lượng Ước lượng các tham s
Ví dụ Naïve Baye
Ưu điểm Đưa ra mô hình xác su
Định ra một phân bố x
14
Nhược điểm Mô hình phức tạp, cần
2.3. Naïve Bayes Classifier
2.3.1 Giả thiết naïve Bayes
Giả thiết cho rằng tất cả các thuộc tính điều độc lập có điều kiện nếu biết trước lớp .
Điều kiện này thể hiện dưới mô hình mạng Bayes (Bayesian network) như sau
2.3.2 Mô hình xác suất
Từ công thức Bayes ta có
Khi phân lớp một vector đầu vào mới, ta gán nhãn dựa trên
Do không phụ thuộc vào biến nên
Thế giả thiết naïve Bayes vào ta có
Như vậy các tham số cần tính để tìm hàm phân lớp là
15
2.3.3 Độ phức tạp
Phức tạp về không gian: ta cần lưu trữ các tham số trên. Nếu số lượng lớp là , số chiều
của vector đầu vào là thì ta cần không gian lưu trữ giá trị của và không gian lưu trữ
hàm xác suất . Nếu các biến là biến rời rạc có giá trị thì ta cần lưu trữ giá trị .
Phức tạp về thời gian: Ta cần duyệt qua một lần các dữ liệu huấn luyện để tính các
tham số cần tìm. Đsộ phức tạp về thời gian là với là số lượng các dữ liệu huấn luyện.

2.4. Chương trình Demo
Phần nhập đề bài
Phần nhập lời giải tương ứng
16
17
Chương 3: GOM CỤM – CLUSTERING
Bài toán gom cụm: khi cho trước một tập dữ liệu huấn luyện thì mục tiêu của bài toán là
gom nhóm các các dữ liệu tương tự nhau vào một tập cụm. Mỗi một cụm đại diện cho các
phần tử trong cụm đó.
3.1Thuận toán gọm cụm -means
-mean clustering algorithm
Đầu vào:
• Tập dữ liệu huấn luyện .
• Số lượng các cụm: .
1. Khởi tạo các trọng tâm của các cụm .
2. Lặp cho đến khi hội tụ:
Tính cụm của :
Tính lại tọa độ của cụm :
Bảng 1-2Thuận toán gọm cụm k-mean
Việc khởi tạo các trọng tâm của các cụm một cách ngẫu nhiên bằng cách chọn ngọn
nhiên example trong tập dữ liệu (tuy nhiên không nhất thiết phải như vậy).
Mỗi lần lặp của thuật toán, ta gán lại nhãn cụm cho bằng cách chọn cụm có trọng
tâm gần nhất. Sau đó, ta di chuyển trọng tâm của cụm đến trọng tâm của các điểm
thuộc cụm. Thuật toán hội tụ có thể kiểm tra bằng cách (1) nếu trong tâm mới của
cụm không thay đổi hoặc thay đổi rất nhỏ thì ta nói thuật toán hội tụ. Cách (2) là
kiểm tra các nhãn có thay đổi qua mỗi bước lặp hay không.
18
Hình trên thể hiện quá trình chạy của thuật toán. Các dữ liệu huấn luyện được thể hiện
qua các chấm trên đồ thị (hình 1). Các trọng tâm của cum thể hiện qua các dấu x trên
đồ thị (hình 2). Trong trường hợp của ví dụ và trong tậm của 2 cụm được khởi tạo

như hình 2. Ta gán nhãn các điểm đến cụm có trọng tâm gần nhất như hình 3. Tiếp
theo, ta di chuyển trong tâm cụm đến trọng tâm của các điểm thuộc cụm như hình 4.
Lặp lại 2 bước trên như hình 5 và hình 6. Dừng lại khi hội tụ.
3.2Chương trình demo gom cụm bằng thuật toán -means
Phần nhập đề bài
19
Có 2 cách khởi tạo trong tâm các cụm
20
Phần trình bày quá trình chạy của thuật toán
21
22
Chương 4: LÝ THUYẾT TẬP THÔ - ROUGH SET THEORY
Lý thuyết tập thô được phát triển ban đầu bởi Zdzislaw Pawlak vào những năm đầu của
thập niên 1980, được sử dụng như một công cụ phân tích các bảng dữ liệu nhằm tổng hợp
một cách xấp xỉ các khái niệm từ các dữ liệu này.
4.1Hệ thống thông tin - Information systems
Hệ thống thông tin là một tập dữ liệu dưới dạng bảng. Các dòng đại diện cho từng
trường hợp, sự kiện hay đơn giản là một đối tượng. Mỗi cột biểu diễn cho một thuộc
tính của những đối tượng đó. Một cách hình thức, ta định nghĩa một hệ thông thông
tin là một cặp
Trong đó là một tập hữu hạn các đối tượng, gọi là tập vũ trụ. là tập hữu hạn các
thuộc tính, mỗi thuộc tính là một hàm ánh xạ các đối tượng đến giá trị của thuộc tính
của đối tượng đó: . Trong đó là miền giá trị của thuộc tính .
4.2Quan hệ bất khả phân biệt
Các hệ thống quyết định chứa trong tri thức về mô hình mà hệ thống đó biểu diễn.
Tuy nhiên, những bảng dữ liệu này thường lớn một cách không cần thiết vì sự dư thừa
ở 2 mức độ: cùng một đối tượng hay những đối tượng không phân biệt được với nhau
được biểu diễn lặp lại nhiều lần; cũng như một số thuộc tính dư thừa trong bảng thông
tin.
Định nghĩa: Quan hệ bất khả phân biệt theo tập thuộc tính :

Có thể thấy quan hệ là một quan hệ tương đương vì nó thỏa các tính chất phản xạ, đối
xứng và bắc cầu. Do đó quan hệ có thể phân hoạch tập vũ trụ thành các lớp tương
23
đương . Ta ký hiệu lớp tương của đối tượng là là tập các đối tượng bất khả phân biệt
với dựa vào thuộc tính .
4.3Xấp xỉ tập hợp
Ta thường quan tâm việc phân hoạch tập vũ trụ thành các lớp, khái niệm. Tuy nhiên,
một số khái niệm không thể được định nghĩa rõ ràng nếu dựa vào các thuộc tính của
đối tượng.
Xấp xỉ tập hợp cho ta định nghĩa những khái niệm như thế một cách xấp xỉ, bằng 2
tập rõ.
Cho trước một hệ thống thông tin và một tập con . Ta xấp xỉ tập bằng tập thuộc tính
bởi 2 tập rõ (crisp set) như sau
Khi đó nếu một đối tượng thì ta nói chắc chắn thuộc . Nếu thì ta nói có thể thuộc ,
ngược lại nếu thì chắc chắn không thuộc .
Các tính chất của , :
4.4Các rút gọn - reducts
Ta có thể loại bỏ một số thuộc tính mà không làm xấu đi việc phân lớp. Ta nói là một
rút gọn của nếu khả năng phân biệt của bằng . Khi đó ta nói bảo toàn quan hệ bất
khả phân biệt của cũng như là bảo toàn xấp xỉ tập hợp. Nếu một tập bảo toàn quan
24
hệ bất khả phân biệt thì mọi tập thuộc tính cũng bảo toàn quan hệ bất khả phân biệt.
Do đó, ta chỉ xét những tập tối tiểu ( sao cho bảo toàn quan hệ bất khả phân biệt)
được gọi là reduct của .
Định nghĩa miền -dương của thuộc tính :
Cho một hệ thống thông tin , thuộc tính quyết định và tập thuộc tính .
Ta nói thuộc tính là phân biệt được nếu , ngược lại, là bất khả phân biệt.
Định nghĩa: Reduct
Ta nói là một reduct của nếu mọi thuộc tính là bất khả phân biệt và .
Ta gọi tập tất cả reduct của là . Khi đó, tập tất cả các thuộc tính điều kiện không thể

phân biệt được là .
Một cách để tìm và là lập ma trận phân biệt, hàm phân biệt và rút gọn hàm phân biệt.
Ma trận phân biệt của hệ thống thông tin là một ma trận với .
Khi đó hàm phân biệt
4.5Hàm thành viên thô - rough membership function
Hàm thành viên thô lượng hóa mức độ của vùng phủ lấp tương đối giữa tập và lớp
tương mà thuộc về.
Hàm thành viên thô là ước lượng dựa trên tần suất của xác suất có điều kiện .
25

×