Tải bản đầy đủ (.pdf) (76 trang)

Quy nạp quy tắc phân lớp sử dụng lý thuyết tập thô Lê Quang Đạt.

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 (1.13 MB, 76 trang )

i

S húa bi Trung tõm Hc liu i hc Thỏi Nguyờn

đại học thái nguyên
Tr-ờng đại học CÔNG NGHệ THÔNG TIN Và TRUYềN THÔNG



Lấ QUANG T

QUY NP QUY TC PHN LP
S DNG Lí THUYT TP THễ



LUN VN THC S KHOA HC MY TNH


thái nguyên - năm 2014
ii

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

®¹i häc th¸i nguyªn
Tr-êng ®¹i häc C¤NG NGHÖ TH¤NG TIN Vµ TRUYÒN TH¤NG




LÊ QUANG ĐẠT













QUY NẠP QUY TẮC PHÂN LỚP
SỬ DỤNG LÝ THUYẾT TẬP THÔ


LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60.48.01

Người hướng dẫn khoa học: PGS.TS. NGUYỄN THANH TÙNG


Thái Nguyên, 2014

iii

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

LỜI CẢM ƠN


Để hoàn thành được luận văn này tôi đã nhận được rất nhiều sự động
viên, giúp đỡ của nhiều cá nhân và tập thể.
Trước hết, tôi xin bày tỏ lòng biết ơn sâu sắc đến PGS. TS. Nguyễn
Thanh Tùng đã hướng dẫn tôi thực hiện nghiên cứu của mình.
Xin cùng bày tỏ lòng biết ơn chân thành tới các thầy cô giáo, người đã
đem lại cho tôi những kiến thức bổ trợ, vô cùng có ích trong những năm học
vừa qua.
Cũng xin gửi lời cám ơn chân thành tới Ban Giám hiệu, Phòng Đào tạo
sau đại học, Trường Đại học Công nghệ Thông tin và Truyền thông – Đại học
Thái Nguyên đã tạo điều kiện cho tôi trong quá trình học tập.
Cuối cùng tôi xin gửi lời cám ơn đến gia đình, bạn bè, những người đã
luôn bên tôi, động viên và khuyến khích tôi trong quá trình thực hiện đề luận
văn của mình.
Thái Nguyên, ngày 18 tháng 07 năm 2014
Tác giả



Lê Quang Đạt
ii

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của tôi dưới sự hướng
dẫn của PGS.TS. Nguyễn Thanh Tùng. Các số liệu, kết quả nghiên cứu trong
luận văn là trung thực và chưa được ai công bố.


Tác giả


Lê Quang Đạt
iii

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

MỤC LỤC
LỜI CẢM ƠN i
LỜI CAM ĐOAN ii
MỤC LỤC iii
DANH MỤC BẢNG v
DANH MỤC HÌNH vi
MỞ ĐẦU 1
Chương 1: KHÁI QUÁT VỀ KHAI PHÁ DỮ LIỆU VÀ BÀI TOÁN PHÂN
LỚP 4
1.1. Khái quát về khai phá dữ liệu 4
1.1.1. Khai phá dữ liệu là gì 4
1.1.2. Quy trình khai phá dữ liệu 5
1.1.3. Các kỹ thuật khai phá dữ liệu 6
1.1.4. Các ứng dụng của khai phá dữ liệu 8
1.1.5. Một số thách thức đặt ra cho việc khai phá dữ liệu 11
1.2. Bài toán phân lớp 12
1.2.1. Phát biểu bài toán 12
1.2.2. Phương pháp tiếp cận chung để giải quyết bài toán phân lớp 15
1.3. Kết luận chương 1 18
Chương 2: CƠ SỞ LÝ THUYẾT TẬP THÔ 19
2.1. Giới thiệu 19
2.2. Hệ thông tin 20

2.3. Quan hệ bất khả phân biệt 21
2.3.1. Sự dư thừa thông tin 21
2.3.2. Quan hệ tương đương - Lớp tương đương 22
2.3.3. Thuật toán xác định lớp tương đương 23
2.3.4. Xấp xỉ tập hợp 24
iv

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

2.3.5. Sự không chắc chắn và hàm thuộc 34
2.3.6. Sự phụ thuộc giữa các tập thuộc tính 35
2.4. Rút gọn thuộc tính 36
2.4.1. Khái niệm 36
2.4.2. Ma trận phân biệt và hàm phân biệt 39
2.5. Kết luận chương 2 42
Chương 3: SỬ DỤNG LÝ THUYẾT TẬP THÔ VÀO VIỆC QUY NẠP
QUY TẮC QUYẾT ĐỊNH TỪ TẬP CÁC VÍ DỤ HỌC 43
3.1 Mở đầu 43
3.2. Một số khái niệm về quy nạp quy tắc quyết định 45
3.2.1. Quy tắc quyết định 45
3.2.2. Các loại thuật toán quy nạp quy tắc 49
3.3. Các thuật toán quy nạp quy tắc quyết định 50
3.3.1 Thuật toán sinh bộ quy tắc tối tiểu 51
3.3.2 Thuật toán sinh bộ quy tắc vét cạn 57
3.3.3 Các thuật toán sinh bộ quy tắc thỏa mãn yêu cầu 58
3.4. Về tính toán thực nghiệm 61
3.5. Kết luận chương 3 63
KẾT LUẬN 65
TÀI LIỆU THAM KHẢO 67


v

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

DANH MỤC BẢNG

Bảng 1.1 Tập đối tượng Động vật có xương sống 13
Bảng 1.2. Ma trận liên hợp (trường hợp 2 lớp) 17
Bảng 2.1. Một hệ thông tin đơn giản 20
Bảng 2.2. Một hệ quyết định với C = {Age, LEMS} và D = {Walk} 21
Bảng 2.3. Một bảng dữ liệu thừa thông tin 22
Bảng 2.4. Một hệ quyết định điều tra vấn đề da cháy nắng 25
Bảng 2.5. Hệ thông tin về thuộc tính của xe hơi 28
Bảng 2.6. Bảng quyết định dùng minh họa hàm thuộc thô 35
Bảng 2.7. Hệ thông tin dùng minh họa ma trận phân biệt 39
Bảng 3.1. Một ví dụ về tập dữ liệu 53
a ba thuật toán (thể hiện bằng %) . 62
Bảng 3.3. So sánh đặc điểm của quy tắc quyết định 63

vi

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

DANH MỤC HÌNH

Hình 1.1. Các bước thực hiện quá trình khai phá dữ liệu 6
Hình 1.2. Bài toán phân lớp 14
Hình 1.3. Phương pháp tiếp cận phổ biến xây dựng mô hình phân lớp 17
Hình 2.1: Xấp xỉ tập đối tượng trong bảng 1-2 bằng các thuộc tính điều kiện Age
và LEMS. Mỗi vùng được thể hiện kèm theo tập các lớp tương ứng. 28

Hình 2.2: Ma trận phân biệt của Bảng 2.7 39
Hình 2.3: Ma trận phân biệt của hệ thông tin Bảng 2.7 xây dựng trên tập
thuộc tính {a,b} 40
Hình 2.4: Ma trận phân biệt Hình 2.2 sau khi chọn c vào tập rút gọn f
A
=
I,j,i j, cij
{˅c
ij
*
| c
ij
*
c
ij
} 41



1

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

MỞ ĐẦU
Trong nhiều tình huống, ta cần phải xếp một đối tượng vào một trong
những lớp khác nhau, dựa vào một số thuộc tính của nó. Chẳng hạn, dựa vào
các kết quả xét nghiệm (số đo huyết áp, mức cholesterol, số lượng hồng cầu,
số lượng bạch cầu, … ), ta cần khẳng định một người có mắc phải một chứng
bệnh nào đó không. Các tình huống như thế được gọi là các bài toán phân lớp
(classification) hay bài toán nhận dạng mẫu (Pattern Recognition).

Để giải quyết một bài toán phân lớp, người ta dựa vào một tập các đối
tượng đã được phân lớp. Tập các đối tượng này được gọi là tập các ví dụ học
(set of learning examples) hay tập huấn luyện (training set).
Quy nạp quy tắc phân lớp (hay quy tắc quyết định) là việc phát hiện ra
các quy tắc phân lớp từ tập các ví dụ học S đã cho. Một quy tắc phân lớp có
thể được mô tả bằng một biểu thức toán học hoặc bằng một mệnh đề có dạng
if R then K
trong đó, R là hội của các biểu thức điều kiện liên quan đến các giá trị thuộc
tính, K là biểu thức dạng
i
dd
chỉ ra nhãn lớp gán cho đối tượng mới cần
phân lớp.
Phân lớp là nhiệm vụ vô cùng quan trọng, con người thường phải đối
mặt trong mọi lĩnh vực của đời sống. Nghiên cứu các phương pháp phân lớp
vì thế từ lâu đã trở thành lĩnh vực khoa học thu hút sự quan tâm của nhiều
nhà nghiên cứu.
Cho đến nay, nhiều phương pháp tiếp cận bài toán phân lớp đã được đề
xuất. Tuy nhiên, trong những năm gần đây, nhu cầu giải quyết các vấn đề
phân lớp phức tạp xuất hiện ngày một nhiều, các phương pháp thống kê toán
học tỏ ra kém hiệu quả. Mặt khác, trong vài ba thập niên vừa qua, khả năng
lưu trữ và xử lý dữ liệu của máy tính không ngừng được nâng cao, con người
sở hữu ngày một nhiều những cơ sở dữ liệu lớn, chứa đựng những tri thức
2

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

hữu ích. Thực tế này đòi hỏi con người phải “Tìm cách dạy cho máy tính biết
khai thác những khối tri thức khổng lồ mà con người có được, từ đó làm cho
nó có thể nhận biết các sự kiện, bày tỏ cảm xúc với con người, có thể trả lời

các câu hỏi một cách thông minh” [4]. Do đó, nhiều lĩnh vực khoa học mới
đã ra đời: Học máy (Machine Learning) hay còn gọi là Học thống kê
(Statistical Learning), Khai phá dữ liệu, Lý thuyết tập thô, … . Các lĩnh vực
khoa học mới này nhằm giải quyết nhiều vấn đề khác nhau của khoa học máy
tính, trong đó có bài toán quy nạp quy tắc quyết định.
Lý thuyết tập thô, do Z. Pawlak đề xuất vào những năm đầu thập niên
tám mươi thế kỷ hai mươi, là một công cụ toán học nhằm xử lý những sự mơ
hồ, không chắc chắn trong khai phá dữ liệu.
Lý thuyết tập thô bắt nguồn từ quan sát rằng các đối tượng trong một
quần thể nào đó có thể là bất khả phân biệt do thông tin có được về chúng bị
hạn chế. Do đó, sẽ tồn tại những khái niệm (là những tập các đối tượng trong
lý thuyết tập thô) không thể định nghĩa được một cách chính xác thông qua
những thông tin có sẵn có mà chỉ có thể định nghĩa một cách xấp xỉ. Với lý do
đó, Pawlak đã đề xuất khái niệm “tập thô”. Tập thô được đặc trưng bởi một
cặp khái niệm chính xác gọi là xấp xỉ dưới và xấp xỉ trên. Xấp xỉ dưới của
một khái niệm X là tập tất cả các đối tượng trong U chắc chắn thuộc X , còn
xấp xỉ trên là tập các đối tượng trong U có thể thuộc X dựa trên những thông
tin từ tập dữ liệu.
Các nghiên cứu gần đây cho thấy Lý thuyết tập thô có thể được coi như
là cơ sở lý thuyết để giải quyết hiệu quả một số vấn đề quan trọng trong học
máy, khai phá dữ liệu, trí tuệ nhân tạo. Các vấn đề quan trọng nhất bao gồm:
tìm kiếm mô tả cho các tập các đối tượng thông qua các giá trị thuộc tính,
kiểm tra phụ thuộc (hoàn toàn hay một phần) giữa các thuộc tính, rút gọn
3

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

thuộc tính, phân tích mức ý nghĩa của các thuộc tính, quy nạp quy tắc phân
lớp từ cơ sở dữ liệu mẫu.
Luận văn nhằm nghiên vấn đề quy nạp quy tắc phân lớp sử dụng cơ sở

toán học của lý thuyết tập thô.
Nội dung luận văn gồm 3 chương:
Chương 1 trình bày tổng quan về khai phá dữ liệu và bài toán phân lớp.
Chương 2 nghiên cứu cơ sở lý thuyết tập thô.
Chương 3 trình bày các thuật toán quy nạp quy tắc phân lớp sử dụng lý
thuyết tập thô, gồm 3 loại: thuật toán quy nạp bộ quy tắc tối tiểu, thuật toán
quy nạp bộ tất cả các quy tắc có thể và thuật toán quy nạp bộ quy tắc đáp ứng
yêu cầu người sử dụng.
4

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

Chương 1
KHÁI QUÁT VỀ KHAI PHÁ DỮ LIỆU VÀ BÀI TOÁN PHÂN LỚP
1.1. Khái quát về khai phá dữ liệu
1.1.1. Khai phá dữ liệu là gì
Trong những năm gần đây, cùng với sự phát triển vượt bậc của công
nghệ điện tử và truyền thông, khả năng thu thập và lưu trữ thông tin của các
hệ thống thg tin không ngừng được nâng cao. Theo đó, lượng thông tin được
lưu trữ trên các thiết bị nhớ không ngừng tăng lên. Thống kê sơ bộ cho thấy,
cứ sau 20 tháng lượng thông tin trên các hệ thống thông tin lại tăng lên gấp
đôi [4]. Cuối thập kỷ 80 của thế kỷ XX, sự phát triển rộng khắp của các cơ sở
dữ liệu (CSDL) ở mọi quy mô đã tạo ra sự bùng nổ thông tin trên toàn cầu.
Thời gian này, người ta bắt đầu đề cập đến khái niệm khủng hoảng phân tích
dữ liệu tác nghiệp để cung cấp thông tin với yêu cầu chất lượng ngày càng
cao cho 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, . Đúng như John Naisbett [4] đã cảnh báo “Chúng ta đang chìm
ngập trong dữ liệu mà vẫn đói tri thức”.
Khai phá dữ liệu (Data Mining) là một lĩnh vực khoa học mới xuất hiện,
nhằm tự động hóa khai thác những thông tin, tri thức hữu ích, tiềm ẩn trong

các CSDL cho các tổ chức, doanh nghiệp, từ đó thúc đẩy khả năng sản
xuất, kinh doanh, cạnh tranh của tổ chức, doanh nghiệp này. Các kết quả
nghiên cứu cùng với những ứng dụng thành công trong khai phá dữ liệu,
khám phá tri thức cho thấy khai phá dữ liệu là một lĩnh vực khoa học tiềm
năng, mang lại nhiều lợi ích, đồng thời có ưu thế hơn hẳn so với các công cụ
phân tích dữ liệu truyền thống. Hiện nay, khai phá dữ liệu được ứng dụng
rộng rãi trong các lĩnh vực như: Phân tích dữ liệu hỗ trợ ra quyết định, điều
trị y học, tin-sinh học, thương mại, tài chính, bảo hiểm, khai phá văn bản, khai
phá web .
5

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

Do sự phát triển nhanh chóng về phạm vi áp dụng và các phương pháp
tìm kiếm tri thức, nên đã có nhiều quan điểm khác nhau về khai phá dữ liệu.
Tuy nhiên, ở một mức độ trừu tượng nhất định, chúng ta định nghĩa khai phá
dữ liệu như sau [4]:
Khai phá dữ liệu là quá trình tìm kiếm, phát hiện các tri thức mới, hữu
ích tiềm ẩn trong cơ sở dữ liệu lớn.
1.1.2. Quy trình khai phá dữ liệu
Khám phá tri thức trong CSDL (Knowledge Discovery in Databases –
KDD) là mục tiêu chính của khai phá dữ liệu, do vậy hai khái niệm khai phá
dữ liệu và KDD được các nhà khoa học xem là tương đương nhau. Thế
nhưng, nếu phân chia một cách chi tiết thì khai phá dữ liệu là một bước chính
trong quá trình KDD.
Khám phá tri thức trong CSDL là lĩnh vực liên quan đến nhiều ngành như:
CSDL, xác suất, thống kê, lý thuyết thông tin, học máy, lý thuyết thuật toán, trí
tuệ nhân tạo, tính toán song song và hiệu năng cao, . Các kỹ thuật chính áp
dụng trong khám phá tri thức phần lớn được thừa kế từ các ngành này.
Quá trình khám phá tri thức có thể phân ra các công đoạn sau [4]:

Trích chọn dữ liệu: Là bước tuyển chọn những tập dữ liệu cần được
khai phá từ các tập dữ liệu lớn (databases, data warehouses, data repositories)
ban đầu theo một số tiêu chí nhất định.
Tiền xử lý dữ liệu: Là bước làm sạch dữ liệu (xử lý dữ liệu không đầy
đủ, dữ liệu nhiễu, dữ liệu không nhất quán, ), tổng hợp dữ liệu (nén, nhóm
dữ liệu, xây dựng các histograms, lấy mẫu, tính toán các tham số đặc trưng
), rời rạc hóa dữ liệu, lựa chọn thuộc tính . Sau bước tiền xử lý này, dữ
liệu sẽ nhất quán, đầy đủ, được rút gọn.
6

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

Biến đổi dữ liệu: Là bước chuẩn hóa và làm mịn dữ liệu để đưa dữ liệu
về dạng thuận lợi nhất nhằm phục vụ việc áp dụng các kỹ thuật khai phá ở
bước sau.
Khai phá dữ liệu: Là bước áp dụng những kỹ thuật phân tích (phần
nhiều là các kỹ thuật học máy) nhằm khai thác dữ liệu, trích lọc những mẫu tin
(information patterns), những mối quan hệ đặc biệt trong dữ liệu. Đây được
xem là bước quan trọng và tiêu tốn thời gian nhất của toàn bộ quá trình KDD.
Đánh giá và biểu diễn tri thức: Những mẫu thông tin và mối quan hệ
trong dữ liệu đã được phát hiện ở bước khai phá dữ liệu được chuyển sang và
biểu diễn ở dạng gần gũi với người sử dụng như đồ thị, cây, bảng biểu, luật,
Đồng thời bước này cũng đánh giá những tri thức khai phá được theo những
tiêu chí nhất định.
Hình 1.1 dưới đây mô tả các công đoạn của KDD:









Hình 1.1. Các bước thực hiện quá trình khai phá dữ liệu
1.1.3. Các kỹ thuật khai phá dữ liệu
Theo quan điểm của học máy (Machine Learning), thì các kỹ thuật khai
phá dữ liệu bao gồm:
dữ liệu
thô
Trích chọn
dữ liệu
Dữ
liệu
Tiền sử lý
dữ liệu
Biến đổi
dữ liệu
Dữ liệu
tiền xử lý

Khai phá
dữ liệu
Đánh gía
và giải thích
Các mẫu
Biểu diễn

dữ liệu
Tri thức
7


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

Học có giám sát (Supervised Learning): Là quá trình phân lớp các
đối tượng trong cơ sở dữ liệu dựa trên một tập các ví dụ huấn luyện
về các thông tin về nhãn lớp đã biết.
Học không có giám sát (Unsupervised Learning): Là quá trình phân
chia một tập các đối tượng thành các lớp hay cụm (clusters) tương tự
nhau mà không biết trước các thông tin về nhãn lớp.
Học nửa giám sát (Semi-Supervised Learning): Là quá trình phân
chia một tập các đối tượng thành các lớp dựa trên một tập nhỏ các ví
dụ huấn luyện với thông tin về nhãn lớp đã biết.
Nếu căn cứ vào các lớp bài toán cần giải quyết, thì khai phá dữ liệu bao
gồm các kỹ thuật sau:
Phân lớp và dự đoán (classification and prediction): Là việc xếp các
đối tượng vào những lớp đã biết trước. Ví dụ, phân lớp các bệnh
nhân, phân lớp các loài thực vật, . Hướng tiếp cận này thường sử
dụng một số kỹ thuật của học máy như cây quyết định (decision
tree), mạng nơ-ron nhân tạo (neural network), . Phân lớp và dự
đoán còn được gọi là học có giám sát.
Phân cụm (clustering/segmentation): Là việc xếp các đối tượng theo
từng cụm tự nhiên.
Luật kết hợp (association rules): Là việc phát hiện các luật biểu diễn
tri thức dưới dạng khá đơn giản. Ví dụ: “70% nữ giới vào siêu thị
mua phấn thì có tới 80% trong số họ cũng mua thêm son”.
Phân tích hồi quy (regression analysis): Là việc học một hàm ánh xạ
từ một tập dữ liệu thành một biến dự đoán có giá trị thực. Nhiệm vụ
của phân tích hồi quy tương tự như của phân lớp, điểm khác nhau là
ở chỗ thuộc tính dự báo là liên tục chứ không phải rời rạc.
8


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

Phân tích các mẫu theo thời gian (sequential/temporal patterns):
Tương tự như khai phá luật kết hợp nhưng có quan tâm đến tính thứ
tự theo thời gian.
Mô tả khái niệm và tổng hợp (concept description and summari-
zation): Thiên về mô tả, tổng hợp và tóm tắt các khái niệm. Ví dụ
tóm tắt văn bản.
Hiện nay, các kỹ thuật khai phá dữ liệu có thể làm việc với rất nhiều kiểu
dữ liệu khác nhau. Một số dạng dữ liệu điển hình là: CSDL quan hệ, CSDL đa
chiều (Multidimensional Data Structures), CSDL giao tác, CSDL quan hệ
hướng đối tượng, dữ liệu không gian và thời gian, CSDL đa phương tiện, dữ
liệu văn bản và web, .
1.1.4. Các ứng dụng của khai phá dữ liệu
Như đã nói ở trên, khai phá dữ liệu là một lĩnh vực liên quan tới nhiều
ngành khoa học khác như: hệ CSDL, thống kê, trực quan hoá… . Hơn nữa, tuỳ
vào cách tiếp cận được sử dụng, khai phá dữ liệu còn có thể áp dụng một số kỹ
thuật như mạng nơron, phương pháp hệ chuyên gia, lý thuyết tập thô, tập mờ
So với các phương pháp này, khai phá dữ liệu có một số ưu thế rõ rệt.
Phương pháp học máy chủ yếu được áp dụng đối với các CSDL đầy
đủ, ít biến động và tập dữ liệu không qua lớn. Trong khi đó, các kỹ thuật khai
phá dữ liệu có thể được sử dụng đối với các CSDL chứa nhiễu, dữ liệu không
đầy đủ hoặc biến đổi liên tục.
Phương pháp hệ chuyên gia được xây dựng dựa trên những tri thức
cung cấp bởi các chuyên gia. Những dữ liệu này thường ở mức cao hơn nhiều
so với những dữ liệu trong CSDL khai phá, và chúng thường chỉ bao hàm
được các trường hợp quan trọng. Hơn nữa, giá trị và tính hữu ích của các mẫu
phát hiện được bởi hệ chuyên gia cũng chỉ được xác nhận bởi các chuyên gia .
9


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

Phương pháp thống kê là một trong những nền tảng lý thuyết của khai
phá dữ liệu, nhưng khi so sánh hai phương pháp với nhau có thể thấy các
phương pháp thống kê có một số điểm yếu mà chỉ khai phá dữ liệu mới khắc
phục được.
Với nhưng ưu điểm trên, khai phá dữ liệu hiện đ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ế, an ninh
internet… Rất nhiều tổ chức và công ty lớn trên thế giới đã áp dụng thành
cô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. Các công ty phần mềm lớn trên thế
giới cũng rất quan tâm và chú trọng tới việc nghiên cứu và phát triển kỹ thuật
khai phá dữ liệu: Oracle tích hợp các công cụ khai phá dữ liệu vào bộ
Oracle9i, IBM đã đi tiên phong trong việc phát triển các ứng dụng khai phá
dữ liệu với các ứng dụng như Intelligence Miner…
Các ứng dụng này được chia thành 3 nhóm ứng dụng khác nhau: Phát hiện
gian lận (fraud detection), các ứng dụng hỗ trợ tiếp thị và quản lý khách hàng,
cuối cùng là các ứng dụng vào phát hiện và xử lý lỗi hệ thống mạng.
Phát hiện gian lận (fraud detection):
Gian lận là một trong những vấn đề nghiêm trọng đối với các công ty viễn
thông, nó có thể làm thất thoát hàng tỷ đồng mỗi năm. Có thể chia ra làm 2
hình thức gian lận khác nhau thường xảy ra đối với các công ty viễn thông:
Trường hợp thứ nhất xảy ra khi một khách hàng đăng ký thuê bao với ý định
không bao giờ thanh toán khoản chi phí sử dụng dịch vụ. Trường hợp thứ hai
liên quan đến một thuê bao hợp lệ nhưng lại có một số hoạt động bất hợp
pháp gây ra bởi một người khác. Những ứng dụng này sẽ thực hiện theo thời
gian thực bằng cách sử dụng dữ liệu chi tiết cuộc gọi, một khi xuất hiện một
cuộc gọi nghi ngờ gian lận, lập tức hệ thống sẽ có hành động ứng xử phù hợp,

10

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

ví dụ như một cảnh báo xuất hiện hoặc từ chối cuộc gọi nếu biết đó là cuộc
gọi gian lận.
Các ứng dụng quản lý và chăm sóc khách hàng
Các công ty viễn thông quản lý một khối lượng lớn dữ liệu về thông tin
khách hàng và chi tiết cuộc gọi (call detail records). Những thông tin này có
thể cho ta nhận diện được những đặc tính của khách hàng và thông qua đó có
thể đưa ra các chính sách chăm sóc khách hàng thích hợp dựa trên dự đoán
hoặc có những chiến lược tiếp thị hiệu quả.
Một trong các ứng dụng phổ biến của khai phá dữ liệu là phát hiện luật kết
hợp giữa các dịch vụ viễn thông khách hàng sử dụng. Hiện nay trên một
đường điện thoại khách hàng có thể sử dụng rất nhiều dịch vụ khác nhau, ví
dụ như : gọi điện thoại, truy cập internet, tra cứu thông tin từ hộp thư tự
động, nhắn tin, gọi 108, .v.v. Dựa trên cơ sở dữ liệu khách hàng, chúng ta có
thể khám phá các liên kết trong việc sử dụng các dịch vụ, có thể đưa ra các
luật như (khách hàng gọi điện thoai quốc tế) => (truy cập internet) v.v Trên
cơ sở phân tích được các luật như vậy, các công ty viễn thông có thể điều
chỉnh việc bố trí nơi đăng ký các dịch vụ phù hợp, ví dụ điểm đăng ký điện
thoại quốc tế nên bố trí gần với điểm đăng ký Internet chẳng hạn.
Một ứng dụng khác phục vụ chiến lược marketing đó là sử dụng kỹ thuật
khai phá luật kết hợp của khai phá dữ liệu để tìm ra tập các thành phố, tỉnh
nào trong nước thường gọi điện thoại với nhau. Ví dụ, ta có thể tìm ra tập phổ
biến (Cần Thơ, HCM, Hà Nội ) chẳng hạn. Điều này thật sự hữu dụng trong
việc hoạch định chiến lược tiếp thị hoặc xây dựng các vùng cước phù hợp.
Cuối cùng, một ứng dụng cũng rất phổ biến đó là phân lớp khách hàng
(classifying). Dựa vào kỹ thuật học trên cây quyết định (decision tree
learning) xây dựng được từ dữ liệu khách hàng và chi tiết cuộc gọi có thể tìm

11

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

ra các luật để phân loại khách hàng. Ví dụ ta có thể phân biệt được khách
hàng nào thuộc đối tượng kinh doanh hay nhà riêng dựa vào các luật sau:
Luật 1 : Nếu không quá 43% cuộc gọi có thời gian từ 0 đến 10 giây và
không đến 13% cuộc gọi vào cuối tuần thì đó là khách hàng kinh doanh.
Luật 2 : Nếu trong 2 tháng có các cuộc gọi đến hầu hết từ 3 mã vùng giống
nhau và dưới 56,6% cuộc gọi từ 0-10 giây thì có là khách hàng nhà riêng.
Trên cơ sở tìm được các luật tương tự như vậy, ta dễ dàng phân loại khách
hàng, từ đó có chính sách phân khúc thị trường hợp lý.
Các ứng dụng phát hiện và cô lập lỗi trên hệ thống mạng viễn thông
(Network fault isolation )
Mạng viễn thông là một cấu trúc cực kỳ phức tạp với nhiều hệ thống
phần cứng và phần mềm khác nhau. Phần lớn các thiết bị trên mạng có khả
năng tự chuẩn đoán và cho ra thông điệp trạng thái, cảnh báo lỗi (status and
alarm message). Với mục tiêu là quản lý hiệu quả và duy trì độ tin cậy của hệ
thống mạng, các thông tin cảnh báo phải được phân tích tự động và nhận diện
lỗi trước khi nó xuất hiện làm giảm hiệu năng của mạng. Bởi vì số lượng lớn
các cảnh báo độc lập và có vẻ như không quan hệ gì với nhau nên vấn đề
nhận diện lỗi không ít khó khăn. Kỹ thuật khai phá dữ liệu có vai trò sinh ra
các luật giúp hệ thống có thể phát hiện lỗi sớm hơn khi nó xảy ra. Kỹ thuật
khám phá mẫu tuần tự (sequential/temporal patterns) của data mining thường
được ứng dụng trong lĩnh vực này thông qua việc khai thác cơ sở dữ liệu
trạng thái mạng (network status data).
1.1.5. Một số thách thức đặt ra cho việc khai phá dữ liệu
Số đối tượng trong cơ sở dữ liệu thường rất lớn
Số chiều (thuộc tính) của cơ sở dữ liệu lớn
Dữ liệu và tri thức luôn thay đổi có thể làm cho các mẫu đã phát hiện

không còn phù hợp.
12

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

Dữ liệu bị thiếu hoặc nhiễu
Quan hệ phức tạp giữa các thuộc tính
Giao tiếp với người sử dụng và kết hợp với các tri thức đã có.
Tích hợp với các hệ thống khác…
1.2. Bài toán phân lớp
1.2.1. Phát biểu bài toán
Chúng ta hiểu bài toán phân lớp ở đây là bài toán phân lớp có giám sát.
Bài toán phân lớp là bài toán tìm quy tắc xếp các đối tượng đã cho vào một
trong các lớp đã được định nghĩa trước dựa vào một tập đối tượng mẫu (tập
đối tượng huấn luyện). Bài toán phân lớp có rất nhiều ứng dụng. Ví dụ như
việc tìm kiếm các thư rác dựa vào tiêu đề và nội dung bức thư, phân loại u
lành tính hay u ác tính dựa trên kết quả chụp MRI, phân loại dải ngân hà dựa
trên hình dạng của chúng, …
Dữ liệu đầu vào của bài toán phân lớp là một tập hợp các bản ghi các
thuộc tính của các đối tượng. Mỗi bản ghi được xác định bởi một cặp tọa độ
(x, y), trong đó x là tập hợp các giá trị thuộc tính điều kiện và y là giá trị thuộc
tính quyết định (còn được gọi là thuộc tính đích) chỉ nhãn lớp. Bảng 1.1 thể
hiện một tập hợp dữ liệu mẫu, được sử dụng để phân loại các loài Động vật có
xương sống thành một trong những loại sau: Động vật có vú, Chim, Cá, Bò
sát, hay Động vật lưỡng cư.
13

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

Bảng 1.1. Tập đối tượng Động vật có xương sống

Tên
Thân
nhiệt
Đẻ
con
Sống
dưới
nước
Biết
bay

chân
Ngủ
đông
Nhãn
lớp
Người
Máu nóng

Không
Không

Không
Động vật
có vú
Trăn
Máu lạnh
Không
Không
Không

Không

Bò sát
Cá hồi
Máu lạnh
Không

Không
Không
Không

Cá voi
Máu nóng


Không
Không
Không
Động vật
có vú
Ếch
Máu lạnh
Không
Bán cư
Không


Động vật
lưỡng cư
Thằn lằn

Máu lạnh
Không
Không
Không

Không
Bò sát
Dơi
Máu nóng

Không



Động vật
có vú
Chim bồ
câu
Máu nóng
Không
Không


Không
Chim
Mèo
Máu nóng

Không
Không


Không
Động vật
có vú
Cá mập
Máu lạnh


Không
Không
Không

Rùa
Máu lạnh
Không
Bán cư
Không

Không
Bò sát
Chim
cánh cụt
Máu nóng
Không
Bán cư
Không

Không
Chim
Nhím

Máu nóng

Không
Không


Động vật
có vú
Rồng lửa
Máu lạnh
Không
Bán cư
Không


Động vật
lưỡng cư

14

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

Tập thuộc tính trong bảng 1.1 bao gồm các đặc tính của loài Động vật
có xương sống như thân nhiệt, phương pháp sinh sản, khả năng bay, và khả
năng sống dưới nước. Các thuộc tính điều kiện trong bảng 1 đều là những
thuộc tính định tính, nhưng trong nhiều ứng dụng thực tiễn khác thuộc tính
điều kiện có thể là thuộc tính định lượng liên tục. Trong tất cả các trường
hợp, thuộc tính quyết định luôn là một thuộc tính định tính, nó chỉ ra nhãn lớp
của dữ liệu. Đó là đặc điểm chính để phân biệt bài toán phân lớp so với bài
toán hồi quy, bài toán dự đoán trong đó y là một thuộc tính liên tục.

Định nghĩa 1.1. (Phân lớp) Phân lớp là việc phát hiện ra hàm mục tiêu f, ánh
xạ từ tập các thuộc tính x lên tập các nhãn lớp đã được định nghĩa trước y dựa
vào một tập đối tượng mẫu (tập đối tượng huấn luyện).

Hình 1.2. Bài toán phân lớp
Hàm mục tiêu thường được biết đến như là một mô hình phân lớp. Mô
hình phân lớp thường được sử dụng cho những mục đích sau:
Miêu tả: Một mô hình phân lớp có thể dùng như một công cụ vừa để
giải thích vừa để phân biệt giữa các đối tượng thuộc các lớp khác nhau. Ví dụ,
như đối với bài toán phân loại các loài động vật trên đây, mô hình phân lớp sẽ
giúp cho các nhà sinh học có một công cụ vừa để miêu tả, tóm tắt dữ liệu cho
trong bảng 1 vừa để giải thích được đặc tính nào xác định một loài Động vật
có xương sống là loài Động vật có vú, loài Bò sát, loài Chim, loài cá, hay loài
lưỡng cư.
Dự đoán: Mô hình phân lớp cũng có thể được dùng để dự đoán nhãn lớp
chưa xác định. Hình 2 cho thấy một mô hình phân lớp có thể được dùng như
15

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

một hộp đen để tự động gắn nhãn lớp khi cho biết tập hợp các thuộc tính của
đối tượng mới.
Giả sử chúng ta có các thuộc tính của một loài sinh vật đã được biết đến
là quái vật gila. Chúng ta có thể sử dụng mô hình phân lớp được xây dựng từ
bảng 1. để xác định nhãn lớp mà loài vật này thuộc vào.


Các kỹ thuật phân lớp thích hợp cho hầu hết các trường hợp cần dự
đoán hay miêu tả các tập đối tượng nhị phân hoặc đa phân. Chúng ít hiệu quả
hơn với các loại dữ liệu thông thường (ví dụ như chiều cao, trọng lượng…),

bởi vì các kỹ thuật này không xem xét đến thứ tự ngầm giữa các loại.
1.2.2. Phương pháp tiếp cận chung để giải quyết bài toán phân lớp
Kỹ thuật phân lớp là cách tiếp cận có hệ thống nhằm xây dựng mô hình
phân lớp từ một tập đối tượng đầu vào. Có nhiều phương pháp phân lớp:
Phương pháp phân biệt tuyến tính của Fisher, phương pháp naïve Bayes,
phương pháp mạng nơron, phương pháp máy véc-tơ hỗ trợ, phương pháp cây
quyết định, …. Mỗi phương pháp cần một giải thuật học để tìm ra mô hình
tốt nhất, phù hợp với mối quan hệ giữa tập các thuộc tính điều kiện và và
thuộc tính nhãn lớp của dữ liệu đầu vào. Mô hình được tạo ra bởi một giải
thuật học cần phải phù hợp với cả dữ liệu nhập vào và dự đoán chính xác
nhãn lớp của tập đối tượng mà nó chưa gặp trước đó. Do đó, đối tượng chính
của việc nghiên cứu thuật toán là xây dựng một mô hình có khả năng khái
quát tốt, nghĩa là các mô hình phải dự đoán chính xác nhãn lớp của các tập
đối tượng chưa từng xuất hiện trước đó.
Tên

Thân
nhiệt
Đẻ
con
Sống dưới
nước
Biết
bay

chân
Ngủ
đông
Nhãn
lớp

Quái vật Gila
Máu
lạnh
Không
Không
Không


?
16

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

Hình 3. thể hiện cách tiếp cận phổ biến để giải quyết bài toán phân lớp.
Đầu tiên, cung cấp một tập đối tượng huấn luyện bao gồm các tập đối tượng
mà nhãn lớp đã được xác định. Tập huấn luyện này được sử dụng để xây dựng
mô hình phân lớp rồi sau đó áp dụng cho các tập đối tượng kiểm tra, tập này
bao gồm các tập đối tượng chưa xác định nhãn lớp.
Việc đánh giá một mô hình phân lớp dựa trên số lượng tập kiểm tra mà
mô hình dự đoán chính xác và chưa chính xác. Các con số này được sắp xếp
trong một bảng tạo thành một ma trận liên hợp. Bảng 2 mô tả ma trận liên hợp
cho bài toán phân lớp nhị phân. Mỗi thành phần f
ij
trong bảng thể hiện số tập
đối tượng từ lớp i được dự đoán thuộc lớp j. Ví dụ, f
01
là số tập đối tượng ở
lớp 0 nhưng được dự đoán không chính xác là ở lớp 1. Từ các thành phần của
ma trận ta có tổng số dự đoán đúng của mô hình là (f
11

+ f
00
), và tổng số dự
đoán sai là (f
10
+ f
01
).
Mặc dù ma trận liên hợp cung cấp những thông tin cần thiết để xác định
một mô hình phân lớp thực hiện tốt tới mức độ nào, nhưng việc đúc kết những
thông tin này thành các con số sẽ thuận tiện hơn cho việc so sánh các mô hình
khác nhau. Điều này có thể thực hiện được bằng cách sử dụng một số đo gọi
là “độ chính xác”. Độ chính xác của mô hình được định nghĩa như sau:
độ chính xác =
số dự đoán đúng
tổng số dự đoán
=
f
11
+ f
00
f
11
+ f
10
+ f
01
+ f
00


Một cách tương đương, chất lượng của một mô hình có thể được miêu
tả bởi “sai số”, xác định như sau:
sai số =
số dự đoán sai
tổng số dự đoán
=
f
10
+ f
01
f
11
+ f
10
+ f
01
+ f
00

Hầu hết các thuật toán phân lớp đều tìm kiếm những mô hình cho phép
đạt được độ chính xác cao nhất (sai số thấp nhất) khi ứng dụng vào tập đối
tượng kiểm tra.

17

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


Hình 1.3. Phương pháp tiếp cận phổ biến xây dựng mô hình phân lớp


Bảng 1.2. Ma trận liên hợp (trường hợp 2 lớp)


Nhãn lớp dự đoán
Lớp = 1
Lớp =0
Nhãn lớp
thực tế
Lớp = 1
f
11
f
10
Lớp = 2
f
01
f
00

×