Tải bản đầy đủ (.docx) (40 trang)

10 9 2015 bài giảng khai phá dữ liệu

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 (511.36 KB, 40 trang )

Chương 1
TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
Lý thuyết/Thảo luận/Tự nghiên cứu: 20/25/45
TÀI LIỆU THAM KHẢO
[1]. Jiawei Han and Micheline Kamber (2006). Data Mining, Concept and Techniques. Second Edition. Jim Grey, MS Research,
Morgan Kaufmann Publisher.
[2]. Rajendra Arvind Akerkar and Priti Srinivas Sajja (2010). Knowledge-Based Systems. Jones and Bartlett Publisher.
[3]. Hà Quang Thụy (2011.). Giáo trình Khai Phá Dữ liệu Web. Nhà Xuất bản Giáo dục Việt Nam.
[4]. Đỗ Thanh Nghị (2011). Khai mỏ dữ liệu. Nhà xuất bản Đại học Cần Thơ
[5]. Nguyễn Quang Hoan (2007). Trí tuệ nhân tạo: hệ học, mạng nơ ron nhân tạo. Học viện Công nghệ Bưu chính Viễn thông.
[6]. Hoàng Kiếm (2007). Các hệ cơ sở tri thức. Nhà xuất bản Đại học Quốc gia Tp. Hồ Chí Minh.
1.1. GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU
1.1.1. Tại sao lại cần khai phá dữ liệu
Khoảng hơn một thập kỷ trở lại đây, lượng thông tin được lưu trữ trên các thiết bị điện tử (đĩa cứng, CD-ROM, băng từ v.v…) không
ngừng tăng lên. Sự tích lũy dữ liệu này xảy ra với một tốc độ bùng nổ. Theo đánh giá của IBM, các phương pháp khai thác thông tin
truyền thống chỉ thu được khoảng 80% thông tin từ CSDL, phần còn lại bao gồm các thông tin mang
tính khái quát, thông tin có quy luật vẫn đang còn tiềm ẩn bên trong dữ liệu. Lượng
thông tin này tuy nhỏ nhưng là thông tin cốt lõi và cần thiết cho tiến trình ra quyết định.


Theo J. Han [1] “Ngập tràn thông tin mà thiếu tri thức”.
Người ta ước đoán rằng lượng thông tin trên toàn cầu tăng gấp đôi sau khoảng hai năm và theo đó số lượng cũng như kích cỡ của các
cơ sở dữ liệu (CSDL) cũng tăng lên một cách nhanh chóng.
Câu hỏi đặt ra là liệu chúng ta có thể khai thác được gì từ những “núi” dữ liệu tưởng chừng như “bỏ đi” ấy không? “Necessity is the
mother of invention” - Data Mining ra đời như một hướng giải quyết hữu hiệu cho câu hỏi vừa đặt ra ở trên.
1.1.2. Dữ liệu, Thông tin, Tri thức, Uyên thâm
Dữ liệu, thông tin, tri thức là gì? mối quan hệ giữa chúng?
a) Dữ liệu (NHÓM BIÊN SOẠN ĐIỀN BÀI GIẢNG VÀO CHO ĐỦ)
+Khái niệm dữ liệu1: hằng+biến
Khái niệm dữ liệu2: nguyên liệu thô
Khái niệm dữ liệu 3:


+ Độ đo dữ liệu? Byte
+Mô tả
b) Thông tin
+Khái niệm
+Độ đo
c) Tri thức: Sự kiện (dữ liệu)+Mối qua hệ
+ Mô tả
-

Logic, Logic mệnh đề Vị từ

-

Luật: Rule

-

Mạng ngữ nghĩa


-

Khác
d) Uyên thâm (Wisdom)


Tri thức là thông tin
tích hợp, như quan hệ
giữa các sự kiện, giữa
các thông tin... thu được

qua quá trình nhận thức,
phát hiện hoặc học tập.

Thông tin là dữ liệu với
ý nghĩa (data equiped with
meaning), thu được khi xử lý
dữ liệu để lọc bỏ đi các phần
dư thừa, tìm ra phần cốt lõi
đặc trưng cho dữ liệu.

Dữ liệu là tín hiệu (signals)

Dữ liệu ở mức độ trừu tượng thấp nhất
và cụ thể nhất, thông tin ở mức trên dữ
liệu và tri thức ở mức cao nhất.

thu được do quan sát, đo
đạc, thu thập... từ các đối
tượng. Cụ thể, dữ liệu là
giá trị (values) của các
thuộc tính (features) của các
đối tượng, được biểu diễn
bằng dãy các bits, các con số
hay ký hiệu…


1.1.3. Khai phá dữ liệu là gì? Các khái niệm
Khá nhiều định nghĩa về Data Mining và sẽ được đề cập ở phần sau, tuy nhiên có
thể tạm hiểu rằng Data Mining như là một công nghệ tri thức giúp khai thác những
thông tin hữu ích từ những kho dữ liệu được tích trữ trong suốt quá trình hoạt động

của một công ty, tổ chức nào đó
Khái niệm: Khai phá dữ liệu (Datamining) là một quá trình chắt lọc hay khai phá
tri thức từ một lượng lớn dữ liệu. Thuật ngữ Datamining ám chỉ việc tìm kiếm một
tập hợp nhỏ có giá trị từ một số lượng lớn các dữ liệu thô.
Một ví dụ hay được sử dụng là là việc khai thác vàng từ đá và cát, Dataming được
ví như công việc "Đãi cát tìm vàng" trong một tập hợp lớn các dữ liệu cho trước.
Có nhiều thuật ngữ hiện được dùng cũng có nghĩa tương tự với từ Datamining như
Knowledge Discovery in Database: KDD hoặc Knowledge Mining (khai phá tri
thức), knowledge Extraction (chắt lọc tri thức), Data/Patern Analysis (phân tích dữ
liệu/mẫu), Data Archaeoloogy (khảo cổ dữ liệu), Datadredging (nạo vét dữ liệu)...
Khái niệm KDD([3] trang:11-13): Phát hiện tri thức trong CSDL:KDD là một quá
trình không tầm thường ra những mẫu có giá trị, mới, hữu ích tiềm năng, hiểu
được trong dữ liệu.
-

Dữ liệu (Data): E tập các bản ghi (ví dụ 23 khách hàng, 3 trường: SỐ NỢ,
THU NHẬP, TÌNH TRẠNG VAY NỢ)

-

Mẫu: (Pattern): Người ta sử dụng 1 ngôn ngữ (Langguage: L) để biểu diễn các
tập dữ liệu (sự kiện) con FE . Ví dụ trên F, trong ngôn ngữ L có biểu thức “THU
NHẬPCÁC GIÁ TRỊ GỌN HƠN liệt kê các trường hợp thỏa điều kiện.

-

Không tầm thường: nhiều bước (theo thời gian), lặp lại (có thể sông song để
chỉ không gian) mà còn thể hiện tính hiện đại tính công nghệ: Tự động hóa.


-

Có giá trị: (không phải hữu ích) Mức độ chân thật của dữ liệu. Để xác định
mức có giá trị: dùng hàm đo Mc với
c=C(E, F)

-

Tính mới (New) Có thể đo MN được bằng hàm kỳ vọng (trung bình sác xuất).
Tổng quát:
n=N(E, F)


-

Hiểu được (UnderStanding) Có thể đo được bằng hàm MS
Tổng quát:
u=U(E, F)

-

Hữu ích tiềm năng (Utilities) Có thể đo được bằng hàm MS
Tổng quát:
u=U(E, F)

-

Độ hấp dẫn Có thể đo được bằng hàm

i=I(E, F, C, N, U, S)


Định nghĩa Knowledge 2:
Một mẫu E nếu một lớp người I nào đó chỉ ra được ngưỡng i

I(E, F, C, N, U, S) > i.
Định nghĩa 3: Khai phá dữ liệu là một tập hợp các kỹ thuật được sử dụng để tự
động khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp
dữ liệu khổng lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trong tập dữ
liệu đó.
1.2 CÁC QUÁ TRÌNH KHÁM PHÁ TRI THỨC
. Khai phá tri thức trong cơ sở dữ liệu (Knowleadge Discovery in Database: KDD) bao

trùm khai phá dữ liệu.
Khai phá dữ liệu là xử lý dữ liệu, nhận biết các mẫu và các xu hướng trong thông tin để có
thể quyết định hoặc đánh giá. Những nhu cầu hướng kinh doanh này thay đổi cách lấy và
thống kê dữ liệu đơn giản sang việc khai phá dữ liệu phức tạp hơn. Vấn đề kinh doanh
hướng tới việc xem xét dữ liệu để giúp xây dựng một mô hình mô tả dẫn đến việc tạo ra
báo cáo kết quả. Hình 1 phác thảo quá trình này.


Hình 1. Phác thảo quá trình

Quá trình phân tích dữ liệu, khám phá dữ liệu và xây dựng mô hình dữ liệu thường lặp lại
khi bạn tập trung vào và nhận ra các thông tin khác nhau để bạn có thể trích ra. Bạn cũng
phải hiểu cách thiết lập quan hệ, ánh xạ, kết hợp và phân cụm thông tin đó với dữ liệu
khác để tạo ra kết quả. Quá trình nhận ra dữ liệu nguồn và các định dạng nguồn, rồi ánh xạ
thông tin đó tới kết quả đã cho của chúng tôi có thể thay đổi sau khi bạn phát hiện ra các
yếu tố và các khía cạnh khác nhau của dữ liệu.
Khai phá tri thức được xem như 7 quá trình khác nhau, trong đó khai phá dữ liệu là một
bước trong bảy bước của quá trình KDD ([1] trang 6,7)

1. Làm sạch dữ liệu (data cleaning & preprocessing)s: Loại bỏ nhiễu và các dữ liệu không
cần thiết.
2. Tích hợp dữ liệu: (data integration): quá trình hợp nhất dữ liệu thành những kho dữ liệu
(data warehouses & data marts) sau khi đã làm sạch và tiền xử lý (data cleaning &
preprocessing).
3. Trích chọn dữ liệu (data selection): trích chọn dữ liệu từ những kho dữ liệu và sau đó
chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức. Quá trình này bao gồm cả
việc xử lý với dữ liệu nhiễu (noisy data), dữ liệu không đầy đủ (incomplete data) v.v…


4. Chuyển đổi dữ liệu: Các dữ liệu được chuyển đổi sang các dạng phù hợp cho quá trình
xử lý
5. Khai phá dữ liệu (data mining): Là một trong các bước quan trọng nhất, trong đó sử
dụng những phương pháp thông minh để chắt lọc ra những mẫu dữ liệu.
6. Ước lượng mẫu (knowledge evaluation): Quá trình đánh giá các kết quả tìm được thông
qua các độ đo nào đó.
7. Biểu diễn tri thức (knowledge presentation): Quá trình này sử dụng các kỹ thuật để biểu
diễn và thể hiện trực quan cho người dùng.
Hình ? - Các bước trong Data Mining & KDD
Các nguyên tắc khai phá dữ liệu đã được dùng nhiều năm, nhưng với sự ra đời của Big
Data (dữ liệu lớn) làm nó phổ biến hơn. Big data gây ra một sự bùng nổ về sử dụng nhiều
kỹ thuật khai phá dữ liệu hơn, một phần vì kích thước thông tin lớn hơn rất nhiều và vì
thông tin có xu hướng đa dạng và mở rộng hơn về chính bản chất và nội dung của nó. Với
các tập hợp dữ liệu lớn, để nhận được số liệu thống kê tương đối đơn giản và dễ dàng
trong hệ thống vẫn chưa đủ. Với 30 hoặc 40 triệu bản ghi thông tin khách hàng chi tiết,
việc biết rằng 2 triệu khách hàng trong số đó sống tại một địa điểm vẫn chưa đủ. Bạn
muốn biết liệu 2 triệu khách hàng đó có thuộc về một nhóm tuổi cụ thể không và bạn cũng
muốn biết thu nhập trung bình của họ để bạn có thể tập trung vào các nhu cầu của khách
hàng của mình tốt hơn.
1.3. CÁC CHỨC NĂNG VÀ KỸ THUẬT KHAI PHÁ DỮ LIỆU

Khai phá dữ liệu không phải là tất cả về các công cụ hay phần mềm cơ sở dữ liệu mà bạn
đang sử dụng. Bạn có thể thực hiện khai phá dữ liệu bằng các hệ thống cơ sở dữ liệu bình
thường và các công cụ đơn giản, bao gồm việc tạo và viết phần mềm riêng của bạn hoặc
sử dụng các gói phần mềm bán ngoài cửa hàng. Khai phá dữ liệu phức tạp được hưởng lợi
từ kinh nghiệm trong quá khứ và các thuật toán đã định nghĩa với phần mềm và các gói
phần mềm hiện có, với các công cụ nhất định để thu được một mối quan hệ hoặc uy tín lớn
hơn bằng các kỹ thuật khác nhau.
Ví dụ, IBM SPSS®, có nguồn gốc từ việc phân tích thống kê và khảo sát, có thể xây dựng
các mô hình dự báo hiệu quả bằng cách xem xét các xu hướng trong quá khứ và xây dựng
các dự báo chính xác. IBM InfoSphere® Warehouse cung cấp thông tin tìm nguồn cấp dữ
liệu, thông tin xử lý trước, thông tin khai phá và thông tin phân tích trong một gói duy
nhất, để cho phép bạn lấy thông tin thẳng từ cơ sở dữ liệu nguồn đến đầu ra báo cáo cuối
cùng.
Gần đây các tập hợp dữ liệu rất lớn và việc xử lý dữ liệu theo cụm và quy mô lớn có thể
cho phép khai phá dữ liệu để sắp xếp và lập báo cáo về các nhóm và các mối tương quan
của dữ liệu phức tạp hơn. Bây giờ đã có sẵn rất nhiều công cụ và hệ thống hoàn toàn mới,
gồm các hệ thống lưu trữ và xử lý dữ liệu kết hợp.


Bạn có thể khai phá dữ liệu với nhiều tập hợp dữ liệu khác nhau, gồm các cơ sở dữ liệu
SQL truyền thống, dữ liệu văn bản thô, các kho khóa/giá trị và các cơ sở dữ liệu tài liệu.
Các cơ sở dữ liệu có phân cụm, như Hadoop, Cassandra, CouchDB và Couchbase Server,
lưu trữ và cung cấp quyền truy cập vào dữ liệu theo cách không phù hợp với cấu trúc bảng
truyền thống.
Đặc biệt, định dạng lưu trữ cơ sở dữ liệu tài liệu linh hoạt hơn lại gây ra một trọng tâm và
sự phức tạp khác về xử lý thông tin. Các cơ sở dữ liệu SQL áp đặt các cấu trúc chặt chẽ và
cứng nhắc vào lược đồ, làm cho việc truy vấn chúng và phân tích dữ liệu trở nên đơn giản
theo quan điểm hiểu rõ định dạng và cấu trúc thông tin.
Các cơ sở dữ liệu tài liệu, có một tiêu chuẩn chẳng hạn như cấu trúc thực thi JSON hoặc
các tệp có cấu trúc đọc được bằng máy tính nào đó, cũng dễ xử lý hơn, mặc dù chúng có

thể làm tăng thêm sự phức tạp do cấu trúc khác nhau và hay thay đổi. Ví dụ, với việc xử lý
dữ liệu hoàn toàn thô của Hadoop, có thể phức tạp để nhận biết và trích ra nội dung trước
khi bạn bắt đầu xử lý và tương quan với nó.
Data Mining được chia nhỏ thành một số hướng chính như sau:
Hiện nay có nhiều kỹ thuật khai phá dữ liệu, mô hình truy vấn, mô hình xử lý và thu thập
dữ liệu khác nhau. Bạn sẽ sử dụng một kỹ thuật nào để khai phá dữ liệu của mình và kỹ
thuật nào để kết hợp với phần mềm và cơ sở hạ tầng hiện có của mình? Hãy xem xét các
kỹ thuật và các giải pháp khai phá dữ liệu; phân tích sự khác nhau và tìm hiểu cách xây
dựng chúng nhờ sử dụng phần mềm hiện có. Hãy khám phá các công cụ khai phá dữ liệu
khác nhau, hiểu cách xác định xem kích thước và độ phức tạp của những thông tin của bạn
có thể dẫn đến những rắc rối về xử lý và lưu trữ không và cần phải làm gì.
Một số kỹ thuật cốt lõi, được sử dụng trong khai phá dữ liệu, mô tả kiểu hoạt động khai
phá và hoạt động phục hồi dữ liệu. Thật không may là các công ty và các giải pháp khác
nhau không phải lúc nào cũng dùng chung các thuật ngữ. Chính các thuật ngữ này có thể
làm tăng thêm sự mơ hồ và sự phức tạp.
Hãy xem xét một số kỹ thuật chính và ví dụ về cách sử dụng các công cụ khác nhau để
dựng lên việc khai phá dữ liệu.
1.3.1. Mô tả khái niệm
Mô tả khái niệm (Concept Description): thiên về mô tả, tổng hợp và tóm tắt khái niệm. Ví
dụ: tóm tắt văn bản.
Mô tả theo các phương pháp mô tả tri thức: mô tả bằng logic hình thức; mạng ngữ nghĩa
hoặc chuyê sang dạng ma trận; mô tả bằng luật; mô tả bằng mạng Bayes…
1.3.2. Sự kết hợp


Luật kết hợp (Association Rules): là dạng luật biểu diễn tri thứ ở dạng khá đơn giản. Ví
dụ: “60 % nam giới vào siêu thị nếu mua bia thì có tới 80% trong số họ sẽ mua thêm thịt
bò khô”. Luật kết hợp được ứng dụng nhiều trong lĩnh vực kính doanh, y học, tin-sinh, tài
chính & thị trường chứng khoán v.v…
Sự kết hợp (hay mối quan hệ) là kỹ thuật khai phá dữ liệu được biết đến nhiều hơn, quen

thuộc và đơn giản. Ở đây, bạn thực hiện một sự tương quan đơn giản giữa hai hoặc nhiều
mục, thường cùng kiểu để nhận biết các mẫu. Ví dụ, khi theo dõi thói quen mua hàng của
người dân, bạn có thể nhận biết rằng một khách hàng luôn mua kem khi họ mua dâu tây,
nên bạn có thể đề xuất rằng lần tới khi họ mua dâu tây, họ cũng có thể muốn mua kem.
Việc xây dựng các công cụ khai phá dữ liệu dựa trên sự kết hợp hay mối quan hệ có thể
thực hiện đơn giản bằng các công cụ khác nhau. Ví dụ, trong InfoSphere Warehouse một
trình hướng dẫn đưa ra các cấu hình của một luồng thông tin được sử dụng kết hợp bằng
cách xem xét thông tin nguồn đầu vào của cơ sở dữ liệu, thông tin về cơ sở ra quyết định
và thông tin đầu ra của bạn. Hình 2 cho thấy một ví dụ của cơ sở dữ liệu ví dụ mẫu.

Hình 2. Luồng thông tin được sử dụng theo cách kết hợp

1.3.3. Sự phân loại, phân lớp


Phân lớp và dự đoán (Classification & Prediction): xếp một đối tượng vào một trong
những lớp đã biết trước. Ví dụ: phân lớp vùng địa lý theo dữ liệu thời tiết. Hướng tiếp cận
này thường sử dụng một số kỹ thuật của Machine Learning như cây quyết định (Decision
Tree), mạng nơ ron nhân tạo (neural network) v.v... Người ta còn gọi phân lớp là học có
giám sát (học có thầy).
Bạn có thể sử dụng sự phân loại để xây dựng một ý tưởng về kiểu khách hàng, kiểu mặt
hàng hoặc kiểu đối tượng bằng cách mô tả nhiều thuộc tính để nhận biết một lớp cụ thể. Ví
dụ, bạn có thể dễ dàng phân loại các xe ô tô thành các kiểu xe khác nhau (xe mui kín, 4x4,
xe có thể bỏ mui) bằng cách xác định các thuộc tính khác nhau (số chỗ ngồi, hình dạng xe,
các bánh xe điều khiển). Với một chiếc xe mới, bạn có thể đặt nó vào một lớp cụ thể bằng
cách so sánh các thuộc tính với định nghĩa đã biết của chúng tôi. Bạn có thể áp dụng các
nguyên tắc tương tự ấy cho các khách hàng, ví dụ bằng cách phân loại khách hàng theo độ
tuổi và nhóm xã hội.
Hơn nữa, bạn có thể sử dụng việc phân loại như một nguồn cấp, hoặc như là kết quả của
các kỹ thuật khác. Ví dụ, bạn có thể sử dụng các cây quyết định để xác định một cách

phân loại. Việc phân cụm sẽ cho phép bạn sử dụng các thuộc tính chung theo các cách
phân loại khác nhau để nhận biết các cụm.
1.3.4. Việc phân cụm (Clustering)
Phân cụm (Clustering): xếp các đối tượng theo từng cụm (số lượng cũng như tên của cụm
chưa được biết trước. Người ta còn gọi phân cụm là học không giám sát (học không thầy).
Bằng cách xem xét một hay nhiều thuộc tính hoặc các lớp, bạn có thể nhóm các phần dữ
liệu riêng lẻ với nhau để tạo thành một quan điểm cấu trúc. Ở mức đơn giản, việc phân
cụm đang sử dụng một hoặc nhiều thuộc tính làm cơ sở cho bạn để nhận ra một nhóm các
kết quả tương quan. Việc phân cụm giúp để nhận biết các thông tin khác nhau vì nó tương
quan với các ví dụ khác, nên bạn có thể thấy ở đâu có những điểm tương đồng và các
phạm vi phù hợp. Việc phân cụm có thể làm theo hai cách. Bạn có thể giả sử rằng có một
cụm ở một điểm nhất định và sau đó sử dụng các tiêu chí nhận dạng của chúng tôi để xem
liệu bạn có đúng không. Đồ thị trong Hình 3 là một ví dụ hay. Trong ví dụ này, một ví dụ
mẫu về dữ liệu kinh doanh so sánh tuổi của khách hàng với quy mô bán hàng. Thật hợp lý
khi thấy rằng những người ở độ tuổi hai mươi (trước khi kết hôn và còn nhỏ), ở độ tuổi
năm mươi và sáu mươi (khi không còn con cái ở nhà), có nhiều tiền tiêu hơn.


Hình 3. Việc phân cụm
Trong ví dụ này, chúng ta có thể nhận ra hai cụm, một cụm xung quanh nhóm 2.000 Đô la
Mỹ/ 20-30 tuổi và một cụm ở nhóm 7.000-8.000 Đô la Mỹ/ 50-65 tuổi. Trong trường hợp
này, chúng tôi đã giả thuyết hai cụm và đã chứng minh giả thuyết của chúng tôi bằng một
đồ thị đơn giản mà chúng tôi có thể tạo ra bằng cách sử dụng bất kỳ phần mềm đồ họa
thích hợp nào để có được cái nhìn nhanh chóng. Các quyết định phức tạp hơn cần phải có
một gói phần mềm phân tích đầy đủ, đặc biệt là nếu bạn muốn các quyết định tự động dựa
vào thông tin lân cận gần nhất.
Việc vẽ đồ thị phân cụm theo cách này là một ví dụ đơn giản về cái gọi là nhận ra sự lân
cận gần nhất. Bạn có thể nhận ra các khách hàng riêng lẻ bằng sự gần gũi theo nghĩa đen
của họ với nhau trên đồ thị. Có nhiều khả năng là các khách hàng trong cùng một cụm
cũng dùng chung các thuộc tính khác và bạn có thể sử dụng sự mong đợi đó để giúp

hướng dẫn, phân loại và nếu không thì phân tích những người khác trong tập hợp dữ liệu
của bạn.
Bạn cũng có thể áp dụng việc phân cụm theo quan điểm ngược lại; dựa vào một số thuộc
tính đầu vào, bạn có thể nhận ra các tạo phẩm khác nhau. Ví dụ, một nghiên cứu gần đây
về các số PIN 4-chữ số đã tìm ra các cụm giữa các chữ số trong phạm vi 1-12 và 1-31 cho
các cặp đầu tiên và thứ hai. Bằng cách vẽ các cặp này, bạn có thể nhận ra và xác định các
cụm liên quan đến ngày tháng (các ngày sinh nhật, các ngày kỷ niệm).
1.3.5. Dự báo
Dự báo là một chủ đề rộng và đi từ dự báo về lỗi của các thành phần hay máy móc đến
việc nhận ra sự gian lận và thậm chí là cả dự báo về lợi nhuận của công ty nữa. Được sử


dụng kết hợp với các kỹ thuật khai phá dữ liệu khác, dự báo gồm có việc phân tích các xu
hướng, phân loại, so khớp mẫu và mối quan hệ. Bằng cách phân tích các sự kiện hoặc các
cá thể trong quá khứ, bạn có thể đưa ra một dự báo về một sự kiện.
Khi sử dụng quyền hạn thẻ tín dụng, chẳng hạn, bạn có thể kết hợp phân tích cây quyết
định của các giao dịch riêng lẻ trong quá khứ với việc phân loại và các sự so khớp mẫu
lịch sử để nhận biết liệu một giao dịch có gian lận hay không. Rất có thể là việc thực hiện
một sự so khớp giữa việc mua vé các chuyến bay đến Mỹ và các giao dịch tại Mỹ cho thấy
giao dịch này hợp lệ.
1.3.6. Khai phá các mẫu tuần tự
Khai phá chuỗi (sequential/temporal patterns): tương tự như khai phá luật kết hợp nhưng
có thêm tính thứ tự và tính thời gian. Hướng tiếp cận này được ứng dụng nhiều trong lĩnh
vực tài chính và thị trường chứng khoán vì nó có tính dự báo cao.
Thường được sử dụng trên các dữ liệu dài hạn, các mẫu tuần tự là một phương pháp có ích
để nhận biết các xu hướng hay các sự xuất hiện thường xuyên của các sự kiện tương tự. Ví
dụ, với dữ liệu khách hàng, bạn có thể nhận ra rằng các khách hàng cùng nhau mua một bộ
sưu tập riêng lẻ về các sản phẩm tại nhiều thời điểm khác nhau trong năm. Trong một ứng
dụng giỏ hàng, bạn có thể sử dụng thông tin này để tự động đề xuất rằng một số mặt hàng
nào đó được thêm vào một giỏ hàng dựa trên tần suất và lịch sử mua hàng trong quá khứ

của các khách hàng.

1.3.7. Các cây quyết định
Liên quan đến hầu hết các kỹ thuật khác (chủ yếu là phân loại và dự báo), cây quyết định
có thể được sử dụng hoặc như là một phần trong các tiêu chí lựa chọn hoặc để hỗ trợ việc
sử dụng và lựa chọn dữ liệu cụ thể bên trong cấu trúc tổng thể. Trong cây quyết định
(thuật toán mô tả ở chương sau), bạn bắt đầu bằng một câu hỏi đơn giản có hai câu trả lời
(hoặc đôi khi có nhiều câu trả lời hơn). Mỗi câu trả lời lại dẫn đến thêm một câu hỏi nữa
để giúp phân loại hay nhận biết dữ liệu sao cho có thể phân loại dữ liệu hoặc sao cho có
thể thực hiện dự báo trên cơ sở mỗi câu trả lời. Hình 4 cho thấy một ví dụ trong đó bạn có
thể phân loại một điều kiện lỗi gửi đến.


Hình 4. Cây quyết định
Các cây quyết định thường được sử dụng cùng với các hệ thống phân loại liên quan đến
thông tin có kiểu thuộc tính và với các hệ thống dự báo, nơi các dự báo khác nhau có thể
dựa trên kinh nghiệm lịch sử trong quá khứ để giúp hướng dẫn cấu trúc của cây quyết định
và kết quả đầu ra.
Trong thực tế, thật hiếm khi bạn sẽ sử dụng một kỹ thuật trong số những kỹ thuật riêng
biệt này. Việc phân loại và phân cụm là những kỹ thuật giống nhau. Nhờ sử dụng việc
phân cụm để nhận ra các thông tin lân cận gần nhất, bạn có thể tiếp tục tinh chỉnh việc
phân loại của mình. Thông thường, chúng tôi sử dụng các cây quyết định để giúp xây
dựng và nhận ra các loại mà chúng tôi có thể theo dõi chúng trong một thời gian dài để
nhận biết các trình tự và các mẫu.
Trong tất cả các phương pháp cốt lõi, thường có lý do để ghi lại thông tin và tìm hiểu từ
thông tin. Trong một số kỹ thuật, việc này hoàn toàn rõ ràng. Ví dụ, với việc tìm hiểu các
mẫu tuần tự và dự báo, bạn xem xét lại dữ liệu từ nhiều nguồn và nhiều cá thể thông tin để
xây dựng một mẫu.
Trong một số kỹ thuật khác, quá trình này có thể rõ ràng hơn. Các cây quyết định ít khi
được xây dựng một lần và không bao giờ được coi nhẹ. Khi nhận biết thông tin mới, các

sự kiện và các điểm dữ liệu, có thể cần xây dựng thêm các nhánh hoặc thậm chí toàn bộ
các cây mới, để đương đầu với các thông tin bổ sung.
Bạn có thể tự động hoá một số bước của quá trình này. Ví dụ, việc xây dựng một mô hình
dự báo để nhận biết sự gian lận thẻ tín dụng là xây dựng các xác suất để bạn có thể sử
dụng cho giao dịch hiện tại và sau đó cập nhật mô hình đó với các giao dịch mới (đã được
phê duyệt). Rồi thông tin này được ghi lại sao cho có thể đưa ra quyết định một cách
nhanh chóng trong lần tới.
1.4. CHUẨN BỊ VÀ TRIỂN KHAI DỮ LIỆU
Khai phá dữ liệu dựa vào xây dựng mô hình và cấu trúc dữ liệu phù hợp để xử lý, nhận
biết và xây dựng thông tin mà bạn cần. Bất kể dạng, cấu trúc nguồn dữ liệu, hãy cấu trúc


và tổ chức thông tin theo một định dạng để khai phá dữ liệu diễn ra theo một mô hình càng
hiệu quả càng tốt.
Hãy xét tổ hợp các yêu cầu kinh doanh để khai phá dữ liệu, nhận ra các biến hiện có
(khách hàng, các giá trị, quốc gia) và yêu cầu để tạo ra các biến mới để bạn có thể sử dụng
chúng để phân tích dữ liệu trong bước chuẩn bị. Bạn có thể tạo nên các biến phân tích của
dữ liệu từ nhiều nguồn khác nhau cho một cấu trúc có thể nhận biết được duy nhất (ví dụ,
bạn có thể tạo ra một lớp của một cấp cụ thể và tuổi của khách hàng hoặc một kiểu lỗi cụ
thể).
Tùy thuộc vào nguồn dữ liệu, cách bạn xây dựng thông tin là bước quan trọng. Bước này
dẫn đến một quá trình phức tạp trong nhận biết, tổng hợp, đơn giản hóa hoặc mở rộng
thông tin cho phù hợp với dữ liệu đầu vào của bạn (Hình 5).

Hình 5. Chuẩn bị dữ liệu

Dữ liệu nguồn, vị trí và cơ sở dữ liệu của bạn ảnh hưởng đến cách bạn xử lý và tổng hợp
thông tin đó.
Việc xây dựng trên SQL
Việc xây dựng trên cơ sở dữ liệu SQL thường dễ nhất trong tất cả các cách tiếp cận. Bạn

hiểu rõ SQL, nhưng không bỏ qua cấu trúc và định dạng thông tin. Ví dụ, khi xét hành
người dùng trong dữ liệu kinh doanh, bạn có thể sử dụng hai định dạng chính trong mô
hình dữ liệu SQL (và việc khai phá dữ liệu nói chung): định dạng giao dịch và định dạng
nhân khẩu học-hành vi.


Khi sử dụng InfoSphere Warehouse, việc tạo mô hình nhân khẩu học-hành vi cho mục
đích khai phá dữ liệu khách hàng nhằm hiểu việc mua và các mẫu mua sắm gồm việc lấy
dữ liệu SQL nguồn của bạn dựa trên các thông tin giao dịch và các tham số đã biết của
khách hàng, xây dựng lại thông tin đó thành một cấu trúc bảng định sẵn. Sau đó,
InfoSphere Warehouse sử dụng thông tin này cho phân cụm và khai phá dữ liệu để thu
được thông tin bạn cần. Dữ liệu nhân khẩu học của khách hàng và dữ liệu giao dịch doanh
thu có thể kết hợp và khôi phục lại vào một định dạng để phân tích dữ liệu cụ thể như
Hình 6.

Hình 6. Định dạng cho việc phân tích dữ liệu cụ thể
Ví dụ, với dữ liệu kinh doanh, bạn có thể muốn nhận ra các xu hướng kinh doanh các mặt
hàng riêng lẻ. Bạn có thể chuyển đổi các dữ liệu doanh thu thô của các mặt hàng riêng lẻ
thành thông tin giao dịch để ánh xạ mã định danh (ID) của khách hàng, dữ liệu giao dịch
và mã định danh sản phẩm. Nhờ sử dụng thông tin này, thật dễ nhận ra các trình tự và các
mối quan hệ với các sản phẩm riêng lẻ của các khách hàng riêng lẻ theo thời gian. Điều đó
cho phép InfoSphere Warehouse tính toán thông tin liên tục, chẳng hạn như khi một khách
hàng rất có thể lại mua sản phẩm đó.
Bạn có thể xây dựng các điểm phân tích dữ liệu mới từ dữ liệu nguồn. Ví dụ, mở rộng
(hoặc tinh chỉnh) thông tin sản phẩm của mình bằng cách sắp đặt hay phân loại sản phẩm
riêng lẻ vào các nhóm lớn hơn và sau đó phân tích dữ liệu dựa trên các nhóm này thay cho
việc phân tích một sản phẩm riêng lẻ. Bảng 1 cho thấy cách mở rộng thông tin theo những
cách mới.



Bảng 1. Một bảng các sản phẩm mở rộng (LÀM THÀNH BẢNG)

định
danh_sản
kiểu_sản
tên_sản phẩm
nhóm_sản phẩm
phẩm
phẩm
101

dâu tây, lẻ

dâu tây

quả

102

dâu tây, hộp

dâu tây

quả

110

chuối, lẻ

chuối


quả

1.5. ỨNG DỤNG CỦA KHAI PHÁ DỮ LIỆU
(CÁC CHỮ ĐẦU TIẾNG ANH VIẾT HOA)
Data Mining tuy là một hướng tiếp cận mới nhưng thu hút được rất nhiều sự quan
tâm của các nhà nghiên cứu và phát triển nhờ vào những ứng dụng thực tiễn của
nó. Chúng ta có thể liệt kê ra đây một số ứng dụng điển hình:
• Phân tích dữ liệu và hỗ trợ ra quyết định (data analysis & decision support)
• Điều trị y học (medical treatment)
• Text mining & Webmining
• Tin-sinh (bio-informatics)

Chương 2
HỌC MÁY CHO KHAI PHÁ DỮ LIỆU


2.1. MỘT SỐ KHÁI NIỆM CƠ BẢN VỀ HỌC (nhóm biên soan ghi bài giảng vào
đây)
2.1.1. Khái niêm về học
2.1.2. Phân loại học
2.1.3. Các ứng dụng cơ bản của học
2.2. CÁC LUẬT HỌC THỐNG KÊ

2.2.1. Thuật toán Quinlan
a)Bài toán và cơ sở dữ liệu rám nắng
b)Thuật toán
c)Lời giải
d) Kết luận
2.2.2. Thuật toán độ lộn xộn

a)Bài toán và cơ sở dữ liệu rám nắng
b)Thuật toán
c)Lời giải
d) Kết luận
2.2.3. Thuật toán k-láng giềng (theo tài liệu đã cho và tham khảo dướ đây)
HỌC DỰA TRÊN VÍ DỤ: THUẬT TOÁN K HÀNG XÓM GẦN NHẤT
Nguyên tắc chung
Trong các phương pháp học cây quyết định và Bayes đơn giản, thuật toán học dựa
trên dữ liệu huấn luyện để học ra mô hình và tham số cho bộ phân loại. Mô hình phân
loại sau đó được sử dụng để dự đoán nhãn cho ví dụ mới. Quá trình học thực chất là quá
trình xác định dạng và tham số của hàm đích, là hàm xấp xỉ giá trị nhãn phân loại.
Phần này sẽ trình bày kỹ thuật học máy dựa trên một nguyên tắc khác gọi là học
dựa trên ví dụ (instance-based learning). Khác với các phương pháp học ở trên, học dựa


trên ví dụ không tạo ra mô hình hay hàm đích cho dữ liệu, thay vào đó, trong quá trình
học thuật toán chỉ lưu lại tất cả các mẫu huấn luyện được cung cấp. Khi cần phân loại hay
ra quyết định cho ví dụ mới, thuật toán tìm những mẫu huấn luyện tương tự và xác định
nhãn phân loại hay giá trị của ví dụ dựa trên những mẫu này.
Do thuật toán không làm gì trong quá trình học mà chỉ lưu lại các mẫu huấn luyện,
phương pháp học dựa trên ví dụ còn được gọi là học lười (lazy learning) hay học bằng
cách nhớ (memory-based learning). Học dựa trên ví dụ bao gồm một số kỹ thuật học
khác nhau như thuật toán k-hàng xóm gần nhất (k-nearest neighbor), suy diễn theo
trường hợp (case-based reasoning). Điểm khác nhau cơ bản giữa nhứng kỹ thuật này là
cách biểu diễn và tính độ tương tự giữa các ví dụ. Thuật toán k-hàng xóm gần nhất sử
dụng cách biểu diễn ví dụ đơn giản dưới dạng vec tơ trong không gian Ơclit và sử dụng
khoảng cách Ơclit để tính độ tương tự, trong khi suy diễn theo trường hợp dựa trên việc
biểu diễn các mẫu (gọi là trường hợp) phức tạp hơn và dùng những kỹ thuật phức tạp
được xây dựng riêng để tính độ tương tự cho các trường hợp.
Ưu điểm. So với phương pháp học dựa trên mô hình, học dựa trên ví dụ có một số

ưu điểm. Thứ nhất, do không quy định trước mô hình hay dạng của hàm đích, học dựa
trên ví dụ có thể xây dựng những hàm đích rất phức tạp. Thứ hai, thay vì xây dựng hàm
đích chung cho toàn bộ dữ liệu, học dựa trên ví dụ xây dựng hàm đích dựa trên một số
mẫu gần với ví dụ đang cần dự đoán, do vậy có thể tận dụng được đặc điểm mang tính cục
bộ của dữ liệu để mô tả tốt hơn giá trị ví dụ mới.
Nhược điểm. Nhược điểm thứ nhất của học dựa trên ví dụ là tốc độ chậm trong giai
đoạn phân loại. Do thuật toán phải so sánh ví dụ mới với toàn bộ tập mẫu để tìm ra
những mẫu tương tự nên thời gian phân loại tỷ lệ thuận với kích thước tập mẫu. Để khắc
phục vấn đề tốc độ, cách thông dụng nhất là sử dụng kỹ thuật đánh chỉ số để tìm kiếm
nhanh mẫu tương tự. Nhược điểm thứ hai của học dựa trên ví dụ là việc tính độ tương tự
được thực hiện với toàn bộ thuộc tính. Nếu thuộc tính không liên quan tới phân loại của
ví dụ thì khi sử dụng sẽ gây nhiễu, khiến những ví dụ cùng nhãn không tương tự với nhau.
Vấn đề chọn và sử dụng những thuộc tính tốt, do vậy, có ảnh hưởng quyết định tới độ
chính xác của phương pháp này.
Phương pháp k-hàng xóm gần nhất
K-hàng xóm gần nhất (k-nearest neighbors, viết tắt là k-NN) là phương pháp tiêu
biểu nhất của học dựa trên ví dụ. Nguyên tắc của phương pháp này là đặc điểm của mẫu
được quyết định dựa trên đặc điểm của k mẫu giống mẫu đang xét nhất. Ví dụ, muốn xác
định nhãn phân loại, ta tìm k mẫu gần nhất và xem những mẫu này mang nhãn gì.
Phương pháp k-NN thường làm việc với dữ liệu trong đó các thuộc tính được cho
dưới dạng vec tơ các số thực. Như vậy, mỗi mẫu tương ứng với một điểm trong không gian
Ơ clit. Giả sử mẫu x có giá trị thuộc tính là < a1(x), a2(x),…, an(x) >. Để xác định các mẫu


giống x, cần có độ đo khoảng cách giữa các mẫu. Do mẫu tương ứng với điểm trong không
gian, khoảng cách Ơ clit thường được dùng cho mục đích này. Khoảng cách Ơ clit giữa hai
mẫu xi và xj được tính như sau:
d (xi, xj) = ∑ln=1(al (xi ) − al (x j ))2
Với khoảng cách d (xi, xj) vừa được định nghĩa, phương pháp k-NN cho hai trường
hợp:

phân loại và hồi quy (regression) được thực hiện như sau.
Phân loại
Mỗi mẫu x có thể nhãn phân loại f(x) với f(x) nhận một giá trị trong tập hữu hạn các
phân loại C. Thuật toán k-NN cho phân loại được cho trên hình 5.5.
Giai đoạn học (huấn luyện)
Lưu các mẫu huấn luyện có dạng <x, f(x)> vào cơ sở dữ liệu
Giai đoạn
phân loại Đầu
vào:tham số k
Với mẫu x cần phân loại:
1. Tính khoảng cách d (x, xi) từ x tới tất cả mẫu xi trong cơ sở dữ liệu
2. Tìm k mẫu có d (x, xi) nhỏ nhất, giả sử k mẫu đó là x1, x2, …, xk.
3. Xác định nhãn phân loại f’(x) là nhãn chiếm đa số trong tập { x1, x2,
…, xk.}
Hình 5.5. Thuật toán k-NN cho bài toán phân loại
Thuật toán k-NN có một tham số đầu vào là k: số hàng xóm được dùng để quyết
định nhãn cho mẫu đang xét. Nếu k = 1, giá trị hàm f ’(x) được chọn bằng giá trị hàm f
của mẫu gần nhất. Thông thường k = 1 không cho kết quả tốt do hàng xóm gần nhất có
ảnh hưởng quyết định tới giá trị f ’(x). Trong trường hợp hàng xóm gần nhất là nhiễu sẽ
khiến kết quả bị sai. Nhiều nghiên cứu cho thấy giá trị k trong khoảng từ 5 đến 10 là phù
hợp. Để xác định giá trị cụ thể của k có thể sử dụng phương pháp kiểm tra chéo như đã
trình bày ở phần tỉa cây. Giá trị k cho độ chính xác khi kiểm tra chéo tốt nhất sẽ được lựa
chọn cho thuật toán.
Một số lưu ý với thuật toán k-NN


a) Các độ đo khoảng cách và độ tương tự
Khoảng cách Ơ clit là độ đo thông dụng để tính khoảng cách giữa các ví dụ. Bên cạnh
đó có thể sử dụng những độ đo khác.
-


Khoảng cách Mahalanobis. Khoảng cách Mahalanobis cho phép tính độ
tương quan giữa các thuộc tính và được sử dụng trong trường hợp các
thuộc tính được biểu diễn theo những thang khác nhau, chẳng hạn khi hai
thuộc tính là chiều cao và cân nặng. Trong trường hợp đó, khoảng cách
Mahalanobis cho phép chuẩn hóa khoảng cách, cân bằng đóng góp của
hai thuộc tính.

-

Khoảng cách Hamming. Khoảng cách Ơ clit không thể sử dụng được nếu
thuộc tính nhận giá trị rời rạc. Trong trường hợp này có thế sử dụng
khoảng cách Hamming, được tính bằng số thuộc tính có giá trị khác nhau.

Trong trường hợp này, mẫu số là tổng trọng số và cho phép chuẩn hóa độ đóng góp
của từng hàng xóm.
Với việc sử dụng trọng số, có thể không cần giới hạn số lượng hàng xóm do những ví
dụ ở càng xa sẽ có ảnh hưởng càng nhỏ tới giá trị hàm đích của ví dụ mới. Tuy nhiên, việc
không giới hạn số lượng hàng xóm đòi hỏi tính toán nhiều và do vậy tốc độ của thuật toán
sẽ bị ảnh hưởng.
c) Ảnh hưởng của thuộc tính tới thuật toán
Để tính khoảng cách, k-NN sử dụng toàn bộ thuộc tính của ví dụ, bất kể thuộc tính
có liên quan tới nhãn phân loại của ví dụ hay không. Đây là điểm khác với phương pháp
học cây quyết định, trong đó chỉ những thuộc tính liên quan được chọn trên các nút, hay
phương pháp Bayes đơn giản, trong đó chỉ những thuộc tính liên quan mới có xác suất
điều kiện cao. Nếu dữ liệu bao gồm cả những thuộc tính không liên quan tới nhãn phân
loại, những thuộc tính này sẽ ảnh hưởng tới khoảng cách. Ví dụ, giả sử dữ liệu có 100
thuộc tính, trong đó chỉ có 2 thuộc tính có ảnh hưởng tới nhãn phân loại. Khi đó những ví
dụ có hai thuộc tính này giống nhau vẫn có thể nằm rất xa nhau trong không gian 100
chiều.

Ảnh hưởng của số lượng thuộc tính lớn và không liên quan làm giảm đáng kể độ chính
xác của k-NN. Để giải quyết vấn đề này có thể sử dụng hai phương pháp:

-

Đánh trọng số cho thuộc tính sao cho thuộc tính ít liên quan có trọng số nhỏ và ngược lại.

-

Lựa chọn thuộc tính (hay còn gọi là trích chọn đặc trưng): chỉ những thuộc tính liên quan
được giữ lại, trong khi những thuộc tính không liên quan bị bỏ đi. Đây là trường hợp riêng


phương pháp đánh trọng số cho thuộc tính, trong đó những thuộc tính bị loại có trọng số
bằng không.
Có rất nhiều nghiên cứu đề cập tới việc lựa chọn và đánh trọng số cho thuộc tính. Do
giới hạn của môn học, các nội dung này sẽ không được đề cập tới ở đây.
b)Thuật toán
c)Lời giải
d) Kết luận
2.2.3. Thuật toán cây quyết định (sửa ,đánh lại theo tài liệu dưới đây)
Khái niệm cây quyết định
Cây quyết định là một cấu
ết trúc ra quy định có dạng cây. Cây quyết định nhận
đầu vào là một bộ giá trị thuộc
tính mô tả một đối tượng hay một tình huống và trả
về một giá trị rời rạc. Mỗi bộ thuộc tính đầu vào được gọi là một mẫu hay một ví dụ, đầu ra gọi
là loại hay nhãn phân loại. Thuộc tính đầu vào còn được gọi là đặc trưng và có thể nhận giá trị
rời rạc hoặc liên tục. Để cho đơn giản, trước tiên ta sẽ xem xét thuộc tính rời rạc, sau đó sẽ mở
rộng cho trường hợp thuộc tính nhận giá trị liên tục.

Trong các trình bày tiếp theo, tập thuộc tính đầu vào được cho dưới dạng véc tơ x, nhãn
phân loại đầu ra được ký hiệu là y, cây quyết định là hàm f(x) trả lại giá trị y.
Cây quyết định được biểu diễn dưới dạng một cấu trúc cây (xem ví dụ trên hình 5.2). Mỗi
nút trung gian, tức là nút không phải nút lá, tương ứng với phép kiểm tra một thuộc tính. Mỗi
nhánh phía dưới của nút đó tương ứng với một giá trị của thuộc tính hay một kết quả của phép
thử. Khác với nút trung gian, nút lá không chứa thuộc tính mà chứa nhãn phân loại.
Để xác định nhãn phân loại cho một ví dụ nào đó, ta cho ví dụ chuyển động từ gốc cây về
phía nút lá. Tại mỗi nút, thuộc tính tương ứng với nút được kiểm tra, tùy theo giá trị của thuộc
tính đó mà ví dụ được chuyển xuống nhánh tương ứng bên dưới. Quá trình này lặp lại cho đến
khi ví dụ tới được nút lá và được nhận nhãn phân loại là nhãn của nút lá tương ứng.
Xét ví dụ cây quyết định trên hình 5.2. Cây quyết định cho phép xác định (phân loại) các
buổi sáng thành có (phù hợp) và không (phù hợp) cho việc chơi tennis tùy theo thời tiết trong ngày
đó. Thời tiết mỗi ngày được mô tả thông qua bốn thuộc tính: Trời, Độ ẩm, Nhiệt độ, Gió. Dữ liệu
thời tiết cho một số ngày được cho trong bảng 5.1.

∨ (Trời = u_ám)
∨ (Trời = mưa ^ Gió = yếu)
a) Bài toán và cơ sở dữ liệu thời tiết



Ng
ày

Trời

Nhiệt độ

D1


nắng

cao

cao

yếu

không

D2

nắng

cao

cao

mạn
h

không

D3

u ám

cao

cao


yếu



D4

mưa

trung bình

cao

yếu



yếu



bình thường

mạn
h

không


bình thường


mạn
h

cao

yếu

không

thấp
D5

D6

mưa

mưa

thấp

Độ ẩm

bình thường

D7
u ám

thấp
trung bình


Gió

Chơi tennis

D8

nắng

D9

nắng

thấp

bình thường

yếu



D10

mưa

trung bình

bình thường

yếu




D11

nắng

trung bình

bình thường

mạn
h



D12

u ám

trung bình

cao

mạn
h



D13


u ám

cao

bình thường

yếu




mạn
không
h
loại. Đối với dữ liệu đang xét, nhãn phân loại là nhãn nhị phân, có thể nhận một trong hai
giá trị “có” hoặc “không”.
D14

mưa

trung bình

cao

Table 5.1. Bộ dữ liệu huấn luyện cho bài toán phân loại “Chơi tennis”.

b)Thuật toán
5.2.2. Thuật toán học cây quyết định
Trước khi sử dụng cây quyết định, ta cần xây dựng hay “học” cây quyết định từ dữ liệu

huấn luyện. Có nhiều thuật toán khác nhau được đề xuất và sử dụng để học cây quyết định từ dữ
liệu, trong đó đa số dựa trên nguyên tắc chung là xây dựng cây theo kiểu tìm kiếm tham lam từ
cây đơn giản tới cây phức tạp hơn. Phần này sẽ giới thiệu thuật toán học cây ID3, một thuật toán
đơn giản nhưng có tính đại diện cho cách xây dựng cây như vậy.

Dữ liệu huấn luyện
Dữ liệu huấn luyện được cho dưới dạng n mẫu hay n ví dụ huấn luyện, mỗi ví dụ có dạng
(xi, yi), trong đó xi là véc tơ các thuộc tính và yi là giá trị nhãn phân loại. Để trình bày về thuật
toán học cây quyết định, ta sẽ sử dụng bộ dữ liệu huấn luyện cho trong bảng 5.1 với 14 ví dụ
tương ứng với 14 dòng. Cột đầu tiên trong bảng chứa số thứ tự và không tham gia vào cây quyết
định. Bốn cột tiếp theo chứa giá trị bốn thuộc tính. Cột ngoài cùng bên phải chứa nhãn phân

Thuật toán học cây
Nhiệm vụ của thuật toán học là xây dựng cây quyết định phù hợp với tập dữ liệu huấn luyện, tức
là cây quyết định có đầu ra giống (nhiều nhất) với nhãn phân loại cho trong tập mẫu. Trong
trường hợp số thuộc tính nhỏ, việc xây dựng cây quyết định như vậy có thể thực hiện bằng cách
liệt kê tất các cây quyết định hợp lệ và kiểm tra để chọn ra cây phù hợp với dữ liệu. Với số lượng
thuộc tính lớn, số cây quyết định như vậy là rất lớn và không thể tìm kiếm theo kiểu vét cạn như
vậy. Do đó, thuật toán học cây thường dựa trên nguyên tắc tham lam, xây dựng dần các nút từ
trên xuống.

Quá trình xây dựng cây: Để bắt đầu, thuật toán học lựa chọn thuộc tính cho nút gốc.
Thuộc tính được lựa chọn là thuộc tính cho phép phân chia tốt nhất các ví dụ thành những tập
con, sao cho mỗi tập con càng đồng nhất càng tốt. Ở đây, đồng nhất được hiểu là các ví dụ có
cùng nhãn phân loại. Sau khi lựa chọn được thuộc tính cho nút gốc, tập dữ liệu ban đầu sẽ được
chia xuống các nhánh con do kết quả phép kiểm tra thuộc tính ở gốc. Với mỗi tập con dữ liệu, ta


×