1. Trang chủ
  2. » Luận Văn - Báo Cáo

ÁP DỤNG THUẬT TOÁN APRIORI ĐỂ HỖ TRỢ SINH VIÊN CHỌN MÔN HỌC

22 1,4K 5

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 739,3 KB

Nội dung

ÁP DỤNG THUẬT TOÁN APRIORI ĐỂ HỖ TRỢ SINH VIÊN CHỌN MÔN HỌC Chương 1: Trình bày giới thiệu chung về khám phá tri thức và khai phá dữ liệu, trong đó có đề cập đến khái niệm tri thức, dữ liệu, quá trình khám phá tri thức, nhiệm vụ và các kỹ thuật khám phá tri thức. Chương 2: Trình bày các phương pháp khai phá dữ liệu bằng luật kết hợp và trình bày thuật toán Aprori. Chương 3: Trình bày áp dụng thuật toán Apriori để hỗ trợ sinh viên chọn môn học tại trường Cao đẳng nghề Bách khoa Hà Nội.

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

-

LÊ THỊ KIỀU NGÂN

ÁP DỤNG THUẬT TOÁN APRIORI ĐỂ HỖ TRỢ

SINH VIÊN CHỌN MÔN HỌC

CHUYÊN NGÀNH : KHOA HỌC MÁY TÍNH

MÃ SỐ: 60.48.01

TÓM TẮT LUẬN VĂN THẠC SĨ

HÀ NỘI - 2013

Trang 2

Luậ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: TS NGUYỄN MẠNH HÙ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 3

Khai phá dữ liệu đang được áp dụng một cách rộng rãi trong nhiều lĩnh vực kinh doanh và đời sống khác nhau như: marketing, tài chính, ngân hàng và bảo hiểm, khoa học, y

tế, giáo dục, internet…

Mục đích nghiên cứu của đề tài là tìm hiểu về các kỹ thuật khai phá dữ liệu; các vấn

đề liên quan đến khai phá luật kết hợp nhằm phát hiện và đưa ra các mối liên hệ giữa các giá trị dữ liệu trong cơ sở dữ liệu và đưa ra các luật dựa trên thuật toán Apriori

Nội dung luận văn gồm 3 chương:

Chương 1: Trình bày giới thiệu chung về khám phá tri thức và khai phá dữ liệu, trong đó có đề cập đến khái niệm tri thức, dữ liệu, quá trình khám phá tri thức, nhiệm vụ và

các kỹ thuật khám phá tri thức

Chương 2: Trình bày các phương pháp khai phá dữ liệu bằng luật kết hợp và trình bày thuật toán Aprori

Chương 3: Trình bày áp dụng thuật toán Apriori để hỗ trợ sinh viên chọn môn học tại

trường Cao đẳng nghề Bách khoa Hà Nội

Trang 4

CHƯƠNG 1: TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ KHAI

PHÁ DỮ LIỆU

1.1 Phát hiện tri thức và khai phá dữ liệu

Phát hiện tri thức trong các cơ sở dữ liệu là một qui trình nhận biết các mẫu hoặc các

mô hình trong dữ liệu với các tính năng: hợp thức, mới, khả ích, và có thể hiểu được Còn khai thác dữ liệu là một bước trong qui trình phát hiện tri thức gồm có các thuật toán khai thác dữ liệu chuyên dùng dưới một số qui định về hiệu quả tính toán chấp nhận được để tìm

ra các mẫu hoặc các mô hình trong dữ liệu

1.2 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 có thể chia thành các bước như sau:

Hình 1.1 - Các bước trong Data Mining & KDD

Bước 1 Làm sạch dữ liệu (data cleaning & preprocessing): Loại bỏ nhiễu và các dữ liệu không cần thiết

Bước 2 Tích hợp dữ liệu (data integration): quá trình hợp nhất dữ liệu thành những kho dữ liệu (data warehouses&data marts) sau khi đã làm sạch và tiền xử lý (data cleaning

& preprocessing)

Bước 3 Trích chọn dữ liệu (data selection): trích chọn dữ liệu từ những kho dữ liệu

và sau đó chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức Quá trình này bao gồm cả việc xử lý với dữ liệu nhiễu (noisy data), dữ liệu không đầy đủ (incomplete data), v.v

Trang 5

Bước 4 Chuyển đổi dữ liệu: Các dữ liệu được chuyển đổi sang các dạng phù hợp cho quá trình xử lý

Bước 5 Khai phá dữ liệu (data mining): Là một trong các bước quan trọng nhất, trong đó sử dụng những phương pháp thông minh để chắt lọc ra những mẫu dữ liệu

Bước 6 Ước lượng mẫu (knowledge evaluation): Quá trình đánh giá các kết quả tìm được thông qua các độ đo nào đó

Bước 7 Biểu diễn tri thức (knowledge presentation): Quá trình này sử dụng các kỹ thuật để biểu diễn và thể hiện trực quan cho người dùng

1.2.1 Đặt vấn đề

Với mỗi tri thức phát hiện được có thể có giá trị trong lĩnh vực này nhưng lại không mang nhiều ý nghĩa đối với một lĩnh vực khác Vì vậy mà việc xác định lĩnh vực và định nghĩa bài toán giúp định hướng cho giai đoạn tiếp theo là giai đoạn thu thập và tiền xử lý dữ liệu

1.2.2 Thu thập và tiền xử lý dữ liệu

Các cơ sở dữ liệu thu được thường chứa rất nhiều thuộc tính nhưng lại không đầy đủ, không thuần nhất, có nhiều lỗi và các giá trị đặc biệt Vì vậy, giai đoạn thu thập và tiền xử

lý dữ liệu trở nên rất quan trọng trong quá trình phát hiện tri thức từ cơ sở dữ liệu và người

ta chia làm 4 giai đoạn như sau:

- Chọn lọc dữ liệu: Là chọn ra các dữ liệu có liên quan trong các nguồn dữ liệu khác nhau

- Làm sạch dữ liệu: Dữ liệu được lấy từ nhiều nguồn khác nhau thường không đồng nhất Do đó cần có biện pháp xử lý để đưa về một cơ sở dữ liệu thống nhất phục vụ cho việc khai thác

- Làm giầu dữ liệu: Trong quá trình thu thập dữ liệu đôi khi không đảm bảo tính đầy

đủ của dữ liệu Một số thông tin quan trọng có thể thiếu hoặc không đầy đủ Quá trình làm giàu bao cũng bao gồm việc tích hợp và chuyển đổi dữ liệu

- Mã hóa: Các phương pháp dùng để chọn lọc, làm sạch, làm giàu dữ liệu sẽ được mã hóa dưới dạng các thủ tục, chương trình hay tiện ích nhằm tự động hóa việc kết xuất, biến đổi và di chuyển dữ liệu Các hệ thống con đó có thể được thực thi định kỳ làm tươi dữ liệu phục vụ cho việc phân tích

1.2.3 Khai thác dữ liệu

Trang 6

Giai đoạn khai thác dữ liệu được bắt đầu sau khi dữ liệu đã được thu thập và tiến hành xử lý Trong giai đoạn này, công việc chủ yếu là xác định được bài toán khai thác dữ liệu, tiến hành lựa chọn phương pháp khai thác phù hợp với dữ liệu có được và tách ra các tri thức cần thiết

1.3 Khai phá dữ liệu

1.3.1 Mục đích của khai phá dữ liệu:

Nhiệm vụ cơ bản nhất của khai phá dữ liệu là:

- Phân cụm, phân loại, phân nhóm, phân lớp: Quá trình này thường được thực hiện một cách tự động

- Khai phá luật kết hợp: Nhiệm vụ là phát hiện ra những mối quan hệ giống nhau của các bản ghi giao dịch Luật kết hợp X=>Y có dạng tổng quát là: Nếu một giao dịch đã sở hữu các tính chất X thì đồng thời nó cũng sở hữu các tính chất Y, ở một mức độ nào đó Khai phá luật kết hợp được hiểu theo nghĩa: Biết trước các tính chât X, vậy các tính chất Y

là những tính chất nào?

- Lập mô hình dự báo: bao gồm hai nhiệm vụ: Hoặc là phân nhóm dữ liệu vào một hay nhiều lớp dữ liệu đã xác định từ trước, hoặc là sử dụng các trường đã cho trong một cơ

sở dữ liệu để dự báo sự xuất hiện (hoặc không xuất hiện) của các trường hợp khác

- Phân tích đối tượng ngoài cuộc: Một cơ sở dữ liệu có thể có thể chứa các đối tượng không tuân theo mô hình dữ liệu Các đối tượng dữ liệu như vậy gọi là các đối tượng ngoài cuộc

- Phân tích sự tiến hóa: Phân tích sự tiến hóa thực hiện việc mô tả và mô hình hóa các quy luật hay khuynh hướng của những đối tượng mà ứng xử của chúng thay đổi theo thời gian

1.3.2 Các kỹ thuật khai phá dữ liệu

Kỹ thuật khai phá dữ liệu gồm hai nhóm chính sau:

- Kỹ thuật khai phá dữ liệu mô tả: Có nhiệm vụ mô tả về các tính chất hoặc các đặc tính chung của dữ liệu trong cơ sở dữ liệu hiện có Các kỹ thuật này gồm có: Phân cụm (clustering), tóm tắt (summerization), trực quan hóa (visualiztation), phân tích sự phát triển

và độ lệch (evolution and deviation analyst), phân tích luật kết hợp (association rules) …

- Kỹ thuật khai phá dữ liệu dự đoán: Có nhiệm vụ đưa ra các dự đoán dựa vào các suy diễn trên dữ liệu hiện thời Các kỹ thuật này gồm có: Phân lớp (classification), hồi quy

Trang 7

(regession)… Tuy nhiên, chỉ có một số phương pháp thông dụng nhất là: Phân cụm dữ liệu, phân lớp dữ liệu, phương pháp hồi quy và khai phá luật kết hợp

a Phân cụm dữ liệu:

Mục tiêu chính của phương pháp phân cụm dữ liệu là nhóm các đối tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một lớp là tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng

b Phân lớp dữ liệu:

Mục tiêu của phương pháp phân lớp dữ liệu là dự đoán nhãn lớp cho các mẫu dữ liệu Quá trình phân lớp dữ liệu thường gồm hai bước: Xây dựng mô hình và sử dụng mô hình để phân lớp dữ liệu

Bước 1: Xây dựng mô hình: Một mô hình sẽ được xây dựng dựa trên việc phân tích các mẫu dữ liệu sẵn có Mỗi mẫu tương ứng với một lớp, được quyết định bởi một thuộc tính gọi là thuộc tính lớp Các lớp dữ liệu này còn được gọi là lớp dữ liệu huấn luyện (training data set) Các nhãn lớp của tập dữ liệu huấn luyện đều phải được xác định trước khi xây dựng mô hình

Bước 2: Sử dụng mô hình để phân lớp dữ liệu Trước hết, chúng ta phải tính độ chính xác của mô hình Nếu độ chính xác là chấp nhận được, mô hình sẽ được sử dụng để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong tương lai

c Phương pháp hồi quy:

Phương pháp hồi quy khác với phân lớp dữ liệu ở chỗ: Hồi quy dùng để dự đoán về các giá trị liên tục còn phân lớp dữ liệu chỉ dùng để dự đoán về các giá trị rời rạc

d Khai phá luật kết hợp:

Mục tiêu của phương pháp này là phát hiện và đưa ra các mối liên hệ giữa các giá trị

dữ liệu trong cơ sở dữ liệu Mẫu đầu ra của giải thuật khai phá dữ liệu là luật kết hợp tìm được Khai phá luật kết hợp được thực hiện qua hai bước:

Bước 1: Tìm tất cả các tập mục phổ biến, một tập mục phổ biến được xác định qua tính hỗ trợ và thỏa mãn độ hỗ trợ cực tiểu

Bước 2: Sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật phải thỏa mãn

độ hỗ trợ cực tiểu và độ tin cậy cực tiểu

Phương pháp này được sử dụng rất hiệu quả trong các lĩnh vực như maketing có chủ đích, phân tích quyết định, quản lý kinh doanh, phân tích giá thị trường …

1.3.3 Một số ứng dụng khai phá dữ liệu

Trang 8

Hiện nay, kỹ thuật khai phá 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à trong đời sống khác nhau như:

- Thương mại: Phân tích dữ liệu bán hàng và thi trường, phân tích đầu tư, quyết định cho vay, phát hiện gian lận, …

- Thông tin sản xuất: Điều khiển và lập kế hoạch, hệ thống quản lý, phân tích kết quả thử nghiệm, …

- Thông tin khoa học: dự báo thời tiết, CSDL sinh học: Ngân hàng gen, … khoa học địa lý: dự báo động đất, …

- Trong các lĩnh vực khác như: y tế, giáo dục, marketing, ngân hàng, viễn thông, du lịch, internet…

1.3.4 Những khó khăn trong khai phá dữ liệu

Trang 9

CHƯƠNG 2: KHAI PHÁ DỮ LIỆU BẰNG LUẬT KẾT HỢP

VÀ THUẬT TOÁN APRIORI

2.1 Khai phá dữ liệu bằng luật kết hợp

2.1.1 Định nghĩa về luật kết hợp

a Định nghĩa:

Cho I={I1, I2, , Im} là tập hợp của m tính chất riêng biệt Giả sử D là cơ sở dữ liệu, với các bản ghi chứa một tập con T các tính chất (có thể coi như T  I), các bản ghi đều có chỉ số riêng Một luật kết hợp là một mệnh đề kéo theo có dạng XY, trong đó X, Y  I, thỏa mãn điều kiện XY= Các tập hợp X và Y được gọi là các tập hợp tính chất (itemset) Tập X gọi là nguyên nhân, tập Y gọi là hệ quả

Có 2 độ đo quan trọng đối với luật kết hợp: Độ hỗ trợ (support) và độ tin cậy (confidence), được định nghĩa như phần dưới đây

b Định nghĩa độ hỗ trợ:

Định nghĩa 2.1: Độ hỗ trợ của một tập hợp X trong cơ sở dữ liệu D là tỷ số giữa các

bản ghi T  D có chứa tập X và tổng số bản ghi trong D (hay là phần trăm của các bản ghi trong D có chứa tập hợp X), ký hiệu là support(X) hay supp(X) (support sẽ tự sinh ra khi cài thuật toán)

Supp(X) =  

D

X Y D

Ta có: 0 ≤ supp(X) ≤ 1 với mọi tập hợp X

Định nghĩa 2.2: Độ hỗ trợ của một luật kết hợp X  Y là tỷ lệ giữa số lượng các bản ghi chứa tập hợp X  Y, so với tổng số các bản ghi trong D - Ký hiệu supp(XY)

Supp(XY) =  

D

Y X T D

Khi chúng ta nói rằng độ hỗ trợ của một luật là 50%, có nghĩa là có 50% tổng số bản ghi chứa X  Y Như vậy, độ hỗ trợ mang ý nghĩa thống kê của luật

c Định nghĩa độ tin cậy:

Định nghĩa 2.3: Độ tin cậy của một luật kết hợp XY là tỷ lệ giữa số lượng các bản ghi trong D chứa X  Y với số bản ghi trong D có chứa tập hợp X Ký hiệu độ tin cậy của một luật là conf(r) Ta có 0 ≤ conf(r) ≤ 1

Nhận xét: Độ hỗ trợ và độ tin cậy có xác suất sau:

Trang 10

Supp(XY)=P(X  Y)

Conf (XY) = P(Y/X)=supp(X  Y)/supp(X)

Có thể định nghĩa độ tin cậy như sau:

Định nghĩa 2.4: Độ tin cậy của một luật kết hợp X Y là tỷ lệ giữa số lượng các bản ghi của tập hợp chứa X  Y, so với tổng số các bản ghi chứa X

d Định nghĩa tập hợp theo:

Định nghĩa 2.5: Tập hợp X được gọi là tập hợp thường xuyên (Frequent itemset) nếu

có supp(X) ≥ minsup, với minsup là ngưỡng độ hỗ trợ cho trước

Ký hiệu các tập này là FI

Tính chất 2.1: Giả sử A,B  I là hai tập hợp với AB thì supp(A) ≥ supp(B)

Như vậy, những bản ghi nào chứa tập hợp B thì cũng chứa tập hợp A

Tính chất 2.2: Giả sử A, B là hai tập hợp, A,B  I, nếu B là tập hợp thường xuyên

và AB thì A cũng là tập hợp thường xuyên

Thật vậy, nếu B là tập hợp thường xuyên thì supp(B) ≥ minsup, mọi tập hợp A là con của tập hợp B đều là tập hợp thường xuyên trong cơ sở dữ liệu D vì supp(A) ≥ supp(B) (Tính chất 2.1)

Tính chất 2.3: Giả sử A, B là hai tập hợp, A  B và A là tập hợp không thường xuyên thì B cũng là tập hợp không thường xuyên

Định nghĩa 2.6: Một tập mục X được gọi là đóng (closed) nếu không có tập cha nào

của X có cùng độ hỗ trợ với nó, tức là không tồn tại một tập mục X’ nào mà X’X và t(X)

= t(X’) (với t(X) và t(X’) tương ứng là tập các giao chứa tập mục X và X’) Ký hiệu tập phổ biến đóng là FCI

Định nghĩa 2.7: Nếu X là phổ biến và không tập cha nào của X là phổ biến, ta nói

rằng X là một tập phổ biến lớn nhất (maximally frequent itemset) Ký hiệu tập tất cả các tập phổ biến lớn nhất là MFI Dễ thấy MFI  FCI  FI

Khai phá luật kết hợp là công việc phát hiện ra (tìm ra, khám phá, phát hiện) các luật kết hợp thỏa mãn các ngưỡng độ hỗ trợ () và ngưỡng độ tin cậy (α) cho trước Bài toán khai phá luật kết hợp được chia thành hai bài toán nhỏ, hay như người ta thường nói, việc giải bài toán trải qua hai pha:

Pha 1: Tìm tất cả các tập phổ biến (tìm FI) trong CSDL T

Trang 11

Pha 2: Sử dụng tập FI tìm được ở pha 1 để sinh ra các luật tin cậy (interesting rules)

Ý tưởng chung là nếu gọi ABCD và AB là các tập mục phổ biến, thì chúng ta có thể xác định luật AB  CD với tỷ lệ độ tin cậy:

conf =

supp(AB)supp(ABCD)

Nếu conf ≥ minconf thì luật được giữ lại (và thỏa mãn độ hỗ trợ tối thiểu vì ABCD là phổ biến)

Thuật toán 1 - Thuật toán cơ bản:

Input: I, D, , 

Output: Các luật kết hợp thỏa mãn ngưỡng độ hỗ trợ , ngưỡng độ tin cậy 

Algorithm:

1) Tìm tất cả các tập hợp các tính chất có độ hỗ trợ không nhỏ hơn ngưỡng 

2) Từ các tập hợp mới tìm ra, tạo ra các luật kết hợp có độ tin cậy không nhỏ hơn 

Thuật toán 2 - Tìm luật kết hợp khi đã biết các tập hợp thường xuyên:

Input: I, D, , , S

Output: Các luật kết hợp thỏa mãn ngưỡng độ hỗ trợ , ngưỡng độ tin cậy 

Algorithm:

1) Lấy ra một tập xuất hiện  - thường xuyên S  S, và một tập con X  S

2) Xét luật kết hợp có dạng X  (S  X), đánh giá độ tin cậy của nó xem có nhỏ hơn  hay không

Thực chất, tập hợp S mà ta xét đóng vai trò của tập hợp giao S = X  Y, và do X  (S - X) = , nên coi như Y= S - X

2.1.2 Một số hướng tiếp cận trong khai phá luật kết hợp

Có một số hướng chính sau đây:

- Luật kết hợp nhị phân (Binary association rule): là hướng nghiên cứu đầu tiên của luật kết hợp Theo dạng luật kết hợp này thì các items chỉ được quan tâm là có hay không xuất hiện trong cơ sở dữ liệu giao tác (Transaction database) chứ không quan tâm về mức

độ hay tần xuất xuất hiện Thuật toán tiêu biểu nhất của khai phá dạng luật này là thuật toán Apriori

- Luật kết hợp có thuộc tính số và thuộc tính hạng mục (Quantitative and categorial association rule): các cơ sở dữ liệu thực tế thường có các thuộc tính đa dạng (như nhị phân,

số, mục (categorial) ) chứ không nhất quán ở một dạng nào cả Vì vậy để khai phá luật kết

Ngày đăng: 22/10/2014, 22:08

HÌNH ẢNH LIÊN QUAN

Hình 1.1 - Các bước trong Data Mining & KDD - ÁP DỤNG THUẬT TOÁN APRIORI ĐỂ HỖ TRỢ SINH VIÊN CHỌN MÔN HỌC
Hình 1.1 Các bước trong Data Mining & KDD (Trang 4)
Hình 3.1 thể hiện giao diện của phần mềm mã nguồn mở Weka. - ÁP DỤNG THUẬT TOÁN APRIORI ĐỂ HỖ TRỢ SINH VIÊN CHỌN MÔN HỌC
Hình 3.1 thể hiện giao diện của phần mềm mã nguồn mở Weka (Trang 15)
Hình 3.2: Bảng dữ liệu khóa 1. - ÁP DỤNG THUẬT TOÁN APRIORI ĐỂ HỖ TRỢ SINH VIÊN CHỌN MÔN HỌC
Hình 3.2 Bảng dữ liệu khóa 1 (Trang 16)
Bảng 3.2: Số lượng sinh viên từng lớp trong các khóa - ÁP DỤNG THUẬT TOÁN APRIORI ĐỂ HỖ TRỢ SINH VIÊN CHỌN MÔN HỌC
Bảng 3.2 Số lượng sinh viên từng lớp trong các khóa (Trang 16)
Bảng 3.2 là bảng số sinh viên các lớp trong từng khóa. Có thể nhận thấy số môn học  của khóa 1 là ít hơn số môn của các ngành trong khóa 2 - ÁP DỤNG THUẬT TOÁN APRIORI ĐỂ HỖ TRỢ SINH VIÊN CHỌN MÔN HỌC
Bảng 3.2 là bảng số sinh viên các lớp trong từng khóa. Có thể nhận thấy số môn học của khóa 1 là ít hơn số môn của các ngành trong khóa 2 (Trang 17)
Hình 3.5: Phân bố điểm của sinh viên học môn “Pháp Luật” - ÁP DỤNG THUẬT TOÁN APRIORI ĐỂ HỖ TRỢ SINH VIÊN CHỌN MÔN HỌC
Hình 3.5 Phân bố điểm của sinh viên học môn “Pháp Luật” (Trang 19)
Hình 3.6: Phân bố điểm của sinh viên ứng với các môn khác nhau Bảng 3.3 Các luật thu được trên dữ liệu sinh viên lớp Cơ khí khóa 1 - ÁP DỤNG THUẬT TOÁN APRIORI ĐỂ HỖ TRỢ SINH VIÊN CHỌN MÔN HỌC
Hình 3.6 Phân bố điểm của sinh viên ứng với các môn khác nhau Bảng 3.3 Các luật thu được trên dữ liệu sinh viên lớp Cơ khí khóa 1 (Trang 19)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w