Lời nói đầuVới việc phát triển và phân bố ngày càng rộng rãi của các công ty, xínghiệp, dữ liệu là rất lớn và vẫn chưa khác thác hết để tìm thấy những tính chất,quy luật, điểm mạnh và đi
Trang 1BÁO CÁO THU HOẠCH MÔN HỌC
KHAI PHÁ DỮ LIỆU
Đề tài: Các kỹ thuật trong khai phá dữ
liệu và các chương trình demo
Giáo viên hướng dẫn: PGS.TS Đỗ Phúc Sinh viên thực hiện: Du Chí Hào
Mã số sinh viên: CH1101083
Tp HCM 2012
Trang 2Lời nói đầu
Với việc phát triển và phân bố ngày càng rộng rãi của các công ty, xínghiệp, dữ liệu là rất lớn và vẫn chưa khác thác hết để tìm thấy những tính chất,quy luật, điểm mạnh và điểm yếu Do đó, việc khai thác dữ liệu đóng vai trò rấtlớn hiện nay trong việc tìm kiếm, khám phá các tri thức mới và các tri thức ởdạng tiềm năng trong các nguồn dữ liệu đã có
Trong bài thu hoạch chuyên đề này sẽ giới thiệu về ba kỹ thuật trongkhai phá dữ liệu gồm luật kết hợp, phân lớp dữ liệu và gom cụm dữ liệu Dựavào những kỹ thuật đó, em đã xây dựng các chương trình demo kèm theo bàithu hoạch này để mô tả thực tế về cách thức hoạt động của việc khai phá dữ liệubao gồm các bài toán sau:
Tìm tập phổ biến và tập phổ biến tối đại, từ đó rút trích ra các luật kếthợp
Phân lớp Bayes dựa trên các mẫu chưa gặp
Rút gọn lớp tương đương
Dựa trên thuật toán rút gọn lớp tương đương để tìm độ chính xác xấp
xỉ của tất cả các phân hoạch
Rút gọn ma trận phân biệt và rút gọn hàm phân biệt
Gom cụm dữ liệu dựa trên thuật toán K-Means
Theo đó, em có thể ứng dụng vào các công việc thực tiễn
Em xin chân thành cám ơn thầy PGS.TS Đỗ Phúc đã truyền đạt nhữngkiến thức quý báu cho em về bộ môn “Khai phá dữ liệu” để em có thể hoànthành bài thu hoạch này
Trang 3Mục lục
PHẦN I : TỔNG QUAN 4
I Khai phá dữ liệu 4
II Các công đoạn khám phá tri thức từ CSDL 6
1 Chuẩn bị dữ liệu: 6
2 Khai phá dữ liệu 7
3 Trình diễn dữ liệu 7
III Khái quát các kỹ thuật KPDL 7
1 Khai thác tập phổ biến và luật kết hợp 7
2 Phân lớp dữ liệu 7
3 Khai thác cụm 7
PHẦN II : TẬP PHỔ BIẾN VÀ LUẬT KẾT HỢP 8
I Mở đầu 8
II Bài toán khai thác tập phổ biến 8
1 Các khái niệm cơ bản 8
2 Thuật toán tìm tập phổ biến 9
3 Tập phổ biến tối đại 11
4 Bài toán tìm luật kết hợp 11
PHẦN III : PHÂN LỚP DỮ LIỆU 12
I Mở đầu 12
1 Xây dựng mô hình: 12
2 Vận hành mô hình: 12
3 Các phương pháp phân lớp: 13
II Phân lớp quy nạp trên cây quyết định 13
III Bộ phân lớp Bayes 15
1 Định lý Bayes 15
2 Phân lớp Bayes 15
PHẦN IV : LÝ THUYẾT TẬP THÔ 18
I Mở đầu 18
II Các hệ thông tin 18
1 Hệ thông tin 18
2 Hệ quyết định 18
III Quan hệ bất khả phân biệt 19
IV Xấp xỉ tập hợp 19
V Rút gọn 20
PHẦN V : GOM CỤM DỮ LIỆU 21
I Mở đầu 21
II Thuật toán gom cụm k-means 22
1 Giới thiệu 22
2 Thuật toán k-means 22
3 Ưu và nhược điểm của thuật toán 23
PHẦN VI : CHƯƠNG TRÌNH DEMO KHAI PHÁ DỮ LIỆU 24
I Mở đầu 24
II Demo luật kết hợp 26
III Demo phân lớp Bayes 28
IV Demo rút gọn lớp tương đương 31
Trang 4V Demo độ chính xác xấp xỉ 32
VI Demo rút gọn ma trận phân biệt 34
VII Demo thuật toán k-means 35
PHẦN VII : KẾT LUẬN 39
PHẦN VIII : TÀI LIỆU THAM KHẢO 40
Trang 5PHẦN I : TỔNG QUAN
I Khai phá dữ liệu
Khai phá dữ liệu – Data Mining (KPDL) là tiến trình khám phá tri thứctiềm ẩn trong các CSDL Cụ thể hơn, đó là tiến trình trích lọc, sản sinh nhữngtri thức hoặc các mẫu tiềm ẩn, chưa biết nhưng hữu ích từ các CSDL lớn
KPDL là tiến trình khai thác các sự kiện rời rạc trong dữ liệu thành cáctri thức mang tính khái quát, tính quy luật hỗ trợ tích cực cho các tiến trình raquyết định
Có thể chia khai phá dữ liệu thành hai dạng chính: khai phá dữ liệu theohướng kiểm tra va khai phá dữ liệu theo hướng khám phá Trong khai phá dữliệu theo hướng kiểm tra, người dùng đề xuất giả thiết, hệ thống kiểm tra tínhđúng đắn của giả thiết Khai phá dữ liệu theo hướng kiểm tra bao gồm: truy vấn,báo cáo, phân tích đa chiều, phân tích thống kê… Ngược lại, khai phá dữ liệutheo hướng khám phá sẽ tìm kiếm các tri thức tiềm ẩn trong CSDL bằng cáchtiến hành xem xét tất cả các giả thiết khả dĩ Do không gian tìm kiếm lớn, nênrất nhiều heuristic đã được đề xuất nhằm nâng cao hiệu suất của các giải thuậttìm kiếm
Tri thức được rút ra có thể được dùng để:
Giải thích dữ liệu:
Cung cấp sự hiểu biết sâu sắc và rất hữu ích về hành vi của các đốitượng, giúp cho các doanh nghiệp hiểu rõ hơn những khách hàng củahọ
Dự báo: dự đoán giá trị của những đối tượng mới.
Khuynh hướng mua hàng của khách hàng
Xác định rủi ro tín dụng đối với một khách hàng
Định hướng tập trung nguồn lực của doanh nghiệp
KPDL là một công đoạn trong tiến trình lớn hơn là khám phá tri thức từCSDL KPDL mang tính trực giác, cho phép thu được những hiểu biết rõ ràng
và sâu sắc hơn, vượt xa kho dữ liệu Kho dữ liệu điển hình trong những doanhnghiệp cho phép người dùng hỏi và trả lời những câu hỏi như “Doanh số bán ra
là bao nhiêu tính theo khu vực, theo nhân viên bán hàng trong khoảng thời giannào đó?” Trong khi đó, KPDL cho phép người ra quyết định kinh doanh hỏi vàtrả lời cho những câu hỏi như: “Ai là khách hàng chính yếu của công ty đối vớimột mặt hàng cụ thể?” hoặc “Dòng sản phẩm nào sẽ bán trong khu vực này và
ai sẽ mua chúng?” Vị trí của KPDL được thể hiện qua sơ đồ:
Trang 6KPDL là cần thiết đối với người dùng vì những lý do sau:
Ngày càng có nhiều dữ liệu được lưu trữ trong các CSDL, kho dữliệu và hình thành “một mỏ vàng dữ liệu” chứa đầy các thông tinchiến lược mà các hệ quản trị CSDL thông thường không thể pháthiển và quản trị được chúng
CSDL phát triển rất nhanh cả về kích thước lẫn số lượng Không xétnhững thông tin mang tính sự kiện được lưu trữ trong CSDL, nhữngthông tin được suy diễn từ nó cũng hết sức lý thú Tuy nhiên, với cácquan hệ có số lượng khổng lồ, các bản ghi và có quá nhiều trường tin,việc duyệt hàng triệu bản ghi hay hàng trăm trường tin để tìm ra cácmẫu và các quy luật là một thách thức và trở ngại thật sự đối với cácnhà phân tích dữ liệu
Không phải người nào cũng là nhà thống kê hay nhà phân tích dữ liệuchuyên nghiệp
Sử dụng cho các trường hợp tìm kiếm nhưng chưa xác lập rõ hoặcchưa mô tả được các điều kiện tìm kiếm Nếu người dùng biết họđang tìm kiếm gì thì dùng SQL, nhưng nếu người dùng chỉ có một ýtưởng không rõ rang, hoặc một cảm nhận nào đó thì họ không nêndùng KPDL
KPDL là một công cụ hiệu quả trong các lĩnh vực:
Sử dụng dữ liệu để xây dựng các mô hình dự báo:
Khả năng dự báo tiềm ẩn trong dữ liệu
Gợi ý các chiều và các nhóm dữ liệu có khả năng chứa các tri thứchữu ích
Tạo tóm tắt và báo cáo rõ ràng:
Tự động tìm những phân đoạn trong dữ liệu
Trang 7 Tìm ra những phân đoạn mà nhà phân tích chưa biết hoặc có hiểu biếtchưa rõ ràng.
Cung cấp cơ chế hỗ trợ ra quyết định:
Dự báo
Mô hình hóa
II Các công đoạn khám phá tri thức từ CSDL
Tiến trình khám phá tri thức từ CSDL bao gồm ba công đoạn:
1 Chuẩn bị dữ liệu:
Chọn lọc dữ liệu:
Đây là giai đoạn chọn lọc, rút trích các dữ liệu cần thiết từ CSDL tácnghiệp vào một CSDL riêng Chúng ta chỉ chọn ra những dữ liệu cần thiết chocác giai đoạn sau Tuy nhiên, công việc thu gom dữ liệu vào một CSDL thườngrất khó khăn vì dữ liệu nằm rải rác khắp nơi trong cơ quan, tổ chức cùng mộtloại thông tin, nhưng được tạo lập theo các dạng thứ khác nhau, chất lượng dữliệu các nơi cũng không giống nhau
Làm sạch dữ liệu:
Chống trùng lặp: Dạng lỗi thứ nhất khá quan trọng trong thao tác
xóa bỏ dữ liệu đó là xóa bỏ thông tin trùng các các bản ghi Thao tácnày diễn ra khi có những thông tin bị trùng do có sai sót trong phầnnhập dữ liệu, hoặc thông tin không được cập nhật kịp thời hoặc thôngtin được cung cấp bị sai
Giới hạn vùng giá trị: Dạng lỗi thứ hai thường hay xãy ra là giá trị
nằm ngoài miền giá trị cho phép, nghĩa là các thông tin chứa các giátrị không hợp lệ theo một quy tắc nào đó Dạng lỗi này gây tác hạikhá lớn vì rất khó phát hiện ra nó, nhưng lại ảnh hưởng lớn đến dạngthức của các mẫu cần tìm khi thực hiện KPDL trên các bảng dữ liệunày
Trang 8 Phân vùng: với dữ liệu là giá trị chuỗi, nằm trong tập các chuỗi cốđịnh.
Biến đổi giá trị năm thành con số nguyên là số năm đã trôi qua so vớinăm hiện hành
Chia giá trị số theo một hệ số để tập các giá trị nằm trong vùng nhỏhơn
Chuyển đổi yes-no thành 0-1
có thể được thực hiện hoàn toàn thủ công
III Khái quát các kỹ thuật KPDL
1. Khai thác tập phổ biến và luật kết hợp
Là tiến trình khám phá các tập giá trị thuộc tính xuất hiện phổ biến trongcác đối tượng dữ liệu Từ tập phổ biến có thể tạo ra các luật kết hợp giữa các giátrị thuộc tính nhằm phản ánh khả năng xuất hiện đồng thời các giá trị thuộc tínhtrong tập các đối tượng Một luật kết hợp X Y phản ánh sự xuất hiện của tập
X dẫn đến sự xuất hiện đồng thời tập Y
4 Phân lớp dữ liệu
Là tiến trình khám phá các luật phân loại hay đặc trưng cho các tập dữliệu đã được xếp lớp Tập dữ liệu học bao gồm tập đối tượng đã được xác địnhlớp sẽ được dùng để tạo mô hình phân lớp dựa trên đặc trưng của đối tượngtrong tập dữ liệu học Các luật phân lớp được sử dụng để xây dựng bộ phân lớp
dữ liệu Phân lớp dữ liệu có vai trò quan trọng trong tiến trình dự báo cáckhuynh hướng, quy luật phát triển
5 Khai thác cụm
Là tiến trình nhận diện các cụm tiềm ẩn trong tập các đối tượng chưađược xếp lớp Tiến trình khai thác cụm dựa trên mức độ tương tự giữa các đốitượng Các đối tượng được gom cụm sao cho mức độ tương tự giữa các đốitượng trong cùng một cụm là cực đại và mức độ tương tự giữa các đối tượngnằm trong các cụm khác nhau là cực tiểu Các cụm được đặc trưng bằng cáctính chất chung của tất cả các đối tượng trong cụm Do vậy, khao sát các cụm sẽgiúp khái quát, tổng kết nhanh chóng nội dung của khối dữ liệu lớn
Trang 9PHẦN II : TẬP PHỔ BIẾN VÀ LUẬT KẾT HỢP
I Mở đầu
Các công ty bán lẻ hiện nay phải lưu một số lượng dữ liệu bán hàngkhổng lồ Một bản ghi trong CSDL này phải chứa các thông tin về ngày muabán, hàng mua bán Từ CSDL bán hàng, chúng ta có thể tìm ra các mối quan
hệ giữa các cặp thuộc tính - giá trị thuộc tính Một luật kết hợp tiêu biểu:
Có 78% khách hàng mua sữa hộp Vinamilk thì mua trà Lipton.
Các công ty thành công thường tìm kiếm những luật như vậy để biếtđược xu hướng của thị trường, từ đó đưa ra những chương trình và chiến lượcnhập hàng, bố trí mặt hàng cho phù hợp
IV Bài toán khai thác tập phổ biến
1 Các khái niệm cơ bản
Cho tập O là tập hữu hạn khác rỗng các hóa đơn và I là tập hữu hạn khácrỗng các mặt hàng, R là một quan hệ hai ngôi O và I sao cho với o O và i I,(o, i) R hóa đơn o có chứa mặt hàng i Ngữ cảnh KPDL là bộ ba (O, I, R)
Ma trận ngữ cảnh KPDL:
Quan hệ hai ngôi R được biểu diễn bằng một ma trận nhị phân trong đódòng thứ i ứng với hóa đơn oi và cột thứ j ứng với mặt hàng ij Ma trận này đượcgọi là ma trận biểu diễn ngữ cảnh KPDL
SP(S) = |(S)| / |O|
với |.| là lực lượng của tập hợp
Cho S I và minsupp (0,1] là ngưỡng phổ biến tối thiểu, S là một tậpphổ biến theo ngưỡng minsupp nếu và chỉ nếu SP(S) ≥ minsupp
Ký hiệu FS(O, I, R, minsupp) là tập hợp các tập phổ biến theo ngưỡngminsupp hay FS(O, I, R, minsupp) = { S P(I) | SP(S) ≥ minsupp }
Trang 10Dàn các tập mặt hàng:
Cho (O,I,R), xét P(I) là tập các tập hợp con của tập mặt hàng I và quan
hệ thứ tự "", thì (P(I), ) là một dàn, Do I là tập mặt hàng nên dàn (P(I), )được gọi là dàn các tập mặt hàng Dàn (P(I), ) xác định không gian tìm kiếmlời giải của bài toán
Hình 1.1: Vi dụ về dàn các tập mặt hàng
2 Thuật toán tìm tập phổ biến
Tập phổ biến được tìm dựa trên các tập phần tử có độ support tối thiểu.Thuật toán Apriori dựa trên nguyên tắc "Những tập con của tập phổ biến cũng
là tập phổ biến", ví dụ như nếu {AB} là một tập phổ biến thì cả {A} và {B} đều
là những tập phổ biến
Thuật toán Apriori:
Bước kết hợp: Ck được tạo bằng cách kết Lk-1 với chính nó Bước rút gọn: Những tập kích thước (k-1) không phổ biến không thể là
tập con của tập phổ biến kích thước k
Mã giả:
Ck: Tập ứng viên có kích thước k; Lk : Tập phổ biến có kích thước k L1 = {các phần tử phổ biến};
for (k = 1; Lk !=Æ; k++) do begin Ck+1 = {các ứng viên được tạo từ Lk };
for each giao tác t trong database do Tăng số đếm của tất cả các ứng viên trong Ck+1
mà được chứa trong t
Lk+1 = {các ứng viên trong Ck+1 có độ ủng hộ tối tiểu} end
return Èk Lk;
Trang 11Ví dụ minh họa cho thuật toán:
Cho ngữ cảnh KPDL (O, I, R) trong bảng 1.1 và minsupp = 0,4 Cácbước thực hiện thuật toán như sau:
F1 = { {i1}, {i2}, {i3}, {i4} }
{i1}, v({i1}) = (1,0,0,1,0)SP({i1}) = SPV(v({i1})) = 2/5 = 0,4 Tập phổ biến
{i2}, v({i2}) = (1,1,1,1,0)SP({i2}) = SPV(v({i2})) = 4/5 = 0,8 Tập phổ biến
{i3}, v({i3}) = (1,1,1,1,1)SP({i3}) = SPV(v({i3})) = 4/5 = 1,0 Tập phổ biến
{i4}, v({i4}) = (0,1,1,0,1)SP({i4}) = SPV(v({i4})) = 3/5 = 0,6 Tập phổ biến
F2 = { {i1, i2}, {i1, i3}, {i2, i3}, {i2, i4}, {i3, i4} }
{i1, i2}, v({i1, i2}) = (1,0,0,1,0)SP({i1,i2}) = SPV(v({i1, i2})) = 2/5 = 0,4 Tập phổ biến
{i1, i3}, v({i1, i3}) = (1,0,0,1,0)SP({i1,i3}) = SPV(v({i1, i3})) = 2/5 = 0,4 Tập phổ biến
{i1, i4}, v({i1, i4}) = (0,0,0,0,0)SP({i1,i4}) = SPV(v({i1, i4})) = 0/5 = 0,0 Không phải tập phổ biến
{i2, i3}, v({i2, i3}) = (1,1,1,1,0)SP({i2,i3}) = SPV(v({i2, i3})) = 4/5 = 0,8 Tập phổ biến
{i2, i4}, v({i2, i4}) = (1,1,1,0,0)SP({i2,i4}) = SPV(v({i2, i4})) = 2/5 = 0,4 Tập phổ biến
{i3, i4}, v({i3, i4}) = (0,1,1,0,1)SP({i3,i4}) = SPV(v({i3, i4})) = 3/5 = 0,6 Tập phổ biến
F3 = { {i1, i2, i3}, {i2, i3, i4} }
{i1, i2, i3}, v({i1, i2, i3}) = (1,0,0,1,0)SP({i1,i2, i3}) = SPV(v({i1, i2, i3})) = 2/5 = 0,4 Tập phổ biến
{i1, i2, i4}, v({i1, i2, i4}) = (0,0,0,0,0)SP({i1,i2, i4}) = SPV(v({i1, i2, i4})) = 0/5 = 0,0 Không phải tập phổbiến
{i1, i3, i4}, v({i1, i3, i4}) = (0,0,0,0,0)SP({i1,i3, i4}) = SPV(v({i1, i3, i4})) = 0/5 = 0,0 Không phải tập phổbiến
{i2, i3, i4}, v({i2, i3, i4}) = (0,1,1,0,0)SP({i2,i3, i4}) = SPV(v({i2, i3, i4})) = 2/5 = 0,4 Tập phổ biến
F4 = { {i1, i2, i3, i4 }
{i1, i2, i3, i4}, v({i1, i2, i3,i4}) = (0,0,0,0,0)SP({i1,i2, i3,i4}) = SPV(v({i1, i2, i3, i4})) = 0/5 = 0,0 Không phải tậpphổ biến
Kết thúc thuật toán Kết quả FS(O,I,R, minsupp) = { {i1}, {i2}, {i3},
{i4}, {i1, i2}, {i1, i3}, {i2, i3}, {i2, i4}, {i3, i4}, {i1, i2, i3}, {i2, i3, i4} }
Trang 123 Tập phổ biến tối đại
Cho M FS(O,I,R, minsupp), M được gọi là tập phổ biến tối đại nếukhông tồn tại S FS(O,I,R, minsupp) M ≠ S, M S
Ký hiệu MS(O,I,R,minsupp) là tập hợp các tập phổ tối đại của ngữ cảnhKPDL (O,I,R) theo ngưỡng minsupp
Ví dụ: Với ngữ cảnh KPDL theo bảng 1.1 và ngưỡng phổ biến tối thiểuminsupp = 0,4 sẽ có các tập phổ biến tối đại {i1, i2, i3} và {i2, i3, i4}
4 Bài toán tìm luật kết hợp
CF(X Y) = SP(S) / SP(X)
Mã giả tìm luật kết hợp
for mỗi tập phổ biến l
tạo tất cả các tập con khác rỗng s of l
for mỗi tập con khác rỗng s of l
cho ra luật "s Þ (l-s)" nếu support(l)/support(s) ³
min_conf", trong đó min_conf là ngưỡng độ tin cậy tối thiểu.
Trang 13PHẦN III : PHÂN LỚP DỮ LIỆU
I Mở đầu
Phân lớp dữ liệu là xếp đố tượng dữ liệu vào một trong các lớp đã đượcxác định trước Phân lớp dữ liệu gồm hai bước là xây dựng mô hình và vậnhành mô hình
1 Xây dựng mô hình:
Nhằm mục tiêu mô tả một tập những lớp đã được định nghĩa trước trong
đó mỗi bộ hoặc mẫu sẽ được gán về một lớp đã xác định trước bởi thuộc tínhnhãn lớp 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 (dưới đây sẽ gọi tắt là tập học) Mô hình được biểu diễn dưới dạng luậtphân lớp, cây quyết định hoặc công thức toán học
2 Vận hành mô hình:
Nhằm mục đích xác định lớp của dữ liệu trong tương lai hoặc phân lớpnhững đối tượng chưa biết Trước khi vận hành mô hình cần đánh giá độ chínhxác của mô hình trong đó các mẫu kiểm tra (đã biết được lớp) được đem so sánhvới kết quả phân lớp của mô hình Lưu ý tập kiểm tra và tập học là hai tập độclập với nhau
Trang 143 Các phương pháp phân lớp:
Phân lớp bằng phương pháp quy nạp dựa trên cây quyết định
Phương pháp phân lớp Bayes
Phân lớp bằng mạng Nơron lan truyền ngược
Phân lớp dựa trên luật kết hợp
Thuật giải di truyền
Tiếp cận tập thô
Sau đây, em sẽ trình bày hai phương pháp phân lớp là phân lớp dựa trêncây quyết định và phân lớp Bayes
V Phân lớp quy nạp trên cây quyết định
Cây quyết định gồm các nút trong biểu diễn giá trị thuộc tính, các nhánhbiểu diễn đầu ra của kiểm tra, nút lá biểu diễn nhãn lớp Cây quyết định đượctạo theo hai giai đoạn là tạo cây và tỉa nhánh
Trong giai đoạn tạo cây lúc bắt đầu tất cả mẫu học đều nằm ở nút gốc,sau đó các mẫu học được phân chia một cách đệ quy dựa trên thuộc tính đượcchọn Bước tỉa nhánh nhằm tìm và xóa những nhánh có phần tử không thể xếpvào lớp nào cả
Bước vận hành nhằm kiểm tra những giá trị thuộc tính của mẫu đối vớicác giá trị trên nhánh của cây quyết định
Thuật toán tạo cây quyết định bao gồm các bước sau:
Bước 1: Cây được xây dựng đệ quy từ trên xuống vào theo cách chia
để trị
Bước 2: Ban đầu tất cả các mẫu học đều nằm ở gốc
Trang 15 Bước 3: Thuộc tính được phân loại (nếu là giá trị liên tục được rời rạchóa)
Bước 4: Các mẫu học được phân chia đệ quy dựa trên thuộc tính chọnlựa
Bước 5: Kiểm tra những thuộc tính được chọn lựa trên heristic hoặcmột tiêu chuẩn thống kê
Điều kiện để dừng phân chia học tập:
Tất cả những mẫu học đối với một nút cho trước đều cùng lớp
Không còn thuộc tính nào để phân chia tiếp
n p+n log2
n
p +n
Giả sử thuộc tính A được chọn để phân hoạch S thành các tập hợp {S1,
S2, , Sv } Nếu S1 chứa pi mẫu của lớp P và ni mẫu của lớp N thì entropy, haythô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âycon Si là:
E( A )=∑
i=1
ν p i+n i p+n I( p i , n i)
Độ lợi thông tin của nhánh A là:
Gain( A )=I( p, n)−E( A )
Thuật toán ID3 là một thuật toán học trên cây quyết định được phát triểnbởi Ross Quinlan (1983) Ý tưởng cơ bản của thuật toán ID3 là tạo cây quyếtđịnh bằng việc sữ dụng cách tìm kiếm từ trên xuống theo tập học Độ lợi thôngtin được sử dụng để chọn thuộc tính có khả năng phân loại tốt nhất
Trang 16VI Bộ phân lớp Bayes
1. Định lý Bayes
Cho X là mẫu dữ liệu chưa biết nhãn lớp, H là giả thuyết ví dụ như mẫu
dữ liệu X thuộc về lớp C Đối với các bài toán phân loại, ta cần xác định P(H|X)
là xác suất xảy ra giả thuyết H trên mẫu dữ liệu X
P(H|X) là xác suất hậu nghiệm của H với điều kiện X Ví dụ, giả sử cácmẫu dữ liệu trong tập hoa quả được mô tả bởi màu sắc và hình dạng của chúng.Giả sử X là đỏ và tròn, H là giả thuyết X là quả táo Thì P(H|X) phản ánh độ tincậy rằng X là một quả táo với việc đã nhìn thấy X là đỏ và tròn Ngược lại, P(H)
là xác suất tiên nghiệm của H Như ví dụ, đây là xác suất một mẫu dữ liệu bất kìcho trước là quả táo bất kể nó trông như thế nào Xác suất hậu nghiệm P(H|X)dựa trên nhiều thông tin (như nền tảng tri thức) hơn xác suất tiên nghiệm P(H),
nó độc lập với X Tương tự như vậy, P(X|H) là xác suất hậu nghiệm của X vớiđiều kiện H Đó là xác suất để X là đỏ và tròn, ta đã biết sự thật là X là một quảtáo P(X) là tiên nghiệm của X Theo ví dụ trên, nó là xác suất để cho một mẫu
dữ liệu từ tập hoa quả là đỏ và tròn
P(X), P(H), P(X|H) được đánh giá từ dữ liệu cho trước Định lý Bayesthực sự có ích bởi nó cung cấp cách thức tính toán xác suất hậu nghiệm P(H|X)
từ P(X), P(H) và P(X|H) Định lý Bayes như sau:
Trong mục tiếp theo ta sẽ xem định lý Bayes được dùng như thế nàotrong phân lớp Bayes
Do vậy cần tìm P(Ci|X) lớn nhất Theo định lý Bayes:
Trang 17P(X) không đổi với mọi lớp, P(Ci)=si/s (si là số lượng các mẫu huấnluyện của lớp Ci và s là tổng số các mẫu huấn luyện), P(X|Ci)P(Ci) 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|Ci) sẽ rấttốn kém Để giảm tính toán khi đánh giá P(X|Ci), giả định của độc lập có điềukiệ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ế,
P(x1|Ci), P(x2|Ci), , P(xn|Ci) được đánh giá từ các mẫu huấn luyện với:
Nếu Ak là xác thực thì P(xk|Ci)=sik/si với sik là số lượng các mẫu huấnluyện của lớp Ci có giá trị xk tại Ak và si là số lượng các mẫu huấnluyện thuộc về Ci
Nếu Ak là giá trị liên tục thì thuộc tính được giả định có phân phốiGaussian Bởi vậy,
với g(xk,μCCi,σCCi) là hàm mật độ (thông thường) Gaussian của thuộc tính
Ak, với μCCi,σCCi đại diện cho các giá trị trung bình và độ lệch chuẩn của thuộctính Ak đối với các mẫu huấn luyện của lớp Ci
Để phân loại một mẫu chưa biết X, với P(X|Ci)P(Ci) được đánh giá cholớp Ci Mẫu X được ấn định vào lớp Ci khi và chỉ khi:
Hay nói cách khác, nó được ấn định tới lớp Ci mà tại đó P(X|Ci)P(Ci) cựcđại
Ví dụ minh họa cho phân lớp Bayes:
Ta có tập huấn luyện "Chơi tennis" theo bảng sau:
Thời tiết Nhiệt độ Độ ẩm Gió Lớp
Trang 18nắng nóng cao không N
= 0.010582
Trang 19 P(X|n)·P(n) = P(mưa|n)·P(nóng|n)·P(cao|n)·P(không|n)·P(n) = 2/5·2/5·4/5·2/5·5/14
Một cách hình thức, hệ thông tin là cặp A = (U, A), trong đó U là tập hữuhạn khác rỗng các đối tượng và A là tập hữu hạn khác rỗng các thuộc tính saocho a: U Va với mỗi thuộc tính a A Tập Va được gọi là tập giá trị của thuộctính a
2 Hệ quyết định
Trong nhiều ứng dụng, ta thấy có một sự phân loại kết quả Đó là sự mô
tả tri thức bởi một thuộc tính đặc trưng phân biệt được gọi là thuộc tính quyếtđịnh Hệ thống này là một hình thức học có giám sát Các hệ thông tin theo loạinày được gọi là các hệ quyết định Một hệ quyết định là một hệ thông tin códạng (U;AÈ{d}) trong đó d không thuộc A là thuộc tính quyết định Các thànhphần thuộc tính của A được gọi là các thuộc tính điều kiện hoặc gọi đơn giản làcác thuộc tính Thuộc tính quyết định có thể có nhiều hơn hai giá trị mặc dùthường gặp là thuộc tính nhị phân
Ví dụ 4.1: Bảng 4.1 là một bảng quyết định đơn giản
Độ tuổi Số buổi Thi đậu
Trang 20x4 31-45 1-25 Cóx5 46-60 26-49 Không
x7 46-60 26-49 Không
VIII Quan hệ bất khả phân biệt
Cho một hệ thông tin S = (U,A), với tập thuộc tính B A có quan hệtương đương ứng INDS(B):
INDS(B) = {(u;v) U2 | a B, a(u) = a(v)}
INDS(B) được gọi là quan hệ bất khả phân biệt theo B Nếu (u, v) INDS(B), thì các đối tượng u và v là không thể phân biệt lẫn nhau qua tập thuộctính B Các lớp tương đương của quan hệ bất khả phân biệt theo B được ký hiệu
Gọi W = {x | Thi đậu(x) = Có}={x1,x4,x6}
A={Độ tuổi, Số buổi} theo bảng 4.1 Ta có vùng xấp xỉ:
BW = {x1, x6}
´BW = {x1, x3, x4, x6}
BNB(X) = {x3, x4} và U - ´BX = {x2, x5, x7}