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

Tiểu luận công nghệ tri thức và ứng dụng Khai thác dữ liệu Bayes và Tập thô

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 (4.15 MB, 33 trang )



Khai thác d


li

u

Bayes và Tập thô

Gi

i thi

u

v


xu h
ư

ng nghiên c

u Khai thác d


li

u,


trình bày

các k


thuật phân lớp dựa trên Bayes và Lý thuyết tập thô

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN TP. HỒ CHÍ MINH

06-2012
Thực hiện: Nguyễn Hữu Việt Long (CH11011001) – Nguyễn Hoàng Vũ (CH1101157)
Hướng dẫn: GS. TSKH. Hoàng Kiếm
1

Mục lục
I) Tổng quan 3
II) Khai thác dữ liệu (Data Mining): 3
1) Động lực phát triển của Khai thác dữ liệu: 3
2) Lịch sử phát triển của Khai thác dữ liệu: 4
3) Khai thác dữ liệu: 5
4) Một số hình thức lưu trữ dữ liệu có thể áp dụng kỹ thuật Khai thác dữ liệu: 7
a) Cơ sở dữ liệu quan hệ (Relational Database): 7
b) Kho dữ liệu (Data Warehouse): 8
c) Cơ sở dữ liệu giao tác (Transactional Database): 8
d) Các cơ sở dữ liệu cao cấp và Cơ sở dữ liệu hướng ứng dụng: 8
5) Các kỹ thuật Khai thác dữ liệu: 9
a) Diễn tả ý niệm: Mô tả tính chất và so sánh (Concept/Class description: characterization and
discrimination) 9
b) Phân tích luật kết hợp (Association analysis) 9
c) Phân lớp và dự đoán dữ liệu (Classification and prediction) 9

d) Gom cụm dữ liệu (Data Clustering) 9
e) Phân tích những biến đổi và độ lệch (Evolution and deviation analysis) 10
6) Một số hệ thống Khai thác dữ liệu: 10
7) Ứng dụng của Khai thác dữ liệu: 11
8) Những thách thức trong Khai thác dữ liệu: 11
III) Phân lớp và dự đoán dữ liệu (Classification and Prediction): 12
1) Phân lớp dữ liệu (data classification): 12
2) Một số phương pháp phân lớp dữ liệu: 13
a) Phân lớp quy nạp trên cây quyết định (Classification by decision tree induction): 13
b) Phân lớp sử dụng mạng neural lan truyền ngược (Classification by backpropagation) 13
c) Phương thức phân lớp khác 14
3) Dự đoán dữ liệu (data prediction): 14
4) Mức độ chính xác của phân lớp dữ liệu 15
a) Tính toán độ chính xác của bộ phân lớp: 15
b) Gia tăng độ chính xác: 15
IV) Phân lớp Bayes (Bayesian Classification) 16
2

1) Công thức Bayes (Bayes Theorem) 16
2) Bộ phân lớp Naïve Bayes 16
3) Ví dụ minh họa: 17
4) Giải thuật huấn luyện Bộ phân lớp Naïve Bayes: 19
5) Giải thuật phân lớp Naïve Bayes: 20
6) Mạng Bayes (Bayesian belief networks) 20
7) Huấn luyện Mạng Bayes 22
V) Lý thuyết tập thô (Rough Set Theory) 23
1) Lý thuyết tập hợp 23
2) Hệ thông tin và hệ quyết định 24
3) Xấp xỉ tập hợp 24
4) Ma trận phân biệt và thuật toán quyết định 26

a) Ma trận phân biệt (Discernibility Matrix) 26
b) Hàm phân biệt (Discernibility Function) 27
c) Thuật toán quyết định (Decision Algorithm) 29
5) Bài toán rút gọn thuộc tính trong lý thuyết tập thô 29
6) Tập thô và công thức Bayes 31
VI) Tài liệu tham khảo 32










3

I) Tổng quan
Nhận diện và khai thác các đặc trưng của dữ liệu từ lâu đã luôn là nhu cầu không
thể thiếu trong rất nhiều lĩnh vực: nghiên cứu, kinh doanh, tính toán… Dự đoán, tìm ra
được các quy luật của dữ liệu sẽ góp phần không nhỏ vào việc dự đoán, phân tích đem lại
lợi ích lớn, tiết kiệm rất nhiều thời gian và công sức. Bài tiểu luận trình bày về Khai thác
dữ liệu, một kỹ thuật được nghiên cứu và áp dụng nhiều trong lĩnh vực phân tích dữ liệu.
Qua đó giới thiệu Bộ phân lớp Bayes và Lý thuyết tập thô, hai công cụ hữu dụng trong
Khai thác dữ liệu. Lý thuyết tập thô kết hợp với công thức Bayes được trình bày như là
một cách tiếp cận hiệu quả trong phân lớp và dự đoán dữ liệu.

II) Khai thác dữ liệu (Data Mining):
1) Động lực phát triển của Khai thác dữ liệ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
trong nhiều lĩnh vực của đời sống, kinh tế xã hội trong nhiều năm qua cũng đồng nghĩa
với lượng dữ liệu đã được các cơ quan thu thập và lưu trữ ngày một tích luỹ nhiều lên.
Họ lưu trữ các dữ liệu này 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ó. Mặt khác, trong môi trường cạnh
tranh, người ta ngày càng cần có nhiều thông tin với tốc độ nhanh để trợ giúp việc ra
quyết định và ngày càng có nhiều câu hỏi mang tính chất định tính cần phải trả lời dựa
trên một khối lượng dữ liệu khổng lồ đã có. Với những lý do như vậy, các phương pháp
quản trị và khai thác cơ sở dữ liệu truyền thống ngày càng không đáp ứng được thực tế đã
làm phát triển một khuynh hướng kỹ thuật mới đó là Kỹ thuật Khai thác dữ liệu (Data
Mining)
Khai thác dữ liệu (Data Mining) ra đời chính là sự phát triển tự nhiên và tất yếu
của ngành Công Nghệ Thông Tin. Đó là một tiến trình khám phá tri thức hữu ích tiềm ẩn
trong các Cơ sở dữ liệu
4


Hình 2.1: Vị trí của Khai thác dữ liệu trong Hệ thống thong tin

2) Lịch sử phát triển của Khai thác dữ liệu:
Những năm 1960: Cơ sở dữ liệu và Công Nghệ Thông Tin đã dần phát triển từ hệ
thống xử lý các tập tin cơ bản thành những hệ Cơ sở dữ liệu phức tạp.
Trong những năm 1970: đây là giai đoạn phát triển mạng của công nghệ Cơ sở dữ
liệu. Nền tảng lý thuyết về Cơ sở dữ liệu quan hệ được hình thành, ra đời các công cụ mô
hình hóa dữ liệu, các kỹ thuật tổ chức dữ liệu, phát triển các ngôn ngữ truy vấn dữ liệu,
xử lý dữ liệu
Từ giữa thập niên 1980: Lý thuyết về Cơ sở dữ liệu dần hoàn thiện. Xuất hiện các

mô hình Cơ sở dữ liệu mới cao cấp hơn như Cơ sở dữ liệu hướng đối tượng, Cơ sở dữ
liệu suy diễn, Cơ sở dữ liệu không gian, Hệ Cơ sở tri thức (Knowledge base systems)…
Cuối những năm 1980 và thập niên 1990: hình thành khái niệm Kho dữ liệu (Data
Warehouse), Khai thác dữ liệu (Data Warehouse) và Khám phá tri thức (Knowledge
Discovery)

5

3) Khai thác dữ liệu:
Khai thác dữ liệu được xem như là quá trình khai thác ra tri thức mới từ một lượng
lớn dữ liệu. Thực ra, Khai thác dữ liệu chỉ là một công đoạn trong một tiến trình lớn hơn
là Khám phá tri thức từ Cơ sở dữ liệu (Knowledge Discovery in Databases – KDD).
Khám phá tri thức gồm nhiều công đoạn:
- Làm sạch dữ liệu (data cleaning): loại bỏ dữ liệu thừa, trùng lặp, mâu thuẫn; giới
hạn vùng giá trị dữ liệu
- Tích hợp dữ liệu (data integration): làm giàu dữ liệu, kết hợp nhiều nguồn dữ liệu
- Chọn lọc dữ liệu (data selection): loại bỏ những thông tin, dữ liệu không phù hợp
với công việc phân tích.
- Biển đổi, mã hóa dữ liệu (data transformation): chuyển đổi kiểu dữ liệu thành
những dạng phù hợp, thuận tiện để tiến hành các thuật toán khai thác dữ liệu.
- Khai thác dữ liệu (data mining): là tiến trình cần thiết, sử dụng các giải pháp thông
minh, trí tuệ nhân tạo để khai thác các mẫu dữ liệu.
- Đánh giá mẫu (Pattern evaluation): xác định những mẫu được quan tâm biểu diễn
tri thức theo một số độ đo (interesting measures)
- Biểu diễn tri thức (Knowledge Representaion): giải thích, hiển thị trực quan kết
quả Khai thác dữ liệu đối với người dùng.

Hình 2.2: Khai thác dữ liệu là một tiến trình trong Khám phá tri thức
6


Khai thác dữ liệu là tiến trình quan trọng nhất trong KDD. Một hệ Khai thác dữ
liệu thông thường có các thành phần sau:
- Cơ sở dữ liệu (Database), Kho dữ liệu (Data Warehouse) hay một kho chứa thông
tin: là nguồn dữ liệu, thông tin sẽ được khai thác. Trong những tình huống cụ thể,
thành phần này là nguồn nhập (input) của các kỹ thuật tích hợp và làm sạch dữ
liệu.
- Database hay Data Warehouse server: chịu trách nhiệm chuẩn bị dữ liệu phù hợp
với quá trình Khai thác dữ liệu.
- Hệ Cơ sở tri thức (Knowledge base): chứa các tri thức miền (domain knowledge)
được dùng để hướng dẫn quá trình tìm kiếm, đánh giá các mẫu kết quả tìm được.
Tri thức miền có thể là các phân cấp khái niệm (concept hierarchies), niềm tin của
người sử dụng (user beliefs), các ràng buộc (constraints) hay các ngưỡng giá trị
(thresholds), siêu dữ liệu (metadata) …

Hình 2.3: Cấu trúc một hệ Khai thác dữ liệu

- Bộ Khai thác dữ liệu (Data mining engine): chứa các khối chức năng thực hiện các
tác vụ Khai thác dữ liệu.
- Pattern evaluation module: làm việc với các độ đo (và các ngưỡng giá trị) hỗ trợ
tìm kiếm và đánh giá các mẫu sao cho các mẫu được tìm thấy là những mẫu được
quan tâm bởi người sử dụng; có thể được tích hợp vào thành phần Bộ Khai thác dữ
liệu.
- Giao diện người dùng (Graphical user interface): hỗ trợ sự tương tác giữa người sử
dụng và hệ thống Khai thác dữ liệu:
7

o Người sử dụng có thể chỉ định câu truy vấn hay tác vụ Khai thác dữ liệu.
o Người sử dụng có thể được cung cấp thông tin hỗ trợ việc tìm kiếm, thực
hiện Khai thác dữ liệu sâu hơn thông qua các kết quả khai phá trung gian.
o Người sử dụng cũng có thể xem các lược đồ cơ sở dữ liệu/kho dữ liệu, các

cấu trúc dữ liệu; đánh giá các mẫu khai thác được; trực quan hóa các mẫu
này ở các dạng khác nhau.
Khai thác dữ liệu là sự tích hợp kỹ thuật của rất nhiều ngành như Công Nghệ Cơ
sở dữ liệu, Xác suất – Thống kê, Máy học, Tính toán hiệu năng cao, Nhận diện mẫu,
Mạng neural….


Hình 2.4: Khai thác dữ liệu là sự kết hợp của nhiều ngành

4) Một số hình thức lưu trữ dữ liệu có thể áp dụng kỹ thuật Khai thác dữ liệu:
a) Cơ sở dữ liệu quan hệ (Relational Database):
Cơ sở dữ liệu quan hệ là một tập hợp các bảng (tables) có quan hệ với nhau. Mỗi
bảng được xác định bởi một tên duy nhất. Bảng có một tập các thuộc tính (cột hay
trường) và thường chứa một lượng lớn các bộ (hàng hay bảng ghi). Mỗi bộ trong bảng
8

quan hệ biểu diễn một đối tượng định nghĩa bởi một khóa duy nhất và được mô tả bởi
một tập các giá trị thuộc tính.
Cơ sở dữ liệu quan hệ được truy xuất bằng các truy vấn Cơ sở dữ liệu (database
queries) được viết bằng ngôn ngữ truy vấn quan hệ như SQL.
Cơ sở dữ liệu quan hệ là một trong những kho chứa dữ liệu, thông tin phổ biến và
phong phú nhất cho việc Khai thác dữ liệu.

b) Kho dữ liệu (Data Warehouse):
Kho dữ liệu là nơi chứa đựng dữ liệu tổng hợp từ nhiều nguồn khác nhau.
Kho dữ liệu thường dựa trên cấu trúc Cơ sở dữ liệu đa chiều (multidimentional
database structure) – cấu trúc cho phép nhìn xem dữ liệu như các mô hình khối lập
phương (data cube).
Kho dữ liệu cũng cung cấp công cụ On-Line Analytical Processing (OLAP) như là
giải pháp để tương tác với dữ liệu đa chiều


c) Cơ sở dữ liệu giao tác (Transactional Database):
Một Cơ sở dữ liệu giao tác có một tập tin mà mỗi bảng ghi của nó là một phiên
giao tác.

d) Các cơ sở dữ liệu cao cấp và Cơ sở dữ liệu hướng ứng dụng:
Nhu cầu xử lý các loại dữ liệu ngày càng tăng cao. Các ứng dụng Cơ sở dữ liệu
không gian, Cơ sở dữ liệu đa phương tiện, siêu văn bản, World – Wide – Web …. yêu
cầu các cấu trúc dữ liệu thật tốt và các phương thức xử lý các đối tượng có cấu trúc phức
tạp, rất nhiều bảng ghi (record), những dữ liệu không có cấu trúc, dữ liệu đa phương
tiện….
Để đáp ứng được những nhu cầu này, các Cơ sở dữ liệu hướng ứng dụng, hướng
đối tượng và các Cơ sở dữ liệu cao cấp được ra đời và phát triển.

9

5) Các kỹ thuật Khai thác dữ liệu:
a) Diễn tả ý niệm: Mô tả tính chất và so sánh (Concept/Class description:
characterization and discrimination)
Diễn tả ý niệm: mô tả những khái niệm thành những hình thái khác tóm lược, ngắn
gọn và chính xác. Diễn tả ý niệm chia làm hai loại Mô tả tính chất dữ liệu (data
characterization) và So sánh dữ liệu (data discrimination)
Mô tả tính chất dữ liệu: cung cấp những tóm lược ngắn gọn về dữ liệu đưa vào
So sánh dữ liệu: cung cấp các mô tả về hai hay nhiều tập dữ liệu.

b) Phân tích luật kết hợp (Association analysis)
Phân tích luật kết hợp chính là khám phá ra các luật kết hợp (Association rules) –
các giá trị, các thuộc tính thường xuất hiện chung với nhau trong một tập dữ liệu. Luật
kết hớp được ứng dụng rộng rãi trong các Cơ sở dữ liệu giao tác, Cơ sở dữ liệu quan hệ
và một số Cơ sở dữ liệu khác.

Các luật kết hợp có dạng cơ bản là: X  Y [support,confidence]
- X: các tiền đề hay diều kiện ban đầu (vế trái)
- Y: các kết quả đạt được (vế phải)
- support: tần số (trong bao nhiêu phần trăm dữ liệu thì những điều ở vế trái và vế
phải cùng xảy ra)
support(X  Y) = P(X U Y)
- confidence: độ mạnh (nếu vế trái xảy ra thì có bao nhiêu khả năng vế phải xảy ra)
confidence(X  Y) = P(Y|X)

c) Phân lớp và dự đoán dữ liệu (Classification and prediction)
Phân lớp (classification) là quá trình xếp đối tượng dữ liệu vào một trong các lớp
hay mô hình đã được xác định từ trước. Các mô hình dữ liệu được phân tích dựa trên các
dữ liệu huấn luyện (training data)

d) Gom cụm dữ liệu (Data Clustering)
10

Gom cụm dữ liệu là tìm những mẫu đại diện hoặc gom dữ liệu tương tự nhau (theo
một chuẩn đánh giá nào đó) thành những cụm. Các điểm dữ liệu trong các cụm khác nhau
có độ tương tự (similar) thấp hơn các điểm nằm trong cùng một cụm.
Gom cụm dữ liệu là 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

e) Phân tích những biến đổi và độ lệch (Evolution and deviation analysis)
Phân tích những biến đổi và độ lệch là dò tìm, phát hiện những thay đổi đáng chú
ý trong tập dữ liệu

6) Một số hệ thống Khai thác dữ liệu:
Kỷ thuật Khai thác dữ liệu đã được đầu tư nghiên cứu ở nhiều nước trên thế giới

và đạt được nhiều thành tựu đáng kể. Một số hệ thống Khai thác dữ liệu nổi tiếng như:
- Intelligent Miner (IBM)

Hình 2.5: Giao diện Intelligent Miner

- Microsoft data mining tools (Microsoft SQL Server 2000/2005/2008)
- Oracle Data Mining (Oracle 9i/10g/11g)
- Enterprise Miner (SAS Institute)
11

- Weka (the University of Waikato, New Zealand, www.cs.waikato.ac.nz/ml/weka)

Hình 2.6: Giao diện của Weka

7) Ứng dụng của Khai thác dữ liệu:
Khai thác dữ liệu được ứng dụng rộng rãi trong rất nhiều lĩnh vực như:
- Tài chính – Ngân hàng: xây dựng mô hình dự báo rủi ro tín dụng; tìm kiếm các
quy luật thị trường chứng khoán và đầu tư bất động sản…
- Thương mại điện tử và maketing: phân tích khách hàng duyệt web; phân tích hành
vi mua sắm ở một phân khu thị trường nhất định; xác định sở thích khách hàng…
- Công nghệ Sinh học và dược phẩm: phân tích dữ liệu di truyền; xác định sự hiện
diện của dược phẩm…
- An ninh – bảo mật: phát hiện giả mạo thẻ trong giao dịch trực tuyến; quản lý rủi ro
trong viễn thông, thương mại diện tử; phát hiện các hành vi trốn thuế…

8) Những thách thức trong Khai thác dữ liệu:
Khai thác dữ liệu ngày nay luôn phải làm việc với một lượng dữ liệu khổng lồ từ
nhiều nguồn khác nhau nên có rất nhiều vấn đề và thách thức đặt ra cho ngành khoa học
về Khai thác dữ liệu
- Phương pháp Khai thác dữ liệu và vấn đề về tương tác người dùng: Khai thác

những loại tri thức khác nhau trong Cơ sở dữ liệu; Tích hợp tri thức nền; Các ngôn
12

ngữ truy vấn Khai thác dữ liệu; Biểu diễn kết quả Khai thác dữ liệu; Xử lý phân
tách các dữ liệu không hoàn chỉnh; Đánh giá mẫu…
- Vấn đề về hiệu suất: các thuật toán Khai thác dữ liệu hiệu quả và có khả năng mở
rộng; thuật toán xử lý Khai thác dữ liệu song song và phân tán…
- Các vấn đề liên quan đến sự đa dạng, khác biệt của các Cơ sở dữ liệu: xử lý các
loại dữ liệu phức tạp; khai thác thông tin từ những Cơ sở dữ liệu đa đạng, phức tạp
và các hệ thống thông tin toàn cầu…

III) Phân lớp và dự đoán dữ liệu (Classification and Prediction):
1) Phân lớp dữ liệu (data classification):
Phân lớp dữ liệu là một tiến trình gồm hai bước:
- Xây dựng mô hình (Model Contruction): mô tả một tập những lớp đã được định
nghĩa trước
o Mỗi bộ hoặc mẫu sẽ được gán về một lớp đã được xác định trước bởi thuộc
tính nhãn lớp (class label attribute)
o Tập hợp những bộ được dùng để xây dựng mô hình được gọi là tập dữ liệu
học (traning set)
o Mô hình thường được biểu diễn dưới dạng luật phân lớp, cây quyết định
hoặc công thức toán học
- Vận hành mô hình (Model Usage): xác định lớp của dữ liệu trong tương lai hoặc
phân lớp những đối tượng chưa biết. Trước khi vận hành mô hình, cần đánh giá độ
chính xác của mô hình:
o Các mẫu kiểm tra (đã biết được lớp) được đem so sánh với kết quả phân lớp
của mô hình
o Độ chính xác (Accuracy rate) là phần trăm của số mẫu kiểm tra được phân
lớp đúng
o Tập kiểm tra (Test set) và tập học (training set) là hai tập hợp độc lập với

nhau.




13

2) Một số phương pháp phân lớp dữ liệu:
a) Phân lớp quy nạp trên cây quyết định (Classification by decision tree induction):
Cây quyết định (decision tree) là một cấu trúc gồm các nút trong (internal node)
biểu diễn giá trị thuộc tính, các nhánh (branch) biểu diễn đầu ra của kiểm tra, và nút lá
(leaf node) biểu diễn các nhãn lớp (class label).

Hình 3.1: Mô hình một cây quyết định

Cây quyết định được tạo theo hai giai đoạn: tạo cây (Tree Contruction) và tỉa
nhánh (Tree pruning)
- Tạo cây: lúc đầu, tất cả các mẫu học đều nằm ở nút gốc (root node). Sau đó, các
mẫu học được phân chia một cách đệ quy dựa trên thuộc tính được chọn
- Tỉa nhánh: tìm và xóa các nhánh có phần tử không thuộc về lớp nào cả

b) Phân lớp sử dụng mạng neural lan truyền ngược (Classification by
backpropagation)
Lan truyền ngược (backpropagation) là một giải thuật huấn luyện mạng neural
(neural network learning).
Mạng neural là một họ các quá trình xử lý thông tin dựa trên mô hình các neural
thần kinh của con người. Mạng neural kết hợp một số lượng lớn các thành phần đơn giản
14

(neural) thành các cấu trúc phức tạp nhằm giải quyết một vấn đề cụ thể nào đó. Giống

như con người, mạng neural cũng học bằng các mẫu ví dụ.
Mục tiêu cơ bản của việc huấn luyện mạng neural là nhằm thu được tập trọng số
có thể phân lớp đúng cho hầu hết những bộ trong tập huấn luyện. Các bước của quá trình
huấn luyện:
- Khởi tạo trọng số của mạng neural là những giá trị ngẫu nhiên
- Lần lượt đưa từng mẫu học vào mạng neural
- Đối với từng mẫu học:
o Tính toán giá trị output sử dụng hàm kích hoạt
o Tính toán lỗi
o Cập nhật trọng số

c) Phương thức phân lớp khác
Phân lớp dựa trên luật kết hợp (Association-based classification); k-nearest
neighbor classifiers; Lập luận theo tình huống (Case-based reasoning); Các giải thuật di
truyền; Lý thuyết tập thô (Rough set theory); Hướng tiếp cận tập mờ (Fuzzy set
approaches); phân lớp Bayes (Bayesian Classification).

3) Dự đoán dữ liệu (data prediction):
Dự đoán dữ liệu là sử dụng các mô hình để dự đoán, xác định lớp cho các đối
tượng chưa được dán nhãn
Phân lớp (classification) và hồi quy (regression) là hai phương pháp chính trong
dự đoán dữ liệu. Trong khi phân lớp dữ liệu dự đoán trên các giá trị rời rạc (discrete
values) thì hồi quy dữ đoán trên các giá trị liên tục (continuous values).
Hồi quy (Regression): là một phân tích thống kê để xác định xem các biến độc lập
(biến thuyết minh) quy định các biến phụ thuộc (biến được thuyết minh) như thế nào. Hồi
quy tuyến tính và nhiều cấp (Linear and multiple regression) và hồi quy không tuyến tính
(Nonlinear regression) là các phương pháp thường sử dụng trong dự đoán dữ liệu.


15


4) Mức độ chính xác của phân lớp dữ liệu
Tính toán độ chính xác của bộ phân lớp là rất quan trọng, nó cho phép đánh giá
xem một bộ phân lớp sẽ dán nhãn cho các dữ liệu tương lai chính xác hay không, các dữ
liệu nào bộ phân lớp chưa được huấn luyện… và so sánh giữa các bộ phân lớp
(classifiers)
a) Tính toán độ chính xác của bộ phân lớp:
Có ba phương pháp dùng để tính toán độ chính xác của bộ phân lớp:
- Phân hạch (holdout): chia tập dữ liệu đã cho thành hai tập dữ liệu độc lập: tập
huấn luyện (training set) – chiếm 2/3 dữ liệu – và tập kiểm tra (test set) – chiếm
1/3 dữ liệu. Tập huấn luyện dùng để tạo ra bộ phân lớp, tập kiểm tra dùng để kiểm
tra các bộ phân lớp do Tập huấn luyện tạo ra. Phương pháp này thường áp dụng
với những tập dữ liệu lớn.
- Kiểm tra chéo (k-fold cross validation): chia tập dữ liệu thành k tập con có kích
thước như nhau: S1, S2…Sk. Huấn luyện và kiểm tra được thực hiện k lần. Lấy k-
1 tập con làm tập huấn luyện và một tập con làm tập kiểm tra. Phương pháp này
thường áp dụng với những tập dữ liệu vừa
- Bootstrapping: Phương pháp này thường áp dụng với những tập dữ liệu nhỏ.

b) Gia tăng độ chính xác:
Bagging và Boosting là hai kỹ thuật giúp gia tăng độ chính xác của bộ phân lớp.
Cả hai đều có thể kết hợp một loạt T bộ phân lớp C1, C2… CT để tạo ra một bộ phân lớp
phức hợp, cải tiến C*

Hình 3.2: Kết hợp các bộ phân lớp để cải tiến hiệu quả

16

IV) Phân lớp Bayes (Bayesian Classification)
Phân lớp Bayes là kỹ thuật phân lớp dựa trên xác suất – thống kê (cụ thể là Công

thức Bayes). Nó có thể dự đoán xác suất để các mẫu đưa ra có thể thuộc về một lớp nào
đó
1) Công thức Bayes (Bayes Theorem)
Gọi X là một mẫu dữ liệu
H là không gian giả thuyết (hypothesis)
P(H|X) là xác suất có điều kiện hay xác suất hậu nghiệm (posteriori probability):
xác suất xảy ra H nếu có X
P(H), P(X) là xác suất biên duyên hay xác suất tiên nghiệm (apriori probability):
xác suất xảy ra H, X
Công thức Bayes:

(

|

)
=

(

|

)

(

)

(


)
(4.1)


2) Bộ phân lớp Naïve Bayes
i) Cho m lớp C
1
, C
2
, …, C
m

ii) X là một mẫu dữ liệu cần phân lớp được mô tả bởi tập thuộc tính A
1
, A
2
, …,
A
n
. X = (x
1
, x
2
, …, x
n
). Bộ phân lớp sẽ dựa trên các giá trị của X để xuất ra giá
trị hàm phân lớp f(X) là một trong các C
i
(1 <= i <= m)
iii) Tính giá trị hàm phân lớp f(X):

Bộ phân lớp Naïve Bayes lấy lớp có xác suất cao nhất cho thể hiện X:

(

)
= max

(

|

, 

, … , 

)
Áp dụng công thức Bayes:

(

)
= max


(


)

(



, 

, … , 

|


)
(

, 

, … , 

)
= max


(


)

(


, 


, … , 

|


)

iv) Tính P(C
i
):

(


)
=




17

S
i
: số lần xuất hiện của lớp C
i
trong tập học
S: tổng số các mẫu dữ liệu trong tập học.
v) Tính P(x
1

,x
2
,…,x
n
|C
i
):
Do các thuộc tính là độc lập với nhau nên xác suất để quan sát được X =
(x
1
,x
2
,…,x
n
) trên lớp C
i
là tích các khả năng của từng thuộc tính riêng biệt trên
C
i


(


, 

, … , 

|



)
=  






Có thể tính P(x
j
|C
i
) dễ dàng:




 =










: số lần xuất hiện của xj mà kết quả phân lớp là C

i




: số lần xuất hiện của C
i
trong tập học
vi) Như vậy, bộ phân lớp Naïve Bayes có thể áp dụng công thức:
() = max

((

)  





)
f(X) tìm được chính là lớp mà X thuộc về.
Nói cách khác:
() = max


(

|



)
(

)



3) Ví dụ minh họa:
Tập huấn luyện trích từ Quinlan’s ID3 : Chơi tennis
18

Thời tiết
Nhiệt độ
Độ ẩm
Gió
Lớp
nắng
nóng
cao
không
N
nắng
nóng
cao
không
N
u ám
nóng
cao
không

P
mưa
ấm áp
cao
không
P
mưa
mát
vừa
không
P
mưa
mát
vừa

N
u ám
mát
vừa

P
nắng
ấm áp
cao
không
N
nắng
mát
vừa
không

P
mưa
ấm áp
vừa
không
P
nắng
ấm áp
vừa

P
u ám
ấm áp
cao

P
u ám
nóng
vừa
không
P
mưa
ấm áp
cao

N

Bảng 4.1: Dữ liệu chơi tennis
Các thuộc tính và miền giá trị tương ứng bao gồm:
Thuộc tính Thời tiết – Miền giá trị {Nắng, U ám, Mưa}

Thuộc tính Nhiệt độ – Miền giá trị {Nóng, Mát, Ấm áp}
Thuộc tính Độ ẩm – Miền giá tri {Cao, Vừa}
Thuộc tính Gió – Miền giá trị {Có, Không}
Thuộc tính Lớp – Miền giá trị {P, N} //P: chơi tennis; N: không chơi
tennis
Ta có thể dễ dàng tính ra các giá trị P(xj|Ci) theo bảng xác suất sau:
Thời tiết
P(Nắng|P) = 2/9 P(Nắng|N) = 3/5
P(U ám|P) = 4/9 P(U ám|N) = 0
P(Mưa|P) = 3/9 P(Mưa|N) = 2/5
Nhiệt độ
P(Nóng|P) = 2/9 P(Nóng|N) = 2/5
P(Ấm áp|P) = 4/9 P(Ấm áp|N) = 2/5
P(Mát|P) = 3/9 P(Mát|N) = 1/5
19

Độ ẩm
P(Cao|P) = 3/9 P(Cao|N) = 4/5
P(Vừa|P) = 6/9 P(Vừa|N) = 1/5
Gió
P(Có|P) = 3/9 P(Có|N) = 3/5
P(Không|P) = 6/9

P(Không|N) = 2/5
Bảng 4.2: Các xác suất

Ta cũng có thể tính được P(P) = 9/14 và P(N) = 5/14
Xét mẫu X = (mưa, nóng, cao, không)
 X là một mẫu không có trong tập huấn luyện phải phân lớp cho mẫu X
 Tìm lớp thích hợp bằng công thức:

() = max

((

)  





)
P(P)*(P(Mưa|P)*P(Nóng|P)*P(Cao|P)*P(Không|P)) = 0.010582
P(N)*(P(Mưa|N)*P(Nóng|N)*P(Cao|N)*P(Không|N)) = 0.018286
0.018286 > 0.010582  f(X) = N
 X được phân vào lớp không chơi tennis

4) Giải thuật huấn luyện Bộ phân lớp Naïve Bayes:
Input: mẫu dữ liệu examples
Output: bảng xác suất (mô hình đã được huấn luyện)
NAÏVE_BAYES_LEARN (examples)
1. For each v
i
//Với mỗi mẫu ví dụ 


2. Do 2.1. Tính xác suất P (v
i
)
20


2.2. For each 

//Với mỗi thuộc tính 

của mẫu ví dụ 


2.3. Do Tính xác suất





5) Giải thuật phân lớp Naïve Bayes:
Input: bảng xác suất (mô hình đã được huấn luyện), mẫu dữ liệu mới x = (

, 

, … , 

)
Output: lớp C mà mẫu dữ liệu x thuộc về.
CLASSIFY_NEW_INSTANCE(x)
1. return max

((

)








) //m: số lượng lớp trong bộ phân lớp
//n: số lượng thuộc tính trong một bộ dữ
liệu

6) Mạng Bayes (Bayesian belief networks)
Mạng Bayes (Bayesian belief networks, belief networks, Bayesian networks,
probabilistic networks) là một mô hình xác suất (probability) và đồ thị (graph) cho phép
thu thập, tích lũy, mô phỏng và khai thác các nhận thức.
Một mạng Bayes được định nghĩa bởi hai thành phần:
- Đồ thị có hướng phi chu trình (directed acyclic graph) với mỗi node biểu diễn một
biến ngẫu nhiên và một sự phụ thuộc vào xác suất.
- Bảng phân bố xác suất có điều kiện (conditional probability table – CPT) cho mỗi
biến.


Trong đồ thị có hướng phi chu trình, nếu có một cung nối từ node Y tới node Z, thì
Y gọi là cha (parent, immediate predecessor) của Z và Z gọi là con (descendent) của Y.
Mỗi biến có một phân bố xác suất có điều kiện từ các node cha. Parents (Z) = Y
Y

Z

21



Hình 4.1: Một Mạng Bayes đơn giản


Bảng 4.3: Bảng phân bố xác suất có điều kiện cho giá trị của biến LungCancer (LC).

Theo mô hình Mạng Bayes ở trên, ta có thể xác định:
 Parents (LungCancer) = FamilyHistory ^ Smoker
 P (LungCancer = Yes | FamilyHistory = Yes , Smoker = Yes) = 0.8
 P (LungCancer = Yes | FamilyHistory = Yes , Smoker = No) = 0.5
 P (LungCancer = Yes | FamilyHistory = No , Smoker = Yes) = 0.7
 P (LungCancer = Yes | FamilyHistory = No , Smoker = No) = 0.1
 P (LungCancer = No | FamilyHistory = Yes , Smoker = Yes) = 0.2
 P (LungCancer = No | FamilyHistory = Yes , Smoker = No) = 0.5
 P (LungCancer = No | FamilyHistory = No , Smoker = Yes) = 0.3
 P (LungCancer = No | FamilyHistory = No , Smoker = No) = 0.9



22

Nếu xét một bộ (z

, z

, … , z

) . Xác suất xảy ra của bộ này trong tập học là:

(



, 

, … , 

)
=  (

|
(


)
)


Với P(z

|Parents
(
z

)
) được quy định trong bảng phân bố xác suất có điều kiện
CPT của z



7) Huấn luyện Mạng Bayes
Input: Không gian giả thuyết H;

Tập dữ liệu huấn luyện  = {

, 

, … , 

};


là một ô trong bảng phân bố xác suất CPT cho biến 

= 

có cha là


= 

. Ở ví dụ phần trên, nếu 

là ô phía trên bên trái của bảng CPT thì: 


LungCancer và 

= Yes là giá trị của nó; 

= {FamilyHistory, Smoker} là danh sách
các node cha của 


và 

= {, } là danh sách các giá trị của node cha trong CPT
Output: cực đại P (S|H), trả về bảng CPT
BAYES_BELIEF_NETWORKS_LEARN (examples)
1. Tính mức độ phát triển (gradients):
For each i, j, k
Do Tính
(|)


= 

(



,



|

)




2. Cập nhật lại 


bằng tập dữ liệu huấn luyện S


←

+ 
(|)




3: gọi là learning rate, là một hằng số và có giá trị nhỏ.


23

4. Bình thường hóa lại (Renormalize) 


 


= 1
0 ≤

≤ 1

V) Lý thuyết tập thô (Rough Set Theory)
Hầu hết cơ sở dữ liệu sử dụng cho việc Khai thác dữ liệu đều không hoàn thiện về
dữ liệu do nhiễu, các giá trị không xác định hoặc lỗi do các thiết bị đo đạc không chính

xác. Lý thuyết tập thô được Pawlak phát triển phát huy tác dụng cho các trường hợp như
vậy vì tập thô là công cụ nhằm giải quyết sự gần đúng và các trường hợp quyết định
không chắc chắn. Một ưu điểm của lý thuyết tập thô so với hướng tiếp cận xác suất Bayes
là không cần giả định về sự độc lập của các thuộc tính cũng như không cần bất kỳ kiến
thức nền nào về dữ liệu

1) Lý thuyết tập hợp
Trong lý thuyết tập hợp truyền thống, các phần tử được xác định một cách rõ ràng
là có thuộc một tập hợp hay không. Tuy nhiên, trong thực tế, nhiều khi việc xác định một
phần tử có thuộc một tập hợp hay không là một việc làm khá mơ hồ. Ví dụ một tập hợp
các “bức tranh đẹp”. Rõ ràng, ta không thể phân lớp một cách chính xác là một bức tranh
“đẹp” hay là “không đẹp”. Điều đó phụ thuộc vào quan điểm và thị hiếu của người xem.
Khái niệm “đẹp” trở nên khá mơ hồ và không thể biểu diễn được trên lý thuyết tập hợp
truyền thống. Hai lý thuyết được giới thiệu nhằm khắc phục vấn đề này là tập mờ và tập
thô đã chứng tỏ được tính hiệu quả trong việc phân loại các dữ liệu không rõ ràng.
Lý thuyết tập mờ do Lotfi Zadeh phát triển vào khoảng năm 1965. Tập mờ sử
dụng khái niệm hàm mờ để thể hiện mức độ, tư cách thành viên của một phần tử trong
một tập mờ.
Bên cạnh tập mờ, thì tập thô cũng là một cách tiếp cận khác nhằm giải quyết bài
toán có dữ liệu mơ hồ, không chắc chắn. Với nền tảng toán học vững chắc, cung cấp cho
người dung những công cụ hữu ích để giải quyết những bài toán phân lớp dữ liệu, phát
hiện luật…, lý thuyết tập thô được rất nhiều nhóm khoa học trên thế giới quan tâm nghiên
24

cứu. Tập thô (Rough Set) do Zdzisław Pawlak, nhà toán học người Ba Lan, phát triển vào
những năm đầu thập niên 1980s.

2) Hệ thông tin và hệ quyết định
Hệ thông tin là tập hợp dữ liệu được biểu diễn theo dạng bảng, trong đó mỗi dòng
biểu diễn một trường hợp, một sự kiện, một khách hàng… hoặc đơn giản là một đối

tượng. Mỗi cột biểu diễn một thuộc tính và có thể đo đạc được với từng đối tượng.
Hệ thông tin thường được ký hiệu là cặp (U, A) trong đó U là tập hữu hạn khác
rỗng các đối tượng (tập phổ quát) và A là tập hữu hạn khác rỗng các thuộc tính.
Một hệ thông tin có dạng (U; A⋃{d}), trong đó d∉A là thuộc tính quyết định và A
là các thuộc tính điều kiện, gọi là hệ quyết định.
Bệnh nhân

Đau đầu

Đau cơ

Nhiệt độ Cảm cúm

p1 không có cao có
p2 có không cao có
p3 có có rất cao có
p4 không có bình thường

không
p5 có không cao không
p6 không có rất cao có
Bảng 5.1: Một hệ quyết định trong “chuẩn đoán bệnh Cảm cúm”

Trong Bảng 5.1, U = {p1; p2; p3; p4; p5; p6}, A = {Đau đầu, Đau cơ, Nhiệt độ}
và d = Cảm cúm.

3) Xấp xỉ tập hợp
Trong lý thuyết tập thô, để biểu diễn một tập hợp bằng tri thức được cho xác định
bởi một tập thuộc tính, người ta định nghĩa hai phép xấp xỉ: xấp xỉ dưới (lower
approximation) và xấp xỉ trên (upper approximation).

×