Rút ra các luật từ Cây quyết định

Một phần của tài liệu Khai phá dữ liệu với cây quyết định (Trang 56)

Việc chuyển đổi cây quyết định thành tập các luật đem lại nhiều thuận lợi trong việc cài đặt và dễ hiểu hơn với con người, đặc biệt trong trường hợp cây có kích thước lớn. Ngoài ra, chuyển thành luật sẽ dễ dàng trong việc xem xét việc kiểm tra các thuộc tính, rút gọn các luật và thu gọn cây quyết định.

Để chuyển từ Cây quyết định sang các luật tương ứng, ta bắt đầu duyệt từ nút gốc của cây dọc theo các nhánh qua các nút trong để đi đến nút lá thì dừng. Mỗi lần duyệt như thế sẽ cho ta một luật tương ứng (mỗi nút lá ứng với một luật). Thuộc tính lớp (nút lá) sẽ nằm sau "THEN" còn các thuộc tính ứng viên sẽ nằm sau "IF" trước "THEN" và chúng được liên kết lại bởi toán tử lôgic "AND". Ví dụ: ứng với tập dữ liệu huấn luyện về những người mua máy tính trong mục 2.2.1 ta có cây quyết định được xây dựng như trong hình 2.2

Hình 2.9: Rút ra các luật từ cây Từ Cây quyết định trên, ta có các luật tương ứng như sau:

IF “Tuổi”  “30" AND “Sinh viên”= “Đúng” THEN "Mua máy tính"= “Có" IF “Tuổi” “30" AND“Sinh viên”=“Không” THEN "Mua máy tính"= “Không" IF “Tuổi” “31" AND “Tuổi” “40” THEN "Mua máy tính"= “Có"

IF “Tuổi”> “40" AND “Thu nhập”= “Thấp” THEN "Mua máy tính"= “Không" IF “Tuổi”> “40" AND “Thu nhập”= “Cao” THEN "Mua máy tính"= “Có"

Tuổi?

Sinh viên Thu nhập

Sai Đúng Thấp Cao <=30 Không Có Không Có Có 31..40 >40

2.5. Kết luận

Cây quyết định cung cấp một phương pháp khai phá dữ liệu hiệu quả và được ứng dụng rất nhiều trong các bài toán thực tế. Trong các giải thuật xây dựng cây quyết định, ID3 là một trong những thuật toán phổ biến nhất. Thuật toán ID3 đã đưa ra tiêu chí để chọn lựa thuộc tính ứng viên ở mỗi bước trong khi xây dựng cây kết quả. Tuy nhiên, ID3 vẫn còn một số hạn chế khi áp dụng cho tập dữ liệu có các thuộc tính có rất nhiều giá trị hoặc có giá trị liên tục và đặc biệt là đối với dữ liệu bị nhiễu hoặc bị thiếu (noisy data, missing data).

Nhằm để khắc phục những hạn chế của thuật toán ID3, Quinlan đã đưa ra một phiên bản sau của ID3 đó là thuật toán C4.5. Thuật toán khắc phục được vấn đề dữ liệu có thuộc tính số, liên tục cũng như thuộc tính có nhiều giá trị. C4.5 thực hiện việc phân ngưỡng đối với các thuộc tính số và liên tục bằng các phép tách nhị phân. Quinlan cũng đã đưa hàm GainRatio thay cho hàm Gain để giải quyết vấn đề thuộc tính có nhiều giá trị. Trong thuật toán C4.5 còn có bước tính lỗi cho các nút và cắt tỉa các nhánh không phù hợp (over-fitted branches).

Tuy đã cải tiến được hàng loạt các vấn đề, nhưng vẫn còn nhiều vấn đề khó và phức tạp luôn làm đau đầu các nhà nghiên cứu mà trên thực tế trường hợp này rất thường xảy ra chẳng hạn như vấn đề thuộc tính liên tục và trường hợp dữ liệu có nhiều thay đổi, cần phân lớp mềm dẻo hơn,… Để giải quyết vấn đề này, ta sẽ xem xét các thuật toán về cây quyết định mờ trong chương 3.

CHƯƠNG 3: CÂY QUYẾT ĐỊNH MỜ 3.1. Giới thiệu

Giải thuật ID3 được giới thiệu bởi Quinlan đã chứng tỏ là một phương pháp có hiệu quả và phổ biến để tìm những cây quyết định diễn tả thông tin được chứa đựng hoàn toàn trong những tập dữ liệu giá trị rời rạc. Tuy nhiên, vẫn còn có một số khó khăn hay gặp phải trong áp dụng phương pháp này với những vấn đề của thế giới thực. Ví dụ, cây quyết định được sinh là tương đương với một tập điều kiện lôgic có thứ tự mà mỗi điều kiện đúng với mọi phần tử của tập dữ liệu. Nói cách khác, nếu chúng ta sinh ra những luật phân lớp liên kết từ một tập các lớp với những giá trị của một số tập thuộc tính thì phân lớp đúng được bảo đảm cho mỗi phần tử trong tập huấn luyện. Một hệ quả tự nhiên của tính chất này là ID3 cổ điển không thích hợp cho những cơ sở dữ liệu chứa đựng nhiễu đáng kể, từ đó các luật sinh ra sẽ khớp với nhiễu và điều này có thể dẫn tới một tỷ lệ lỗi cao khi phân lớp các trường hợp chưa thấy (unseen case). Hơn nữa, thường trong thực tế bài toán phân lớp những thuộc tính có giá trị liên tục cần phải phân vùng không gian liên quan nếu ID3 được ứng dụng. Đây thực chất là cách tiếp cận được chấp nhận trong giải thuật C4.5, giải thuật chia không gian của một thuộc tính liên tục thành hai tập A > t và A <= t theo tham số t nào đó.

Việc sử dụng phân vùng cứng trong trường hợp này là không hợp lý vì khi có những thay đổi nhỏ trong những giá trị của thuộc tính có thể dẫn đến những thay đổi bất ngờ và không thích hợp với lớp được gán. Rõ ràng như vậy sẽ giảm bớt những khả năng khái quát hóa của hệ thống. Một hạn chế hơn nữa là không có khả năng để sử dụng hay phân loại những điểm dữ liệu với một số những giá trị thuộc tính không xác định mặc dù trong giải thuật C4.5 vấn đề này được giải quyết từng phần bằng việc khám phá mọi nhánh có thể có của cây phù hợp với điểm này và sau đó kết hợp vào kết quả.

Cuối cùng là yêu cầu về tập các giá trị phân lớp là hữu hạn và loại trừ lẫn nhau có nghĩa ID3 cổ điển và C4.5 không thể được ứng dụng vào những vấn đề chung hơn như xấp xỉ chức năng hay sinh ra những luật để tổng hợp thông tin được lưu trong những cơ sở dữ liệu lớn.

Việc sử dụng tập mờ để phân vùng các không gian có thể có những lợi thế quan trọng hơn là qua những cách tiếp cận truyền thống và khi được kết hợp với

những phương pháp cây quyết định quy nạp cổ điển có thể giúp giải quyết các khó khăn ở trên. Cụ thể, những luật quyết định mờ có khuynh hướng linh hoạt và ít nhạy cảm hơn hơn đối với những thay đổi nhỏ của những giá trị thuộc tính gần những ranh giới phân vùng. Cũng những luật như vậy sẽ có khuynh hướng có những khả năng khái quát hóa lớn hơn so với những bản sao cứng của chúng.

Khái niệm phân vùng mờ cho phép ta để hợp nhất cả phân lớp chồng nhau (overlap) và phân lớp thuộc tính bên trong mô hình quy nạp của chúng ta một cách chặt chẽ. Điều này có thể có những thuận lợi dưới dạng sự phức tạp của cây khi bằng chứng thực nghiệm đưa ra là nó ít hạn chế khái niệm phân vùng, cho phép những lớp thuộc tính ít hơn sẽ được sử dụng. Ngoài ra, nhiều bài toán có thể được thể hiện tốt nhất sử dụng những khái niệm tự nhiên nhất tương ứng với những lớp chồng nhau (overlap) và từ đây phân vùng mờ này có thể tạo điều kiện thuận lợi cho việc sinh ra những luật dễ hiểu hơn với con người. Tất nhiên, có cách khác mà trong đó hợp nhất của những tập mờ có thể tạo ra những luật quyết định 'con người' hơn khi có thể mô hình những khái niệm mập mờ như những gì tìm thấy trong ngôn ngữ tự nhiên. Điều này đặc biệt hữu ích trong trường hợp những biến liên tục khi có thể giúp đưa những nhãn ngôn ngữ cho những tập mờ như vậy, chẳng hạn, cao, trung bình và thấp. Một lợi thế hơn nữa trong phân vùng mờ là cho phép cây quyết định sẽ được sử dụng trong phối hợp với một phương pháp giải mờ cho hàm xấp xỉ.

Chương này sẽ mô tả một số phương pháp để sinh ra những cây quyết định mờ. Trước khi tìm hiểu các phương pháp xây dựng cây quyết định mờ, ta cần điểm qua một số khái niệm cơ bản về logic mờ và suy luận xấp xỉ.

3.2. Logic mờ và suy luận xấp xỉ 3.2.1. Khái niệm Logic mờ 3.2.1. Khái niệm Logic mờ

Logic truyền thống chỉ quan tâm đến 2 giá trị tuyệt đối (đúng hoặc sai). Logic truyền thống luôn tuân theo 2 giả thuyết. Một là tính thành viên của tập hợp: Với một phần tử và một tập hợp bất kỳ, thì phần tử hoặc là thuộc tập hợp đó, hoặc thuộc phần bù của tập đó. Giả thiết thứ hai là định luật loại trừ trung gian, khẳng định một phần tử không thể vừa thuộc một tập hợp vừa thuộc phần

tập hợp. Giữa hai nhiệt độ 45 và 55 độ C, logic này không thể hiện được nhiệt độ nào nóng hơn nhiệt độ nào.

Ngoài ra, logic này còn có một nhược điểm khác quan trọng hơn đó là không thể biểu diễn được các dữ kiện mang tính mơ hồ, không chính xác mà trong thực tế lại có rất nhiều phát biểu bằng ngôn ngữ tự nhiên ở dạng này; chẳng hạn như: John thì khá cao => như vậy John có thuộc tập hợp những người cao hay không? Hoặc: John thì rất cao => như thế nào là rất cao? Vì vậy, logic truyền thống không thể hỗ trợ cho những suy luận trên những thông tin mang tính mơ hồ, thiếu chính xác như vậy.

Để khắc phục khuyết điểm của logic truyền thống, Lotfi Zadeh đã đưa ra lý thuyết mới về logic gọi là logic mờ (fuzzy logic). Lý thuyết của Zadeh biểu diễn tính mờ hay tính thiếu chính xác trong các phát biểu (như ở mục trên) theo cách định lượng bằng cách đưa ra một hàm thành viên (membership function) nhận giá trị thực giữa 0 và 1.

3.2.2. Các khái niệm cơ bản của logic mờ 3.2.2.1. Tập mờ (Fuzzy Set) 3.2.2.1. Tập mờ (Fuzzy Set)

Tập mờ A trong không gian U được định nghĩa bởi một cặp thứ tự: A = { (x, µA(x)) / x  U},

µA(x) được gọi là hàm thuộc (membership function) xác định “mức độ thuộc” tập mờ A của x.

µA(x) trả về giá trị thuộc (membership value) nằm trong khoảng [0, 1] của mỗi giá trị x ( Dx) .

Ví dụ : cho x là một thuộc tính với miền xác định Dx, hàm thuộc µA(x) có dạng sau : µA(x) : Dx  [0,1]

Hàm thuộc có một số dạng thông dụng như sau : Hàm thuộc tam giác

Hàm thuộc hình thang

Biểu diễn tập mờ: Cho tập U = {x, x1, x2, …, xn}. Cho tập mờ A có hàm thành viên µA

Tập mờ A được biểu diễn: A = { (x1, µA(x1)), (x2, µA(x2)), …, (xn, µA(xn)) } Nếu U rời rạc thì A có thể viết:

A = µ1/x1 + µ2/x2 + … + µn/xn = 

n i 1

µi/xi, phép “+” là phép hội của các phần tử. Nếu U liên tục thì A biểu diễn: A = 

U

3.2.2.2. Các toán tử logic trên tập mờ

Logic mờ không quan tâm đến cách thức các tập mờ được tạo ra như thế nào, mà quan tâm đến các luật hỗ trợ cho việc suy luận trên các tập mờ này. Phần này sẽ trình bày các phép toán thao tác trên các tập mờ, đó là phép bù (complement) phép hợp (union), phép giao (intersection).

- Phép hợp hay toán tử OR: Hợp của hai tập mờ (A B) thể hiện mức độ một phần tử thuộc về một trong hai tập là bao nhiêu.

Công thức: μAB(x) = max (μA(x) , μB(x) )

- Phép giao hay toán tử AND: Giao của hai tập mờ (AB) thể hiện mức độ một phần tử thuộc về cả hai tập là bao nhiêu.

Công thức: μAB(x) = min (μA(x) , μB(x) )

- Phép bù hay toán tử NOT: Bù của một tập mờ thể hiện mức độ một phần tử không thuộc về tập đó là bao nhiêu. Công thức: μ ¬A(x) = 1 - μA(x) Nhận xét: Logic mờ không tuân theo các luật về tính bù của logic truyền thống: μ¬AA(x)  1 và μ ¬A  A(x)  0

3.2.2.3. Biến ngôn ngữ và biến mờ

- Biến ngôn ngữ (Linguistic Variables): Biến ngôn ngữ là một khái niệm quan trọng trong logic mờ và lập luận xấp xỉ. Biến ngôn ngữ là một biến mà giá trị của nó là từ (word) hay câu (sentence) trong ngôn ngữ tự nhiên.

- Biến mờ (Fuzzy variable): mô tả bởi bộ ba (X, U, R(X)), X: tên của biến, U: tập xác định, R(X): tập mờ con của U, biểu diễn một giới hạn mờ (fuzzy restriction) áp đặt trên X.

Biến ngôn ngữ có thứ bậc cao hơn biến mờ: Nó lấy các biến mờ làm giá trị của mình. Một biến ngôn ngữ mô tả bởi bộ năm: (x, T(x), U, G, M), x: tên của biến, T(x): tập hợp các tên của biến ngôn ngữ của x mà giá trị của nó là các biến mờ trên U, G: luật cú pháp để sinh ra tên của các giá trị của x, M: luật ngữ nghĩa để kết hợp mỗi giá trị của x với nghĩa của nó.

3.2.2.4. Hệ Điều khiển/Quyết định mờ(Fuzzy logic Control/Decision System)

Hình 3.3: Mô hình hệ thống Điều khiển/Quyết định mờ

Trong hệ thống trên, với các giá trị đầu vào x, hệ mờ sẽ cho kết quả đầu ra y. Nếu y là một hành động điều khiển cho một thiết bị, thì hệ thống trên là hệ điều khiển mờ. Còn không, đó là hệ quyết định mờ.

Bộ mờ hóa (Fuzzifier) chuyển các dữ liệu được đo lường rõ thành các giá trị ngôn ngữ thích hợp. Cơ sở luật mờ (Fuzzy rule base) giữ những tri thức vận hành tiến trình của các chuyên gia trong lĩnh vực đó. Động cơ suy diễn (Inference Engine) là cốt lõi của hệ thống. Nó có khả năng mô phỏng việc ra quyết định của con người bằng cách lập luận xấp xỉ, để từ đó, đạt được chiến lược điều khiển mong muốn. Bộ khử mờ (Defuzzifier) sẽ sinh ra các quyết định hoặc các điều khiển “rõ” từ kết quả mờ cung cấp bởi động cơ suy diễn.

1. Mờ hóa: Tính toán các giá trị mờ từ các giá trị chính xác ở đầu vào.

2. Cơ sở luật mờ: Một luật mờ là một biểu thức if- then được phát biểu ở dạng ngôn ngữ tự nhiên thể hiện sự phụ thuộc nhân quả giữa các biến. Luật mờ có dạng: Rj: IF x là Ai, … AND y là Bi THEN z = Ci (i=1, 2, …, n), với x, y, z là các biến ngôn ngữ mô tả trạng thái của hệ thống và A, B, C là các giá trị ngôn ngữ tương ứng. Một cách viết khác của luật mờ: Rj: IF x là Ai , …, AND y là Bi THEN z = fi(x, …, y), với f là hàm của các biến mô tả trạng thái hệ thống.

3. Suy diễn mờ: Áp dụng tất cả các luật mờ có thể áp dụng để tính ra giá trị mờ cho kết luận, sau đó kết hợp các kết quả đầu ra.

4. Khử mờ: Xác định giá trị chính xác từ kết quả mờ có được ở bước 2. Có nhiều kỹ thuật Khửmờ có thể áp dụng được, phương pháp thông dụng nhất là phương pháp trọng tâm (centriod method).

3.2.2.5. Các ưu điểm của áp dụng tập mờ để rời rạc hoá dữ liệu

Ưu điểm thứ nhất: Giải quyết được vấn đề “điểm biên gãy” nhờ tập mờ có thể phân khoảng mịn hơn nhờ vào “độ trơn” của hàm thuộc.

Ưu điểm thứ hai: Rời rạc hoá bằng phân khoảng đôi khi tạo ra số khoảng rất lớn và do đó số thuộc tính nhị phân cũng rất lớn. Còn khi sử dụng tập mờ thì số lượng tập mờ gắn với mỗi thuộc tính là không đáng kể.

Ưu điểm thứ ba: Tập mờ cho phép chúng ta biểu diễn luật kết hợp dưới dạng tự nhiên hơn và gần gũi hơn với người sử dụng.

Ưu điểm thứ tư: Giá trị thuộc tính sau khi rời rạc hoá (sau khi tính qua hàm thuộc) biến thiên trong khoảng [0, 1] cho biết “mức độ thuộc” ít hay nhiều trong khi đó các thuộc tính nhị phân trước đây chỉ có một trong hai giá trị 0, 1. Điều này cho chúng ta khả năng ước lượng chính xác hơn “độ đóng góp” của các bản ghi trong cơ sở dữ liệu vào một tập phổ biến nào đó.

Một ưu điểm nữa đối với rời rạc hoá dựa vào tập mờ là nó có thể áp dụng tốt cho cả hai dạng cơ sở dữ liệu : cơ sở dữ liệu quan hệ (relation databases) và cơ sở dữ liệu dạng giao tác (transactional databases).

3.3. Cây Quyết định Mờ

Điểm không thuận lợi của cây quyết định là tính ko ổn định của nó. Cây quyết định được thừa nhận như một cách phân lớp dễ thay đổi bậc nhất về khía cạnh phụ thuộc vào dữ liệu huấn luyện. Cấu trúc của cây quyết định có thể khác hoàn toàn nếu có thay đổi nào đó trong tập dữ liệu. Để khắc phục vấn đề này, một số nhà nghiên cứu đã đưa ra Cây quyết định Mờ bằng cách sử dụng lý thuyết tập mờ để diễn tả mức độ quan hệ của các giá trị của thuộc tính, điều này

Một phần của tài liệu Khai phá dữ liệu với cây quyết định (Trang 56)

Tải bản đầy đủ (PDF)

(129 trang)