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

phân lớp dữ liệu sử dụng logic mờ

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.25 MB, 75 trang )


Đ






































Mẫu 3. Trang phụ bìa luận văn (title page)


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







PHẠM MẠNH HÙNG








PHÂN LỚP DỮ LIỆU SỬ DỤNG LOGIC MỜ











LuËn v¨n th¹c SÜ KHOA HỌC MÁY TÍNH










THÁI NGUYÊN - 2012



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











































I HC THI NGUYấN
TRNG I HC CễNG NGH THễNG TIN V TRUYN THễNG







PHM MNH HNG








PHN LP D LIU S DNG LOGIC M




Chuyên ngành: Khoa hc mỏy tớnh
Mã số: 60 48 01


Luận văn thạc Sĩ KHOA HC MY TNH




Ng-ời h-ớng dẫn khoa học: TS. V MNH XUN







THI NGUYấN - 2012





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


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


Tôi xin cam đoan toàn bộ nội dung trong luận văn hoàn toàn theo đúng nội dung
của đề cƣơng đã đăng ký và nội dung các phần trích lục tài liệu hoàn toàn chính
xác. Nếu có sai sót gì tôi xin hoàn toàn chịu trách nhiệm.
Ngƣời viết


Phạm Mạnh Hùng


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
ii
MỤC LỤC
LỜI CAM ĐOAN i
DANH MỤC CÁC HÌNH v
DANH MỤC CÁC BẢNG vi
MỞ ĐẦU 1
CHƢƠNG 1: TỔNG QUAN VỀ PHÂN LỚP DỮ LIỆU 3
1.1. Khái quát về phân lớp dữ liệu 3
1.1.1. Các bƣớc tiến hành phân lớp dữ liệu 4
1.1.2. Chuẩn bị dữ liệu 6
1.1.3. Làm sạch dữ liệu 7
1.1.4. Phân tích dữ liệu 7
1.1.5. Chuyển đổi dữ liệu 7
1.1.6. So sánh các mô hình phân lớp 8
1.2. Phân lớp dữ liệu với kỹ thuật cây quyết định 8
1.2.1. Khái niệm về cây quyết định 8
1.2.2. Giải thuật 9
1.2.3. Rút luật phân lớp từ cây quyết định 10
1.2.4. Ƣu điểm và hạn chế của cây quyết định 11
1.3. Phân lớp dữ liệu với kỹ thuật mạng Bayes 12

1.3.1. Định lý Bayes 12
1.3.2. Phân loại Bayes ngây thơ (Bayes đơn giản) 12
1.4. Phân lớp dữ liệu với kỹ thuật mạng nơ-ron 13
1.4.1. Cơ sở về mạng nơ-ron 13
1.4.2. Cấu trúc và mô hình mạng nơ-ron 14
1.4.3. Dạng toán học của tổng liên kết 15
1.4.4. Dạng của hàm a(f) - Hàm hoạt tính phi tuyến. 15
1.5. Phân lớp dữ liệu bằng Fuzzy C- MEANS (FCM) 17
1.6. Phân lớp dữ liệu bằng WEKA 19
1.6.1. Giới thiệu chung 19
1.6.2. Ứng dụng của phần mềm Weka 3.7.5 vào bài toán phân lớp dữ liệu điểm
của học sinh. 21
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
iii
1.7. Kết luận chƣơng 1 23
CHƢƠNG 2: PHÂN LỚP DỮ LIỆU SỬ DỤNG LOGIC MỜ 24
2.1. Tập mờ: 24
2.1.1. Lý thuyết tập mờ 24
2.1.2. Khái niệm tập mờ 25
2.1.3. Một số định nghĩa cơ bản 27
2.1.4. Các phép toán trên tập mờ 29
2.2. Quan hệ mờ 31
2.2.1. Khái niệm chung 31
2.2.3. Các phép hợp thành mờ 38
2.3. Suy diễn mờ 39
2.3.1. Phép suy diễn: “if P then Q” 39
2.3.2. Phép suy diễn “if P then Q else Q1” 40
2.4. Logic mờ 40
2.4.1. Mở đầu 40
2.4.2. Biến ngôn ngữ và mệnh đề mờ 41

2.4.3. Các phép kết nối 43
2.5. Phân lớp dữ liệu dựa trên quan hệ mờ 45
2.5.1. Cơ sở lí thuyết 45
2.5.2. Phân hoạch các đối tƣợng mờ trong bài toán thực tế 45
2.5.3. Quan hệ mờ trong phân lớp dữ liệu 46
CHƢƠNG 3: CÀI ĐẶT THỬ NGHIỆM 50
3.1. Khái niệm chung bài toán phân lớp 50
3.2. Bài toán minh họa sự phân lớp các đối tƣợng mờ 51
3.2.1. Phát biểu bài toán 51
3.2.2. Thuật toán 51
3.3. Thử nghiệm bài toán ứng dụng phân lớp bằng logic mờ 52
3.4. Kết quả thử nghiệm 55
KẾT LUẬN VÀ KIẾN NGHỊ 61
TÀI LIỆU THAM KHẢO 63

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
iv
DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT




Phép hội


Phép tuyến


Lƣợng từ với mọi



Phép giao


Phép hợp


Phép kéo theo


Tập rỗng


Phép thuộc


Lƣợng từ tồn tại


Phép tƣơng đƣơng

Phép phủ định


Chứa trong
×
Tích đề các
CSDL
Cơ sở dữ liệu



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
v
DANH MỤC CÁC HÌNH

Hình 1.1: Quá trình phân lớp dữ liệu và bƣớc xây dựng mô hình phân lớp. 4
Hình 1.2: Quá trình phân lớp dữ liệu - ƣớc lƣợng độ chính xác của mô hình 6
Hình 1.3: Quá trình phân lớp dữ liệu - phân lớp dữ liệu mới 6
Hình 1.4: Cây quyết định mua máy tính của sinh viên 10
Hình1.5: Minh hoạ về một nơ- ron 14
Hình1.6: Sự liên kết của hai nơ-ron 15
Hình1.7: Giao diện ban đầu của phần mềm WEKA 19
Hình 2.1: Khái niệm tập mờ 28
Hình2.2: Các tập mờ biểu diễn các giá trị ngôn ngữ: “Chậm”, “Trung bình" và “Nhanh” . 42
Hình 2.3: Tập mờ “tuổi trẻ” 43


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
vi
DANH MỤC CÁC BẢNG
Bảng 1.1: Bảng mua máy tính của sinh viên 9
Hình 1.3: Hình minh họa đổi đuôi XLS sang CSV (comma delimited) 21
Bảng 1.4: Bảng dữ liệu đầu vào để phân lớp bằng WEKA 22
Bảng1.3: Bảng phân lớp các trƣờng dữ liệu WEKA 22
Bảng 3.1: Bảng điểm học sinh 53
Bảng 3.2: Ma trận khoảng cách Hamming 55
Bảng 3.3: Ma trận phân lớp Hamming 57




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

MỞ ĐẦU
Phân lớp dữ liệu là một bài toán thƣờng gặp trong đời sống hàng ngày. Chẳng
hạn ngƣời ta phân loại học lực sinh viên dựa vào điểm trung bình từng học kỳ hoặc
phân chia theo từng vùng lãnh thổ, phân loại các bệnh tật thƣờng gặp, các cách
phân loại nhƣ vậy đều xuất phát từ việc xác định một quan hệ tƣơng đƣơng trên tập
các đối tƣợng đang xét. Tuy nhiên phân lớp thông qua quan hệ tƣơng đƣơng thông
thƣờng mặc dù thuận tiện, dễ lập trình, song thiếu mềm dẻo và đôi khi không phản
ánh đúng thực chất đối tƣợng. Chẳng hạn một sinh viên có điểm trung bình 6,9 thì
đƣợc xếp loại trung bình, đồng hạng với ngƣời có điểm 5,0; song ngƣời có điểm
trung bình 7,0 lại xếp hạng khá!. Tƣơng tự nhƣ vậy, trong đời sống ngƣời ta vẫn
phân loại một cách “tƣơng đối” chẳng hạn nhƣ “những ngƣời cao”. Logic mờ đƣợc
ra đời và phát triển dựa trên lý thuyết tập mờ đã giúp cho tin học có cái nhìn gần
với thực tiễn hơn, các công cụ của logic mờ cho phép xử lý những thông tin không
đầy đủ, không chính xác, chẳng hạn việc tìm hai đối tƣợng “giống nhau” chứ
không phải “bằng nhau” nhƣ với cách tìm kiếm thông thƣờng.
Nhằm tìm hiểu kỹ hơn về logic mờ và ứng dụng trong bài toán phân lớp dữ liệu,
giúp cho việc phân lớp mềm dẻo hơn, gần với đời thƣờng hơn, tôi đã lựa chọn đề
tài “Phân lớ p dƣ̃ liệ u sử dụng logic mờ” làm đề tài luận văn của mình.
Mục đích của đề tài:
Mục đích củ a đ ề tài này nh ằm nghiên cƣ́ u lý thuyế t tậ p mờ , quan hệ mờ, logic
mờ, trên cơ sở đó nghiên cứu phƣơng pháp phân lớp dữ liệu dựa trên logic mờ
đồng thời minh hoạ trên một số bài toán cụ thể. Nội dung chính của luận văn gồm
ba chƣơng.
Chương 1: Tổng quan về phân tích dữ liệu.
Chƣơng này trình bày khái quát về một số kỹ thuật phân lớp, cách phân lớp
thông thƣờng đã sử dụng. Chƣơng này cũng đƣa ra một số ví dụ minh họa cụ thể.
Chương 2: Phân lớ p dƣ̃ liệ u sử dụng logic mờ.

Chƣơng này trình bày khái niệm tập mờ, các phép toán trên tập mờ và quan hệ
mờ cùng với những tính chất cơ bản của quan hệ mờ. mệnh đề mờ, các phép toán
logíc mờ, đặc biệt là các luật logic mờ làm cơ sở cho chƣơng sau.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
2

Chương 3: Cài đặt thử nghiệm.
Chƣơng này trình bày bài toán thử nghiệm và kết quả cụ thể.
Trên cơ sở kiế n thƣ́ c đã họ c và việ c tổ ng hợ p tà i liệ u , sách báo, tạp chí tôi đã cố
gắng trình bày những nộ i dung cô đọ ng và cơ bả n nhấ t liên quan đế n đề tà i . Trong
quá trình thực hiện đề tài này mặ c dù đã có sƣ̣ nỗ lƣ̣ c cao củ a bả n thân song do
trình độ, thờ i gian và kinh nghi ệm cò n hạ n chế nên lu ận văn không trá nh khỏ i
nhƣ̃ ng sai só t. Vì vậy, tôi rấ t mong sƣ̣ đó ng gó p củ a thầ y cô giá o và cù ng b ạn bè
đồng nghiệp.
Em xin trân trọng cảm ơn!
Thái Nguyên, ngày 25 tháng 6 năm 2012
Học viên


Phạm Mạnh Hùng

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

CHƢƠNG 1
TỔNG QUAN VỀ PHÂN LỚP DỮ LIỆU
Hiện nay kĩ thuật phân lớp dữ liệu trong Khai Phá Dữ Liệu là một trong những
vấn đề nghiên cứu với nhiều mở rộng tập trung chủ yếu vào thống kê, máy học và
mạng nơ-ron.
Kĩ thuật phân lớp đƣợc đánh giá là một kĩ thuật khai phá dữ liệu đƣợc sử dụng

rộng rãi nhất. Sự kết hợp của kỹ thuật phân lớp và cơ sở dữ liệu là một lĩnh vực
quan trọng vì có tính uyển chuyển cao, với những ý nghĩa và vai trò hết sức quan
trọng của kĩ thuật phân lớp nói trên, nên trong chƣơng 1 này trƣớc tiên em nêu
một số những kĩ thuật phân lớp, những cách tiếp cận khác nhau đối với kỹ thuật
phân lớp cùng với những tìm hiểu và đánh giá những cải tiến của kĩ thuật phân lớp
trong thời gian gần đây.
1.1. Khái quát về phân lớp dữ liệu
Trong công việc con ngƣời ngày một tạo ra nhiều dữ liệu có kích thƣớc lớn và
có rất nhiều thông tin ẩn số có thể sử dụng để tạo nên những quyết định, chiến lƣợc
thông minh, đúng đắn, phù hợp với yêu cầu thực tế. Phân lớp dữ liệu
(classification) là một dạng của phân tích dữ liệu, thao tác với những đối tƣợng dữ
liệu mà có bộ giá trị biết trƣớc dùng để trích ra những lớp dữ liệu quan trọng, hay
dự đoán những khuynh hƣớng phát triển trong tƣơng lai.
Phân lớp dữ liệu là xếp đối tƣợng dữ liệu vào một trong các lớp đã đƣợc xác
định trƣớc. Tức là có 1 tập các đối tƣợng và theo một tiêu chí nào đó chia các đối
tƣợng này thành các lớp, sao cho các phần tử trong cùng một lớp thì đƣợc hiểu là
tƣơng đƣơng nhau theo một nghĩa nào đó.
Nhiều phƣơng pháp phân lớp dữ liệu đƣợc đề xuất bởi các nhà nghiên cứu trong
các lĩnh vực nhƣ máy học (machine learning), hệ chuyên gia (expert system),
thống kê (statistics),… hầu hết giải thuật sử dụng để phân lớp dữ liệu với kích
thƣớc nhỏ. Các nghiên cứu về khai phá dữ liệu đã phát triển nhanh chóng, phù hợp
phân lớp cho các gói cơ sở dữ liệu lớn.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
4

Một số kỹ thuật cơ bản để phân lớp dữ liệu: sử dụng phân lớp cây quyết định
(decision tree classification), bộ phân lớp Bayesian (Bayesian classifier), mạng nơ
ron (neural network), mô hình phân lớp K_hàng xóm gần nhất (knearest neighbor
classifier), phân tích thống kê, các thuật toán di truyền, phƣơng pháp tập thô
(rough set approach)

1.1.1. Các bƣớc tiến hành phân lớp dữ liệu
Kĩ thuật phân lớp đƣợc tiến hành bao gồm 2 bƣớc: Xây dựng mô hình và sử
dụng mô hình .
Bước 1: Xây dựng mô hình (learning)
Xây dựng mô hình mô tả một tập các dữ liệu hay các khái niệm định trƣớc. Đầu
vào là một tập dữ liệu có cấu trúc mô tả bằng các thuộc tính và đƣợc tạo ra từ các
bộ giá trị của các thuộc tính đó. Mỗi bộ giá trị đƣợc gọi chung là một phần tử dữ
liệu (data tuple) hay các mẫu (samples), đối tƣợng (object) bản ghi (record) hay
truờng hợp case. Trong tập dữ liệu này, mỗi phần tử dữ liệu đƣợc giả sử thuộc về
một lớp định trƣớc, lớp ở đây là giá trị của một thuộc tính đƣợc chọn làm thuộc
tính gán nhãn lớp hay thuộc tính phân lớp (class lable attribute). Đầu ra thƣờng là
các quy tắc phân lớp dƣới dạng luật if - then, cây quyết định, công thức logic hay
mạng nơ-ron. Mô hình mô tả nhƣ sau:

Hình 1.1: Quá trình phân lớp dữ liệu và bước xây dựng mô hình phân lớp.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
5

Mô tả một tập những lớp đƣợc định nghĩa trƣớc trong đó: mỗi bộ hoặc mẫu
đƣợc gán thuộc về một lớp đƣợc định nghĩa trƣớc nhƣ là đƣợc xác định bởi thuộc
tính nhãn lớp, tập hợp của những bộ đƣợc sử dụng trong việc sử dụng mô hình
đƣợc gọi là tập huấn luyện . Mô hình đƣợc biểu diễn là những luật phân lớp, cây
quyết định và những công thức toán học .
Bước 2: Sử dụng mô hình (classification)
Sử dụng mô hình phục vụ cho mục đích phân lớp dữ liệu trong tƣơng lai hoặc
phân lớp cho những đối tƣợng chƣa biết đến tức là dùng mô hình xây dựng ở bƣớc
trƣớc để phân lớp dữ liệu mới. Trƣớc khi sử dụng mô hình ngƣời ta thƣờng phải
đánh giá tính chính xác của mô hình trong đó, nhãn đƣợc biết của mẫu kiểm tra
đƣợc so sánh với kết quả phân lớp của mô hình, độ chính xác là phần trăm của tập
hợp mẫu kiểm tra mà phân loại đúng bởi mô hình, tập kiểm tra là độc lập với tập

huấn luyện .
Phân lớp dữ liệu là một hình thức học có giám sát: tập dữ liệu huấn luyện (quan
sát, thẩm định…) đi đôi với những nhãn lớp chỉ định quan sát, những dữ liệu mới
đƣợc phân lớp dựa lên tập huấn luyện. Ngƣợc lại hình thức học không giám sát.
Dùng mô hình ở bƣớc trƣớc để phân lớp dữ liệu mới với độ chính xác mang tính
chất dự đoán của mô hình phân lớp vừa tạo ra đƣợc ƣớc lƣợng. Holdout là một kĩ
thuật đơn giản để ƣớc lƣợng độ chính xác đó. Kỹ thuật này sử dụng một tập dữ liệu
kiểm tra với các mẫu đã đƣợc gán nhãn lớp. Các mẫu này đƣợc chọn ngẫu nhiên và
độc lập với các mẫu trong tập dữ liệu đào tạo. Độ chính xác của mô hình trên tập dữ
liệu kiểm tra là tỉ lệ phần trăm các mẫu trong tập dữ liệu kiểm tra đƣợc mô hình
phân lớp đúng. Nếu độ chính xác của mô hình đƣợc ƣớc lƣợng dựa trên tập dữ liệu
đào tạo thì kết quả thu đƣợc khả quan vì mô hình luôn có xu hƣớng quá vừa dữ liệu
tức là kết quả phân lớp trùng khít với dữ liệu thực tế vì quá trình xây dựng mô hình
phân lớp từ tập dữ liệu đào tạo có thể đã kết hợp những đặc điểm riêng biệt của tập
dữ liệu đó. Do đó cần sử dụng một tập dữ liệu đào tạo. Nếu nhƣ độ chính xác của
mô hình là chấp nhận đƣợc thì mô hình sẽ đƣợc sử dụng để phân lớp những dữ liệu
tƣơng lai hay những dữ liệu chƣa biết giá trị của thuộc tính phân lớp.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
6


Hình 1.2: Quá trình phân lớp dữ liệu - ước lượng độ chính xác của mô hình
Trong mô hình phân lớp, thuật toán phân lớp dữ liệu dữ vai trò trung tâm, quyết
định sự thành công của mô hình phân lớp nên quan trọng là tìm ra đƣợc một thuật
toán phân lớp nhanh, hiệu quả có độ chính xác cao và có thể mở rộng.

Hình 1.3: Quá trình phân lớp dữ liệu - phân lớp dữ liệu mới
1.1.2. Chuẩn bị dữ liệu
Tiền xử lý dữ liệu cho quá trình phân lớp là việc cần thiết đầu tiên quyết định
việc áp dụng đƣợc hay không của mô hình phân lớp. Quá trình trên giúp cải thiện

chính xác, tính hiệu quả và cả khả năng mở rộng của mô hình phân lớp.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
7

Quá trình này gồm một số công việc sau:
1.1.3. Làm sạch dữ liệu
Đây là quá trình tiền xử lý dữ liệu để gỡ bỏ, lọc và loại bỏ nhiễu, cách xử lý
các giá trị bị khuyết. Nghĩa là do dữ liệu liên quan đến việc xử lý lỗi (noise) và giá
trị thiếu (missing value) ở trong dữ liệu đầu. Noise là các lỗi ngẫu nhiên hay các
giá trị không hợp lệ của các biến trong tập dữ liệu, có thể dùng kỹ thuật làm trơn
xử lý. Missing value là những ô không có giá trị của các thuộc tính lỗi này có thể
có trong quá trình nhập liệu hoặc giá trị thuộc tính đó không có, có thể xử lý bằng
cách thay giá trị thiếu đó bằng giá trị phổ biến nhất của thuộc tính đó hoặc bằng
giá trị mà có thể sảy ra nhất dựa trên thống kê. Tuy thuật toán phân lớp đều có cơ
chế xử lý với những giá trị lỗi và thiếu trong tập dữ liệu, có thể nói bƣớc tiền xử lý
này làm giảm sự hỗn độn trong quá trình xây dựng mô hình phân lớp, giúp cải
thiện độ chính xác, hiệu suất và khả năng mở rộng của phân lớp dữ liệu.
1.1.4. Phân tích dữ liệu
Phân tích sự liên quan giữa các dữ liệu để chọn đặc trƣng: Nhiều thuộc tính
trong dữ liệu có thể không có sự liên kết, liên quan, hay không cần thiết phân lớp
dữ liệu. Vì vậy phép phân tích sự liên quan đƣợc thực hiện trên dữ liệu với mục
đích gỡ bỏ, loại bỏ bất kỳ những thuộc tính không thích hợp, không liên quan, dƣ
thừa hay không cần thiết khỏi quá trình xây dựng mô hình phân lớp vì những thuộc
tính đó sẽ làm chậm, phức tạp và gây ra sự hiểu sai trong quá trình xây dựng mô
hình phân lớp. Trong lĩnh vực máy học (machine learning) đƣợc gọi là bƣớc trích
chọn đặc trƣng giúp cho quá trình phân loại, phân lớp dữ liệu đạt hiệu quả và cũng
nhƣ việc nâng cao khả năng mở rộng.
1.1.5. Chuyển đổi dữ liệu
Biến đổi dữ liệu: dữ liệu có thể tổng quát hóa tới các mức khái niệm cao hơn và
rất hữu ích khi các thuộc tính có giá trị liên tục. Dữ liệu cũng có thể đƣợc tiêu

chuẩn hóa (khi sử dụng mạng nơ-ron hay các phƣơng pháp dùng phép đo khoảng
cách trong bƣớc học).
Trong quá trình tiền xử lý việc khái quát hóa dữ liệu lên mức khái niệm cao hơn
là cần thiết, đặc biệt hữu ích với những thuộc tính liên tục (continuous attribute
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
8

hay numeric attribute). Ví dụ các giá trị của thuộc tính Học lực khái quát hóa
thành các dãy giá trị rời rạc: trung bình, khá, giỏi. Việc khái quát hóa làm cô đọng
ngắn gọn mà vẫn phản ánh đầy đủ dữ liệu ban đầu. Do đó mà các thao tác vào/ra
liên quan đến quá trình xây dựng mô hình phân lớp sẽ giảm.
1.1.6. So sánh các mô hình phân lớp
Tùy từng ứng dụng cụ thể cần chọn mô hình phân lớp phù hợp trên cơ sở căn
cứ vào sự so sánh các tiêu chuẩn sau của mỗi mô hình phân lớp:
Các phƣơng pháp phân lớp có thể so sánh và đánh giá theo tiêu chí sau đây:
+ Độ chính xác dự đoán (Predictive accuracy): Là khả năng của mô hình để dự
đoán chính xác nhãn lớp của dữ liệu mới hay dữ liệu chƣa biết.
+ Tốc độ (speed): Là những chi phí tính toán liên quan đến quá trình tạo ra và
sử dụng mô hình
+ Bền vững hay sức mạnh: Là khả năng mô hình tạo ra những dự đoán đúng
từ những dữ liệu noise hay dữ liệu với những giá trị thiếu.
+ Co dãn hay khả năng mở rộng (scalability): Là khả năng thực thi hiệu quả
trên lƣợng dữ liệu lớn của mô hình dữ liệu đã xây dựng.
+ Tính hiểu đƣợc (interpretability): Là mức độ hiểu và hiểu rõ những kết quả
sinh ra bởi mô hình dữ liệu đã xây dựng.
1.2. Phân lớp dữ liệu với kỹ thuật cây quyết định
1.2.1. Khái niệm về cây quyết định
Cây quyết định là cấu trúc cây trong đó có:
+ Nút trong bằng phép kiểm tra trên một thuộc tính hay tên thuộc tính đƣợc
chọn để phân lớp.

+ Nhánh của cây bằng đầu ra của một phép kiểm tra hay các giá trị tƣơng ứng
của thuộc tính đƣợc chọn ở bƣớc đó
+ Nút lá là một nhãn phân lớp hoặc sự phân chia của lớp hay là một trong các
giá trị của thuộc tính kết quả.
Mỗi lá gắn với một nhãn lớp, mỗi nút quyết định mô tả một phép thử X nào đó,
mỗi nhánh của nút này tƣơng ứng với một khả năng của X. Nút cao nhất đƣợc gọi
là nút gốc. Cách tạo cây quyết định bao gồm hai giai đoạn.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
9

Giai đoạn 1: Xây dựng cây
+ Bắt đầu tất cả các mẫu huấn luyện đều ở gốc.
+ Phân chia các mẫu dựa trên giá trị của các thuộc tính đƣợc chọn
+ Kiểm tra các thuộc tính đƣợc chọn lựa trên một độ đo thống kê.
Giai đoạn 2: Thu gọn cây, tiến hành xác định và loại bỏ những nhánh nhiễu hoặc
tách khỏi nhóm.
1.2.2. Giải thuật
Sinh cây quyết định (Generate_decision_tree): xây dựng cây quyết định từ tập dữ
liệu huấn luyện cho trƣớc.
Đầu vào: các mẫu huấn luyện Samples là các giá trị rời rạc của các thuộc tính,
tập các thuộc tính attribute_list.
Đầu ra: Cây quyết định (Decision tree)
Xét ví dụ về mua máy tính sau:
Bảng 1.1: Bảng mua máy tính của sinh viên
STT
Tuổi
Thu nhập
Sinh viên
Độ tín nhiệm
Lớp mua

máy tính
1
<30
Cao
Không
Khá tốt
Không
2
<30
Cao
Không
Tốt
Không
3
30-40
Cao
Không
Khá tốt

4
>40
Trung bình
Không
Khá tốt

5
>40
Thấp

Khá tốt


6
>40
Thấp

Tốt
Không
7
30 - 40
Thấp

Tốt

8
<30
Trung bình
Không
Khá tốt
Không
9
<30
Thấp

Khá tốt

10
>40
Trung bình

Khá tốt


11
<30
Trung bình

Tốt

12
30-40
Trung bình
Không
Tốt

13
30-40
Cao

Khá tốt

14
>40
Trung bình
Không
Tốt
Không
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
10

Từ đó tập huấn luyện trên ta có thể phân lớp: tuổi, sinh viên, độ tín nhiệm thành
cây quyết định nhƣ sau:


Hình 1.4: Cây quyết định mua máy tính của sinh viên
1.2.3. Rút luật phân lớp từ cây quyết định
Rút luật từ cây quyết định:
+ Mỗi một đƣờng dẫn từ gốc đến nút lá trong cây tạo thành một luật, luật này
có vế trái là một bộ giá trị của các thuộc tính đƣợc chọn để phân lớp, vế phải là
một trong các giá trị của thuộc tính kết quả.
+ Tri thức từ cây quyết định có thể đƣợc trích và trình bày dƣới dạng luật dƣới
dạng các luật phân loại If – Then.
+ Một luật tƣơng ứng với một đƣờng đi từ gốc tới các nút lá.
+ Mỗi cặp thuộc tính - giá trị dọc theo đƣờng đi tạo thành một luật liên kết
trong tiền đề luật (phần If). Nút lá là lớp dự đoán, thiết lập nên mệnh đề kết quả
luật (phần Then). Các luật If - Then giúp hiểu hơn, đặc biệt nếu cây cho trƣớc là rất
lớn
Luật đƣợc trích rút:
If tuổi=”< 30” And Sinh viên= “không” Then mua máy tính = “không”.
If tuổi =”<30” And Sinh viên=”Có” Then mua máy tính = “có”
If tuổi = “30-40” Then mua máy tính = “có”.
If tuổi =”>40” And độ tín nhiệm = “tốt” then mua máy tính = “Có”
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
11

If tuổi =”>40” And độ tín nhiệm = “khá tốt” then mua máy tính = “không”
Tƣơng tự, ta có thể phân lớp dựa vào: Sinh viên, thu nhập và độ tín nhiệm để trích
rút luật từ cây quyết định.
1.2.4. Ƣu điểm và hạn chế của cây quyết định
Ưu điểm:
+ Dễ chọn các thuộc tính để phân lớp dữ liệu
+ Dễ dàng trong việc trích rút luật từ cây quyết định.
+ Dễ thực hiện với những tập cơ sở dữ liệu nhỏ và vừa.

Hạn chế:
+ Khó thao tác đƣợc trên tập cơ sở dữ liệu, các mẫu huấn luyện lớn do trên
thực tế việc xử lý các mẫu huấn luyện lớn (có hàng triệu mẫu huấn luyện trở lên).
+ Các mẫu huấn luyện tập trung ở bộ nhớ chính.
1.2.5. Độ lợi thông tin (Information gain)
Độ lợi thông tin (Information gain): đƣợc dùng để lựa chọn thuộc tính kiểm
định tại mỗi nút trên cây. Phép đo nhƣ vậy đƣợc gọi là Độ lợi thông tin
(Information gain) hay phép đo chất lƣợng thông tin. Chọn thuộc tính có chỉ số độ
lợi thông tin lớn nhất
Cho P và N là hai lớp và S là một tập dữ liệu có p phần tử của lớp P và n phần tử
của lớp N.
Khối lƣợng thông tin cần thiết để quyết định một mẫu bất kỳ có thuộc về lớp P hay
N hay không là:

Cho các tập { S
1
, S
2
,…,S
k
) là một phân hoạch trên tập S, khi sử dụng thuộc tính A.
Cho mỗi Si chứa pi mẫu lớp P và ni mẫu lớp N.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
12

Entropy hay thông tin mong muốn cần thiết phân lớp các đối tƣợng trong tất cả các
cây con Si là
),()(
1
ii

k
i
ii
npI
np
np
AE






Thông tin có đƣợc việc phân nhánh trên thuộc tính A là Gain (A)= I (p,n) – E (A)
1.3. Phân lớp dữ liệu với kỹ thuật mạng Bayes
Phân loại Bayes dựa trên định lý Bayes. Một Classifier đơn giản của Bayes đó là
Naïve Bayesian. So với việc thực thi trên mạng Nơ-ron, cây quyết định, classifier
Bayesian đƣa ra có độ chính xác cao và nhanh khi áp dụng vào cơ sở dữ liệu lớn
hay các tập huấn luyện lớn.
1.3.1. Định lý Bayes
Định lý Bayes cho phép tính xác suất ngẫu nhiên C khi biết sự kiện liên quan
tới X đã xảy ra đƣợc ký hiệu là P(C/X) đƣợc đọc là xác suất của C nếu có X và
đƣợc gọi là xác suất có điều kiện.


Định lý Bayes nhƣ sau:

Trong đó: P(X) là hằng số cho tất cả các lớp
P(C) bằng tần số liên quan thuộc lớp C.
1.3.2. Phân loại Bayes ngây thơ (Bayes đơn giản)

Bayes ngây thơ làm việc nhƣ sau:
Mỗi mẫu dữ liệu đƣợc đại diện bởi một vector đặc trƣng n-chiều, X=(x
1
, x
2
…x
n
)
mô tả n phép đo có đƣợc trên mẫu n thuộc tính tƣơng ứng A
1
, A
2
,…,A
n
.
Giả sử rằng có m lớp C
1
, C
2
,…,C
n
cho trƣớc một mẫu dữ liệu chƣa biết có nhãn là
X, classifier sẽ dự đoán X thuộc về lớp có xác suất hậu nghiệm cao nhất, đối với
điều kiện X. Classifier Bayesian ngây thơ ấn định một mẫu không biết X vào một
lớp C
i
khi và chỉ khi:
P(C
i
\X )> P(C

j
\X) với 1≤ j ≤ m, j ≠ i
Do vậy cần tìm P(C
i
\X) lớn nhất. Theo định lý Bayes:
)(
),(
)|(
)(
),(
)|(
CP
XCP
CXP
XP
XCP
XCP


)(
)(*),(
)|(
XP
CPCXP
XCP 
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
13

)(
)()\(

)\(
XP
CiPCiXP
XCP
i


+ P(X) không đổi với mọi lớp, P(C
i
) = s
i
/s( s
i
là số lƣợng các mẫu huấn luyện
của lớp C
i
và s là tổng số các mẫu huấn luyện), P(X|C
i
)P(C
i
) cần đƣợc cực đại.
+ Cho trƣớc các tập dữ liệu với nhiều thuộc tính, việc tính P(X|C
i
) sẽ rất tốn
kém. Để giảm tính toán khi đánh giá P(X\Ci), giả định ngây thơ của độc lập có
điều kiện lớp đƣợc thiết lập. Điều này làm cho giá trị của các thuộc tính là độc lập
có điều kiện với nhau, cho trƣớc nhãn lớp của mẫu, tức là không có mối quan hệ
độc lập giữa các thuộc tính. Vì thế,




n
k
ik
CxPCiXP
1
)\()\(

P(x
1
\Ci), P(x
2
\C
i
), , P(x
n
\C
i
) đƣợc đánh giá từ các mẫu huấn luyện với :
(a)
Nếu A
k
là xác thực thì P(x
k
\Ci)= s
ik
/s
i
với s
ik

là số lƣợng các mẫu huấn
luyện của lớp C
i
có giá trị x
k
tại A
k
và S
i
là số lƣợng các mẫu huấn luyện
thuộc về C
i.
(b)
Nếu A
k
là giá trị liên tục thì thuộc tính đƣợc giả định có phân phối
Gaussian. Bởi vậy,

2
2
2
)(
2
1
),,()\(
ci
i
cx
i
iikik

e
C
CCxgCxP








Với g(x
k
, μC
i
,σc
i
) là hàm mật độ ( thông thƣờng) Gaussian của thuộc tính A
k
, với
μC
i
,σc
i
đại diện cho các giá trị trung bình và độ lệch chuẩn của thuộc tính A
k
đối
với các mẫu huấn luyện của lớp C
i.
+ Để phân loại một mẫu chƣa biết X, với P(X\Ci)P(Ci) đƣợc đánh giá cho lớp C

i
.
Mẫu X đƣợc ấn định vào lớp C
i
khi và chỉ khi :
P(X\C
i
)P(C
i
) > P(X\C
j
)P(C
j
) với 1≤ j ≤ m, j ≠ i
Hay nói cách khác nó đƣợc ấn định tới lớp C
i
mà tại đó P(X\C
i
)P(C
i
) cực đại.
1.4. Phân lớp dữ liệu với kỹ thuật mạng nơ-ron
1.4.1. Cơ sở về mạng nơ-ron
Sự ra đời cuốn sách “ Điều khiển học, hay điều chỉnh và truyền thông trong cơ
thể sống, trong máy móc” của tác giả Nobert Wieners xuất bản năm 1948. Điều
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
14

khiển học đã đặt ra mục đích nghiên cứu áp dụng nguyên lý làm việc của hệ thống
thần kinh động vật vào điều khiển bằng công cụ là trí tuệ nhân tạo và mạng nơ-ron.

Sự kết hợp giữa logic mờ và mạng nơ-ron trong thiết kế hệ thống điều khiển tự
động là một khuynh hƣớng mới, phƣơng hƣớng thiết kế hệ điều khiển thông minh đó
là một hệ thống mà bộ điều khiển có khả năng tƣ duy nhƣ bộ não của con ngƣời.
1.4.2. Cấu trúc và mô hình mạng nơ-ron
Mạng nơ-ron nhân tạo xuất phát từ việc mô phỏng hoạt động của bộ não con
ngƣời. Mạng nơ-ron (Neutral network) là các mô hình tính toán chứa các đơn vị xử
lý có khả năng truyền thông với nhau bằng cách gửi các tín hiệu đến lẫn nhau
thông qua các liên kết có trọng số.
Mạng nơ-ron có khả năng thích nghi tức là có thể học từ các mẫu thay vì đƣợc lập
trình.
Cấu trúc một nơ-ron: phần xử lý cơ bản của một mạng nơ-ron sinh học là một nơ-
ron có thể đƣợc chia làm 4 thành phần cơ bản sau đây: dendrites, soma, axon, và
synapses. Trong đó:
Dendrites: phần nhận tín hiệu vào.
Soma: hạt nhân của nơ-ron
Axon: phần dẫn ra tín hiệu xử lý
Synapses: đƣờng tín hiệu nối tiếp giữa các nơ-ron.


Hình1.5: Minh hoạ về một nơ- ron
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
15

Để có thể xử lý thông tin hoàn hảo nhƣ bộ não của con ngƣời, các nơ-ron phải kết
hợp và trao đổi thông tin với nhau.

Hình1.6: Sự liên kết của hai nơ-ron
1.4.3. Dạng toán học của tổng liên kết
Dạng hàm f hay sử dụng


ij
m
j
ij
xwf



1

Dạng bình phƣơng của hàm f:
2
1
)(txwf
j
m
j
ij




Dạng tổng bình phƣơng của hàm f:
j
m
j
ijj
wtxf





2
1
))((

Dạng đa thức:
i
k
k
j
jk
m
j
m
k
jijk
xxxxwf




 1 1


ki

,
: là các hằng số dƣơng.
W

ijk
: trọng liên kết từ j và k đến i.
1.4.4. Dạng của hàm a(f) - Hàm hoạt tính phi tuyến.
a(.) = a(f)
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
16

Dạng bƣớc nhảy

Dạng tuyến tính
+ Hàm hoạt tính phi tuyến a(f) nhận giá trị f khi và chỉ khi f > = 0
+ Hàm hoạt tính phi tuyến a(f) nhận giá trị 0 khi và chỉ khi f < 0.





0
)(
f
fa


Các dạng khác:





Dạng hàm dấu của a(f)







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

×