Đ
ĐẠ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
Mẫu 3. Trang phụ bìa luận văn (title page)
THÁI NGUYÊN - 2012
Số hóa bởi Trung tâm Học liệu – Đại học
Thái
NguyênTh¸i
Nguyªn
2012
http://www.lrc-tnu.edu.vn
ĐẠ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Ờ
Chuyªn ngµnh: Khoa học máy tính
M· sè: 60 48 01
LuËn v¨n th¹c SÜ KHOA HỌC MÁY TÍNH
Ng-êi h-íng dÉn khoa häc: TS. VŨ MẠNH XUÂN
THÁI NGUYÊN - 2012
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
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
http://www.lrc-tnu.edu.vn
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
http://www.lrc-tnu.edu.vn
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
http://www.lrc-tnu.edu.vn
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
http://www.lrc-tnu.edu.vn
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
http://www.lrc-tnu.edu.vn
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
http://www.lrc-tnu.edu.vn
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
http://www.lrc-tnu.edu.vn
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
http://www.lrc-tnu.edu.vn
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
http://www.lrc-tnu.edu.vn
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
http://www.lrc-tnu.edu.vn
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
http://www.lrc-tnu.edu.vn
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
http://www.lrc-tnu.edu.vn
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
http://www.lrc-tnu.edu.vn
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
http://www.lrc-tnu.edu.vn
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
Có
4
>40
Trung bình
Không
Khá tốt
Có
5
>40
Thấp
Có
Khá tốt
Có
6
>40
Thấp
Có
Tốt
Không
7
30 - 40
Thấp
Có
Tốt
Có
8
<30
Trung bình
Không
Khá tốt
Không
9
<30
Thấp
Có
Khá tốt
Có
10
>40
Trung bình
Có
Khá tốt
Có
11
<30
Trung bình
Có
Tốt
Có
12
30-40
Trung bình
Không
Tốt
Có
13
30-40
Cao
Có
Khá tốt
Có
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
http://www.lrc-tnu.edu.vn
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
http://www.lrc-tnu.edu.vn
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 { S1, S2,…,Sk) 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
http://www.lrc-tnu.edu.vn
- Xem thêm -