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

(Luận văn thạc sĩ) Phân lớp dữ liệu hoa Iris sử dụng thuật toán Naive Bayes, Randomforest và KNN (K NEAREST NEIGHBORS)

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.97 MB, 73 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

SENGTHONG XAYAVONG

PHÂN LỚP DỮ LIỆU HOA IRIS SỬ DỤNG THUẬT TOÁN
NAIVE BAYES, RANDOMFOREST VÀ KNN
(K - NEAREST NEIGHBORS)

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

Thái Nguyên – 2020


ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

SENGTHONG XAYAVONG

PHÂN LỚP DỮ LIỆU HOA IRIS SỬ DỤNG THUẬT TOÁN
NAIVE BAYES, RANDOMFOREST VÀ KNN
(K - NEAREST NEIGHBORS)

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ố: 84 8 01 01

Người hướng dẫn khoa học: TS. Nguyễn Văn Núi

Thái Nguyên – 2020




I

LỜI CAM ĐOAN
Họ và tên học viên: Sengthong Xayavong
Lớp cao học: CK17A Trường Đại học Công nghệ thông tin và Truyền thông – Đại
học Thái Nguyên.
Chuyên ngành: Khoa học máy tính
Tên đề tài luận văn: PHÂN LỚP DỮ LIỆU HOA IRIS SỬ DỤNG THUẬT TOÁN
NAIVE BAYES, RANDOMFOREST VÀ KNN (K - NEAREST NEIGHBORS).
Học viên xin cam đoan đây là công trình nghiên cứu của bản than học viện.
Các kết quả nghiên cứu và các kết luận trong luận văn là trung thực, không sao chép
từ bất kỳ một nguồn nào và dưới bất kỳ hình thức nào. Trong quá trình làm học viên
có tham khảo các tài liệu liên quan nhằm khẳng định thêm sự tin cậy và cấp thiết của
đề tài. Việc tham khảo các nguồn tài liệu đã được thực hiện trích dẫn và ghi nguồn
tài liệu tham khảo đúng quy định.

Thái Nguyên, ngày 08 tháng 10 năm 2020
Tác giả luận văn

Sengthong xayavong


II

LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn sâu sắc tới TS. Nguyễn Văn Núi, Trường Đại học Công
nghệ Thông tin và Truyền thông, người thầy đã dành nhiều thời gian tận tình chỉ bảo,
hướng dẫn, giúp đỡ tơi trong suốt quá trình tìm hiểu, nghiên cứu. Thầy là người định

hướng và đưa ra nhiều góp ý quý báu trong q trình tơi thực hiện luận văn.
Tơi xin chân thành cảm ơn các thầy, cô ở khoa Công nghệ thông tin – trường
Đại học Công nghệ Thông tin và Truyền thông đã cung cấp cho tôi những kiến thức
và tạo cho tôi những điều kiện thuận lợi trong suốt quá trình tơi học tập tại trường.
Tơi cũng bày tỏ lịng biết ơn về sự giúp đỡ của lãnh đạo cơ quan, đồng nghiệp
đã cung cấp dữ liệu, tài liệu và cho tôi những lời khuyên quý báu. Tôi xin cảm ơn gia
đình, người thân, bạn bè và các thành viên trong nhóm nghiên cứu ln động viên và
tạo mọi điều kiện tốt nhất cho tôi.
Tôi xin chân thành cảm ơn!

Thái Nguyên, ngày 08 tháng 10 năm 2020
Tác giả luận văn

Sengthong Xayavong


III

MỤC LỤC
LỜI CAM ĐOAN ...................................................................................................... I
LỜI CẢM ƠN .......................................................................................................... II
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT .......................................... VI
DANH MỤC CÁC BẢNG ....................................................................................VII
DANH MỤC HÌNH ............................................................................................. VIII
MỞ ĐẦU ....................................................................................................................1
Chương 1: Tổng quan về khai phá dữ liệu và phát hiện tri thức .........................3
1.1 Giới thiệu tổng quan ........................................................................................3
1.1.1 Giới thiệu chung về khám phá tri thức và khai phá dữ liệu ........................3
1.1.2 Quá trình khám phá tri thức ........................................................................3
1.1.3 Khai phá dữ liệu ..........................................................................................5

1.1.4 Quá trình của khai phá dữ liệu ....................................................................6
1.1.5 Ứng dụng của khai phá dữ liệu ...................................................................7
1.2 Một số kỹ thuật khai phá dữ liệu cơ bản .......................................................7
1.2.1 Luật kết hợp (Association Rules).................................................................7
1.2.2 Khai thác mẫu tuần tự (Sequential / Temporal patterns) ............................7
1.2.3 Phân cụm dữ liệu (Clustering) ....................................................................8
1.2.4 Phân nhóm- đoạn (Clustering / Segmentation) ...........................................8
1.2.5 Hồi quy (Regression) ..................................................................................9
1.2.6 Tổng hợp hóa (Summarization) ...................................................................9
1.2.7 Mơ hình hóa sự phụ thuộc (dependency modeling) ....................................9
1.2.8 Phát hiện sự biến đổi và độ lệch (Change and deviation detection) .........10
1.3. Một số so sánh giữa khai phá dữ liệu và các phương pháp cơ bản khác 10
1.3.1. So sánh với phương pháp hệ chuyên gia ..................................................10
1.3.2. So sánh với phương pháp phân loại thống kê ..........................................11
1.3.3. So sánh với phương pháp học máy ..........................................................12
1.3.4 So sánh với phương pháp học sâu .............................................................14
Chương 2: Một số kỹ thuật phân lớp dữ liệu .......................................................16
2.1 Tổng quan về phân lớp dữ liệu ....................................................................16
2.2. Phân lớp dữ liệu Naive Bayes .....................................................................19


IV

2.2.1 Định nghĩa thuật tốn Nạve Bayes..........................................................19
2.2.3 Đặc điểm của thuật tốn Nạve Bayes .......................................................22
2.2.4 Ứng dụng của thuật tốn Naïve Bayes ......................................................23
2.3 Phân lớp dữ liệu RandomForest .................................................................24
2.3.1 Định nghĩa thuật toán Ramdomforest .......................................................24
2.3.2 Đặc điểm của Random Forest ...................................................................27
2.3.3 Mơ hình phân lớp với Random Forest ......................................................29

2.3.4 Ứng dụng thuật toán Ramdom Forest .......................................................29
2.4. Phân lớp dữ liệu KNN (K-nearest neighbor) ............................................29
2.4.1 Định nghĩa thuât toán KNN ......................................................................29
2.4.2 Mơ tả thuật tốn K-NN..............................................................................31
2.4.3 Đặc điểm của thuật tốn KNN .................................................................33
2.4.4 Ứng dụng thuật toán K-NN ......................................................................33
2.5. Một số thuật toán phân lớp dữ liệu khác...................................................34
2.5.1 Cây quyết định ứng dụng trong phân lớp dữ liệu......................................34
2.5.2 Phân lớp với máy vector hỗ trợ (SVM) .....................................................34
Chương 3: Ứng dụng phân lớp dữ liệu hoa Iris ...................................................35
3.1. Giới thiệu về hoa Iris và bài toán phân lớp hoa Iris..................................35
3.1.1. Giới thiệu về tập dữ liệu hoa Iris ..............................................................35
3.1.2 Sử dụng tập dữ liệu....................................................................................36
3.1.3 Tập dữ liệu.................................................................................................36
3.1.4 Định nghĩa bài toán phân lớp hoa Iris ......................................................41
3.2. Thu thập và tiền xử lý dữ liệu......................................................................41
3.2.1. Làm sạch dữ liệu ......................................................................................42
3.2.2. Chọn lọc dữ liệu .......................................................................................42
3.2.3. Chuyển đổi dữ liệu ...................................................................................43
3.2.4. Rút gọn dữ liệu .........................................................................................43
3.3. Giới thiệu về cơng cụ Weka, cấu hình và ứng dụng phân lớp hoa Iris...43
3.3.1 Khái niệm ..................................................................................................43
3.3.2 Ưu điểm của Weka ....................................................................................44
3.3.3 Những tính năng vượt trội của Weka ........................................................45


V

3.3.4 Kiến trúc thư viện Weka ...........................................................................45
3.3.5 Các môi trường chức năng chính của Weka .............................................46

3.3.6 Định dạng dữ liệu của weka ......................................................................48
3.4. Áp dụng các thuật toán Naive Bayes, RandomForest và KNN trong phân
lớp dự đoán hoa Iris ............................................................................................49
3.4.1 Áp dụng thuật toán Naive Bayes trong phân lớp dự đoán hoa Iris ...........50
3.4.2 Áp dụng thuật toán RandomForest trong phân lớp dự đoán hoa Iris ........53
3.4.3 Áp dụng thuật toán KNN trong phân lớp dự đoán hoa Iris .......................56
3.5 Đánh giá mơ hình phân lớp dữ liệu Hoa IRIS ............................................59
3.5.1 Đánh giá hiệu năng mơ hình sử dụng phương pháp đánh giá chéo (k-fold
cross-validation) .................................................................................................59
3.5.2 Đánh giá mơ hình sử dụng phương pháp Hold-out ...................................59
3.5.3 Kết luận thực nghiệm phân lớp dữ liệu IRIS ............................................60
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .............................................................61
TÀI LIỆU THAM KHẢO ......................................................................................62


VI

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Chữ viết tắt

Ý nghĩa

1.

KPDL

Khai phá dữ liệu

2.


CSDL

Cơ sở dữ liệu

3.

KNN

K-nearest neighbor

4.

KDD

Knowledge Discovery in Database

5.

RF

Ramdom Forest

6.

SVM

Support Vector Machines

7.


NBC

Naive Bayes Classification

TT


VII

DANH MỤC CÁC BẢNG
Bảng 1:Thơng tin lồi Setosa .......................................................................... 36
Bảng 2:Thơng tin lồi Iris-Versicolor ............................................................. 38
Bảng 3: thơng tin Lồi Iris-Virginica.............................................................. 39
Bảng 4: tổng kết thống kê Giá trị của hoa Iris ................................................ 42
Bảng 5: ý nghĩa các môi trường chính trên Weka 3.8.4 ................................. 46
Bảng 6: ý nghĩa các môi trường Explorer trên Weka 3.8.4 ............................ 48
Bảng 7: Tổng hợp đánh giá các thật toán chia tập dữ liệu thành 10 phần (chọn
fold=10) ........................................................................................................... 59
Bảng 8: Tổng hợp kết quả đánh giá hiệu năng phân lớp, dự đoán của mơ hình
bằng phương pháp kiểm thử độc lập ............................................................... 60


VIII

DANH MỤC HÌNH
Hình 1. 1:Q trình khám phá tri thức ........................................................................5
Hình 1. 2:Quá trình khai phá dữ liệu...........................................................................6
Hình 1. 3: Lược đồ hệ chun gia .............................................................................11
Hình 2. 1: Bài tốn phân lớp .....................................................................................16
Hình 2. 2: Quá trình phân lớp dữ liệu - (a) Bước xây dựng mơ hình phân lớp ........18

Hình 2. 3: Quá trình phân lớp dữ liệu - (b1) Ước lượng độ chính xác của mơ hình 19
Hình 2. 4:Quá trình phân lớp dữ liệu - (b2) Phân lớp dữ liệu mới ...........................19
Hình 2. 5:Mơ hình rừng ngẫu nhiên ..........................................................................25
Hình 2. 6:Các bước phân lớp với Random Forest ....................................................27
Hình 2. 7:Mơ hình phân lớp với Random Forest ......................................................29
Hình 2. 8: Bản dổ của KNN nhiễu k =1 ....................................................................31
Hình 2. 9: Minh họa của KNN ..................................................................................32
Hình 3. 1: Minh họa về iris flower dataset ................................................................35
Hình 3. 2: Lồi chim Mecca được chọn là biểu tượng của ứng dụng Weka ............43
Hình 3. 3: mơi trường chính của Weka .....................................................................46
Hình 3. 4 : Sơ đồ tổng thể Mơ hình phân lớp dự đốn hoa Iris trong luận văn ........50
Hình 3. 5:Cấu hình tham số cho thuật tốn Naive Bayes .........................................51
Hình 3. 6: Kết quả phân lớp dữ liệu cho thuật toán Naive Bayes Tập luyện tập 66%
(Tập kiểm chứng 34%) ..............................................................................................52
Hình 3. 7:Kết quả phân lớp dữ liệu cho thuật toán Naive Bayes chia tập dữ liệu
thành 10 phần (chọn fold=10) ...................................................................................53
Hình 3. 8:Cấu hình tham số cho thuật tốn Ramdomforest ......................................54
Hình 3. 9: Kết quả phân lớp dữ liệu cho thuật toán Ramdomforest Tập luyện tập
66% (Tập kiểm chứng 34%) .....................................................................................55
Hình 3. 10:Kết quả phân lớp dữ liệu cho thuật toán Ramdomforest chia tập dữ liệu
thành 10 phần (chọn fold=10) ...................................................................................56
Hình 3. 11:Cấu hình tham số cho thuật tốn k-Nearest Neighbors ..........................57


IX

Hình 3. 12: Kết quả phân lớp dữ liệu cho thuật toán K-NN Tập luyện tập 66% (Tập
kiểm chứng 34%) ......................................................................................................58
Hình 3. 13:Kết quả phân lớp dữ liệu cho thuật toán k-Nearest Neighbors chia tập dữ
liệu thành 10 phần (chọn fold=10) ............................................................................58



1

MỞ ĐẦU
Sự phát triển của công nghệ thông tin và việc ứng dụng công nghệ thông tin ở
hầu hết các lĩnh vực trong nhiều năm qua cũng đồng nghĩa với lượng dữ liệu đã được
thu thập và lưu trữ ngày càng lớn. Các hệ quản trị cơ sở dữ liệu truyền thống cũng
chỉ khai thác được một lượng thông tin nhỏ khơng cịn đáp ứng đầy đủ những u
cầu, những thách thức mới. Do vậy một khuynh hướng mới được ra đời đó là kỹ thuật
phát hiện tri thức trong cơ sở dữ liệu. Xin giới thiệu một cách tổng quan về phát hiện
tri thức và khai phá dữ liệu cùng một số kỹ thuật cơ bản để trong khai phá dữ liệu để
phát hiện tri thức và một số ứng dụng trong thực tế nhằm hỗ trợ cho tiến trình ra quyết
định.
Kỹ thuật phát hiện tri thức và khai phá dữ liệu đã và đang được nghiên cứu, ứng
dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, kỹ thuật này tương đối
còn mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưa vào ứng dụng. Bước
quan trọng nhất của quá trình này là Khai phá dữ liệu (Data Mining), giúp người sử
dụng thu được những tri thức hữu ích từ những CSDL hoặc các nguồn dữ liệu khổng
lồ khác. Rất nhiều doanh nghiệp và tổ chức trên thế giới đã ứng dụng kĩ thuật khai
phá dữ liệu vào hoạt động sản xuất kinh doanh của mình và đã thu được những lợi
ích to lớn. Nhưng để làm được điều đó, sự phát triển của các mơ hình tốn học và các
giải thuật hiệu quả là chìa khố quan trọng. Vì vậy, trong luận văn này, tác giả sẽ đề
cập tới hai kỹ thuật thường dùng trong Khai phá dữ liệu, đó là Phân lớp
(Classification).
Trong quá trình hoạt động, con người tạo ra nhiều dữ liệu nghiệp vụ. Các tập
dữ liệu được tích lũy có kích thước ngày càng lớn, và có thể chứa nhiều thông tin ẩn
dạng những quy luật chưa được khám phá. Chính vì vậy, một nhu cầu đặt ra là cần tìm
cách trích rút từ tập dữ liệu đó các luật về phân lớp dữ liệu hay dự đoán những xu hướng
dữ liệu tương lai. Những quy tắc nghiệp vụ thông minh được tạo ra sẽ phục vụ đắc lực cho

các hoạt động thực tiễn, cũng như phục vụ đắc lực cho q trình nghiên cứu khoa học.
Cơng nghệ phân lớp và dự đoán dữ liệu ra đời để đáp ứng mong muốn đó.


2

Công nghệ phân lớp dữ liệu đã, đang và sẽ phát triển mạnh mẽ trước những
khao khát tri thức của con người. Trong những năm qua, phân lớp dữ liệu đã thu hút sự
quan tâm các nhà nghiên cứu trong nhiều lĩnh vực khác nhau như học máy (machine
learning), hệ chuyên gia (expert system), thống kê (statistics)... Công nghệ này cũng ứng
dụng trong nhiều lĩnh vực thực tế như: thương mại, nhà băng, maketing, nghiên cứu thị
trường, bảo hiểm, y tế, giáo dục...
Nhiều kỹ thuật phân lớp đã được đề xuất như: Phân lớp : phân lớp dữ liệu hoa iris, phân
lớp Bayesian (Bayesian classifier), phân lớp Khàng xóm gần nhất (K-nearest neighbor
classifier), mạng nơron, phân tích thống kê,…Trong các kỹ thuật đó, cây quyết định được
coi là cơng cụ mạnh, phổ biến và đặc biệt thích hợp cho data mining. Trong các mơ hình
phân lớp, thuật tốn phân lớp là nhân tố chủ đạo. Do vậy cần xây dựng những thuật tốn
có độ chính xác cao, thực thi nhanh, đi kèm với khả năng mở rộng được để có thể thao tác
với những tập dữ liệu ngày càng lớn.
Bố cục của luận văn có nội dụng chính 3 chương :
Chương 1: Tổng quan về khai phá dữ liệu và phát hiện tri thức trong chương
này nghiên cứu tổng quan về khái phá dữ liệu và phát hiện tri thức. Bên cạnh đó, một
số kĩ thuật khái phá dữ liệu cơ bản cũng được trình bày trong chương này.
Chương 2: Một số kỹ thuật phân lớp dữ liệu trong chương này trình bày tổng
quan về phân lớp dữ liệu và 3 phương pháp : Naïve Bayes, Ramdom Forrest và KNN.
Chương 3: Ứng dụng phân lớp dữ liệu hoa Iris, chương này Phát triển và Demo
ứng dụng cung cụ Weka xây dựng mơ hình, kiểm tra và đánh giá mơ hình dự doán
hoa Iris.



3

Chương 1: Tổng quan về khai phá dữ liệu và phát hiện tri thức
1.1 Giới thiệu tổng quan
1.1.1 Giới thiệu chung về khám phá tri thức và khai phá dữ liệu
Nếu cho rằng, điện tử và truyền thơng chính là bản chất của khoa học điện tử,
thì dữ liệu, thơng tin, và tri thức hiện đang là tiêu điểm của một lĩnh vực mới để
nghiên cứu và ứng dụng, đó là khám phá tri thức và khai phá dữ liệu.
Thông thường, chúng ta coi dữ liệu như là một chuỗi các bits, hoặc các số và
các ký hiệu hay là các “đối tượng” với một ý nghĩa nào đó khi được gửi cho một
chương trình dưới một dạng nhất định. Các bits thường được sử dụng để đo thông tin,
và xem nó như là dữ liệu đã được loại bỏ phần tử thừa, lặp lại, và rút gọn tới mức tối
thiểu để đặc trưng một cách cơ bản cho dữ liệu. Tri thức được xem như là các thơng
tin tích hợp, bao gồm các sự kiện và mối quan hệ giữa chúng, đã được nhận thức,
khám phá, hoặc nghiên cứu. Nói cách khác, tri thức có thể được coi là dữ liệu ở mức
độ cao của sự trừu tượng và tổng quát.
Khám phá tri thức hay phát hiện tri thức trong CSDL là một quy 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: Phân tích, tổng hợp,
hợp thức, khả ích và có thể hiểu được.
Khai phá dữ liệu là một bước trong quá trình khám phá tri thức, gồm các giải
thuật khai thác dữ liệu chuyên dùng dưới một số qui định về hiệu quả tính tốn chấp
nhận được để tìm ra các mẫu hoặc các mơ hình trong dữ liệu.
Nói cách khác, mục tiêu của Khai phá dữ liệu là tìm kiếm các mẫu hoặc mơ
hình tồn tại trong CSDL nhưng ẩn trong khối lượng lớn dữ liệu.
1.1.2 Quá trình khám phá tri thức
Quy trình khám phá tri thức tiến hành qua 6 giai đoạn, xem hình 1.1:
1. Gom dữ liệu: 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 thác 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.



4

2. Trích lọc dữ liệu: Ở giai đọan 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 đó phục vụ mục đích khai thác, ví dụ chọn tất cả những
em học sinh có điểm Trung bình học kỳ lớn hơn 8.0 và có giới tính nữ.
3. Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu: Giai đoạn 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ẽ, logíc. 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. Ví dụ : Điểm Trung bình = 12.4. Giai đoạn này sẽ tiến hành xử lý
những dạng dữ liệu khơng chặt chẻ nói trên. Những dữ liệu dạng này được xem như
thông tin dư thừa, khơng có giá trị. Bởi vậy, đây là một q trình rất quan trọng vì dữ
liệu này nếu khơng được “làm sạch – tiền xử lý – chuẩn bị trước” thì sẽ gây nên những
kết quả sai lệch nghiêm trọng.
4. Chuyển đổi dữ liệu: 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ó, tức là dữ liệu sẽ được
chuyển đổi về dạng phù hợp cho việc khai phá bằng cách thực hiện các thao tác nhóm
hoặc tập hợp.
5. Khai phá dữ liệu: Đâ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. Thuật toán thường dùng là nguyên tắc phân loại, nguyên tắc kết, v.v...
6. Đánh giá các luật và biểu diễn tri thức: Ở 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. Đánh giá
sự hữu ích của các mẫu biểu diễn tri thức dựa trên một số phép đo. Sau đó sử dụng
các kỹ thuật trình diễn và trực quan hố dữ liệu để biểu diễn tri thức khai phá được
cho người sử dụng.



5

Hình 1. 1:Quá trình khám phá tri thức
1.1.3 Khai phá dữ liệu
KPDL là một khái niệm ra đời vào những năm cuối của thập kỷ 80. 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ị tiềm ẩn
trong các tập dữ liệu lớn (các kho dữ liệu). Về bản chất, KPDL 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.
Năm 1989, Fayyad, Piatestsky-Shapiro và Smyth đã dùng khái niệm Phát
hiện tri thức trong cơ sở dữ liệu (Knowledge Discovery in Database – KDD) để chỉ
tồn bộ q trình phát hiện các tri thức có ích từ các tập dữ liệu lớn. Trong đó,
KPDL là một bước đặc biệt trong tồn bộ tiến trình, sử dụng các giải thuật đặc biệt
để chiết xuất ra các mẫu (pattern) (hay các mơ hình) từ dữ liệu.
Khai phá dữ liệu là một tiến trình sử dụng các cơng cụ phân tích dữ liệu
khác nhau để khám phá ra các mẫu dưới nhiều góc độ khác nhau nhằm phát hiện ra
các mối quan hệ giữa các dữ kiện, đối tượng bên trong CSDL, kết quả của việc khai
phá là xác định các mẫu hay các mơ hình đang tồn tại bên trong, nhưng chúng nằm
ẩn khuất ở các CSDL. Để từ đó rút trích ra được các mẫu, các mơ hình hay các
thơng tin và tri thức từ các CSDL.


6

1.1.4 Quá trình của khai phá dữ liệu
Khai phá dữ liệu là một giai đoạn quan trọng trong quá trình khám phá tri
thức. Về bản chất là giai đoạn duy nhất tìm ra được thơng tin mới, thơng tin tiềm ẩn
có trong cơ sở dữ liệu chủ yếu phục vụ cho mơ tả và dự đốn.
Mơ tả dữ liệu là tổng kết hoặc diễn tả những đặc điểm chung của những thuộc

tính dữ liệu trong kho dữ liệu mà con người có thể hiểu được.
Dự đốn là dựa trên những dữ liệu hiện thời để dự đoán những quy luật được
phát hiện từ các mối liên hệ giữa các thuộc tính của dữ liệu trên cơ sở đó chiết xuất
ra các mẫu, dự đoán được những giá trị chưa biết hoặc những giá trị tương lai của các
biến quan tâm.
Thống kê tóm tắt

Hình 1. 2:Q trình khai phá dữ liệu
- Xác định nhiệm vụ: Xác định chính xác các vấn đề cần giải quyết.
- Xác định các dữ liệu liên quan: Dùng để xây dựng giải pháp.
- Thu thập và tiền xử lý dữ liệu: Thu thập các dữ liệu liên quan và tiền xử lý
chúng thành dạng sao cho thuật tốn khai phá dữ liệu có thể hiểu được. Đây là một
q trình rất khó khăn, có thể gặp phải rất nhiều các vướng mắc như: dữ liệu phải
được sao ra nhiều bản (nếu được chiết xuất vào các tệp), quản lý tập các dữ liệu, phải
lặp đi lặp lại nhiều lần tồn bộ q trình (nếu mơ hình dữ liệu thay đổi), v.v..
- Thuật toán khai phá dữ liệu: Lựa chọn thuật toán khai phá dữ liệu và thực
hiện việc khai phá dữ liệu để tìm được các mẫu có ý nghĩa, các mẫu này được biểu
diễn dưới dạng luật kết hợp, cây quyết định... tương ứng với ý nghĩa của nó.


7

1.1.5 Ứng dụng của khai phá dữ liệu
KPDL có nhiều ứng dụng trong thực tế, một số ứng dụng điển hình như:
 Bảo hiểm, tài chính và thị trường chứng khốn: phân tích tình hình tài chính và
dự báo giá 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 gian lận.
 Đ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
các hệ thống quản lý bệnh viện. Phân tích mối liên hệ giữa triệu chứng bệnh,
chẩn đốn và phương pháp điều trị (chế độ dinh dưỡng, thuốc,…).

 Sản xuất và chế biến: qui trình, phương pháp chế biến và xử lý xử cố
Text mining & Web mining: phân lớp văn bản và các trang web, tóm tắt văn
bản.
 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, mối liên hệ gene và các bệnh
di truyền.
 Lĩnh vực khác: viễn thông, môi trường, thể thao, âm nhạc, giáo dục…
1.2 Một số kỹ thuật khai phá dữ liệu cơ bản
1.2.1 Luật kết hợp (Association Rules)
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 KPDL là tập luật kết hợp tìm được.
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 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.2.2 Khai thác mẫu tuần tự (Sequential / Temporal patterns)
Tương tự như khai thác 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.


8

1.2.3 Phân cụm dữ liệu (Clustering)
Phân cụm dữ liệu là một kỹ thuật trong Data mining nhằm tìm kiếm, phát
hiện các cụm, các mẫu dữ liệu tự nhiên tiềm ẩn và quan trọng trong tập dữ liệu lớn
để từ đó cung cấp thông tin, tri thức cho việc ra quyết định.
Phân cụm dữ liệu là sự phân chia một cơ sở dữ liệu lớn thành các nhóm

dữ liệu với trong đó các đối tượng tương tự như nhau. Trong mỗi nhóm, một số chi
tiết có thể khơng quan tâm đến để đổi lấy dữ liệu đơn giản hóa. Hay ta có thể
hiểu “Phân cụm dữ liệu là q trình tổ chức các đối tượng thành từng nhóm mà các
đối tượng ở mỗi nhóm đều tương tự nhau theo một tính chất nào đó, những đối
tượng khơng tương tự tính chất sẽ ở nhóm khác”.
Phân cụm dữ liệu là q trình nhóm một tập 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 cụm 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.
Phân cụm dữ liệu là một ví dụ của phương pháp học khơng có thầy. Khơng giống
như phân lớp dữ liệu, phân cụ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 phân cụm dữ liệu là một cách học bằng quan
sát, trong khi phân lớp dữ liệu là học bằng ví dụ . . . Ngoài ra phân cụm dữ liệu cịn
có thể được sử dụng như một bước tiền xử lí cho các thuật tốn khai phá dữ liệu
khác như là phân loại và mơ tả đặc điểm, có tác dụng trong việc phát hiện ra các
cụm.
1.2.4 Phân nhóm- đoạn (Clustering / Segmentation)
Mục tiêu chính của việc phân 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
trong cùng một nhóm là lớn nhất và 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 phân cấp 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 phân 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ụ (learning by example).


9

Trong phương pháp này bạn sẽ không thể biết kết quả các nhóm thu được sẽ như thế

nào khi bắt đầu q trình. Vì vậy, thơng thường cần có một chuyên gia về lĩnh vực
đó để đánh giá các nhóm thu được. Phân nhóm cịn được gọi là học khơng có giám
sát (unsupervised learning). Phân nhóm dữ liệu được sử dụng nhiều trong các ứng
dụng về phân đoạn thị trường, phân đoạn khách hàng, nhận dạng mẫu, phân loại trang
Web, … Ngồi ra phân nhóm dữ liệu cịn có thể được sử dụng như một bước tiền xử
lý cho các thuật toán KPDL khác.
1.2.5 Hồi quy (Regression)
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ự
đốn có giá trị thực. Nhiệm vụ của hồi quy tương tự như phân lớp, đ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ố 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.
1.2.6 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 thể hiện theo luật có
dạng sau: “Nếu một mục thuộc về lớp đã chỉ trong tiền đề thì mục đó có tất cả các
thuộc tính đã nêu trong kết luận”.
1.2.7 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ị), trong đó,
các biến phụ thuộc bộ phận vào các biến khác. Và 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 theo 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 đề



10

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. Hơn nữa, hệ
thống có thể phát hiện các luật phân lớp trong đó tất cả các luật cần phải có cùng một
thuộc tính do người dùng chỉ ra trong kết luận.
Quan hệ phụ thuộc cũng có thể biểu diễn dưới dạng mạng tin cậy Bayes. Đó
là đồ thị có hướng, khơng 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.2.8 Phát hiện sự biến đổi và độ lệch (Change and deviation detection)
Tập trung vào khám phá hầu hết sự thay đổi có nghĩa dưới dạng độ đo đã biết
trước hoặc giá trị chuẩn, phát hiện độ lệch đáng kể giữa nội dung của tập con dữ liệu
thực và nội dung mong đợi. Hai mô hình độ lệch hay 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 thời gian.
Độ lệch theo nhóm là sự khác nhau của dữ liệu trong hai tập con dữ liệu, ở đây xét cả
trường hợp tập con dữ liệu này thuộc tập con kia. Nghĩa xác định dữ liệu trong một
nhóm con của đối tượng có khác đáng kể so với tồn bộ đối tượng khơng? Theo cách
này, sai sót dữ liệu hay sai lệch so với giá trị thông thường sẽ được phát hiện.
1.3. Một số so sánh giữa khai phá dữ liệu và các phương pháp cơ bản khác
1.3.1. So sánh với phương pháp hệ chuyên gia
Hệ chuyên gia là một chương trình thơng minh nhằm dạy cho máy tính biết
các hoạt động của một chuyên gia thực thụ. Hệ chuyên gia đầu tiên là DENDRAL,
xuất hiện vào giữa thập niên 70, sau đó vào năm 1975 hệ chuyên gia MYCIN ra đời
đã thành cơng trong việc áp dụng khoa học trí tuệ nhân tạo vào lĩnh vực Y học, cụ
thể là lĩnh vực chẩn đoán và điều trị bệnh nhiễm trùng máu. Đây là hệ chuyên gia
tương đối lớn, thực hiện ở mức chun gia con người, bên cạnh đó cịn cung cấp cơ
chế giải thích các bước suy luận.
Chuyên gia con người có hai phần cơ bản: tri thức của chuyên gia và lập luận.
Từ đó hệ chuyên gia cũng có hai phần chính: một cơ sở tri thức và một mô tơ suy
diễn.
Cơ sở tri thức chứa các tri thức chuyên dụng mức cao về một vấn đề được

cung cấp bởi chuyên gia con người. Nó bao gồm các sự kiện, luật, khái niệm và các


11

mối quan hệ. Chẳng hạn nó có thể chứa tri thức của một bác sĩ chẩn đốn bệnh về
thần kinh.
Mơ tơ suy diễn là bộ xử lý tri thức, nó làm việc với các thơng tin có sẵn từ một
vấn đề cho trước, kết hợp với các tri thức có trong cơ sở tri thức để đưa ra một kết
luận hay gợi ý.
Cơ sở tri thức

Mô tơ suy diễn

Hệ chuyên gia

Hình 1. 3: Lược đồ hệ chuyên gia
Hệ chuyên gia được sử dụng trong rất nhiều lĩnh vực: nông nghiệp, thương
mại, giáo dục, khoa học, y tế, kinh tế…
Hệ chuyên gia cũng được chia thành nhiều loại: mô phỏng, điều khiển, thiết
kế, lập kế hoạch, giải thích, dự đốn, lựa chọn…
1.3.2. So sánh với phương pháp phân loại thống kê
Phân loại thống kê là một mặt công tác quan trọng trong quá trình nghiên cứu
thống kê nhất là trong khâu xử lý và lập các bảng số liệu. Thông qua phân loại, cho
phép chúng ta nhận thức hiện tượng và quá trình kinh tế- xã hội một cách sâu sắc.
Chẳng hạn, khi nghiên cứu sự chuyển dịch kinh tế, cần phải có số liệu của các ngành,
các lĩnh vực, các địa phương... mà muốn có số liệu như vậy, nhất thiết phải tiến hành
phân loại các đơn vị thống kê vào các bảng phân loại. Từ ví dụ đơn giản trên đây
minh chứng rằng: Phân loại là một việc làm hết sức quan trọng của các hoạt động
thống kê nhằm đưa ra các thông tin phục vụ tốt cho các nhu cầu quản lý điều hành.

Thực tiễn thống kê nước ta cũng như thống kê thế giới đã, đang và sẽ tiếp tục
đẩy mạnh mặt công tác này. Để giúp cho bạn đọc trong và ngoài ngành hiểu rõ hơn
phương pháp phân loại thống kê. Bài viết nãy sẽ giới thiệu khái quát những vấn đề lý
luận có liên quan đến phân loại thống kê.


12

Thuật ngữ phân loại theo tiếng Anh là “classification” có nghĩa là phân thành
các lớp, còn theo tiếng Pháp là “Tap xo no mi que” với nghĩa là sắp xếp các dữ liệu
vào các bảng biểu. Phương pháp này được ứng dụng hết sức phổ biến trong nghiên
cứu tự nhiên cũng như xã hội. Trong nghiên cứu dân số học người ta căn cứ vào huyết
thống để phân ra các dòng họ, các thế hệ... Tương tự như vậy, trong sinh vật người ta
phân ra các lớp, họ, chi nhánh. Các loại động thực vật. Như vậy, về thực chất phân
loại là một hình thức phân tổ. Nhưng nó khác phân tổ thống kê ở chỗ tiêu thức “hay
dấu hiệu” phân tổ có thể chọn bất kỳ một tính chất nào đó (định tính hay định lượng)
trong phân tổ đơn hoặc căn cứ vào nhiều tiêu thức trong phân tổ kết hợp để phân chia
tổng thể nghiên cứu thành nhiều tổng thể con riêng biệt, còn trong phân loại chủ yếu
dựa vào các tiêu thức thuộc tính (định tính) để tiến hành phân chia tổng thể nghiên
cứu thành các tổng thể con riêng biệt.
Do tính chất quan trọng của phân loại, nên đã từ lâu các nhà khoa học đã đầu tư
nghiên cứu và hình thành mơn khoa học với tên “phân loại học” hay “dấu hiệu học”
Theo dự thảo từ chuẩn thống kê thì phân loại thống kê được định nghĩa: “Một
cách phân tổ đặc thù các đơn vị thống kê theo các tiêu thức thuộc tính, việc phân loại
các đơn vị thống kê phải tuân thủ các nguyên tắc quy định, các tổ có tên gọi và được
sắp xếp theo những quy tắc do cấp quản lý thẩm quyền quy định. Kết quả phân loại
hình thành các bảng phân loại thống kê hoặc các bảng danh mục do Nhà nước quy
định thống nhất và cố định trong một thời gian tương đối dài, nhằm đảm bảo tính chất
so sánh của số liệu thống kê”.
1.3.3. So sánh với phương pháp học máy

Học máy (tiếng Anh: machine learning) là một lĩnh vực của trí tuệ nhân tạo
liên quan đến việc phát triển các kĩ thuật cho phép các máy tính có thể "học". Cụ thể
hơn, học máy là một phương pháp để tạo ra các chương trình máy tính bằng việc phân
tích các tập dữ liệu. Học máy có liên quan lớn đến thống kê, vì cả hai lĩnh vực đều
nghiên cứu việc phân tích dữ liệu, nhưng khác với thống kê, học máy tập trung vào
sự phức tạp của các giải thuật trong việc thực thi tính tốn. Nhiều bài toán suy luận


13

được xếp vào loại bài tốn NP-khó, vì thế một phần của học máy là nghiên cứu sự
phát triển các giải thuật suy luận xấp xỉ mà có thể xử lí được.
Học máy có tính ứng dụng rất cao bao gồm máy truy tìm dữ liệu, chẩn đốn y
khoa, phát hiện thẻ tín dụng giả, phân tích thị trường chứng khốn, phân loại các
chuỗi DNA, nhận dạng tiếng nói và chữ viết, dịch tự động, chơi trò chơi và cử động
rơ-bốt (robot locomotion).
Phân loại: Có hai loại phương pháp học máy chính


Phương pháp quy nạp: Máy học/phân biệt các khái niệm dựa trên dữ liệu đã
thu thập được trước đó. Phương pháp này cho phép tận dụng được nguồn dữ
liệu rất nhiều và sẵn có.

 Phương pháp suy diễn: Máy học/phân biệt các khái niệm dựa vào các luật.
Phương pháp này cho phép tận dụng được các kiến thức chuyên ngành để hỗ
trợ máy tính.
 Hiện nay, các thuật tốn đều cố gắng tận dụng được ưu điểm của hai phương
pháp này.
 Các ngành khoa học liên quan:
- Lý thuyết thống kê: các kết quả trong xác suất thống kê là tiền đề cho rất nhiều

phương pháp học máy. Đặc biệt, lý thuyết thống kê cho phép ước lượng sai số
của các phương pháp học máy.
- Các phương pháp tính: các thuật tốn học máy thường sử dụng các tính tốn số
thực/số ngun trên dữ liệu rất lớn. Trong đó, các bài tốn như: tối ưu có/khơng
ràng buộc, giải phương trình tuyến tính v.v… được sử dụng rất phổ biến.
- Khoa học máy tính: là cơ sở để thiết kế các thuật toán, đồng thời đánh giá thời
gian chạy, bộ nhớ của các thuật tốn học máy.
 Các nhóm giải thuật học máy:
- Học có giám sát: Máy tính được xem một số mẫu gồm đầu vào (input) và đầu
ra (output) tương ứng trước. Sau khi học xong các mẫu này, máy tính quan sát
một đầu vào mới và cho ra kết quả.
- Học khơng giám sát: Máy tính chỉ được xem các mẫu khơng có đầu ra, sau đó
máy tính phải tự tìm cách phân loại các mẫu này và các mẫu mới.


14

- Học nửa giám sát: Một dạng lai giữa hai nhóm giải thuật trên.
- Học tăng cường: Máy tính đưa ra quyết định hành động (action) và nhận kết quả
phản hồi (response/reward) từ mơi trường (environment). Sau đó máy tính tìm
cách chỉnh sửa cách ra quyết định hành động của mình.
 Các ứng dụng của học máy
Ứng dụng: Học máy có ứng dụng rộng khắp trong các ngành khoa học/sản
xuất, đặc biệt những ngành cần phân tích khối lượng dữ liệu khổng lồ. Một số ứng
dụng thường thấy
-

Xử lý ngôn ngữ tự nhiên (Natural Language Processing): xử lý văn bản, giao tiếp
người – máy.


-

Nhận dạng (Pattern Recognition): nhận dạng tiếng nói, chữ viết tay, vân tay, thị
giác máy (Computer Vision).

-

Tìm kiếm (Search Engine)

-

Chẩn đốn trong y tế: phân tích ảnh X-quang, các hệ chuyên gia chẩn đoán tự
động.

-

Tin sinh học: phân loại chuỗi gene, quá trình hình thành gene/protein

-

Vật lý: phân tích ảnh thiên văn, tác động giữa các hạt …

-

Phát hiện gian lận tài chính (financial fraud): gian lận thẻ tỉn dụng

-

Phân tích thị trường chứng khốn (stock market analysis)


-

Chơi trò chơi: tự động chơi cờ, hành động của các nhân vật ảo

-

Rôbốt: là tổng hợp của rất nhiều ngành khoa học, trong đó học máy tạo nên hệ
thần kinh/bộ não của người máy.

1.3.4 So sánh với phương pháp học sâu
Học sâu (tiếng Anh: deep learning) là một chi của ngành máy học dựa trên một
tập hợp các thuật tốn để cố gắng mơ hình dữ liệu trừu tượng hóa ở mức cao bằng
cách sử dụng nhiều lớp xử lý với cấu trúc phức tạp, hoặc bằng cách khác bao gồm
nhiều biến đổi phi tuyến.
Học sâu là một phần của một họ các phương pháp học máy rộng hơn dựa trên
đại diện học của dữ liệu. Một quan sát (ví dụ như, một hình ảnh) có thể được biểu


×