1. Trang chủ
  2. » Luận Văn - Báo Cáo

Cây quyết định trong học máy và sử dụng phần mềm WEKA học máy và khám phá tri thức thực tế

44 1,3K 13
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 44
Dung lượng 1,25 MB

Nội dung

Trên thế giới có rất nhiều thuật toán khám phá tri thức bằng cách phân lớp và rờirạc dữ liệu như: Sử dụng cây quyết định, phương pháp thống kê, các mạng neural,thuật toán di truyền mỗi t

Trang 1

Giảng viên HD: Sinh Viên Thực Hiện:

GS.TSKH Hoàng Kiếm Nguyễn Bảo Minh Mssv : CH1101104 Huỳnh Ái Nhân Mssv : CH1101116

Lớp Cao học CNTT Qua mạng Khóa 6

Trang 2

MỤC LỤC

LỜI MỞ ĐẦU 1

I Tổng quan về máy học và khám phá tri thức 2

1.1 Máy học 2

1.1.1 Thế nào là máy học ? 2

1.1.2 Phân loại máy học 2

1.1.2.1 Phân loại thô 2

1.1.2.2 Phân loại theo 2 tiêu chuẩn cùng lúc:”Cấp độ học” và “cách tiếp cận” .3 1.2 Khám phá tri thức 4

1.2.1 Định nghĩa khám phá tri thức 4

1.2.2 Các giai đoạn của quá trình khám phá tri thức 4

1.2.3 Khai mỏ dữ liệu 5

II Cây quyết định 6

2.1 Giới thiệu chung 6

2.3 Xây dựng cây quyết định 7

2.3.1 Chọn thuộc tính phân tách 7

2.3.2 Chọn thuộc tính phân hoạch tốt nhất 8

2.3.2.1 Phân hoạch dựa vào vector đặc trưng 8

2.3.2.2 Phân hoạch dựa vào độ đo hỗn loạn 8

2.4 Ưu điểm của cây quyết định 9

2.5 Các thuật toán xây dựng cây quyết định 9

2.5.1 Thuật toán xây dựng cây quyết định ID3 11

2.5.1.1 Giới thiệu: 11

2.5.1.2 Thuật toán ID3 11

2.5.2 Thuật toán xây dựng cây quyết định C4.5 18

2.5.2.1 Thuật toán xây dựng cây quyết định: 18

2.5.2.2 Độ đo sử dụng để xác định điểm chia tốt nhất: 20

2.5.2.3 Một số vấn đề với thuộc tính: 21

2.5.2.4 Nhận xét về thuật toán C4.5 31

III Sử dụng phần mềm Weka trong học máy và khám phá tri thức 31

3.1 Giới thiệu 31

3.2 Ứng dụng Weka xử lý trong học máy và khai phá tri thức 33

KẾT LUẬN 39

TÀI LIỆU THAM KHẢO 40

Trang 3

LỜI MỞ ĐẦU

Trong một vài năm gần đây, ngành công nghệ thông tin trên toàn thế giới đã pháttriển mạnh mẽ với một tốc độ rất nhanh Song song với điều đó chúng ta cũng phải đốimặt với một thách thức mới là sự bùng nổ về lượng thông tin Tuy nhiên, một thực tếdiễn ra rất phổ biến là mặc dù có một lượng dữ liệu rất lớn nhưng tri thức mà thực sựchúng ta có là rất ít, những hiểu biết thực sự của chúng ta về lượng dữ liệu mà chúng

ta có còn rất hạn chế

Xuất phát từ thực tế đó mà trong một vài năm gần đây các nhà nguyên cứu vàứng dụng tin học phải nguyên cứu, tìm kiếm những phương pháp mới để khai thácnhững tri thức tìm ẩm có trong cơ sở dữ liệu khổng lồ đó Từ cuối những năm củathập kỷ 1980 khái niệm phát hiện tri thức trong cơ sở dữ liệu lần đầu tiên được nóiđến, đây là quá trình phát hiện tri thức tiềm ẩn, không biết trước và hữu ích trong các

cơ sở dữ liệu lớn

Hiện nay cùng với sự phát triển của Công Nghệ Thông Tin ngày nay, khám phátri thức trong các cơ sở dư liệu lớn là một trong nhưng lĩnh vực được rất nhiều nhànguyên cứu và ứng dụng tin học đặc biệt quan tâm Việc nguyên cứu những phươngpháp có thể tự động phát hiện những tri thức mới trong cơ sở dư liệu trên máy tính đã

tỏ ra thực sự hữu ích trong việc hỗ trợ quyết định cho con người

Trên thế giới có rất nhiều thuật toán khám phá tri thức bằng cách phân lớp và rờirạc dữ liệu như: Sử dụng cây quyết định, phương pháp thống kê, các mạng neural,thuật toán di truyền mỗi thuật toán đều có những ưu khuyết điểm của nó và tùy vàotừng trường hợp, lĩnh vực cụ thể mà có thể áp dụng những thuật toán cho phù hợp.Trong bài thu hoạch này em xin trình bày về phương pháp sử dụng cây định danhtrong học máy để khám phá tri thức

Trang 4

I Tổng quan về máy học và khám phá tri thức

1.1.2 Phân loại máy học

1.1.2.1 Phân loại thô

 Học có giám sát (supervised learning)

Là phương pháp cho máy học ,và suy diễn ra từ cơ sơ dữ liệu Các dữ liệu baogồm dữ liệu đầu vào(thường là vector) và kết quả mong muốn Nó là tình trạng họccần tập huấn luyện

Ví dụ: Nhận dạng chữ viết tay, Nhận dạng ký tự quang học, ……

Đối tượng D đưa vào sẽ thuộc một trong 3 thuộc tính A,B,hay C.Với A,B,C làtập huấn luyện

Các bước giải quyết vấn đề học giám sát

+ Xác định loại hình đào tạo

+ Thu thập thông tin để huấn luyện

+ Xác định tính năng dữ liệu đầu vào

+ Xác định cơ cấu, chức năng đã học và các thuật

toán tương ứng

+ Chạy các thuật toán trên các tập dữ liệu

 Học không giám sát (Unsupervised learning)

Trang 8

1.2.1 Định nghĩa khám phá tri thức

Khám phá tri thức (Khám phá tri thức-Knowledge Discovery in Databases) trongcác cơ sở dữ liệu là quá trình phát hiện những tri thức tiềm ẩn, không biết trước, và cóích trong trong cơ sở dữ liệu Thực chất đó là quá trình tìm kiếm những thông tin cótrong cơ sở dữ liệu nhưng bị che giấu trong các khối dữ liệu

Tri thức ở đây có thể được hiểu là một biểu thức trong một ngôn ngữ nào đó diễn

tả một hoặc nhiều mối quan hệ giữa các thuộc tính trong các dữ liệu đó Các ngôn ngữthường dùng để biểu diễn tri thức trong việc biểu diễn tri thức trong quá trình pháthiện tri thức từ cơ sở dư liệu là các khung (frames), các cây và đồ thị, các luật, cáccông thức trong logic mệnh đề hoặc logic tân từ cấp một

Việc khám phá tri thức thường được áp dụng để giải quyết một loạt những yềucầu phục vụ những mục đích nhất định Do vậy nên quá trình phát hiện tri thức mangtính chất hướng nhiệm vụ, không phải là phát hiện mọi tri thức mà phát hiện những trithức phục vụ tốt một nhiệm vụ đề ra Vì vậy, quá trình phát hiện tri thức là một hoạtđộng tương tác giữa một người sử dụng hoặc một chuyên gia phân tích với các công

cụ tin học

1.2.2 Các giai đoạn của quá trình khám phá tri thức

Mục đích của quá trình khám phá tri thức: Từ những cơ sở dữ liệu ngoài cuộcsống thực tế sau một hoặc một số bước của quá trình sẽ rút ra được những tri thứcmới Các bước trong quá trình này có thể lặp đi lặp lại nhiều lần và được mô tả theohình sau:

Giai đoạn 1:Chuẩn bị dữ liệu

− Tìm hiểu lĩnh vực ứng dụng và nhiệm vụ đề ra, xác định các tri thức đã có

và các mục tiêu của người sử dụng

− Tạo và chọn lựa cơ sở dữ liệu

Giai đoạn 2: Huấn luyện dữ liệu

Trang 9

− Xử lý và làm sạch dữ liệu trước: Bỏ đi các dữ liệu tạp bao gồm các lỗi và cácdạng không bình thường Xử lý dữ liệu bị mất, chuyển đổi dữ liệu phù hợp

− Rút gọn kích thước dữ liệu nhận được: Nhận ra các thuộc tính hữu ích cho quátrình phát hiện tri thức

Giai đoạn 3: Khai mỏ dữ liệu

− Chọn nhiệm vụ khai mỏ dữ liệu

− Lựa chọn các phương pháp khai mỏ dữ liệu

− Khai mỏ dữ liệu để rút ra các mẫu, các mô hình

Giai đoạn 4: Biểu diển tri thức

− Các tri thức phát hiện được tích hợp chặt chẽ trong hệ thống Tuy nhiên để sửdụng được tri thức đó đôi khi cần đến các chuyên gia trong các lĩnh vực quan tâm vìtri thức rút ra có thể chỉ có tính chất hỗ trợ quyết định

− Tri thức tìm được có thể được sử dụng cho một quá trình khám phá tri thứckhác

Giai đoạn 5:Kiểm tra đánh giá:

Báo cáo kết quả các tri thức tìm được và tỉ lệ phần trăm tri thức có trong cơ sở

dữ liệu đó

Như vậy khám phá tri thức gồm 5 giai đoạn chính, trong 5 giai đoạn trên thì giaiđoạn khai mỏ dữ liệu là quan trọng nhất Đây là giai đoạn duy nhất tìm được các thôngtin tiềm ẩn trong cơ sở dữ liệu

1.2.3 Khai mỏ dữ liệu

Khai mỏ dữ liệu (hay data mining) được định nghĩa như là quá trình phát hiệncác tri thức mới, có giá trị từ những dữ liệu lớn được lưu trữ trong cơ sở,datawarehouse hay các kho chứa thông tin khác Khai mỏ dữ liệu là một giai đoạnquan trọng trong quá trình phát hiện tri thức Về bản chất nó là giai đoạn duy nhất tìm

ra được thông tin mới, thông tin tiềm ần có trong cơ sở dữ liệu Mục đích nguyên thủycủa khai mỏ dữ liệu là mô tả và dự đoán Các kỹ thuật khai mỏ dữ liệu được chiathành những mảng chính sau:

 Phân cụm và phân lớp dữ liệu: Quá trình này có thể xem là quá trình phân tíchmột tập dữ liệu và sinh ra một tập nhóm các luật mà chúng ta có thể sử dụng để phânlớp dữ liệu trong tương lai Khi phân lớp dữ liệu người ta thường dựa trên một tập cácmẫu huấn luyện để sinh ra các luật Có rất nhiều phương pháp để phân lớp dữ liệuđược nguyên cứu như: Các phương pháp học cây quyết định, phương pháp thông kê,các mạng nơ ron, các mạng xác xuất Bayes,

 Khai mỏ luật kết hợp: Mong muốn tìm ra những mối quan hệ giữa các thuộctính hoàn toàn độc lập với nhau trong cơ sở dữ liệu Luật kết hợp có thể dùng để hỗtrợ quyết định Ví dụ như các bài toán kinh doanh

 Khai mỏ chuỗi: Luật chuỗi và khai mỏ chuỗi có thể coi như là một cách trừutượng của luật kết hợp và phát hiện các luật kết hợp trong cơ sở dữ liệu phụ thuộc thờigian

Có rất nhiều phương pháp để có thể tiến hành khai mỏ dữ liệu đã được nguyêncứu và đề ra như:

− Các phương pháp sinh cây quyết định

Trang 10

− Phương pháp người láng giềng gần nhất

− Luật suy diễn

− Trực quan hoá dữ liệu

− Điều trị y học (medical treatment)

− Text mining & Web mining

− Tài chính và thị trường chứng khoán (finance & stock market)

− Bảo hiểm (insurance)

− Nhận dạng (pattern recognition)

− v.v

II Cây quyết định

2.1 Giới thiệu chung

Trong lĩnh vực máy học, cây quyết định là một kiểu mô hình dự báo (predictivemodel), nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tượng tới các kết luận

về giá trị mục tiêu của sự vật/hiện tượng Mỗi một nút trong (internal node) tương ứngvới một biến; đường nối giữa nó với nút con của nó thể hiện một giá trị cụ thể chobiến đó Mỗi nút lá đại diện cho giá trị dự đoán của biến mục tiêu, cho trước các giá trịcủa các biến được biểu diễn bởi đường đi từ nút gốc tới nút lá đó Kỹ thuật học máydùng trong cây quyết định được gọi là học bằng cây quyết định, hay chỉ gọi với cái tênngắn gọn là cây quyết định

Tóm lại ta có thể định nghĩa cây quyết định như sau:

Cây quyết định là cấu trúc cây sao cho:

 Mỗi nút trong ứng với một phép kiểm tra trên một thuộc tính

 Mỗi nhánh biểu diễn kết quả phép kiểm tra

 Các nút lá biểu diễn các lớp hay các phân bố lớp

 Nút cao nhất trong cây là nút gốc

Học bằng cây quyết định cũng là một phương pháp thông dụng trong khám pha

dữ liệu Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các lá đại diện chocác phân loại còn cành đại diện cho các kết hợp của các thuộc tính dẫn tới phân loại

đó Một cây quyết định có thể được học bằng cách chia tập hợp nguồn thành các tậpcon dựa theo một kiểm tra giá trị thuộc tính Quá trình này được lặp lại một cách đệqui cho mỗi tập con dẫn xuất Quá trình đệ qui hoàn thành khi không thể tiếp tục thựchiện việc chia tách được nữa, hay khi một phân loại đơn có thể áp dụng cho từng phần

tử của tập con dẫn xuất Một bộ phân loại rừng ngẫu nhiên (random forest) sử dụngmột số cây quyết định để có thể cải thiện tỉ lệ phân loại

Cây quyết định cũng là một phương tiện có tính mô tả dành cho việc tính toáncác xác suất có điều kiện

Trang 11

Cây quyết định có thể được mô tả như là sự kết hợp của các kỹ thuật toán học vàtính toán nhằm hỗ trợ việc mô tả, phân loại và tổng quát hóa một tập dữ liệu cho trước.

Dữ liệu được cho dưới dạng các bản ghi có dạng:

1 2 3

( , ) ( , , , , , )x yx x x x y k

Biến phụ thuộc (dependant variable) y là biến mà chúng ta cần tìm hiểu, phânloại hay tổng quát hóa x x x1, , 2 3 là các biến sẽ giúp ta thực hiện công việc đó

2.2 Các kiểu cây quyết định

Cây quyết định còn có hai tên khác:

Cây hồi quy (Regression tree): ước lượng các hàm giá có giá trị là số thực thay vì

được sử dụng cho các nhiệm vụ phân loại (ví dụ: ước tính giá một ngôi nhà hoặckhoảng thời gian một bệnh nhân nằm viện)

Cây phân loại (Classification tree): nếu y là một biến phân loại như: giới tính (nam

hay nữ), kết quả của một trận đấu (thắng hay thua)

2.3 Xây dựng cây quyết định

2.3.1 Chọn thuộc tính phân tách

Lúc khởi đầu, ta có trong tay một tập luyện chứa tập các bản ghi được phânloại trước – tức là giá trị của biến đích được xác định trong tất cả các trường hợp Câyquyết định được xây dựng bằng cách phân tách các bản ghi tại mỗi nút dựa trên mộtthuộc tính đầu vào Rõ ràng nhiệm vụ đầu tiên là phải chọn ra xem thuộc tính nào đưa

ra được sự phân tách tốt nhất tại nút đó

Độ đo được sử dụng để đánh giá khả năng phân tách là độ tinh khiết Chúng ta

sẽ có những phương pháp xác định để tính toán độ tinh khiết một cách chi tiết, tuynhiên chúng đều cố gắng đạt được hiệu quả như nhau Một sự phân tách tốt nhất là sựphân tách làm tăng độ tinh khiết của tập bản ghi với số lượng lớn nhất Một sự phântách tốt cũng phải tạo ra các nút có kích cỡ tương tự nhau, hay chí ít cũng không tạo racác nút có quá ít bản ghi

Thuật toán xây dựng cây quyết định hết sức thấu đáo Chúng bắt đầu bằngviệc chọn mỗi biến đầu vào chưa được chọn và đo mức độ tăng độ tinh khiết trong cáckết quả ứng với mỗi biến Sau đó một phép tách tốt nhất sẽ được sử dụng trong phéptách khởi đầu, để tạo hai hay nhiều nút con Nếu không phép phân tách nào có khảnăng (có thể do có quá ít bản ghi) hoặc do không có phép phân tách nào làm tăng độtinh khiết thì thuật toán kết thúc và nút đó trở thành nút lá

Trang 12

2.3.2 Chọn thuộc tính phân hoạch tốt nhất

2.3.2.1 Phân hoạch dựa vào vector đặc trưng

Quinlan quyết định thuộc tính phân hoạch bằng cách xây dựng các vector đặc

trưng cho mỗi giá trị của từng thuộc tính dẫn xuất và thuộc tính mục tiêu Cách tính cụ

thể như sau :

Với mỗi thuộc tính dẫn xuất A còn có thể sử dụng để phân hoạch, tính :

VA(j) = ( T(j, r1), T(j, r2) , …, T(j, rn) )

T(j, ri) = (tổng số phần tử trong phân hoạch có giá trị thuộc tính dẫn xuất

A là j và có giá trị thuộc tính mục tiêu là ri ) / ( tổng số phần tử trong phân

hoạch có giá trị thuộc tính dẫn xuất A là j )

* trong đó r 1 , r 2 , … , rn là các giá trị của thuộc tính mục tiêu

* Như vậy nếu một thuộc tính A có thể nhận một trong 5 giá trị khác nhau thì nó sẽ

có 5 vector đặc trưng

Một vector V(Aj) được gọi là vector đơn vị nếu nó chỉ có duy nhất một thànhphần có giá trị 1 và những thành phần khác có giá trị 0

Thuộc tính được chọn để phân hoạch là thuộc tính có nhiều vector đơn vị nhất

2.3.2.2 Phân hoạch dựa vào độ đo hỗn loạn

Thay vì phải xây dựng các vector đặc trưng như phương pháp của Quinlan, ứng với mỗi thuộc tính dẫn xuất ta chỉ cần tính ra độ đo hỗn loạn và lựa chọn thuộc tính nào có

độ đo hỗn loại là thấp nhất Công thức tính như sau :

TA =

trong đó :

bt là tổng số phần tử có trong phân hoạch

bj là tổng số phần tử có thuộc tính dẫn xuất A có giá trị j

bri : tổng số phần tử có thuộc tính dẫn xuất A có giá trị j và thuộc tính mục tiêu

có giá trị i

- Entropy là đại lượng đặc trưng cho độ hỗn loạn dữ liệu

- Entropy = 0 nếu tất cả các dữ liệu thuộc về 1 lớp

- Entropy = 1 nếu phân lớp có tỉ lệ bằng nhau

Trang 13

2.4 Ưu điểm của cây quyết định

So với các phương pháp khám phá dữ liệu khác, cây quyết định là phương pháp

 Cây quyết định có thể xử lý cả dữ liệu có giá trị bằng số và dữ liệu có giátrị là tên thể loại Các kỹ thuật khác thường chuyên để phân tích các bộ dữ liệu chỉgồm một loại biến Chẳng hạn, các luật quan hệ chỉ có thể dùng cho các biến tên,trong khi mạng nơ-ron chỉ có thể dùng cho các biến có giá trị bằng số

 Cây quyết định là một mô hình hộp trắng Nếu có thể quan sát một tìnhhuống cho trước trong một mô hình, thì có thể dễ dàng giải thích điều kiện đó bằnglogic Boolean Mạng nơ-ron là một ví dụ về mô hình hộp đen, do lời giải thích cho kếtquả quá phức tạp để có thể hiểu được

 Có thể thẩm định một mô hình bằng các kiểm tra thống kê Điều này làmcho ta có thể tin tưởng vào mô hình

 Cây quyết định có thể xử lý tốt một lượng dữ liệu lớn trong thời gian ngắn

Có thể dùng máy tính cá nhân để phân tích các lượng dữ liệu lớn trong một thời gian

đủ ngắn để cho phép các nhà chiến lược đưa ra quyết định dựa trên phân tích của câyquyết định

2.5 Các thuật toán xây dựng cây quyết định

Phương pháp học cây quyết định là một trong những phương pháp được sử dụngrông rãi nhất cho việc học quy nạp từ một tập mẫu lớn Đây là phương pháp xấp xỉ cáchàm mục tiêu có giá trị rời rạc Mặt khác cây quyết định còn có thể chuyển sang dạngbiểu diễn tương đương dưới dạng tri thức là các luật Nếu – Thì (if then)

Những bài toán nên sử dụng việc học cây quyết định:

− Các mẫu huấn luyện được biểu diễn thành những cặp giá trị - thuộc tính, cácthuộc tính là một tập cố định Các giá trị thuộc tính là rời rạc Tuy nhiên trong cácthuật toán sinh cây quyết định cải tiến sau này cho phép các thuộc tính nhận giá trị làgiá trị thực

− Hàm mục tiêu phải có giá trị rời rạc, trong bài toán phân lớp văn bản trên thìhàm mục tiêu có thể mở rộng thành nhiều giá trị đầu ra

− Trong trường hợp cần biểu diễn kết quả thu được dưới dạng các mô tả: Chẳnghạn như là dưới dạng luật thì cấu trúc cây quyết định có thể chuyển sang một cách dễdàng

− Tập dữ liệu huấn luyện có thể chứa lỗi: Phương pháp học cây quyết định cóthể thực hiện tốt trên các tập dữ liệu chứa lỗi, cả trên các lỗi trong phân lớp ví dụ huấnluyện cũng như lỗi trên các giá trị thuộc tính trong các ví dụ này

Trang 14

− Tập dữ liệu có thể có những giá trị bị thiếu Phương pháp cây quyết định cóthể được sử dụng trong các trường hợp các ví dụ huấn luyện có những giá trị chưabiết.

Danh sách các thuật toán xây dựng cây quyết định

CLS(Concept learning System) C I Hovland và E B Hunt

CART(Classification And Regression

Tree)

Breiman et al.(1984)

ID3(Interactive Dichotomizer 3) Quinlan(1986)

CHAID (CHi-squared Automatic

Interaction Detecor) Kass(1980)

CAL5 Muller and Wysotzki(1994)

FACT Loh and Vanichsetakul(1988)

LMDT Brodley and Utgoff(1995)

PUBLIC Rastogi and Shim(2000)

SLIQ (Supervised Learning in Quest) Mehta(1996)

SPRINT(A Scalable Parallel Classifier for

DataMining) Shafer, Agrawal, Mehta

Nhưng phổ biến nhất vẫn là 2 thuật toán của Quinlan: ID3 (Interactive Dichotomizer 3) năm 1986 và C4.5 là thuật toán cải tiến từ thuật toán ID3 năm 1993

Sau đây ta sẽ tìm hiểu về 2 thuật toán trên:

2.5.1 Thuật toán xây dựng cây quyết định ID3

2.5.1.1 Giới thiệu:

Đây là một thuật toán cơ bản nhất trong lĩnh vực học cây quyết đinh, hầu hết cácthuật toán học cây quyết đinh cải tiến sau này đều dựa trên nó ID3 và các thuật toáncải tiến của nó đều dựa vào cách tiếp cận từ trên xuống

ID3 biểu diễn các khái niệm (concept) ở dạng các cây quyết định (decision tree).Biểu diễn này cho phép chúng ta xác định phân loại của một đối tượng bằng cách kiểmtra các giá trị của nó trên một số thuộc tính nào đó

Trang 15

Như vậy, nhiệm vụ của giải thuật ID3 là học cây quyết định từ một tập các ví

dụ rèn luyện (training example) hay còn gọi là dữ liệu rèn luyện (training data) Haynói khác hơn, giải thuật có:

 Đầu vào: Một tập hợp các ví dụ Mỗi ví dụ bao gồm các thuộc tính mô tảmột tình huống, hay một đối tượng nào đó, và một giá trị phân loại của nó

 Đầu ra: Cây quyết định có khả năng phân loại đúng đắn các ví dụ trong tập

dữ liệu rèn luyện, và hy vọng là phân loại đúng cho cả các ví dụ chưa gặp trong tươnglai

2.5.1.2 Thuật toán ID3

* ID3 xây dựng cây quyết định theo giải thuật sau:

Function induce_tree(tập_ví_dụ, tập_thuộc_tính)

begin

if mọi ví dụ trong tập_ví_dụ đều nằm trong cùng một lớp then

return một nút lá được gán nhãn bởi lớp đó

else if tập_thuộc_tính là rỗng then

return nút lá được gán nhãn bởi tuyển của tất cả các lớp trong tập_ví_dụ

else

begin

chọn một thuộc tính P, lấy nó làm gốc cho cây hiện tại;

xóa P ra khỏi tập_thuộc_tính;

với mỗi giá trị V của P

begin

tạo một nhánh của cây gán nhãn V;

Đặt vào phân_vùngV các ví dụ trong tập_ví_dụ có giá trị V tại thuộctính P;

Gọi induce_tree(phân_vùngV, tập_thuộc_tính), gắn kết quả vào nhánh

V

end

end

end

Các khả năng có thể có của các phân vùng (partition):

Trong quá trình xây dựng cây QĐ, phân vùng của một nhánh mới có thể có cácdạng sau:

Trang 16

 Có các ví dụ thuộc các lớp khác nhau, chẳng hạn như có cả ví dụ âm vàdương.

 Tất cả các ví dụ đều thuộc cùng một lớp, chẳng hạn như toàn âm hoặc toàndương

 Không còn ví dụ nào => giải thuật trả về mặc nhiên

 Không còn thuộc tính nào => nghĩa là dữ liệu bị nhiễu, khi đó giải thuậtphải sử dụng một luật nào đó để xử lý, chẳng hạn như luật đa số (lớp nào có nhiều ví

dụ hơn sẽ được dùng để gán nhãn cho nút lá trả về)

Từ các nhận xét này, ta thấy rằng để có một cây QĐ đơn giản, hay một cây cóchiều cao là thấp, ta nên chọn một thuộc tính sao cho tạo ra càng nhiều các phân vùngchỉ chứa các ví dụ thuộc cùng một lớp càng tốt Một phân vùng chỉ có ví dụ thuộccùng một lớp, ta nói phân vùng đó có tính thuần nhất Vậy, để chọn thuộc tính kiểmtra có thể giảm thiểu chiều sâu của cây QĐ, ta cần một phép đo để đo tính thuần nhấtcủa các phân vùng, và chọn thuộc tính kiểm tra tạo ra càng nhiều phân vùng thuầnnhất càng tốt

Vấn đề quan trọng nhất của thuật toán ID3 là làm sao chọn lựa được thuộc tínhtốt nhất để đưa vào các nút của cây Để giải quyết vấn đề này, người ta sử dụng kết

quả của lý thuyết thông tin là các độ đo là infomation gain và entropy.

Entropy đo tính thuần nhất của tập ví dụ

Entropy là đại lượng hết sức quan trọng trong lý thuyết thông tin Entropy là đạilượng đo tính đồng nhất hay thuần tuý của các mẫu

Trong trường hợp S là tập ví dụ, thì thành viên của S là một ví dụ, mỗi ví dụthuộc một lớp hay có một giá trị phân loại

 Entropy có giá trị nằm trong khoảng [0 1],

 Entropy(S) = 0  tập ví dụ S chỉ toàn ví dụ thuộc cùng một loại, hay S làthuần nhất

 Entropy(S) = 1  tập ví dụ S có các ví dụ thuộc các loại khác nhau với độpha trộn là cao nhất

 0 < Entropy(S) < 1  tập ví dụ S có số lượng ví dụ thuộc các loại khácnhau là không bằng nhau

Để đơn giản ta xét trường hợp các ví dụ của S chỉ thuộc loại âm (-) hoặc dương(+)

Cho trước:

Trang 17

• Tập S là tập dữ liệu rèn luyện, trong đó thuộc tính phân loại có hai giá trị, giả

sử là âm (-) và dương (+)

• p+ là phân bố các ví dụ dương trong tập S

• p- là phân bố các ví dụ âm trong tập S

Khi đó, entropy đo độ pha trộn của tập S theo công thức sau:

Entropy(S) = -p+log2p+ -

p-log2p-Một cách tổng quát hơn, nếu các ví dụ của tập S thuộc nhiều hơn hai loại, giả

sử là có c giá trị phân loại thì công thức entropy tổng quát là:

Entropy(S) =

C i

Một cách chính xác hơn, Gain(S,A) của thuộc tính A, trên tập S, được định nghĩa nhưsau:

) (

|

|

|

| )

( )

, (

) (

v A

Values v

v Entropy S S

S S

Entropy A

 Value(A) là tập các giá trị của A

 Sv là tập con của S với giá trị A

Thuộc tính tương ứng với information gain lớn nhất sẽ được chọn làm thuộc tínhphân tách cho node N

Ví dụ, chúng ta hãy xét bài toán phân loại xem ta ‘có đi chơi tennis’ ứng bảng huấnluyện sau:

Trang 18

Mưa Ấm áp TB Nhẹ Có

Nắng Ấm áp TB Mạnh Có

Âm u Ấm áp Cao Mạnh Có

Mưa Ấm áp Cao Mạnh Không

Ta áp dụng phương thức tính Entropy để xác định chắc chắn thuộc tính nàođược chọn trong quá trình tạo cây quyết định Đầu tiên ta tính độ thuần nhất của tập dữliệu:

Từ đó ta tính tiếp Gain cho từng thuộc tính để suy ra thuộc tính nào được chọn làm nútgốc

Gain(S, Quang cảnh) = Entropy(S) – (5/14)Entropy(SNắng) – (4/14)Entropy(SÂm u) –(5/14) Entropy(SMưa) = 0.940 – (5/14)(5/14)(- (2/5)log2(2/5) – (3/5)log2(3/5)) - (4/14)(0) - (5/14)(- (3/5)log2(3/5) – (2/5)log2(2/5)) = 0.246

Gain(S, Nhiệt độ) = Entropy(S) - (4/14)×Entropy(SNóng) - (6/14)×Entropy(SẤm áp) –

(4/14)×Entropy(SMát) = 0.940 – (4/14)(1) - (6/14)(- (4/6)log2(4/6) – (2/6)log2(2/6)) - (4/14)(- (3/4)log (3/4) – (1/4)log (1/4)) = 0.029

Trang 19

Tương tự ta cũng tính được :

Gain(S, Gió) = Entropy(S) - (6/14)×Entroy(SMạnh) - (8/14)×Entropy(SNhẹ)

= 0.940 - (6/14)(1) - (8/14)(- (6/8)log2(6/8) – (2/8)log2(2/8))

= 0.048Gain(S, Độ ẩm) = Entropy(S) – (7/14)×Entropy(SCao) – (7/14)×Entropy(STB)

= 0.940 – (7/14)(- (3/7)log2(3/7) – (4/7)log2(4/7)) – (7/14)(- (6/7)log2(6/7) – (1/7)log2(1/7)) = 0.151

Ta thấy Gain(S, Quang cảnh) là lớn nhất à lấy thuộc tính quang cảnh làm nút gốc

Sau khi lập được cấp đầu tiên của cây quyết định ta lại xét nhánh Nắng

Entropy(SNắng) = - (3/5)log2(3/5) – (2/5)log2(2/5) = 0.971

Gain(SNắng, Nhiệt độ) = Entropy(SNắng) - (2/5)×Entropy(SNóng) - (2/5)×Entropy(SẤm áp) – (1/5)×Entropy(SMát)

= 0.971 – (2/5)×0 - (2/5)×1 - (1/5)×0 = 0.571Gain(SNắng, Gió) = Entroy(SNắng) - (2/5)×Entropy(SNhẹ) - (3/5)×Entropy(SMạnh)

= 0.971 - (2/5)×1 - (3/5)(- (1/3)log2(1/3) – (2/3)log2(2/3)) = 0.020

Gain(SNắng, Độ ẩm) = Entropy(SNắng) – (3/5)×Entropy(SCao) – (2/5)×Entropy(STB)

= 0.971 – (3/5)(0) – (2/5)(0) = 0.971

Như vậy thuộc tính độ ẩm có hiệu suất phân loại cao nhất trong nhánh Nắng à ta chọn thuộc tính Độ ẩm làm nút kế tiếp

Quang cảnh

Trang 20

 Xét nhánh “Mưa”:

Entropy(SMưa) = - (3/5)log2(3/5) – (2/5)log2(2/5) = 0.971

Gain(SMưa, Nhiệt độ) = Entropy(SMưa) - (3/5)×Entropy(SẤm áp) - (2/5)×Entropy(SMát)

= 0.971 - (3/5)(- (2/3)log2(2/3) – (1/3)log2(1/3)) - (2/5)(1) = 0.020

Gain(SMưa, Gió) = Entropy(SMưa) - (3/5)×Entropy(SNhẹ) - (2/5)×Entropy(SMạnh)

= 0.971 - (3/5)×0 - (2/5)×0 = 0.971Như vậy thuộc tính gió có hiệu suất phân loại cao nhất trong nhánh Mưa à ta chọnthuộc tính Gió làm nút kế tiếp

TB

Nhiệt độ

Mát

Mưa

Quang cảnh

[0+, 0-]

[2+, 1-]

[1+, 1-]

Ấm ápNóng

Trang 21

Từ đây các ví dụ trong mẫu đã được phân ra rõ ràng nên ta có thể dễ dàng suy rac các luật.

 Luật rút ra từ cây quyết định:

 Luật 1: if (Quang cảnh = Nắng) and (Độ ẩm = cao) then Chơi tennis = Không

 Luật 2: if (Quang cảnh = Nắng) and (Độ ẩm = Trung bình) then Chơi tennis= Có

 Luật 3: if (Quang cảnh = Âm u) then Chơi tennis = Có

 Luật 4: if (Quang cảnh = Mưa) and (Gió = Nhẹ) then Chơi tennis = Có

 Luật 5: if (Quang cảnh = Mưa) and (Gió = Mạnh) then Chơi tennis = Không

Nhận xét về giải thuật ID3

Không gian giả thuyết các cây quyết định của ID3 là một không gian đầy đủ cáccây quyết định trên các thuộc tính đã cho trong tập rèn luyện Điều này có nghĩa làkhông gian mà ID3 tìm kiếm chắc chắn có chứa cây quyết định cần tìm

Trong khi tìm kiếm, ID3 chỉ duy trì một giả thuyết hiện tại Vì vậy, giải thuật nàykhông có khả năng biểu diễn được tất cả các cây quyết định khác nhau có khả năngphân loại đúng dữ liệu hiện có

Giải thuật thuần ID3 không có khả năng quay lui trong khi tìm kiếm Vì vậy, nó

có thể gặp phải những hạn chế giống như giải thuật leo núi, đó là hội tụ về cực tiểu địaphương

Vì ID3 sử dụng tất cả các ví dụ ở mỗi bước để đưa ra các quyết định dựa trênthống kê, nên kết quả tìm kiếm của ID3 rất ít bị ảnh hưởng bởi một vài dữ liệu sai (hay

Trang 22

Trong quá trình tìm kiếm, giải thuật ID3 có xu hướng chọn cây quyết định ngắnhơn là những cây quyết định dài Đây là tính chất thiên lệch quy nạp của ID3

Các vấn đề tồn tại trong ID3

Cây quyết định học được quá khớp (overfitting) với các dữ liệu học.

 Xử lý các thuộc tính có kiểu giá trị liên tục (kiểu số thực)

 Các đánh giá phù hợp hơn (tốt hơn Information Gain) đối với việc xác định thuộc tính kiểm tra cho một nút

 Xử lý các bộ học thiếu giá thuộc tính (missing-value attributes)

 Xử lý các thuộc tính có chi phí (cost) khác nhau

2.5.2 Thuật toán xây dựng cây quyết định C4.5

- C4.5 là thuật toán phát triển từ ID3 để giải quyết những vấn đề tồn tại ở giảithuật ID3:

+ Trong việc xây dựng cây quyết định, chúng có thể liên hệ với tập huấnluyện mà có những records với những giá trị thuộc tính không được biết đếnbởi việc đánh giá việc thu thập thông tin hoặc là tỉ số thu thập thông tin , chonhững thuộc tính bằng việc xem xét chỉ những record mà ở đó thuộc tính đượcđịnh nghĩa

+ Trong việc xây dựng cây quyết định, giải thuật C4.5 có thể giải quyếttốt đối với trường hợp giá trị của các thuộc tính là giá trị thực

+ Trong việc xây dựng cây quyết đinh, C4.5 có thể giải quyết tốt đối vớitrường hợp thuộc tính có nhiều giá trị mà mỗi giá trị này lại duy nhất

- Tuy nhiên C4.5 sử dụng cơ chế lưu trữ dữ liệu thường trú trong bộ nhớ, nênC4.5 chỉ thích hợp với những cơ sở dữ liệu nhỏ

2.5.2.1 Thuật toán xây dựng cây quyết định:

Dữ liệu vào: Tập dữ liệu D, tập danh sách thuộc tính, tập nhãn lớp

Dữ liệu ra: Mô hình cây quyết định

Thuật toán: Tạocây(Tập dữ liệu E, tập danh sách thuộc tính F, tập nhãn lớp)

9 Đặt V = {v| v thoả điều kiện là phần phân chia xuất phát từ Nútgốc}

10 Lặp qua từng tập phân chia v VV

11 Đặt Ev = {e | Nútgốc.điềukiệnkiểmtra(e) = v và e  E}

Ngày đăng: 10/04/2015, 16:26

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w