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

KHAI PHÁ DỮ LIỆU TÌM RA TRI THỨC VÀ ỨNG DỤNG THUẬT TOÁN APRIORI NHẰM TÌM KIẾM CÁC GIẢI PHÁP KINH DOANH CHO CÔNG TY UNILEVER VIỆT NAM

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 (585.91 KB, 53 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
  
NGUYỄN NGỌC LÂM
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60 48 01
KHAI PHÁ DỮ LIỆU
TÌM RA TRI THỨC VÀ ỨNG
DỤNG THUẬT TOÁN APRIORI
NHẰM TÌM KIẾM CÁC GIẢI
PHÁP KINH DOANH CHO
CÔNG TY UNILEVER VIỆT
NAM
BÁO CÁO
CHUYÊN
ĐỀ
CÔNG
NGHỆ TRI
THỨC
KHÓA
LUẬN TỐT
NGHIỆP
THẠC SĨ
TP. Hồ Chí Minh – Năm 2015
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
  
HỌC VIÊN: NGUYỄN NGỌC LÂM
MÃ SỐ: CH1101098
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60 48 01


GVPT: GS.TSKH. HOÀNG VĂN
KIẾM
BÁO CÁO
CHUYÊN
ĐỀ
CÔNG
NGHỆ TRI
THỨC
KHÓA
LUẬN TỐT
NGHIỆP
THẠC SĨ
LỜI MỞ ĐẦU
“We are drowning in data, but starving for knowledge”
(Tạm dịch: Chúng ta đang chết chìm trong dữ liệu nhưng chết đói vì tri thức)
Trong vài thập niên gần đây, cùng với sự thay đổi và phát triển không ngừng
của ngành công nghệ thông tin, luồng thông tin được lưu trữ tăng chóng mặt, ước
tính cứ khoảng 20 tháng lượng thông tin trên thế giới lại tăng gấp đôi. Do đó, dẫn
đến sự bùng nổ thông tin. Chính vì vậy, các chuyên gia cho rằng, hiện nay “Chúng
ta đang chết chìm trong dữ liệu nhưng chết đói vì tri thức”.
Những người ra quyết định trong các tổ chức tài chính, thương mại, khoa học,
… Không muốn bỏ sót bất cứ thông tin nào, họ thu thập, lưu trữ tất cả mọi thông tin
vì cho rằng trong nó ẩn chứa những giá trị nhất định nào đó. Tuy nhiên, theo thống
kê thì chỉ có một lượng nhỏ của những dữ liệu này (khoảng từ 5% đến 10%) là luôn
được phân tích, số còn lại họ không biết sẽ phải làm gì hoặc có thể làm gì với chúng
nhưng họ vẫn tiếp tục thu thập rất tốn kém với ý nghĩ lo sợ rằng sẽ có cái gì đó quan
trọng đã bị bỏ qua sau này có lúc cần đến nó.
Sự bùng nổ này đã dẫn tới một yêu cầu cấp thiết là cần có những kỹ thuật và
công cụ mới để tự động chuyển đổi lượng dữ liệu khổng lồ kia thành các tri thức có
ích. Từ đó, các kỹ thuật khai phá dữ liệu đã trở thành một lĩnh vực quan trọng của

nền CNTT thế giới hiện nay nói chung và Việt Nam nói riêng. 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
như: marketing, tài chính, ngân hàng, bảo hiểm, khoa học, y tế, an ninh, internet…
Rất nhiều tổ chức và công ty lớn trên thế giới đã áp dụng kỹ thuật khai phá dữ liệu
vào các hoạt động sản xuất kinh doanh của mình và thu được những lợi ích to lớn.
Mục tiêu của chuyên đề là tìm hiểu 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 và tri thức phục vụ cho việc hoạch định chiến lược kinh doanh
của công ty Unilever Việt Nam.
Nội dung của chuyên đề bao gồm 4 chương, chủ yếu phân tích, tổng hợp và
sắp xếp những nội dung then chốt nhất trong khoảng thời gian cho phép.
 Chương 1- KHAI PHÁ DỮ LIỆU VÀ KHÁM PHÁ TRI THỨC
Trình bày tổng quan về khai phá dữ liệu và khám phá tri thức, trong đó
có đề cập đến các khái niệm, vai trò, quá trình, các kỹ thuật và những thách
thức trong khai phá dữ liệu.
 Chương 2- KHAI THÁC TẬP PHỔ BIẾN & LUẬT KẾT HỢP
Trình bày các định nghĩa, tính chất và thuật toán Apriori để khai thác
tập phổ biến & luật kết hợp.
 Chương 3- ỨNG DỤNG THUẬT TOÁN APRIORI NHẰM TÌM KIẾM
CÁC GIẢI PHÁP KINH DOANH CHO CÔNG TY UNILEVER VN
Phân tích, cài đặt thuật toán Apriori nhằm tìm kiếm các giải pháp kinh
doanh cho công ty Unilever Việt Nam.
 Chương 4- KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Tổng kết lại những kết quả đạt được cũng như chưa đạt được trong
chuyên đề này. Đồng thời, khắc phục những vấn đề chưa đạt được và đề ra
những mục tiêu mới để phát triển chuyên đề trong thời giai tới.
LỜI CẢM ƠN
Với lòng biết ơn sâu sắc nhất, em xin gửi đến quý Thầy Cô Khoa Học Máy
Tính - Trường Đại Học Công Nghệ Thông Tin đã đem hết tâm huyết của mình
truyền đạt vốn kiến thức quý báu cho chúng em.

Em xin chân thành cảm ơn GS.TSKH Hoàng Văn Kiếm đã truyền đạt kiến
thức chuyên đề môn Công nghệ tri thức & ứng dụng qua đó giúp em có đầy đủ kiến
thức để hoàn thành chuyên đề này.
Nhân đây em cũng xin gửi lời cảm ơn chân thành đến gia đình, bạn bè, đồng
nghiệp đã động viên tinh thần cho em trong suốt quá trình học tập của mình.
Sau cùng, em xin kính chúc quý Thầy Cô Khoa Học Máy Tính cùng
GS.TSKH Hoàng Văn Kiếm dồi dào sức khỏe để thực hiện sứ mệnh cao đẹp của
mình là truyền đạt kiến thức cho thế hệ mai sau.
Một lần nữa em xin chân thành cảm ơn !
TP. HCM, ngày 23 tháng 10 năm 2013
Học viên thực hiện
(ký và ghi rõ họ tên)
Nguyễn Ngọc Lâm
NHẬN XÉT CỦA GIẢNG VIÊN PHỤ TRÁCH
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………

………………………………………………………………………………………………
TP. HCM, ngày tháng năm 2013
Giảng viên phụ trách
(ký và ghi rõ họ tên)
GS. TSKH Hoàng Văn Kiếm
MỤC LỤC
DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT
ST Từ viết tắt Giải nghĩa
T
1 CSDL Cơ sở dữ liệu
2 I Tập các mục dữ liệu
3 Minsup Độ hỗ trợ tối thiểu
4 Minconf Độ tin cậy tối thiểu
5 KDD Knowledge Discovery in Database
6 TID Định danh của giao tác
7 T Giao tác
8 k-itemset Một itemset có k items
9 L
k
Tập phổ biến k-itemsets
10 C
k
Tập ứng viên k-itemsets
11
k
C
Tập ứng viên k-itemsets mà tập giao tác có chứa nó.
DANH MỤC CÁC BẢNG
Số hiệu Tên Trang
2.1 CSDL giao dịch D 21

2.2 Tập phổ biến thỏa minsupp = 50% 26
2.3 Luật kết hợp thỏa minconf = 100% 27
2.4 CSDL giao dịch 31
2.5 Ma trận nhị phân biểu diễn CSDL D 33
2.6 Vector biểu diễn nhị phân cho tập 1 thuộc tính 33
2.7 Vector biểu diễn nhị phân cho tập 2 thuộc tính 34
2.8 Vector biểu diễn nhị phân cho tập 3 thuộc tính 34
3.1 Hệ thống các sản phẩm của công ty 40
DANH SÁCH CÁC HÌNH VẼ
Số hiệu Tên Trang
1.1 Các giai đoạn của qui trình khám phá tri thức 2
1.2 Qui trình khám phá tri thức 4
1.3 Đồ thị phương trình hồi quy tuyến tính 9
2.1 Sơ đồ so sánh thuật toán Apriori_TID và Apriori 36
3.1 Form màn hình chính khi chạy ứng dụng 42
3.2 Form giao diện thuật toán Apriori 43
3.3 Nhập dữ liệu bằng Textbox 43
3.4 Danh sách các mặt hàng 43
3.5 Nhập liệu trực tiếp vào lưới dataGridView 44
3.6 Ma trận dữ liệu dạng nhị phân 45
3.7 Tập phổ biến 45
3.8 Tập luật kết hợp 45
Chương 1 – KHAI PHÁ DỮ LIỆU VÀ KHÁM PHÁ TRI THỨC
1.1 Định nghĩa
1.1.1 Khai phá dữ liệu (Data Mining)
Khai phá dữ liệu là một khái niệm ra đời vào cuối những năm 80 của thế
kỷ XX. Nó bao hàm một loạt các kỹ thuật nhằm phát hiện ra các thông tin có
giá trị tìm ẩn trong các tập dữ liệu lớn (các kho dữ liệu). Về bản chất, khai phá
dữ liệu liên quan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật để tìm
ra các mẫu hình có tính chính quy (regularities) trong tập dữ liệu.

Một số định nghĩa được các nhà khoa học nghiên cứu trong lĩnh vực khai
phá dữ liệu đưa ra như sau:
 Định nghĩa của Ferrurra: “Khai phá dữ liệu là tập hợp các phương pháp
được dùng trong tiến trình khám phá tri thức để tìm ra sự khác biệt các
mối liên hệ và các mẫu chưa biết bên trong dữ liệu”.
 Định nghĩa của Parsaye: “Khai phá dữ liệu là quá trình trợ giúp quyết
định, trong đó chúng ta tìm kiếm các mẫu thông tin chưa biết và bất
ngờ trong cơ sở dữ liệu (CSDL) lớn”.
11
 Định nghĩa của Mitchell: “Khai phá dữ liệu là việc sử dụng các dữ liệu
đã có để khám phá các quy tắc và đưa đến các quyết định”.
 Định nghĩa của Groth: “Khai phá dữ liệu là một quá trình xác định các
mẫu ẩn, xu thế và mối quan hệ của dữ liệu”.
 Định nghĩa của Berry & Linoff: “Khai phá dữ liệu là quá trình khám
phá và phân tích tự động một lượng lớn dữ liệu để khám phá ra các
mẫu và các luật”.
 Định nghĩa của Wegman: “Khai phá dữ liệu là sử dụng các kỹ thuật
tính toán để phân tích dữ liệu với sự tác động rất ít của con người”.
Tóm lại, “Khai phá dữ liệu là một tập hợp các kỹ thuật được sử dụng để
tự động khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một
tập hợp dữ liệu khổng lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn
trong tập dữ liệu đó”.
Khai phá dữ liệu là một bước chủ chốt trong các bước của quá trình
khám phá tri thức (Knowledge Discovery in Database – KDD).
1.1.2 Khám phá tri thức (Knowledge Discovery in Database – KDD)
Khám phá tri thức là quá trình tìm ra các tri thức mới, các tri thức hữu
ích ở dạng tìm năng trong một tập dữ liệu khổng lồ và phức tạp.
Có thể coi khai phá dữ liệu và khám phá tri thức như hai lĩnh vực tương
đương nhau. Tuy nhiên trên thực tế, khai phá dữ liệu chỉ là một bước thiết yếu
trong quá trình khám phá tri thức.

1.2 Các giai đoạn của qui trình khám phá tri thức
Qui trình khám phá tri thức từ CSDL là sự kết hợp giữa các kỹ thuật và công
cụ thống kê nhưng vẫn là một qui trình mà con người giữ vai trò trọng tâm. Do đó,
nó không phải là một hệ thống phân tích tự động mà là một hệ thống bao gồm nhiều
hoạt động tương tác thường xuyên giữa con người và CSDL.
Qui trình khám phá tri thức có thể tổng quát thành các giai đoạn sau:
12
Khai phá dữ liệu
rút ra các tri thức
Phân ch và kiểm định kết quả
Đưa tri thức vào
thực &ễn
Thu thập và &ền xử lý dữ liệu
Hiểu và xác định vấn đề
Hình 1.1 Các giai đoạn của qui trình khám phá tri thức
Hình 1.1 mô tả 5 giai đoạn trong qui trình khám phá tri thức từ CSDL. Mặc dù
có 5 giai đoạn như trên xong qui trình khám phá tri thức từ CSDL là một qui trình
tương tác và 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. Ngoài ra, giai đoạn sau lại dựa trên kết quả thu
được của giai đoạn trước theo kiểu thác nước.
1.1.1 Xác định vấn đề
Đây là một quá trình mang tính định tính với mục đích xác định được
lĩnh vực yêu cầu phát hiện tri thức từ đó hình thành bài toán. Trong thực tế,
các CSDL được chuyên môn hóa và phân chia theo các lĩnh vực khác nhau
như sản phẩm, kinh doanh, tài chính, quản lý,… 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à “thu thập và tiền xử lý dữ
liệu”.
1.1.2 Thu thập và tiền xử lý dữ liệu

Là thu thập và xử lý thô, còn được gọi là tiền xử lý dữ liệu nhằm loại bỏ
nhiễu (làm sạch dữ liệu), xử lý việc thiếu dữ liệu (làm giàu dữ liệu), biến đổi
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
trong toàn bộ qui trình khám phá tri thức. Do dữ liệu được lấy từ nhiều nguồn
13
khác nhau, không đồng nhất, nên có thể gây ra các nhằm lẫn. Sau bước này,
dữ liệu sẽ nhất quán, đầy đủ, được rút gọn và rời rạc hóa.
1.1.3 Khai phá dữ liệu
Giai đoạn khai phá 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 phá dữ liệu, tiến hành lựa chọn các phương pháp khai thác phù
hợp với dữ liệu có được và rút trích các tri thức cần thiết.
Khai phá dữ liệu là giai đoạn thiết yếu, trong đó các phương pháp khai
thác phù hợp sẽ được áp dụng để trích xuất ra các mẫu dữ liệu.
1.1.4 Phân tích và kiểm định kết quả
Các tri thức phát hiện từ CSDL cần được tổng hợp dưới dạng các báo
cáo phục vụ cho các mục đích hỗ trợ quyết định khác nhau.
Do nhiều phương pháp khai phá có thể được áp dụng nên các kết quả có
mức độ tốt, xấu khác nhau. Việc đánh giá các kết quả thu được là cần thiết,
giúp tạo cơ sở cho những quyết định chiến lược. Thông thường chúng được
tổng hợp, so sánh bằng các biểu đồ và được kiểm nghiệm, tin học hóa. Công
việc này thường là của các chuyên gia, các nhà phân tích và quyết định.
1.1.5 Đưa tri thức vào thực tiển
Các kết quả của quá trình phát hiện tri thức có thể được đưa vào ứng
dụng trong những lĩnh vực khác nhau. Các kết quả có thể là các dự báo hoặc
các mô tả nên chúng có thể được đưa vào các hệ thống hỗ trợ ra quyết định
nhằm tự động hóa quá trình này.
1.3 Qui trình khám phá tri thức
Qui trình khám phá tri thức có thể chia thành 6 bước: bắt đầu của quá trình là
kho dữ liệu thô và kết thúc với tri thức được chiết xuất ra.

14
Hình 1.2 Qui trình khám phá tri thức
Bước 1: Gom dữ liệu (Gathering)
Tập hợp dữ liệu là bước đầu tiên trong quá trình khai phá dữ liệu. Đây là bước
được khai phá trong một cơ sở dữ liệu, một kho dữ liệu và thậm chí các dữ liệu từ
các nguồn ứng dụng Web.
Bước 2: Trích lọc dữ liệu (Selection)
Ở giai đoạn này dữ liệu được lựa chọn hoặc phân chia theo một số tiêu chuẩn
nào đó.
Bước 3: Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu (Cleansing, Pre-
processing and Preparation)
Giai đoan thứ ba này là giai đoạn hay bị sao lãng, nhưng thực tế nó là một
bước rất quan trọng trong quá trình khai phá dữ liệu. Một số lỗi thường mắc phải
trong khi gom dữ liệu là tính không đủ chặt chẻ, logic. Vì vậy, dữ liệu thường chứa
các giá trị vô nghĩa và không có khả năng kết nối dữ liệu.
Bước 4: Chuyển đổi dữ liệu (Transformation)
Tiếp theo là giai đoạn chuyển đổi dữ liệu, dữ liệu đưa ra có thể sử dụng và
điều khiển được bởi việc tổ chức lại nó. Dữ liệu đã được chuyển đổi phù hợp với
mục đích khai phá.
Bước 5: Phát hiện và trích mẫu dữ liệu (Pattern Extraction and Discovery)
15
Đây là bước mang tính tư duy trong khai phá dữ liệu. Ở giai đoạn này nhiều
thuật toán khác nhau đã được sử dụng để trích ra các mẫu từ dữ liệu. Các thuật toán
thường áp dụng các nguyên tắc phân loại, nguyên tắc kết hợp hoặc các mô hình dữ
liệu tuần tự, để rút trích dữ liệu.
Bước 6: Đánh giá kết quả mẫu (Evaluation of Result)
Đây là giai đoạn cuối trong quá trình khai phá dữ liệu. Ở giai đoạn này, các
mẫu dữ liệu được chiết xuất ra bởi phần mềm khai phá dữ liệu. Không phải bất cứ
mẫu dữ liệu nào cũng đều hữu ích, đôi khi nó còn bị sai lệch. Vì vậy, cần phải ưu
tiên những tiêu chuẩn đánh giá để chiết xuất ra các tri thức (Knowlege) cần chiết

xuất ra.
1.4 Các nhiệm vụ chính của khai phá dữ liệu
Khai phá dữ liệu là chiết xuất ra các tri thức có lợi phục vụ cho kinh doanh
hay cho nghiên cứu khoa học. Do đó, ta có thể xem mục đích của khai phá dữ liệu
sẽ là mô tả các sự kiện và dự đoán.
1.1.1 Mô tả (Descriptive)
Xác định các mẫu mô tả dữ liệu mà con người có thể hiểu được. Các kỹ
thuật này bao gồm: Gom nhóm (clustering), tổng hợp hóa(summarization) và
mô hình hóa sự phụ thuộc (dependency modeling).
1.1.1.1 Gom nhóm (clustering)
Mục tiêu chính của gom nhó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 nhóm sao cho mức độ tương tự giữa
các đối tượng nằm trong các nhóm khác nhau là nhỏ nhất. Các nhóm có
thể tách nhau hoặc gối lên nhau và số lượng các nhóm là chưa biết trước.
Một đối tượng có thể vừa thuộc nhóm này nhưng cũng có thể vừa thuộc
nhóm khác. Không giống như phân lớp dữ liệu, phân nhóm dữ liệu
không đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện. Vì thế,
có thể coi gom nhóm dữ liệu là một cách học bằng quan sát (learning by
observation), trong khi phân lớp dữ liệu là học bằng ví dụ (lerning by
example).
Theo Gray & Orlowska thì các thuật toán gom nhóm dữ liệu thuộc
một trong hai dạng thức điển hình sau:
16
 Gom nhóm theo thứ bậc (Hierarchical clustering ): Các thuật toán
thuộc dạng này định dạng tập dữ liệu bằng cách lập đi lập lại việc
nối hoặc phân chia những nhóm đã tồn tại vào trong các nhóm
mới. Lợi ích của việc gom nhóm theo thứ bậc là sinh ra các luật rõ
ràng từ dữ liệu mà không cần giám sát. Nhưng bất lợi của nó là
các thuật toán gom nhóm theo vùng thực thi tốt hơn so với gom
nhóm theo thứ bậc.

 Gom nhóm theo vùng (partition clustering): Các thuật toán này sẽ
phân tách tập dữ liệu bằng số nhóm nhất định bằng việc lập đi lập
lại việc lựa chọn các điểm tiêu biểu cho mỗi một nhóm, việc xác
định việc phân chia dữ liệu dựa trên những điểm đặc trưng này và
đánh giá các vùng thông qua khoảng cách hoặc tiêu chuẩn mô
hình cơ bản. Các kỹ thuật đo khoảng cách để tìm ra k cách phân
chia tốt nhất, vì vậy các trường hợp nằm trong một khối thuộc một
vùng sẽ gần nhau hơn (về khoảng cách) so với các trường hợp
trong các vùng khác nhau. Các kỹ thuật về mô hình cơ bản tìm sự
thích hợp nhất cho một mô hình giả thiết đối với mỗi nhóm.
1.1.1.2 Tổng hợp hóa (summarization)
Là công việc liên quan đến các phương pháp tìm kiếm một mô tả
tập con dữ liệu. Kỹ thuật mô tả khái niệm và tổng hợp hóa thường áp
dụng trong việc phân tích dữ liệu có tính thăm dò và báo cáo tự động.
Nhiệm vụ chính là sản sinh ra các mô tả đặc trưng cho một lớp. Mô tả
loại này là một kiểu tổng hợp, tóm tắt các đặc tính chung của tất cả hay
hầu hết các mục của một lớp. Các mô tả đặc trưng được thể hiện theo
luật có dạng sau: “Nếu một mục thuộc về lớp đã được chỉ ra trong tiền đề
thì mục đó có tất cả các thuộc tính đã nêu trong kết luận”. Cần lưu ý rằng
luật dạng này có sự khác biệt so với luật phân lớp.
1.1.1.3 Mô hình hóa sự phụ thuộc (dependency modeling)
Là việc tìm kiếm một mô hình mô tả sự phụ thuộc giữa các biến,
thuộc tính theo hai mức: mức cấu trúc của mô hình mô tả (thường dưới
dạng đồ thị) và mức định lượng mô hình mô tả mức độ phụ thuộc.
17
 Mức cấu trúc của mô hình mô tả: Xác định các biến phụ thuộc cục
bộ vào các biến khác.
 Mức định lượng mô hình mô tả mức độ phụ thuộc: Những phụ
thuộc này thường được biểu thị dưới dạng luật “nếu – thì” nếu
tiền đề đúng thì kết luận đúng. Về nguyên tắc, cả tiền đề và kết

luận đều có thể là sự kết hợp logic của các giá trị thuộc tính. Trên
thực tế, tiền đề thường là nhóm các giá trị thuộc tính và kết luận
chỉ là một thuộc tính.
Quan hệ phụ thuộc cũng có thể được biểu diễn dưới dạng mạng tin
cậy Bayes. Đó là đồ thị có hướng, không có chu trình. Các nút biểu diễn
thuộc tính và trọng số của liên kết phụ thuộc giữa các nút đó.
1.1.2 Dự đoán (Predictive)
Sử dụng một vài biến để dự báo giá trị chưa biết hoặc giá trị tương lai của
các biến khác. Các kỹ thuật này gồm có: Phân lớp (classification), hồi quy
(regression) và dò tìm biến đổi và độ lệch (change and deviation dectection).
1.1.1.1 Phân lớp (classification)
Phân lớp nhằm phát hiện mô tả của một vài lớp đã được xác định
và phân phân loại dữ liệu vào một trong các lớp đó. Quá trình phân lớp
dữ liệu được thực hiện thông qua hai bước.
 Bước 1: Dựa vào tập hợp dữ liệu huấn luyện, xây dựng một mô
hình mô tả những đặc trưng của những lớp dữ liệu hoặc những
khái niệm, đây là quá trình học có giám sát, học theo mẫu được
cung cấp trước.
 Bước 2: Từ những lớp dữ liệu hoặc những khái niệm đã được xác
định trước, dự đoán giá trị của những đối tượng quan tâm.
Một kỹ thuật phân lớp dữ liệu được Han và Kamber đưa ra là cây
quyết định
1.1.1.2 Hồi quy (regression)
Phân tích hồi quy (regression analysis) là một công cụ phổ biến
được nhiều người sử dụng. Dạng đơn giản nhất của hồi quy là xây dựng
một mô hình dự đoán để liên kết một biến dự đoán X (predictor variable)
với một biến trả lời Y(response variable) thông qua một mối quan hệ
dạng Y = aX + b.
18
Nợ

Thu nhập
Đường hồi quy
tuyến nh
Ví dụ: Xây dựng một mô hình cho phép dự đoán mức tiết kiệm của
một người khi biết mức thu nhập của họ. Rõ ràng sẽ là mô hình có thể sẽ
không hoàn hảo, nhưng do mức tiết kiệm tăng cùng với mức thu nhập, vì
vậy mô hình có thể là mô tả thô (rough characterization). Đối chiếu với
các bước liệt kê ở trên, chúng ta có các kịch bản sau:
 Biểu diễn là một mô hình mà biến trả lời (mức tiết kiệm) phụ
thuộc tuyến tính với biến dự đoán (mức thu nhập).
 Hàm cho điểm được sử dụng chung nhất trong tình huống này là
tổng các bình phương sự khác nhau(sum of squared discrepancies)
giữa mức tiết kiệm dự đoán của mô hình và mức tiết kiệm quan
sát trong dữ liệu. Tổng này càng nhỏ thì mô hình càng phù hợp
với dữ liệu.
 Giải thuật tối ưu là không phức tạp trong trường hợp hồi quy
tuyến tính: a và b có thể được tính toán như các hàm tường minh
của các giá trị quan sát của các biến mức tiết kiệm và mức thu
nhập.
Hình 1.3 Đồ thị phương trình hồi quy tuyến tính
Trong khai phá dữ liệu, hồi quy là việc học một hàm ánh xạ từ một
mẫu dữ liệu thành một biến dự đoán có giá trị thực. Nhiệm vụ của hồi
quy tương tự như phân lớp, nhưng điểm khác nhau chính là ở chỗ thuộc
tính để dự báo là liên tục chứ không rời rạc. Việc dự báo các giá trị số
19
thường được làm bởi các phương pháp thống kê cổ điển chẳng hạn như
hồi quy tuyến tính. Tuy nhiên, phương pháp mô hình hóa cũng có thể
được sử dụng như cây quyết định.
Một số ứng dụng của hồi quy như: Dự đoán số lượng sinh vật phát
quang hiện thời trong khu rừng bằng cách dò tìm vi sóng bằng thiết bị

cảm biến từ xa, dự báo khối lượng bán hàng của sản phẩm mới dựa trên
chi phí quảng cáo, dự đoán tốc độ gió như một hàm của nhiệt độ, độ ẩm,
áp suất không khí.
1.1.1.3 Dò tìm biến đổi và độ lệch (change and deviation dectection)
Nhiệm vụ này tập trung vào khám phá những thay đổi có ý nghĩa
trong dữ liệu dựa vào các giá trị chuẩn hay độ đo đã biết trước, phát hiện
độ lệch đáng kể giữa nội dung của tập con dữ liệu và nội dung mong đợi.
Hai mô hình độ lệch thường dùng là lệch theo thời gian và lệch theo
nhóm.
 Độ lệch theo thời gian: Là sự thay đổi có nghĩa của dữ liệu theo
thời gian.
 Độ lệch theo nhóm: Là sự khác nhau giữa dữ liệu trong hai tập
con dữ liệu, tính cả trường hợp tập con của đối tượng này thuộc
tập con kia, nghĩa là xác định dữ liệu trong một nhóm con của đối
tượng có khác nhau đáng kể so với toàn bộ đối tượng.
1.5 Các phương pháp, kỹ thuật chính trong khai phá dữ liệu
Khai phá dữ liệu và khám phá tri thức là một lĩnh vực quan trọng, do đó có
nhiều nhà khoa học đã nghiên cứu về phương pháp, kỹ thuật khai phá dữ liệu theo
nhiều hướng khác nhau.
Đối với Fayyad, các kỹ thuật mà ông nghiên cứu bao gồm: Mô hình dự báo
(Predictive modeling), gom nhóm (clustering), tổng hợp hóa (summarization), mô
hình sự phụ thuộc (dependency mmodeling) và dò tìm biến đổi và độ lệch (change
and deviation detection).
Đối với Goebel & Gruenwald, các kỹ thuật khai phá dữ liệu như: Các mô hình
thống kê (statistical models), mạng nơron (neural networks), cây quyết định
(decision trees), quy nạp luật (rule induction), mạng bayesian tin cậy (bayesian
belief networks), các thuật toán về lập trình gen (genetic algorithms), tập mờ (fuzzy
sets), tập thô (rough sets).
20
Aggarwal & Yu, các kỹ thuật khai phá dữ liệu gồm: Luật kết hợp (Association

rules), gom nhóm (clustering), phân lớp (classification).
Nhìn chung, các kỹ thuật trong khai phá dữ liệu là sự kế thừa, kết hợp và mở
rộng các kỹ thuật cơ bản đã được nghiên cứu từ trước như: Máy học, nhận dạng,
thống kê (hồi quy, phân loại, phân nhóm), các mô hình đồ thị, các mạng Bayes, trí
tuệ nhân tạo, thu thập tri thức hệ chuyên gia, Tuy nhiên, với sự kết hợp tài tình
trong khai phá dữ liệu làm cho các kỹ thuật có nhiều ưu thế hơn hẳn với các phương
pháp trước đó, đem lại nhiều triển vọng trong việc ứng dụng phát triển nghiên cứu
khoa học cũng như áp dụng vào thực tiễn.
1.1.1 Phân lớp và dự đoán (classification & prediction)
Phân lớp dự đoán là việc xác định một hàm ánh xạ từ một mẫu dữ liệu
vào một trong số các lớp đã được biết trước đó. Mục tiêu của việc phân lớp là
tìm ra mối quan hệ nào đó giữa thuộc tính dự báo và thuộc tính phân lớp hay
nói cách khác là dự đoán nhãn lớp cho các mẫu dữ liệu. Vì vậy, quá trình phân
lớp có thể sử dụng mối quan hệ này để dự báo cho các mục mới. Các kiểu kiến
thức được phát hiện biểu diễn dưới dạng luật theo các cách sau: “Nếu các
thuộc tính dự báo của một mục thỏa mãn điều kiện của các tiền đề thì mục đó
nằm trong lớp chỉ ra trong kết luận”.
Phân lớp là một lĩnh vực rất quan trọng trong khai phá 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: 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 được gọi là thuộc tính lớp. Các mẫu dữ liệu này còn được
gọi là “tập huấn luyện (training data set)”. Các nhãn lớp của tập huấn
luyện đều phải được xác định trước khi xây dựng mô hình. Vì vậy,
phương pháp này còn được gọi là “học có giám sát (supervised
learning)” khác với phân nhóm dữ liệu là “học không giám sát
(unsupervised learning)”.
 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 chấp nhận được thì mô

21
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.
Trong kỹ thuật phân lớp chúng ta có thể sử dụng các phương pháp như:
cây quyết định (decission tree), K- láng giềng gần nhất (K- nearest neighbor),
mạng Nơron (neural networks), giải thuật di truyền (genetic algorithms), mạng
bayessian (bayesian networks), tập mờ và tập thô (rough and fuzzy sets).
1.1.1.1 Cây quyết định (decision tree)
Các kỹ thuật phân lớp sử dụng cây quyết định để phân tách các dữ
liệu cho đến khi mỗi phần chứa đựng hầu hết các mẫu từ một lớp đặc
trưng, kết quả của quá trình sẽ cho ra một cây quyết định . Điểm phân
tách trong cây quyết định là một nút (không phải là nút lá) sẽ sử dụng
một số điều kiện để quyết định dữ liệu sẽ được phân tách như thế nào.
Các nút cuối cùng trong cây quyết định chứa đựng các bộ mẫu giống
nhau.
Ưu điểm của cây quyết định là thuật toán chạy khá nhanh, kết quả
giải thích được rõ ràng. Tuy nhiên, bất lợi mà thuật toán cây quyết định
có thể gặp phải là chúng có thể tìm ra các điểm tới hạn cục bộ, đưa ra các
kết quả không đúng.
1.1.1.2 K- láng giềng gần nhất (K- nearest neighbor)
Thuật toán này tìm ra các láng giềng gần nhất của mẫu thử nghiệm
và quy về các nhãn lớp của chúng dựa trên các nhãn đa số, điều đó có
nghĩa là các mẫu được quy về cùng lớp khi chúng lân cận với nhau. Kỹ
thuật này cho rằng vị trí trong không gian đặt trưng hàm ý một quan hệ
họ hàng gần gũi ở giữa các nhãn lớp.
Ưu điểm của thuật toán K- láng giềng gần nhất là dễ thực thi và kết
quả của thuật toán mang lại khá rõ ràng. Tuy nhiên, một điểm bất lợi là
các thuật toán này đưa ra các mô hình rất lớn với một tập dữ liệu nhỏ.
1.1.1.3 Mạng nơron (neural networks)
Mạng nơron là mạng được mô phỏng theo bộ não của con người.

Đó là một cấu trúc dữ liệu của các hàm với một hoặc nhiều trong số đầu
vào, với kết quả đầu ra là một nhãn các lớp. Từng phần riêng biệt của dữ
liệu được đưa vào mạng nơron và các hàm, các trọng số trong mạng
nơron bị thay đổi tùy theo tỷ lệ lỗi của đầu ra. Phương pháp này thường
22
đưa đến một khoảng thời gian huấn luyện dài ngay cả khi tập dữ liệu
nhỏ.
Ưu điểm của mạng nơron là đưa đến các kết quả khá chính xác,
nhưng bất lợi của nó là thường đòi hỏi thời gian huấn luyện dài và đưa ra
các kết quả khó hiểu, khó giải thích được một cách tường minh.
1.1.1.4 Giải thuật di truyền (genetic algorithms)
Các giải thuật di truyền được sử dụng để đưa ra công thức giả
thuyết về sự phụ thuộc giữa các biến. Đối với một giải thuật di truyền
phải sử dụng các phương pháp như cạnh tranh, lựa chọn và kết hợp giữa
các tập hợp cá thể.
Ưu điểm của giải thuật di truyền là thường đưa ra các kết quả khá
chính xác, nhưng bất lợi của nó là kết quả có được thông qua việc lập
trình tiến hóa và các kết quả cũng thường cứng nhắc, khó hiểu.
1.1.1.5 Mạng bayessian (bayesian networks)
Trong mạng Bayesian sử dụng các đồ thị có hướng, không có chu
trình để miêu tả sự phân lớp có thể được. Các đồ thị này cũng có thể
được sử dụng để miêu tả các tri thức chuyên gia. Các nút miêu tả các
biến thuộc tính và các trạng thái và mỗi cạnh miêu tả khả năng sự phụ
thuộc giữa chúng. Kết hợp với mỗi nút lá là các lớp cục bộ có thể và các
cung được vẽ từ nút nguyên nhân đến các nút bị ảnh hưởng.
Khai phá dữ liệu trong mạng Bayesian bao gồm việc sử dụng đầu
vào các tri thức chuyên gia và sau đó sử dụng một CSDL để cập nhật, lọc
và cải tiến tri thức đó trong mạng. Các đồ thị mới có thể là kết quả từ các
cải tiến này và nguyên nhân của các mối quan hệ giữa các nút kết quả có
thể được giải thích một cách dễ ràng.

Ưu điểm của mạng Bayesian là đưa ra các kết quả dễ hiểu, nhưng
bất lợi của nó là cần thu thập được các tri thức chuyên gia truyền thống.
1.1.1.6 Tập mờ và tập thô (rough and fuzzy sets)
Lý thuyết về tập mờ và tập thô dựa trên một cơ sở toán học không
chắc chắn. Đối với các mô hình tập thô, một giới hạn trên và giới hạn
dưới sẽ được xác định. Một tập thô định nghĩa một lớp C là một xấp xỉ
bởi hai tập hợp. Tập cận dưới (lower) của C bao gồm tất cả các mẫu dữ
liệu mà dựa vào tri thức của các mẫu dữ liệu có thể quyết định một mẫu
23
bất kỳ thuộc lớp C một cách rõ ràng. Tập cận trên của C bao gồm tất cả
các mẫu với giá trị của thuộc tính được mô tả không thể thuộc vào phân
lớp C.
Mô hình tập mờ không dốc về cực đại cục bộ bằng các thuật toán
cây quyết định và cũng giống như mô hình tập thô, chúng dùng để đối
phó với những điều không chắc chắn tốt hơn bất cứ một thuật toán nào.
1.1.2 Phân tích luật kết hợp
Luật kết hợp là dạng luật biểu diễn tri thức ở dạng tương đối đơn giản.
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 CSDL. 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. Chẳng hạn, phân tích cơ sở dữ liệu bán hàng nhận được
thông tin về những khách hàng mua máy tính có khuynh hướng mua phần mền
diệt vi rút trong cùng lần mua được miêu tả trong luật kết hợp sau: “Máy tính
 phần mền diệt vi rút” với độ hỗ trợ minsupp = 50% và độ tin cậy minconf =
80%.
Độ hỗ trợ và độ tin cậy là hai độ đo quan trọng trong việc tìm luật kết
hợp. Chúng phản ánh sự hữu ích và sự chắc chắn của luật đã khám phá. Độ hỗ
trợ 50% có nghĩa là 50% của tất cả các vụ đang phân tích chỉ ra rằng máy tính
và phần mềm diệt vi rút là đã được mua cùng nhau. Còn độ tin cậy 80% có
nghĩa là: 80% các khách hàng mua máy tính cũng mua phần mềm. 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.
Luật kết hợp có khả năng ứng dụng trong nhiều lĩnh vực khác nhau như
kinh doanh, y học, tài chính, thị thường chính khoán, phân tích quyết định,
phân tích thị trường,
Tuy luật kết hợp là một dạng luật khá đơn giản nhưng lại mang rất nhiều
ý nghĩa. Thông tin mà dạng luật này đem lại rất có lợi trong các hệ hỗ trợ ra
quyết định. Tìm kiếm được những luật kết hợp đặc trưng và mang nhiều thông
24
tin từ CSDL tác nghiệp là một trong những hướng tiếp cận chính của lĩnh vực
khai phá dữ liệu.
1.1.3 Khai thác mẫu tuần tự (sequential / tempotal patterns)
Tương tự như khai phá luật kết hợp nhưng có thêm tính thứ tự và tính
thời gian. Một luật mô tả mẫu tuần tự có dạng tiêu biểu X  Y phản ánh sự
xuất hiện của biến cố X sẽ dẫn đến việc xuất hiện kế tiếp biến cố Y. Hướng
tiếp cận này có tính dự báo cao.
1.6 Một số ứng dụng trong lĩnh vực khai phá dữ liệu
Khai phá dữ liệu liên quan đến nhiều ngành, nhiều lĩnh vực như: Thống kê, trí
tuệ nhân tạo, hệ chuyên gia, CSDL, Đặc biệt, khai phá dữ liệu rất gần gũi với lĩnh
vực thống kê, sử dụng các phương pháp thống kê để mô hình dữ liệu và phát hiện
các mẫu, luật,
Khai phá dữ liệu được sử dụng rất nhiều trong các lĩnh vực khoa học, kinh
doanh, , đặc biệt trong các ngành có CSDL lớn, phức tạp, chứa dựng nhiều tri
thức như:
 Bảo hiểm, tài chính và thị trường chứng khoán: Khai phá dữ liệu có nhiệm
vụ phân tích tình hình tài chính và dự báo giá, chỉ số của các loại cổ phiếu
trong thị trường chứng khoán. Danh mục vốn và giá, lãi suất, dữ liệu thẻ tín
dụng, phát hiện các giao dịch gian lận, …

 Thống kê, phân tích dữ liệu và hỗ trợ ra quyết định: Dựa vào dữ liệu sẵn có,
phân tích dữ liệu để đưa ra những quyết định đúng lúc, có lợi nhất.
 Điều trị y học và chăm sóc y tế: Một số thông tin về chẩn đoán bệnh lưu
trong hệ thống quản lý bệnh viện. Từ đó phân tích các mối liên hệ giữa các
triệu chứng bệnh, chẩn đoán và phương pháp điều trị hợp lý.
 Text mining và Web mining: Phân lớp văn bản và các trang Web, tóm tắt nội
dung văn bản từ đó có thể nhóm các văn bản, trang Web theo các chủ đề, lọc
bỏ các trang Web độc hại,
 Lĩnh vực khoa học: Quan sát thiên văn, dữ liệu gene, dữ liệu sinh vật học,
tìm kiếm, so sánh các hệ gene và thông tin di truyền đã được mã hóa, mối
liên hệ gene với một số bệnh di truyền,
 Mạng viễn thông: Phân tích các cuộc gọi điện thoại và hệ thống giám sát lỗi,
sự cố, chất lượng dịch vụ,
1.7 Các thách thức trong quá trình khai phá dữ liệu
25

×