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

Tiểu luận môn khai phá dữ liệu MÔ HÌNH CÂY QUYẾT ĐỊNH THUẬT TOÁN C4.5

29 1,7K 12

Đ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 29
Dung lượng 0,95 MB

Nội dung

Chương này sẽ giới thiệu chung về mơ hình cây quyết định, một số độ đo phổ biến được áp dụng trong các thuật tốn, thuật tốn ID3, C4.5, và một số vấn đề mở rộng của cây quyết định.. Cây q

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG

Trang 2

Thạc sỹ CNTT qua mạng khố 06

Lời giới thiệu

Mơ hình cây quyết định là một trong những phương pháp phổ biến và được áp dụng nhiều trong

thực tế cho các bài tốn phân lớp và dự đốn Chương này sẽ giới thiệu chung về mơ hình cây

quyết định, một số độ đo phổ biến được áp dụng trong các thuật tốn, thuật tốn ID3, C4.5, và

một số vấn đề mở rộng của cây quyết định

1 Giới thiệu

Mơ hình học cây quyết định là phương pháp cho việc xấp xỉ các hàm mục tiêu cĩ giá trị rời

rạc và được biểu diễn dưới dạng cây quyết định Cây quyết định sau khi được học cĩ thể biểu

diễn lại dưới dạng luật if-then để tăng khả năng dễ đọc Đây là một trong những phương pháp

được sử dụng phổ biến nhất trong số các thuật tốn học quy nạp, và nĩ đã được áp dụng khá

thành cơng trong ứng dụng y khoa và tài chính như chẩn đốn bệnh hay đánh giá rủi ro tín dụng

1.1 Cây quyết định và một số ứng dụng

Cây quyết định là một phương pháp phân lớp thuộc nhĩm học cĩ giám sát (supervised

learning) như: dựa trên luật (rule-based), mạng Bayes (nạve Bayes), mạng nơron, SVM,…

Ứng dụng của cây quyết định dùng trong phân lớp dự đốn như:

 Dự báo thời tiết (dự báo trời nắng, mưa hay âm u,…) dựa trên một số yếu tố nhiệt độ,

sức giĩ, độ ẩm,…

 Dự báo trong kinh doanh (doanh số tháng tới sẽ tăng hay giảm) dựa các yếu tố chỉ số

tiêu dùng, yếu tố xã hội, sự kiện,…

 Tín dụng ngân hàng (khả năng chi trả tín dụng của khách hàng khi vay mượn)

 Thị trường chứng khốn (giá vàng, cổ phiếu sẽ tăng hay giảm)

1.2 Biểu diễn cây quyết định

Từ những nhu cầu trong thực tế trên, mục tiêu là xây dựng được cây quyết định cĩ thuộc

tính quyết định (là các lớp cĩ sẵn hay các thuộc tính cần dự đốn) dựa trên các thuộc tính quan

sát Ví dụ như trong bài tốn dự báo thơi tiết thì thuộc tính quyết định sẽ là thời tiết với các lớp là

“nắng”, “mưa”, “âm u” và các thuộc tính điều kiện là nhiệt độ, sức giĩ, độ ẩm,…

Trang 3

Thành phần chính của cây quyết định:

 Nút lá Ck: nhãn của lớp thứ k (thuộc tính quyết định C)

 Nút gốc, nút trong Ai : thuộc tính Ai (thuộc tính điều kiện)

 Nhánh Vij: trường hợp thứ j (giá trị, khoảng giá trị) của Ai Khoảng giá trị trong

trường hợp các phép so sánh (>,<,>=,<=)

Như vậy, để xây dựng được cây quyết định thì cần phải sắp xếp các thuộc tính Ai vàocác nút trong cây Câu hỏi đặt ra là sẽ chọn nút nào làm nút gốc? nút nào làm nút trong? chomỗi bước thực hiện và tương tự cho các bước tiếp theo Từ đây rút ra nhận xét liệu thứ tự sắpxếp các thuộc tính trong cây có ảnh hưởng đến chất lượng kết quả không? Như vậy cần độ đogiúp lựa chọn các thuộc tính thích hợp cho mỗi bước mà các độ đo này sẽ được giới thiệu ở phầntiếp theo

Dựa vào loại nhãn của thuộc tính quyết định Ck có thể phân thành 2 dạng cây quyết định:

 Cây phân lớp (Classification tree): Nhãn của các Ck là dữ liệu định danh

o Ví dụ: dự báo kết quả trận đấu “thắng” hay “thua”, kết quả học tập của học sinh là

“giỏi”, “khá” hay “trung bình”

 Cây hồi quy (Regression tree): Nhãn của các Ck là dữ liệu định lượng

(giá trị số)

o Ví dụ: ước tính giá một ngôi nhà hoặc khoảng thời gian điều trị bệnh

Tương ứng với mỗi dạng sẽ có thuật toán phổ biến hiện nay: ID3, C4.5, CART(Classification And Regression Tree)

 CART: giải quyết được bài toán cần sử dụng cây phân lớp và cây hồi quy

 ID3, C4.5: giải quyết được bài toán sử dụng cây phân lớp

Tùy vào mỗi thuật toán sẽ có các độ đo tương ứng để hỗ trợ việc đánh giá, lựa chọn thuộctính cho việc xây dựng cây ở mỗi bước

2 Các độ đo

An

Ak Am

Trang 4

Như vậy để trả lời cho câu hỏi làm thế nào chọn được thuộc tính phân tách (splittingattribute) cho mỗi bước khi thực hiện xây dựng cây quyết định? Các độ đo đã được đưa ra để giảiquyết vấn đề này.

Độ đo là phần quan trọng trong thuật toán để đánh giá thuộc tính nào sẽ được chọn làmthuộc tính phân tách Thuộc tính phân tách giúp đảm bảo sự trùng lắp, ngẫu nhiên ít nhất giữacác phân hoạch tạo được từ thuộc tính đó Cách tiếp cận này giúp tối thiểu số phép thử để phânloại một phần tử

Tùy theo các thuật toán cây quyết định, cách tiếp cận khác nhau mà sẽ sử dụng các độ đokhác nhau Trong phần này sẽ trình bày 2 độ đo được sử dụng khá phổ biến đó là độ đo dựa vào

lý thuyết thông tin (Information Gain, Gain Ratio được sử dụng trong thuật toán ID3 và C4.5) và

độ đo Gini (được sử dụng trong thuật toán CART)

2.1 Các độ đo dựa trên lý thuyết thông tin

Các độ đo thuộc nhóm này được xuất phát dựa trên lý thuyết thông tin (InformationTheory) của Claude Shannon có nguồn gốc từ lý thuyết xác suất và thống kê Các độ đo dựa trên

lý thuyết thông tin đều sử dụng đến một khái niệm đó là entropy

Entropy là đại lượng đặc trưng cho mức độ hỗn loạn của các phần tử trong quần thể S Haynói cách khác đó là lượng thông tin cần để phân loại 1 phần tử trong S

Nhận xét: nếu độ hỗn loạn của quần thể S cao thì lượng thông tin cần để phân loại 1 phần

tử trong S nhiều Ngược lại, nếu độ hỗn loạn thấp thì lượng thông tin cần để phân loại 1 phần tửtrong S ít

Hình bên dưới minh họa cho độ hỗn loạn của các phần tử trong quần thể S

Công thức tổng quát tính Entropy trong quần thể S:

Trong đó: pi là xác suất để 1 phần tử bất kỳ trong S thuộc về lớp Ci (i = 1 m) Với Ci là giá trị của thuộc tính quyết định

Trang 5

Ví dụ 1: Tập dữ liệu S có 14 phần tử trong đó giá trị của thuộc tính quyết định Play

Tennis? là “Yes”, “No” Vậy có thể phân thành 2 lớp theo thuộc tính quyết định C1: Yes và C2: No Áp dụng công thức tính được entropy của S như sau:

Trang 6

Entropy(S)= −9 /14 log2⁡〖 9/14 〗−5 /14 log2⁡〖5 /14 〗

Công thức tính entropy ở trên là công thức tổng quát đối với trường hợp S có m lớp Trongtrường hợp S có 2 lớp công thức tính entropy (S) :

 Nếu (p1 = 0 hay p2 =0)  entropy = 0: S đồng nhất (mọi phần tử đều thuộc 1 lớp)

 Nếu p1 = p2 = 1/2  entropy = 1: số phần tử thuộc C1 và C2 bằng nhau

 Nếu pi  (0,1)  entropy  (0,1): số phần tử thuộc C1 và C2 khác nhau

Các trường hợp trên được biểu diễn bằng đồ thị hay ví dụ minh họa như sau

Vấn đề đặt ra là ngoài thuộc tính quyết định Ci, trong quần thể S còn có nhiều thuộc tínhđiều kiện khác như A, A‟, A‟‟,…Vậy khi đó nên chọn thuộc tính nào làm thuộc tính phân tách?

Trang 7

Phân hoạch S theo thuộc tính A Phân hoạch S theo thuộc tính A’

2.1.1 Information Gain

Độ đo Information Gain được đưa ra để giúp việc lựa chọn thuộc tính phân tách Độ

đo này được sử dụng trong thuật toán ID3 Mỗi thuộc tính điều kiện sẽ phân tách quần thể S

thành các phân hoạch Information Gain sử dụng đại lượng entropy của lý thuyết thông tin để

cho biết mức độ trùng lắp giữa các phân hoạch được tạo ra, nghĩa là một phân hoạch sẽ chứa

các phần tử từ một lớp hay từ nhiều lớp khác nhau

Thuộc tính A phân hoạch S thành v phân hoạch được ký hiệu như sau {SA1, SA2 ,…, SAv} Với v là tập giá trị của A Công thức tính Information Gain:

Với Entropy (SAj) là mức độ hỗn loạn của các phân hoạch SAj do thuộc tính A tạo ra

Chọn thuộc tính Aj nào có Gain(S,Aj) LỚN NHẤT làm thuộc tính phân tách

Nhận xét: Do Entropy(S) là hằng số đối với tất cả thuộc tính, mức độ hỗn loạn của các phân

hoạch do thuộc tính Aj tạo ra (Entropy (SA ))được mong đợi là có giá trị càng nhỏ càng tốt (ít

hỗn loạn) Do đó kết quả sẽ là chọn Gain (S,Aj) của thuộc tính Aj nào có giá trị lớn nhất

Ví dụ 2: Có tập dữ liệu Play Tennis như sau:

Xét thuộc tính Outlook: Outlook có 3 giá trị “Sunny”, “Overcast”, và “Rain” Do đó

thuộc tính Outlook tạo ra 3 phân hoạch Lần lượt tính Entropy cho mỗi phân hoạch theo công

thức tính Entropy phần 2.1 ta được:

Trang 8

Theo công thức tính Gain (S, Outlook):

Trang 9

phân tách Tương tự, lần lượt tính được Gain cho các thuộc tính khác:

Gain (S,Humidity)=0.151, Gain (S,Wind)=0.048, Gain (S,Temp)=0.029

Thuộc tính Outlook có Gain(S,Outlook) cao nhất nên chọn Outlook làm thuộc tính

Ví dụ 3: giả sử cũng tập dữ liệu Play Tennis như Ví dụ 2 nhưng có bổ sung

thêm một thuộc tính When (thời gian chơi Tennis) như sau:

Gain(S,When) = 0.940 – (4/14)*1 – (3/14)*0.918 – (3/14)*0.918 = 0.261

Nhận xét: bây giờ do thuộc tính When có Gain (S,When) cao nhất 0.261 (lớn hơn

Gain(S,Outlook)=0.246 đã tính ở Ví dụ 2), nên sẽ chọn thuộc tính When làm thuộc tính phân

tách thay vì là thuộc tính Outlook Tuy nhiên, theo quan sát thì do thuộc tính When có nhiều giá

trị (5 giá trị) hơn thuộc tính Outlook (3 giá trị), trong đó có một phân hoạch là When=7pm chỉ có

1 phần tử, nên entropy của mỗi phân hoạch do thuộc tính When tạo ra thấp, từ đó dẫn đến Gain

(S, When) cao

Như vậy với độ đo Information Gain có xu hướng “thiên vị” cho thuộc tính nhiều

giá trị (cây có nhiều nhánh) Điều này làm ảnh hưởng đến kết quả dự đoán Do đó cần một độ đo

cải tiến hơn để giải quyết vấn đề này

2.1.2 Gain Ratio

Trang 10

Độ đo Gain Ratio được đặt ra để giải quyết vấn đề một thuộc tính tạo ra rất nhiều

phân hoạch nhưng có thể mỗi phân hoạch chỉ gồm 1 phần tử Độ đo này được sử dụng trong

thuật toán C4.5 và đã chuẩn hóa đươc Information Gain nhờ vào Split Information (thông tin

phân tách) [1] Công thức tính Split Information như sau:

Nhận xét:Thông

tin phân tách này có ý nghĩa: nếu thuộc tính A có càng nhiều giá trị

thì thông tin phân tách của nó (SplitInfo (S,A)) càng lớn Khi đó lấy Gain(S,A) chia cho

SplitInfo(S,A) để có được độ đo GainRation (S, A) như công thức:

Chọn

thuộc tính Aj nào có GainRatio(S, Aj) LỚN NHẤT làm thuộc tính phân tách.

Độ đo Gain Ratio đã giải quyết được xu hướng “thiên vị” cho thuộc tính nhiều giá

trị của độ đo Information Gain vì giả sử hai thuộc tính A và B có cùng Gain

(Gain(A)=Gain(B)) Nhưng nếu thuộc tính A có nhiều giá trị hơn thuộc tính B, khi đó SplitInfo

của A sẽ lớn hơn SplitInfo của B Do đó theo công thức, giá trị Gain Ratio của B sẽ lớn hơn

Gain Ratio của A, và cuối cùng sẽ chọn B làm thuộc tính phân tách Như vậy Gain Ratio đã

chuẩn hóa được trường hợp thiên vị cho thuộc tính nhiều giá trị của Information Gain trước đó

Ví dụ 4: Tương tự bài toán ở Ví dụ 3 đã trình bày ở trên, tính lại GainRatio cho

thuộc tính Outlook và When

SplitInfo(S ,When)

Trang 11

Thuật toán C4.5

3.1 Giới thiệu C4.5

Với những đặc điểm C4.5 là thuật toán phân lớp dữ liệu dựa trên cây quyết định hiệu quả

và phổ biến trong những ứng dụng khai phá cơ sở dữ liệu có kích thước nhỏ C4.5 sử dụng cơchế lưu trữ dữ liệu thường trú trong bộ nhớ, chính đặc điểm này làm C4.5 chỉ thích hợp vớinhững cơ sở dữ liệu nhỏ, và cơ chế sắp xếp lại dữ liệu tại mỗi node trong quá trình phát triển câyquyết định C4.5 còn chứa một kỹ thuật cho phép biểu diễn lại cây quyết định dưới dạng mộtdanh sách sắp thứ tự các luật if-then (một dạng quy tắc phân lớp dễ hiểu) Kỹ thuật này cho phéplàm giảm bớt kích thước tập luật và đơn giản hóa các luật mà độ chính xác so với nhánh tươngứng cây quyết định là tương đương

Tư tưởng phát triển cây quyết định của C4.5 là phương pháp HUNT đã nghiên cứu ở trên.Chiến lược phát triển theo độ sâu (depth-first strategy) được áp dụng cho C4.5

3.2 Các độ đo sử dụng trong C4.5

Phần lớn các hệ thống học máy đều cố gắng để tạo ra 1 cây càng nhỏ càng tốt, vì nhữngcây nhỏ hơn thì dễ hiểu hơn và dễ đạt được độ chính xác dự đoán cao hơn

Do không thể đảm bảo được sự cực tiểu của cây quyết định, C4.5 dựa vào nghiên cứu tối

ưu hóa, và sự lựa chọn cách phân chia mà có độ đo lựa chọn thuộc tính đạt giá trị cực đại

Hai độ đo được sử dụng trong C4.5 là information gain và gain ratio

3.2.1 Information Gain

Trong đó: Value(A) là tập các giá trị của thuộc tính A, Sv là tập con của S mà A nhận giá trị v

Ví dụ mô tả cách tính information gain

Xét CSDL sau:

Trang 12

= 0.029Suy ra: Ta sẽ chọn Outlook vì có InfoGain lớn nhất

Tính InfoGain cho từng nhánh (chưa được phân lớp) để tăng trưởng cây (một cách đệQuy)

Trang 13

Kết quả đạt được:

3.2.2 Gain Ratio trong C4.5

Với độ đo Information Gain sẽ ưu tiên cho những thuộc tính có nhiều giá trị, để giải quyết việc này Gain Ratio bổ sung thêm thông tin phân tách (split information)

Ví dụ về Gain Ratio

Trang 14

InfoGainS, O  0.246

 GainRatio S, O  0.246 / 1.58  0.156Tương tự ta có:

4.3.1 C4.5 có cơ chế riêng trong xử lý những giá trị thiếu

Một cải tiến hơn so với ID3 là C4.5 có cơ chế riêng để xử lý những dữ liệu thiếu:

VD: Gọi So là tập các mẫu có giá trị của thuộc tính Outlook bị thiếu.Khi đó độ đoinformation gain của Outlook sẽ giảm vì chúng ta không học được gì từ các mẫu trong So

Trang 15

Tương ứng split information cũng thay đổi

Nhờ sự thay đổi này làm giảm giá trị của các mẫu liên quan tới thuộc tính có tỷ lệ giá trị cao

Ở ví dụ trên nếu Outlook được chọn, C4.5 không tạo một nhánh riêng trên cây quyết định cho So Thay vào đó, thuật toán có cơ chế phân chia các mẫu trong So về các tập con Si là tập con mà

có giá trị thuộc tính outlook xác định theo trong số |Si| / |S – So|

3.3.2 Tránh “Quá vừa” dữ liệu

“Quá vừa” dữ liệu là một khó khăn đáng kể đối với học bằng cây quyết định và nhữngphương pháp học khác Quá vừa dữ liệu là hiện tượng: nếu không có các case xung đột (là những

case mà giá trị cho mọi thuộc tính là giống nhau nhưng giá trị của lớp lại khác nhau) thì cây

quyết định sẽ phân lớp chính xác toàn bộ các case trong tập dữ liệu đào tạo Đôi khi dữ liệu đào

tạo lại chứa những đặc tính cụ thể, nên khi áp dụng cây quyết định đó cho những tập dữ liệu khác

thì độ chính xác không còn cao như trước

Có một số phương pháp tránh “quá vừa” dữ liệu trong cây quyết định:

+ Dừng phát triển cây sớm hơn bình thường, trước khi đạt tới điểm phân lớp hoàn hảo tập

dữ liệu đào tạo Với phương pháp này, một thách thức đặt ra là phải ước lượng chính xác thời

điểm dừng phát triển cây

+ Cho phép cây có thể “quá vừa” dữ liệu, sau đó sẽ cắt, tỉa cây Mặc dù phương pháp thứnhất có vẻ trực quan hơn, nhưng với phương pháp thứ hai thì cây quyết định được sinh ra được

thử nghiệm chứng minh là thành công hơn trong thực tế, vì nó cho phép các tương tác tiềm

nănggiữa các thuộc tính được khám phá trước khi quyết định xem kết quả nào đáng giữ lại

C4.5 sử

dụng kỹ thuật thứ hai để tránh “quá vừa” dữ liệu

3.3.3 Chuyển đổi từ cây quyết định sang luật

Việc chuyển đổi từ cây quyết định sang luật sản xuất (production rules) dạng if-then tạo

ra những quy tắc phân lớp dễ hiểu, dễ áp dụng Các mô hình phân lớp biểu diễn các khái niệm

dưới dạng các luật sản xuất đã được chứng minh là hữu ích trong nhiều lĩnh vực khác nhau, với

các đòi hỏi về cả độ chính xác và tính hiểu được của mô hình phân lớp Dạng output tập luật sản

xuất là sự lựa chọn “khôn ngoan” Tuy nhiên, tài nguyên tính toán dùng cho việc tạo ra tập luật

từ tập dữ liệu đào tạo có kích thước lớn và nhiều giá trị sai là vô cùng lớn [12] Khẳng định này

sẽ được chứng minh qua kết quả thực nghiệm trên mô hình phân lớp C4.5

Giai đoạn chuyển dổi từ cây quyết định sang luật bao gồm 4 bước:

Cắt tỉa:

Luật khởi tạo ban đầu là đường đi từ gốc đến lá của cây quyết định Một cây quyết định

có l lá thì tương ứng tập luật sản xuất sẽ có l luật khởi tạo Từng điều kiện trong luật được xem

xét và loại bỏ nếu không ảnh hưởng tới độ chính xác của luật đó

Sau đó, các luật đã cắt tỉa được thêm vào tập luật trung gian nếu nó không trùng vớinhững luật đã có

Ngày đăng: 09/04/2015, 22:49

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w