Hình 1.1 Quá trình khai phá dữ liệuHình 1.2 Mẫu kết quả với nhiệm vụ phân nhóm Hình 1.3 Kiến trúc hệ thống khai phá dữ liệu Hình 1.4 Mô tả cây quyết định cho khái niệm chơi tennis PlayTe
Trang 1LỜI MỞ ĐẦU
CHƯƠNG 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1 Mục tiêu của khai phá dữ liệu
1.2 Các quá trình khai phá dữ liệu
1.3 Các công việc chính của khai phá dữ liệu
1.4 Kiến trúc của hệ thống khai phá dữ liệu
1.5 Các thành phần của giải thuật khai phá dữ liệu
1.6 Các hướng tiếp cận cơ bản và kỹ thuật áp dụng
1.7 Các ứng dụng của khai phá dữ liệu
1.8 Một số phương pháp khai phá dữ liệu phổ biến
1.8.1 Phương pháp quy nạp (induction)
1.8.2 Cây quyết định và luật
1.8.3 Phát hiện các luật kết hợp
1.8.4 Phân nhóm và phân đoạn (Clasterring and Segmentation)
1.8.5 Các phương pháp dựa trên mẫu
1.8.6 Mô hình phụ thuộc dựa trên đồ thị xác xuất
1.8.7 Mô hình học quan hệ
1.8.8 Khai phá dữ liệu văn bản
1.8.9 Mạng nơron
1.8.10 Giải thuật di truyền
1.9 Nhìn nhận và đánh giá chung
CHƯƠNG 2 KHAI PHÁ DỮ LIỆU SỬ DỤNG CÂY QUYẾT ĐỊNH
2.1 Hoạt động của cây quyết định
2.2 Xây dựng cây quyết định
2.2.1 Thuật toán học cây quyết định cơ bản
2.2.2 Lựa chọn thuộc tính phân lớp tốt nhất
2.3 Các vấn đề của cây quyết định
2.4.1 Tránh dữ liệu quá khớp (over-fitting data)
2.4.2 Luật cắt nhánh sau
2.4.3 Kết hợp các thuộc tính có giá trị liên tục
2.4.4 Xử lý các ví dụ học mà thuộc tính không có giá trị
2.4 Ưu và nhược điểm của cây quyết định
2.4.1 Những ưu điểm của phương pháp cây quyết định
2.4.2 Những nhược điểm của cây quyết định
CHƯƠNG 3 THỬ NGHIỆM KHAI PHÁ DỮ LIỆU SỬ DỤNG CÂY QUYẾT ĐỊNH
3.1 Chương trình ứng dụng cây quyết định C4.5
3.2 Sử dụng C4.5 để sinh cây quyết định từ tập dữ liệu huấn luyện
3.3 Sử dụng C4.5Rules để sinh luật từ tập hợp dữ liệu huấn luyện
3.4 Sử dụng C.45 để khai phá dữ liệu phục vụ dịch vụ khách hàng
3.4.1 Ứng dụng phân loại khách hàng cho dịch vụ điện thoại trả trước
KẾT LUẬN
TÀI LIỆU THAM KHẢO
3
Trang 3Hình 1.1 Quá trình khai phá dữ liệu
Hình 1.2 Mẫu kết quả với nhiệm vụ phân nhóm
Hình 1.3 Kiến trúc hệ thống khai phá dữ liệu
Hình 1.4 Mô tả cây quyết định cho khái niệm chơi tennis (PlayTennis)
Hình 2.1 Cây quyết định cho thị trường chứng khoán Luân Đôn
Hình 2.2 Đồ thị biểu diễn Entropy
Hình 2.3 Một cây quyết định cho khái niệm PlayTennis
5
Trang 4LỜI MỞ ĐẦU
Sự bùng nổ thông tin là một yếu tố lớn cho sự phát triển xã hội Cùng với sựphát triển vượt bậc này là yêu cầu đòi hỏi ngày càng cao trong việc xử lý và tìmkiếm thông tin sao cho nhanh và đạt được hiệu quả tối ưu nhất Cùng với sự pháttriển đó, công nghệ phần cứng với bộ xử lý tốc độ cao, ổ cứng, các thiết bị băng từdung lượng lớn song hành cùng với sự phát triển không ngừng của thiết bị viễnthông đã và đang hỗ trợ đắc lực cho công cuộc phát triển thông tin Tâm điểm hiệnnay là các hệ thống khai thác thông tin phục vụ việc tự động hóa trong các lĩnh vựckinh doanh cũng như quản lý trong điều hành ra quyết định Hiện tượng “bùng nổthông tin” và sự ra đời hàng loạt các hệ quản trị cơ sở dữ liệu mạnh với các công cụphong phú và thuận tiện ra đời đã giúp con người khai thác hiệu quả hơn nguồn tàinguyên dữ liệu phức tạp này
Từ sự phát triển với tốc độ kinh ngạc của các HTTT, việc khai phá dữ liệuphục vụ cho các yêu cầu trợ giúp quyết định cao hơn, chính xác và nhanh chónghơn ngày càng nhiều, có ý nghĩa ngày càng quan trọng và là yếu tố quyết định trongmọi lĩnh vực hoạt động kinh doanh và quản lý Những thông tin bổ ích, những “trithức” thông minh và hiệu quả rút ra từ những nguồn dữ liệu phức tạp và rộng lớn đãtrở thành yếu tố sống còn trong các hoạt động thường ngày của từng tổ chức kinhdoanh, quản lý “Khai phá dữ liệu” trở thành trung tâm của hàng loạt các nghiêncứu và thảo luận cực kỳ sôi động nhằm tìm kiếm và khám phá ra được nhiều cáchthức, phương pháp hiệu quả với mong muốn tìm ra được càng ngày càng nhiều cáctri thức mới, quan trọng và bổ ích
Điểm qua tình hình phát triển thông tin những năm gần đây, ta có một loạt cáclĩnh vực nghiên cứu về tổ chức kho dữ liệu (data warehouse, informationwarehouse), các hệ hỗ trợ quyết định (DSS), các phương pháp phát hiện tri thức vàcác phương pháp khai phá dữ liệu (data mining) Xét trên khía cạnh về nhu cầu ởmức trung bình hay trong phạm vi nhỏ hẹp, các kho dữ liệu có thể giúp khai thácthông tin bằng các công cụ truy vấn và báo cáo cũng như được dùng để hỗ trợ phân
Trang 5tích trực tuyến, kiểm định các giả thuyết Tuy nhiên điều người ta thấy thiếu ở đây
là vấn đề tri thức (thông tin thông minh), điều đó có nghĩa là nếu dữ liệu trong cáckho dữ liệu được phân tích một cách thông minh thì chúng sẽ là nguồn tài nguyên
vô giá Việc tự động phân tích tìm kiếm những thông tin tiềm ẩn có giá trị, chưađược phát hiện, những xu hướng phát triển và những yếu tố tác động lên chúng từnhững dữ liệu khổng lồ có sẵn là việc thực hiện quá trình phát hiện tri thức trong cơ
sở dữ liệu (Knowledge Discovery in Database - KDD)
Là sự kết hợp của nhiều thành tựu nghiên cứu trong mọi lĩnh vực của đời sống
xã hội như lý thuyết nhận dạng, hệ chuyên gia, trí tuệ nhân tạo, phát hiện tri thứctrong các CSDL là quá trình tìm ra tri thức tiềm ẩn, không biết trước và tiềm năng
có lợi từ dữ liệu trong các CSDL lớn Bằng cách thức này, KDD có được sự toàndiện và đầy đủ trong cách tìm kiếm và xử lý thông tin một cách tiên tiến và hiệuquả
Với nhiều giai đoạn và nhiều phương pháp cụ thể, KDD được tiến hành theothứ tự và có bổ xung hỗ trợ lẫn nhau Vai trò của KDD được đưa vào hai mảng sauđây:
- Xác định, định nghĩa vấn đề, tìm hiểu lĩnh vực ứng dụng, nhiệm vụ …
- Tinh lọc và tiền xử lý nhằm tìm ra các mẫu, các xu hướng có ý nghĩa từ các tập dữ liệu Chỉ có các mẫu, các xu hướng được xem là đáng quan tâm (xét
theo một khía cạnh nào đó) mới được coi là tri thức và tri thức là có ích khi
nó có thể giúp đạt được mục đích của hệ thống hoặc người dùng
Khai phá dữ liệu (Data mining - DM) được coi như là giai đoạn quan trọng
nhất của KDD Tiến trình KDD bao gồm các bước sau đây:
1. Phân lớp/phân cụm dữ liệu
2. Các luật kết hợp
3. Khai phá chuỗi
4. Đánh giá
Trang 6Phạm Hùng Thế, K10T3 8 Luận văn thạc sĩ
5. Sử dụng các tri thức có được
Luận văn sẽ trình bày khái quát một số vấn đề về phát hiện tri thức, khai phá
dữ liệu và tập trung làm rõ vấn đề khai phá dữ liệu sử dụng kỹ thuật, phương phápcây quyết định để giải các bài toán có nhiệm vụ phân lớp
Luận văn gồm 3 chương:
Chương 1: Tổng quan về khai phá dữ liệu: Giới thiệu tổng quan vềmục tiêu, nhiệm vụ và các quá trình khai phá dữ liệu Nêu khái quátcác vấn đề chính của khai phá dữ liệu, các phương pháp, kỹ thuật khaiphá dữ liệu chính, phổ biến
Chương 2: Khai phá dữ liệu sử dụng cây quyết định: Chương này trìnhbày chi tiết các vấn đề chính yếu của khai phá dữ liệu sử dụng câyquyết định, khái niệm cây quyết định, thuật toán xây dựng cây quyếtđịnh, các giới hạn của việc sử dụng cây quyết định và những giải phápkhắc phục nó
Chương 3: Thử nghiệm khai phá cây quyết định Xây dựng ứng dụng
“Phân lớp khách hàng sử dụng dịch vụ điện thoại đường dài quốc tế trảtrước” dựa trên phần mềm mã nguồn mở C4.5
Trang 7CHƯƠNG 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1 Mục tiêu của khai phá dữ liệu.
Trong những thập kỷ gần đây, các thiết bị lưu trữ thông tin với dung lượng lớnkhông ngừng tăng lên Việc lưu trữ dữ liệu lớn này ngày càng phát triển và bùng nổvới một tốc độ lớn Với tình hình hiện tại, khối lượng thông tin trên toàn cầu được
dự đoán sẽ tăng gấp đôi chỉ sau 2 năm và theo đà đó thì lượng lưu trữ và kích cỡcủa các CSDL cũng tăng lên một cách ồ ạt và nhanh chóng
Trong các lĩnh vực kinh doanh, tuy rằng đang có trong tay một lượng thông tinkhổng lồ nhưng các nhà quản lý vẫn thấy thiếu thông tin nhất là các thông tin cầnthiết và hữu ích Vậy thì phải làm thế nào? Khai thác thông tin tiềm ẩn mang tính dựđoán từ các CSDL lớn là mục tiêu chính của khai phá dữ liệu, sử dụng cách thứcnày được coi là một hướng tiếp cận mới giúp cho các đơn vị, tổ chức chú trọng vàonhững thông tin có nhiều ý nghĩa từ những tập dữ liệu lớn và hữu ích
Những công cụ khai phá dữ liệu có thể dự đoán các xu thế tương lai do đó chophép các tổ chức doanh nghiệp đưa ra được các quyết định kịp thời được địnhhướng bởi tri thức mà khi khai phá dữ liệu đem lại Tính tự động trong phân tích dữliệu khiến nó chiếm ưu thế hơn hẳn so với các phân tích thông thường dựa trên kinhnghiệm hay các sự kiện trong quá khứ của các hệ thống hỗ trợ ra quyết định trướcđây Trên cơ sở đó cũng đồng thời trả lời được nhiều vấn đề trong kinh doanh màtrước đây khó có thể thực thi vì cần rất nhiều thời gian và công sức để xử lý
Với định hướng và mục tiêu chính của khai phá dữ liệu là kết xuất tri thức từ
dữ liệu Do đó ta có thể coi mục đích chính của quá trình khai phá dữ liệu là mô tả(description) và dự đoán (prediction) Các mẫu mà khai phá dữ liệu phát hiện đượcnhằm vào mục đích này
Trang 8Phạm Hùng Thế, K10T3 10 Luận văn thạc sĩ
Dự đoán liên quan đến việc sử dụng các biến hoặc các trường trong cơ sở dữliệu để kết xuất ra các mẫu là các dự đoán những giá trị chưa biết hoặc những giá trịtrong tương lai của các biến đáng quan tâm Mô tả tập trung vào việc tìm kiếm cácmẫu mô tả dữ liệu mà con người có thể hiểu được
1.2 Các quá trình khai phá dữ liệu
Các giải thuật khai phá dữ liệu thường được miêu tả như những chương trìnhhoạt động trực tiếp trên tệp dữ liệu Với các phương pháp học máy và thống kêtrước đây, thông thường thì bước đầu tiên là giải thuật nạp toàn bộ dữ liệu vào trong
bộ nhớ Khi chuyển sang các ứng dụng công nghiệp liên quan đến việc khai phá cáckho dữ liệu lớn mô hình này không đáp ứng được Không chỉ bởi vì nó không thểnạp hết toàn bộ dữ liệu vào trong bộ nhớ mà còn có thể khó kết xuất dữ liệu ra cáctệp đơn giản để phân tích được
Quá trình khai phá dữ liệu được thể hiện qua mô hình sau [3]:
Xác định
nhiệm vụ
Dữ liệu trực tiếp
Hình 1.1 Quá trình khai phá dữ liệu
1. Xác định nhiệm vụ: Xác định chính xác các vấn đề cần giải quyết
2. Xác định các dữ liệu liên quan dùng để xây dựng giải pháp
Trang 9chúng thành dạng sao cho giải thuật khai phá dữ liệu có thể hiểu được Ở đây
Trang 10Phạm Hùng Thế, K10T3 11 Luận văn thạc sĩ
có thể gặp phải một số vấn đề: dữ liệu phải được sao ra nhiều bản (nếu đượcchiết suất vào các tệp), quản lý các tệp dữ liệu, phải lặp đi lặp lại nhiều lầntoàn bộ quá trình (nếu mô hình dữ liệu thay đổi v.v…)
Giải thuật khai phá dữ liệu: Chọn thuật toán khai phá dữ liệu thích hợp và
thực hiện việc khai phá dữ liệu: nhằm tìm được các mẫu (pattern) có ý nghĩa dưới
dạng biểu diễn tương ứng với các ý nghĩa đó.
1.3 Các công việc chính của khai phá dữ liệu
Để đạt được hai mục đích trên, nhiệm vụ chính của khai phá dữ liệu bao gồmnhư sau:
Phân lớp (Classification): Phân lớp là việc học một hàm ánh xạ (hay phân loại) một mẫu dữ liệu vào một trong số các lớp xác định (Hand 1981;
Weiss & Kulikowski 1991; MeLachLan 1992)
Hồi qui (Regression): Hồi qui là việc học một hàm ánh xạ từ một mẫu dữ liệu thành một biến có giá trị thực.
Phân nhóm (Clustering): Là việc mô tả chung để tìm ra các tập xác định các
nhóm hay các loại để mô tả dữ liệu (Titerington, Smith & Makov 1985, Jain
& Dubes 1988) Các nhóm có thể tách riêng hoặc phân cấp hoặc gối lên nhau.
Có nghĩa là dữ liệu vừa thuộc nhóm này lại có thể thuộc nhóm kia Các ứngdụng khai phá dữ liệu có nhiệm vụ phân nhóm như phát hiện tập các kháchhàng có phản ứng giống nhau trong cơ sở dữ liệu tiếp thị
Tóm tắt (Summarization): Liên quan đến các phương pháp tìm kiếm một mô
tả cho một tập con dữ liệu Các kỹ thuật tóm tắt thường được áp dụng cho cácphân tích dữ liệu tương tác có tính thăm dò và tạo báo cáo tự động
Mô hình hóa phụ thuộc (Dependency Modeling): Bao gồm việc tìm kiếm một
mô hình mô tả sự phụ thuộc đáng kể giữa các biến Các mô hình phụ thuộctồn tại dưới hai mức
Trang 11o Mức cấu trúc của mô hình xác định (thường ở dạng đồ họa) các biến nào là phụ thuộc cục bộ vào nhau.
o Mức định lượng của một mô hình xác định độ mạnh của sự phụ thuộc theo một thước đo nào đó
Phát hiện một sự thay đổi và lạc hướng (Change and Deviation Detection):
Tập trung vào khai thác những thay đổi đáng kể nhất trong dữ liệu từ các giátrị chuẩn hoặc được đo trước đó (Berndt & Cliffort; Guyon et al Kloesgen;Mathéu et al., Basseville & Nikiforov 1993)
Các nhiệm vụ trên được áp dụng cho một số loại kiểu dữ liệu điển hình như sau:
1. CSDL quan hệ: Cơ sở dữ liệu tác nghiệp được tổ chức theo mô hình dữliệu quan hệ Hầu hết các hệ quản trị CSDL hiện nay đều hỗ trợ dạng nàynhư MS SQL Server, Oracle, IBM DB2
2. CSDL đa chiều (Multimensional structures, data warehouses, data mart)
là các kho dữ liệu được tập hợp, chọn lọc từ nhiều nguồn dữ liệu khácnhau Dạng dữ liệu này mang tính lịch sử (tức có tính thời gian) và chủyếu phục vụ cho quá trình phân tích cũng như là khai phá tri thức nhằm
hỗ trợ ra quyết định
3. CSDL dạng giao dịch: (Trasactional database): Là dạng CSDL tác nghiệpnhưng các bản ghi thường là các giao dịch Dạng dữ liệu này thường phổbiến trong lĩnh vực thương mại và ngân hàng
4. CSDL quan hệ - hướng đối tượng (Object-relational database): Là dạng CSDL lai giữa 2 mô hình quan hệ và hướng đối tượng
Dữ liệu không gian và thời gian (spatial, temporal and time-series data): làdạng dữ liệu có tích hợp thuộc tính về không gian (ví dụ dữ liệu về bản đồ), dữ liệuthời gian (dữ liệu thị trường chứng khoán…)
Trang 12Phạm Hùng Thế, K10T3 13 Luận văn thạc sĩ
CSDL đa phương tiện (multimedia database): Là dạng dữ liệu âm thanh(audio), hình ảnh (images), phim ảnh (video), text & www … Dạng dữ liệu này hiệnđang rất phổ biến trên Internet do sự ứng dụng rộng rãi của nó
Rõ ràng là ta thấy nhiệm vụ khác nhau này yêu cầu số lượng và các dạngthông tin rất khác nhau nên chúng thường ảnh hưởng đến việc thiết kế và chọn giảithuật khai phá dữ liệu khác nhau
DebtCluster1
Cluster2Income
Hình 1.2 Mẫu kết quả với nhiệm vụ phân nhóm
1.4 Kiến trúc của hệ thống khai phá dữ liệu
Khai phá dữ liệu là một bước lớn trong quá trình phát hiện tri thức từ số lượnglớn dữ liệu đã lưu trữ trong CSDL, kho dữ liệu hoặc các nơi lưu trữ khác Kết quảcủa bước này là những mẫu đáng quan tâm được đưa đến cho người dùng hoặc lưugiữ như là tri thức mới trong cơ sở tri thức
Kiến trúc của hệ thống khai phá dữ liệu có thể có các thành phần chính sau [9]:
1. CSDL, kho dữ liệu hoặc kho lưu trữ khác: đó là một hoặc một tập các CSDL,kho dữ liệu Các kỹ thuật làm sạch dữ liệu và tích hợp dữ liệu có thể thựchiện trên dữ liệu
2. Cơ sở tri thức: đó là lĩnh vực tri thức được dùng để hướng dẫn việc tìm hoặc đánh giá các mẫu kết quả tìm được
Trang 133. Các kỹ nghệ (engine: máy, engineering: kỹ nghệ) khám phá tri thức (data
mining engine): bao gồm tập các chức năng để thực hiện các nhiệm vụ như là
mô tả đặc điểm, kết hợp, phân lớp, phân nhóm dữ liệu
4. Đánh giá mẫu: thành phần này sử dụng các độ đo và tương tác với các mô
đun khai phá dữ liệu để tập trung vào tìm các mẫu cần quan tâm
5. Giao diện đồ họa: xây dựng các mô đun chương trình cho phép giao tiếp giữangười dùng và khai phá dữ liệu.
Giao diện người dùng đồ họa
Đánh giá mẫu
Cơ sở tri thức
Tinh chế dữ liệu Tích hợp dữ liệu
Cơ sở dữ liệu
Hình 1.3 Kiến trúc hệ thống khai phá dữ liệu
1.5 Các thành phần của giải thuật khai phá dữ liệu
Giải thuật khai phá dữ liệu gồm 3 thành phần chính sau: biểu diễn mô hình,
đánh giá mô hình, tìm kiếm mô hình [3]
Biểu diễn mô hình: Mô hình được biểu diễn bằng một ngôn ngữ L để miêu tả
các mẫu có thể khai thác được Nếu sự mô tả bị hạn chế thì sẽ không thể họcđược hoặc sẽ không thể có các mẫu tạo ra được mô hình chính xác cho dữliệu Khả năng mô tả của mô hình càng lớn thì càng làm tăng mức độ
Trang 14Phạm Hùng Thế, K10T3 15 Luận văn thạc sĩ
nguy hiểm do bị học và làm giảm đi khả năng dự đoán các dữ liệu chưabiết Hơn nữa, việc tìm kiếm sẽ càng trở nên phức tạp hơn và việc giảithích mô hình càng khó khăn hơn
Đánh giá mô hình: Đánh giá xem một mẫu có thể đáp ứng được các tiêu
chuẩn của quá trình phát hiện tri thức hay không Việc đánh giá độ chính xác
dự đoán dựa trên đánh giá chéo (cross validation) Đánh giá chất lượng liên
quan đến độ chính xác dự đoán, độ mới, khả năng sử dụng, khả năng hiểuđược mô hình Cả hai chuẩn thống kê và chuẩn logic đều có thể sử dụng đểđánh giá mô hình
Tìm kiếm mô hình: Phương pháp tìm kiếm bao gồm 2 thành phần: Tìm kiếm tham số và Tìm kiếm mô hình.
a. Trong tìm kiếm tham số: Giải thuật cần tìm kiếm các tham số để tối
ưu hóa các tiêu chuẩn đánh giá mô hình với các dữ liệu quan sát được
và với một miêu tả mô hình đã định
b. Trong tìm kiếm mô hình: Tìm kiếm mô hình xảy ra giống như mộtvòng lặp qua phương pháp tìm kiếm tham số; miêu tả mô hình bị thayđổi tạo nên một họ các mô hình Với mỗi miêu tả mô hình, phươngpháp tìm kiếm tham số được áp dụng để đánh giá chất lượng mô hình.Các phương pháp tìm kiếm mô hình sử dụng kỹ thuật tìm kiếmheuristic vì kích thước của không gian các mô hình có thể ngăn cảncác tìm kiếm tổng thể
1.6 Các hướng tiếp cận cơ bản và kỹ thuật áp dụng
Vấn đề khai phá dữ liệu được phân chia theo lớp các hướng tiếp cận chính nhưsau:
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 Ví dụ: Phân lớp vùng địa lý theo dữ liệu thờitiết Đối với hướng tiếp cận này thường áp dụng một số kỹ thuật như học
Trang 15máy (machinne learning) cây quyết định (Decision tree) mạng nơron nhântạo (neural network) Với hướng này người ta còn gọi là học có giám sáthay học có thầy (Supervised learning).
Phân cụm (Clustering/segmentation): Sắp xếp các đối tượng theo từng cụm
nhưng số lượng và tên của các cụm chưa được biết trước Lớp bài toán phâncụm còn được gọi là học không giám sát – Học không thầy
(Unsupervised learning)
Luật kết hợp (association rules): Là dạng luật biểu diễn tri thức ở dạng khá
đơn giản Ví dụ “80% sinh viên đăng ký học CSDL thì có tới 70% trong số họđăng ký học phân tích thiết kế các hệ thống thông tin” Hướng tiếp cận nàyđược ứng dụng nhiều trong các lĩnh vực kinh doanh, y học, tin sinh học, giáodục …
Khai phá chuỗi theo thời gian (sequential/temporal patterns): Cũng tương tự
như khai phá dữ liệu bằng luật kết hợp nhưng có thêm tính thứ tự và tính thờigian 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 bởi vì chúng có tính dự báo cao
Mô tả khái niệm (concept description & summarization): Lớp bài toán này 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
1.7 Các ứng dụng của khai phá dữ liệu
Khai phá dữ liệu tuy là ngành mới phát triển nhưng thu hút được nhiều nghiêncứu nhờ vào tính thực tiễn ứng dụng lớn của nó Sau đây là liệt kê một số lĩnh vựcứng dụng điển hình:
1. Phân tích dữ liệu và hỗ trợ ra quyết định
2. Điều trị trong Y học: Mối liên hệ giữa triệu chứng, chuẩn đoán và phương pháp điều trị
3. Phân lớp văn bản, tóm tắt văn bản và phân lớp các trang web
Trang 161.8 Một số phương pháp khai phá dữ liệu phổ biến
1.8.1 Phương pháp quy nạp (induction)
Có hai kỹ thuật chính để thực hiện việc này là suy diễn và quy nạp:
1. Phương pháp suy diễn: Nhằm rút ra thông tin là kết quả logic của các
thông tin trong cơ sở dữ liệu Phương pháp suy diễn dựa trên các sự kiệnchính để suy ra các tri thức mới từ các thông tin cũ Mẫu kết xuất thu đượcbằng cách sử dụng phương pháp này thường là các luật suy diễn
2. Phương pháp quy nạp: Phương pháp quy nạp suy ra các thông tin được
sinh ra từ cơ sở dữ liệu Có nghĩa là tự nó tìm kiếm, tạo mẫu và sinh ra trithức chứ không phải bắt đầu với các tri thức đã biết trước Các thông tin
mà phương pháp này đem lại là các thông tin hay tri thức cấp cao diễn tả
về các đối tượng trong cơ sở dữ liệu Phương pháp này liên quan đến cácmẫu tìm được trong CSDL
Trong khai phá dữ liệu, quy nạp được sử dụng trong cây quyết định và tạoluật
1.8.2 Cây quyết định và luật
Cây quyết định: Cây quyết định là một mô tả tri thức dạng đơn giản nhằm
phân các đối tượng dữ liệu thành một số lớp nhất định Cây được xây dựng dướidạng các nút và cạnh, mỗi nút của cây được gắn nhãn là tên các thuộc tính, các cạnhđược gắn các giá trị có thể của các thuộc tính, các lá miêu tả các lớp khác nhau Các
Trang 17đối tượng được phân theo lớp các đường đi trên cây, qua các cạnh tương ứng với giá
trị của thuộc tính của đối tượng lá (Hình 1.4).
Ví dụ: Bảng ví dụ học cho khái niệm chơi tennis (PlayTennis)
Day
D1D2D3D4D5D6D7D8D9D10D11D12D13D14
Tạo luật: Các luật được tạo ra nhằm suy diễn một số mẫu dữ liệu có ý nghĩa về mặt thống kê Các luật có dạng Nếu P thì Q; với P là mệnh đề đúng với một
phần dữ liệu trong CSDL, Q là mệnh đề dự đoán
Cây quyết định là phương pháp dùng trong bài toán phân đoạn dữ liệu theo mộttiêu chuẩn nào đó dựa trên mức độ khác nhau của thuộc tính Cây quyết định
và luật có ưu điểm là hình thức miêu tả đơn giản, mô hình suy diễn khá dễhiểu với người sử dụng Tuy nhiên, giới hạn của nó là miêu tả cây và luật chỉ
có thể biểu diễn được một số dạng chức năng và vì vậy giới hạn cả về độchính xác của mô hình
Trang 18Phạm Hùng Thế, K10T3
HighNo
Hình 1.4 Mô tả cây quyết định cho khái niệm chơi tennis (PlayTennis)
1.8.3 Phát hiện các luật kết hợp
Các luật kết hợp là một dạng biểu diễn tri thức, hay chính xác hơn là dạng mẫucủa hình thành tri thức Phương pháp này nhằm phát hiện ra các luật kết hợp giữacác thành phần dữ liệu trong CSDL Mẫu đầu ra của giải thuật khai phá dữ liệu làtập luật kết hợp tìm được
Cho một lược đồ R={A1, A2,…, Ap} với các thuộc tính có miền giá trị {0,1}
và một quan hệ r trên R Ta gọi một luật kết hợp trên quan hệ r được mô tả như sau :X=>B với X ⊆ R và B∈ R \ X Cho W ⊆ R, đặt s(W,r) là tần số xuất hiện của Wtrong r được tính bằng tỷ lệ giữa các hàng trong r có giá trị 1 tại mỗi cột Khi đó tađịnh nghĩa tần số xuất hiện và độ tin cậy của luật X=>B trong r như sau:
Tần số xuất hiện σ=s( X ∪{B}, r)
Độ tin cậy θ = s( X ∪ {B}, r) \ s( X , r)
Với X gồm nhiều thuộc tính và B là giá trị không cố định
Nhiệm vụ của việc phát hiện các luật kết hợp là phải tìm tất cả các luật X=>Bsao cho tần số xuất hiện của luật không nhỏ hơn ngưỡng σ
cho trước và độ tin cậycủa luật không nhỏ hơn ngưỡng θ cho trước
Trang 19Khi thiết kế dữ liệu dùng cho kỹ thuật luật kết hợp cần hết sức lưu ý để giảmthiểu số lượng các thuộc tính đầu vào bởi không gian tìm kiếm các luật sẽ tăng theohàm mũ của số lượng các thuộc tính đầu vào.
Giải thuật tìm các luật kết hợp được bắt đầu bằng việc tìm tất cả các tậpthường xuyên xuất hiện Tập thường xuyên xuất hiện là các tập thỏa mãn tần sốxuất hiện lớn hơn ngưỡng tần số được xác định trước Các luật kết hợp sẽ được tạo
ra bằng cách ghép dần các tập thuộc tính dựa trên mức độ thường xuyên
Chẳng hạn: Phân tích CSDL bán hàng nhận được thông tin về những kháchhàng mua máy tính có khuynh hướng mua phần mềm quản lý tài chính trong cùnglần mua được miêu tả trong luật kết hợp sau:
“Máy tính => Phần mềm quản lý tài chính”
Nhược điểm của phương pháp này là sự gia tăng nhanh chóng khối lượng tínhtoán và các thông số Tuy nhiên với sự phát triển nhanh chóng và mạnh mẽ củaphần cứng thì các vấn đề này cũng được khắc phục
1.8.4 Phân nhóm và phân đoạn (Clasterring and Segmentation)
Kỹ thuật phân nhóm và phân đoạn là những kỹ thuật phân chia dữ liệu sao chomỗi phần hoặc mỗi nhóm giống nhau theo một tiêu chuẩn nào đó Mối quan hệthành viên của các nhóm có thể dựa trên mức độ giống nhau của các thành viên và
Trang 20Phạm Hùng Thế, K10T3 21 Luận văn thạc sĩ
từ đó xây dựng thành các luật ràng buộc giữa các thành viên trong nhóm Một kỹthuật phân nhóm khác là xây dựng thành các hàm đánh giá các thuộc tính của cácthành phần như là hàm của các tham số của các thành phần Phương pháp này được
gọi là phương pháp phân hoạch tối ưu (optimal partitioning).
Một trong các ứng dụng của kỹ thuật phân nhóm theo độ giống nhau là cơ sở
dữ liệu khách hàng để phân nhóm khách hàng theo các tham số và các nhóm thuếtối ưu có được khi thiết lập biểu thuế bảo hiểm
Mẫu đầu ra của quá trình khai phá dữ liệu sử dụng kỹ thuật này là các tập mẫuchứa các dữ liệu có chung những tính chất nào đó được phân tách từ cơ sở dữ liệu.Khi các mẫu đươc thiết lập, chúng có thể sử dụng để tái tạo các tệp dữ liệu ở dạng
dễ hiểu hơn, đồng thời cung cấp các nhóm dữ liệu cho các hoạt động cũng như côngviệc phân tích Đối với CSDL lớn việc lấy ra các nhóm này là rất quan trọng
1.8.5 Các phương pháp dựa trên mẫu
Sử dụng các mẫu miêu tả từ cơ sở dữ liệu để tạo nên một mô hình dự đoán cácmẫu mới bằng cách rút ra các thuộc tính tương tự như các mẫu đã biết trong môhình Các kỹ thuật bao gồm phân lớp theo láng giềng gần nhất, các giải thuật hồiquy (Dasarathy 1991) và các hệ thống suy diễn dựa trên tình huống (Case-basereasoning - Kolodner 1993)
1.8.6 Mô hình phụ thuộc dựa trên đồ thị xác xuất
Các mô hình đồ thị xác định sự phụ thuộc xác suất giữa các sự kiện thông quacác liên hệ trực tiếp theo các cung đồ thị (Pearl 1988; Whittaker, 1990) ở dạng đơngiản nhất, mô hình này xác định những biến nào phụ thuộc trực tiếp vào nhau.Những mô hình này chủ yếu được sử dụng với các biến có giá trị rời rạc hoặc phânloại
1.8.7 Mô hình học quan hệ
Trong khi các mẫu kết xuất được bằng các luật suy diễn và cây quyết định gắn
chặt với các mệnh đề logic (propositional logic) thì mô hình học quan hệ (còn được
Trang 21gọi là lập trình logic quy nạp) sử dụng ngôn ngữ mẫu theo thứ tự logic trước (order logic) rất linh hoạt Mô hình này có thể dễ dàng tìm ra công thức: X = Y Cho đến
này hầu hết các nghiên cứu về các phương pháp đánh giá mô hình này đều theologic trong tự nhiên
1.8.8 Khai phá dữ liệu văn bản
Phù hợp với việc tìm kiếm, phân tích và phân lớp các dữ liệu văn bản khôngđịnh dạng Các lĩnh vực ứng dụng như nghiên cứu thị trường, thu thập tình báov.v… Khai phá dữ liệu dạng văn bản đã được sử dụng để phân tích câu trả lời chocác câu hỏi mở rộng trong khảo sát thị trường, tìm kiếm các tài liệu phức tạp
Khi đề cập đến khai thác dữ liệu, người ta thường đề cập đến mạng nơron Tuymạng nơron có một số hạn chế có thể gây khó khăn trong việc áp dụng và triển khainhưng nó cũng có những ưu điểm đáng kể Một trong số những ưu điểm phải kể đếncác mạng nơron là khả năng tạo ra các mô hình dự đoán có độ chính xác cao, có thể
áp dụng được cho rất nhiều các loại bài toán khác nhau đáp ứng được các nhiệm vụđặt ra của khai phá dữ liệu như phân lớp, phân nhóm, mô hình hóa, dự báo các sựkiện phụ thuộc vào thời gian, v.v…
Mẫu kết xuất mạng nơron được thể hiện ở các nút đầu của mạng Mạng nơron
sử dụng các hàm số chứ không sử dụng các hàm biểu tượng để tính mức tích cựccủa các nút đầu ra và cập nhật các trọng số của nó
Trang 223. Thời điểm dừng việc học.
Ngoài ra còn có rất nhiều bước rất quan trọng cần phải làm để tiền xử lý dữliệu trước khi đưa vào mạng nơron để mạng có thể hiểu được
Mạng nơron được đóng gói với những thông tin trợ giúp của các chuyên giađáng tin cậy và được họ đảm bảo các mô hình này làm việc tốt Sau khi học, mạngnơron có thể được coi là một chuyên gia trong lĩnh vực thông tin mà nó vừa họcđược
1.8.10 Giải thuật di truyền
Giải thuật di truyền, nói theo nghĩa rộng là mô phỏng lại hệ thống tiến hóatrong tự nhiên, chính xác hơn đó là các giải thuật chỉ ra tập các cá thể được hìnhthành, được ước lượng và biến đổi như thế nào Ví dụ như xác định xem làm thếnào để lựa chọn các cá thể tạo giống và lựa chọn cá nào sẽ bị loại bỏ Giải thuậtcũng mô phỏng lại yếu tố gen trong nhiễm sắc thể sinh học trên máy tính để có thểgiải quyết nhiều bài toán thức tế khác nhau
Giải thuật di truyền là một giải thuật tối ưu hóa Nó được sử dụng rất rộng rãitrong việc tối ưu hóa các kỹ thuật khai phá dữ liệu trong đó có kỹ thuật mạng nơron
Sự liên hệ của nó với giải thuật khai phá dữ liệu là ở chỗ việc tối ưu hóa cần thiếtcho các quá trình khai phá dữ liệu, ví dụ trong các kỹ thuật cây quyết định, tạo luật.Như vậy, qua phần trình bày trên nêu ra một số phương pháp, chúng ta thấy córất nhiều phương pháp khai phá dữ liệu Mỗi phương pháp có những đặc điểm riêngphù hợp với một lớp các bài toán, với các dạng dữ liệu và miền dữ liệu nhất định
Trang 231.9 Nhìn nhận và đánh giá chung
Các giải thuật khai phá dữ liệu tự động vẫn mới chỉ ở giai đoạn phát triển banđầu Hiện người ta vẫn chưa đưa ra được một tiêu chuẩn nào trong việc quyết định
sử dụng phương pháp nào vào trong trường hợp cụ thể thì có hiệu quả [3]
Hầu hết các kỹ thuật khai phá dữ liệu đều mới đối với lĩnh vực kinh doanh.Hơn nữa lại có rất nhiều kỹ thuật, mỗi kỹ thuật được sử dụng cho nhiều bài toánkhác nhau Vì vậy, ngay sau câu hỏi khai phá dữ liệu là gì sẽ là câu hỏi vậy thì dùng
kỹ thuật nào? Câu trả lời tất nhiên là không đơn giản Mỗi phương pháp đều cóđiểm mạnh và điểm yếu có thể khắc phục được Vậy thì phải làm như thế nào để ápdụng kỹ thuật một cách đơn giản, hiệu quả, dễ sử dụng để không cảm thấy nhữngphức tạp vốn có của kỹ thuật đó
Hệ thống khai phá dữ liệu có thể sinh ra hàng nghìn hoặc thậm chí hàng triệumẫu hoặc luật Do vậy, có một câu hỏi: Có phải tất cả đều là đáng quan tâm? Câutrả lời là chỉ có một phần nhỏ trong các mẫu hoặc luật là đáng quan tâm và hữu íchđối với người sử dụng
Có một vài câu hỏi đặt ra cho hệ thống khai phá dữ liệu:
1. Cái gì tạo ra mẫu đáng quan tâm?
2. Hệ thống DM có thể sinh ra tất cả các mẫu đáng quan tâm không?
3. Hệ thống DM chỉ có thể sinh ra các mẫu quan tâm không?
Trả lời câu hỏi thứ nhất: Mẫu là đáng quan tâm nếu nó thỏa mãn các tiêu chí
sau đây:
1. Dễ hiểu đối với con người
2. Hợp lệ hoặc được dữ liệu kiểm tra với độ chắc chắn nào đó
3. Có khả năng (tiềm năng) hữu ích
4. Mới lạ (novel)
Trang 24Y) = P(Y/X)Nhìn chung độ đo này có thể được người dùng điều khiển.
Câu hỏi thứ hai: Có thể tạo ra các mẫu đáng quan tâm không?
Điều đó liên quan đến tính hoàn thiện của một thuật toán khai phá Nó thườngkhông thực hiện được và không có khả năng đối với các hệ thông khai phá dữ liệu
để sinh ra các mẫu có thể tồn tại Thay cho tiền đề đó, người ta tập trung vào mụctiêu tìm kiếm Khai phá luật kết hợp là một ví dụ mà ở đó sử dụng các độ đo có thểđảm bảo khai phá trọn vẹn, có ý nghĩa là với ngưỡng độ hỗ trợ và độ tin cậy nhỏnhất xác định trước thì có thể tìm được
Câu hỏi cuối cùng: Hệ thống khai phá dữ liệu có thể sinh ra các mẫu cần quan
tâm không? – Đó là vấn đề tối ưu trong khai phá dữ liệu Nó là mong muốn sao cho
hệ thống khai phá dữ liệu chỉ sinh ra các mẫu quan tâm Điều đó còn là sự tháchthức trong khai phá dữ liệu
Trang 25CHƯƠNG 2
KHAI PHÁ DỮ LIỆU SỬ DỤNG CÂY QUYẾT ĐỊNH
Cây quyết định là một công cụ mạnh và phổ biến để thực hiện các công việcphân loại và dự đoán Sự hấp dẫn và thú vị của các phương pháp khai phá dữ liệudựa trên mô hình cây trên diện rộng thể hiện ở chỗ khác với phương pháp mạngnơron là các cây quyết định biểu diễn các luật Các luật được biểu diễn một cáchđơn giản đến mức chúng ta – những con người có thể dễ dàng hiểu được Hoặc cácluật cũng có thể được biểu diễn trong các hệ quản trị CSDL như SQL dưới dạng cácbản ghi mà những bản ghi rơi vào một số danh mục nào đó có thể dễ dàng được truyvấn
2.1 Hoạt động của cây quyết định
Cây quyết định là một công cụ phân loại được biểu diễn và xây dựng dướidạng cấu trúc cây ở đó mỗi nút là:
Một lá: Biểu diễn một lớp của các trường hợp hoặc:
Một nút quyết định: Chỉ ra một số trường hợp có thể xảy ra trên một giá trịthuộc tính nào đó với mỗi nhánh và một cây con cho mỗi khả năng xảy ra củamột phép thử
Một cây quyết định có thể được sử dụng để phân lớp một trường hợp bằngcách xuất phát từ gốc của cây và đi qua các nút đến khi tới nút lá – nút cung cấpphân lớp của một trường hợp Xét ví dụ về việc ra quyết định trên thị trường chứngkhoán Luân Đôn như sau:
Giả sử chúng ta có các nhân tố quyết định có ảnh hưởng đến thị trường chứngkhoán Luân Đôn bao gồm:
1. Thị trường hôm qua hoạt động ra sao?
2. Thị trường New York hôm nay hoạt động thế nào?
Trang 26Phạm Hùng Thế, K10T3 27 Luận văn thạc sĩ
3. Ti giá lãi suất ngân hàng
4. Tỉ lệ thất nghiệp
5. Triển vọng của đội cricket nước Anh
Bảng 2.1 dưới đây mô tả một tập hợp dữ liệu trong 6 ngày gần đây nhất của thị
trường chứng khoán Luân Đôn Phần phía dưới chứa dữ liệu về mỗi ngày của thị
trường theo 5 nhân tố ở trên Dòng thứ 2 chỉ ra kết quả quan sát được (“Có” hay
“Không” cho câu hỏi “Thị trường có tăng hôm nay không?”) Khi đó hình 2.1 sẽ
biểu diễn một phương pháp phân loại cơ bản dựa trên cây quyết định từ bảng dữ
liệu 2.1
STT
Bảng 2.1: Các ví dụ của một tập dữ liệu về thị trường chứng khoán Luân Đôn
Thị trường Luân Đôn sẽ tăng hôm nay {2,3}
Trang 28Phạm Hùng Thế, K10T3 28 Luận văn thạc sĩ
Tiến trình của việc dự báo một vấn đề bằng cây quyết định cũng có thể được biểu diễn bằng cách trả lời các câu hỏi theo thứ tự sau:
Tỉ lệ thất nghiệp cao?
i. Có: Thị trường Luân Đôn sẽ tăng hôm nay
ii. Không: Thị trường New York có tăng hôm nay?
iii. Có: Thị trường Luân Đôn sẽ tăng hôm nay
iv. Không: Thị trường Luân đôn sẽ không tăng hôm nay
Phương pháp quy nạp cây quyết định là một cách tiếp cận quy nạp thôngthường được sử dụng để học tri thức dựa trên việc phân lớp Các yêu cầu cơ bản để
có thể khai phá dữ liệu với cây quyết định đó là:
1. Việc mô tả các giá trị thuộc tính: Đối tượng hoặc các trường hợp phảiđược diễn đạt dưới dạng những tập hợp cố định của các thuộc tính hoặccác đặc tính
2. Các lớp được định nghĩa trước: Các danh mục mà ở đó các trường hợp được gắn vào phải được thiết lập trước
3. Các lớp rời rạc: Một trường hợp có thể thuộc hoặc không thuộc một lớp cụthể nào đó và vì vậy chúng ta phải có nhiều trường hợp hơn các lớp
4. Đủ dữ liệu: Thông thường cần phải có hàng trăm, thậm chí hàng ngàn các trường hợp huấn luyện
5. Mô hình phân lớp “lôgic”: Các công cụ phân loại mà chỉ có thể được biểu diễn dưới dạng các cây quyết định hoặc tập hợp của các luật
2.2 Xây dựng cây quyết định
2.2.1 Thuật toán học cây quyết định cơ bản
Tất cả các thuật toán đã được phát triển cho việc học cây quyết định đều đượctriển khai theo nhiều cách khác nhau dựa trên một thuật toán cốt lõi đó là việc sử
Trang 29dụng một tìm kiếm “tham lam” từ trên xuống trên toàn bộ không gian các cây quyếtđịnh có thể có Các chương trình cây quyết định xây dựng một cây T từ một tập hợpcác trường hợp được đào tạo Ý tưởng ban đầu của việc xây dựng các cây quyếtđịnh xuất phát từ công việc của Hoveland và Hunt Hai ông xây dựng một hệ thốnghọc khái niệm trong những năm cuối của thập niên 1950 Bảng 2.2 dưới đây mô tảmột cách khái quát mô hình hệ thống học khái niệm này Thực tế thì đó là giải thuật
đệ qui “chia để trị” từ trên xuống Thuật toán bao gồm các bước sau:
B1: Khóa tạo cây T chỉ có gốc chưa được gán nhãn Toàn bộ tập ví dụ
huấn luyện D được đi vào đỉnh đó
B2: Lặp
Chọn một đỉnh của cây hiện thời chưa được gán nhãn để phát triển
Giả sử tập ví dụ huấn luyện đi vào đỉnh này là S.
1. Nếu S = rỗng thì đỉnh hiện thời là lá của cây T và đỉnh này
được gán nhãn là giá trị chung nhất trong tập ví dụ huấn luyện
Lặp lại bước 2 cho đến khi tất cả các đỉnh của cây T được gán nhãn
Bảng 2.2: Thuật toán xây dựng cây quyết định CLSĐây là thuật toán cơ bản của phương pháp học cây quyết định, nó gần nhưtương ứng với thuật toán ID3 của Quinlan và các thuật toán kế thừa nó như C4.5,See5/C5.0 Để mô tả hoạt động của thuật toán ID3 chúng ta xem xét ví dụ học với
dữ liệu học trong bảng 2.3 Ở đây thuộc tính đích là “PlayTennis” (thuộc tính nàycũng có thể được gọi là lớp thuộc tính) Giá trị của thuộc tính “PlayTennis” có thể
là “Yes” hoặc “No”
Trang 30Bảng 2.3: Các ví dụ học cho khái niệm đích chơi Tennis
2.2.2 Lựa chọn thuộc tính phân lớp tốt nhất
Lựa chọn trọng tâm của thuật toán ID3 là việc chọn ra thuộc tính nào để kiểm
tra tại mỗi nút của cây dựa trên nhiệm vụ đầu tiên trong bước 2b của thuật toán
CLS Mục tiêu của chúng ta là chọn ra thuộc tính mà nó hữu ích nhất cho việc phân
lớp các ví dụ học Vấn đề đặt ra ở đây là lấy cái gì để đo lường chất lượng, về cái
gọi là “tốt nhất” của một thuộc tính? Để giải quyết câu hỏi này, chúng ta sẽ định
nghĩa một thuộc tính mang tính thống kê được gọi là “độ đo thông tin” (information
Trang 31gain) Độ đo thông tin sẽ đo lường xem một thuộc tính sẽ phân lớp các ví dụ dựatrên mục tiêu phân lớp tốt như thế nào Thuật toán ID3 sử dụng độ đo thông tin này
để lựa chọn giữa các thuộc tính ứng cử tại mỗi bước khi chúng ta phát triển câyquyết định
Chúng ta xem xét một đại lượng gọi là độ đo Entropy Độ đo Entropy đo tínhđồng nhất của các ví dụ huấn luyện Nhằm tính toán độ đo thông tin được chínhxác, chúng ta bắt đầu bằng việc định nghĩa một độ đo thường được sử dụng trong lýtuyết tin học mà ta gọi là entropy, entropy mô tả sự thuần nhất của một tập hợp bất
kỳ của các ví dụ huấn luyện Xem xét ví dụ là một tập hợp S bao gồm các ví dụ tíchcực và tiêu cực của một khái niệm đích, khi đó entropy của quan hệ S với sự phânlớp logic là:
Entropy(S) = - p⊕log2 p⊕ - p⊖log2 p⊖ (3.1)
Trong đó p⊕ là tỉ lệ của các ví dụ dương trong S và p⊖ là tỉ lệ của các ví dụ âmtrong tập S Trong tất cả các phép tính về entropy chúng ta định nghĩa 0log0=0
Để minh họa cho khái niệm entropy, giả sử chúng ta có 1 tập hợp S bao gồm
14 ví dụ thuộc về một khái niệm logic, ở đó có 9 giá trị dương và 5 giá trị âm Khi
đó entropy của quan hệ S với việc phân lớp logic này là:
Entropy([9+, 5-]) = - (9/14) log2 (9/14) - (5/14) log2 (5/14) = 0.940 (3.2)
Để ý rằng nếu entropy =0 thì toàn bộ các giá trị của S thuộc về 1 lớp Ví dụnếu toàn bộ các giá trị của S đều là dương thì p- = 1 và p+ = 0, khi đó:
Entropy(S) =-1×log2(1) - 0×log20 = -1×0 - 0×log20 = 0
Ngược lại, entropy=1 khi tập hợp chứa số giá trị dương và âm là bằng nhau.Nếu tập hợp chứa số giá trị âm và dương là khác nhau thì entropy sẽ dao động trongkhoảng từ 0 đến 1 Hình 3.1 minh họa hình dạng của hàm entropy liên quan đếnviệc phân lớp logic
Trang 32Phạm Hùng Thế, K10T3 32 Luận văn thạc sĩ
Hình 2.2 Đồ thị biểu diễn Entropy
Một thể hiện của entropy trong lý thuyết thông tin đó là nó chỉ ra số lượng nhỏnhất của số lượng bit dữ liệu cần thiết để mã hóa sự phân lớp của một thành viên tùy
ý của tập S Ví dụ, nếu p+ = 1 thì người nhận biết ngay rằng toàn bộ các giá trị trongtập học sẽ là dương và không cần thiết phải gửi thông điệp đi nữa, tất nhiên khi đóentropy =0 Ngược lại, nếu p+ = 0.5 thì một bit được yêu cầu để chỉ ra rằng tập ví dụtrên là dương hay âm Nếu p+ = 0.8 thì một tập hợp các thông điện có thể được mãhóa sử dụng trung bình nhỏ hơn 1 bit trên mỗi thông điệp bằng cách gắn các mãngắn hơn cho các tập hợp ví dụ dương và mã dài hơn cho các ví dụ âm
Ở trên chúng ta đã xem xét entropy trong trường hợp đặc biệt đó là việc phânlớp đích là biến Logic Để có một cái nhìn tổng quan hơn về entropy, nếu thuộc tínhđích có thể có c giá trị khác nhau thì entropy của tập S liên quan đến việc phân lớp cgiá trị sẽ được định nghĩa như sau:
Trang 33dạng các bit Đồng thời ở đây cũng có một lưu ý là nếu thuộc tính đích có thể có cgiá trị thì entropy có thể sẽ lớn đến log2c.
Độ đo thông tin đo đạc sự rút gọn được mong đợi trong entropy Xét mộtentropy là một phép đo về sự không đồng nhất trong một tập các ví dụ huấn luyện,chúng ta có thể định nghĩa một phép đo về tính hiệu quả của một thuộc tính trongviệc phân lớp dữ liệu huấn luyện Phép đo mà chúng ta sẽ sử dụng được gọi là độ đothông tin, nó đơn giản là sự rút gọn được mong đợi trong entropy được tạo ra bằngcách phân chia các ví dụ huấn luyện theo một thuộc tính Một cách chính xác hơnthì độ đo thông tin Gain(S,A) của một thuộc tính A liên quan đến tập hợp các ví dụ
là giá trị mong đợi của entropy sau khi S được phân chia dựa trên thuộc tính A.Entropy mong đợi được mô tả bởi toán hạng thứ 2 đơn giản là một phép cộng tổngcác entropy của mỗi tập con Sv với trọng số là tỉ lệ của các ví dụ huấn luyện |Sv|/|S|.Gain(S,A) vì thế được coi là sự rút gọn được mong đợi tạo ra bằng cách phân chiacác ví dụ huấn luyện theo một thuộc tính A biết trước Nói theo cách khác thìGain(S,A) là thông tin được cung cấp về các giá trị hàm đích với việc đưa ra một sốgiá trị của thuộc tính A Giá trị của Gain(S,A) là số lượng bit tiết kiệm được khi mãhóa giá trị đích của một thành phần bất kỳ nào của tập S bằng cách biết trước giá trịcủa thuộc tính A
Ví dụ, giả sử S là một tập hợp các ví dụ huấn luyện được mô tả trong bảng 3.3với các thuộc tính có bao gồm thuộc tính Wind và Wind = {Weak, Strong}
Giả sử tiếp S là một tập bao gồm 14 ví dụ (9+, 5-) Trong 14 ví dụ đó thì có 6giá trị dương và 2 giá trị âm cho ta Wind=Weak và còn lại cho ta Wind = Strong