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

Tìm hiểu cây quyết định trong xây dựng tri thức và ứng dụng

42 862 1

Đ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 42
Dung lượng 419,14 KB

Nội dung

2.3 Lý thuyết học cây quyết định trong trí tuệ nhân tạo Học cây quyết định là một trong những phương pháp được sử dụng phổ biến hiện nay để suy luận theo phương pháp quy nạp.. Một cây qu

Trang 1

MỤC LỤC

Trang 2

Trong đợt thực tập vừa qua, em đã nhận được sự huớng dẫn, giúp đỡ và động viên tận tình từ nhiều phía Tất cả những điều đó đã trở thành một động lực rất lớn giúp em có thể hoàn thành tốt đề tài báo cáo của mình Với tất cả tấm lòng và trân trọng, em xin được gửi lời cảm ơn đến tất cả mọi người.

Em xin chân thành cảm ơn Khoa Công nghệ Thông tin, trường Đại học Công Nghệ Thông Tin và Truyền Thông Thái Nguyên đã tạo điều kiện thuận lợi cho em học tập và thực hiện đề tài thực tập chuyên ngành này

Em xin bày tỏ lời cảm ơn tới thầy Nguyễn Quang Hiệp giảng viên trường Đại

học Công Nghệ Thông Tin và Truyền Thông Thái Nguyên đã tận tình hướng dẫn chỉ bảo em trong quá trình tìm hiểu đề tài

Em xin chân thành cảm ơn các thầy, các cô trong khoa Công nghệ Thông tin đã tận tình giảng dạy cho em những kiến thức quý báu trong năm vừa qua

Em xin cảm ơn sự quan tâm giúp đỡ và ủng hộ của gia đình và bạn bè trong quá trình em thực tập tìm hiểu đề tài

Mặc dù đã cố gắng hoàn thành đề tài thực tập của mình trong phạm vi và khả năng của mình nhưng chắc chắn sẽ ko tránh khỏi những thiếu sót Em rất mong nhận được sự thông cảm, góp ý và tận tình chỉ bảo của thầy, cô và các bạn

Em xin chân thành cảm ơn!

Hòa Bình, ngày 05 tháng 01 năm 2013

Sinh viên

Đinh Thị Hoa

Trang 3

Tên sinh viên: Đinh Thị Hoa

Lớp: HCĐH – K10B

GVHD: Nguyễn Quang Hiệp

Tên đề tài: “Tìm hiểu cây quyết định trong xây dựng tri thức và ứng dụng”

Chương 1: TỔNG QUAN CHUNG VỀ ĐỀ TÀI 1.1 Đặt vấn đề

Ngành CNTT trên thế giới ngày càng phát triển với một tốc độ chóng mặt Tại những quốc gia phát triển nhất, ngành CNTT đã có những đóng góp to lớn trong tất cả các lĩnh vực kinh tế, chính trị và xã hội Các nhà phát triển trong ngành CNTT luôn hy vọng sẽ tạo ra được các chương trình máy tính có khả năng xử lý như con người Chương trình giải quyết vấn đề tương tự như cách xử lý của kỹ năng thông minh mà con người sử dụng Vậy những kỹ năng thông minh nào là cơ bản nhất đồng thời khó tự động hóa nhất của con người ngoài các hoạt động sáng tạo nghệ thuật, các hành động ra quyết định mang tính đạo đức, trách nhiệm xã hội thì người ta thường đề cập đến vấn đề ngôn ngữ và học Trải qua nhiều năm, hai lĩnh vực này vẫn là mục tiêu, thách thức của khoa học trí tuệ nhân tạo

Tầm quan trọng của việc học thì không cần phải tranh cãi, vì khả năng học chính là một trong những thành tố quan trọng của hành vi thông minh Các hệ chuyên gia tuy đã được phát triển nhiều năm, song số lượng các hệ chuyên gia vẫn còn hạn chế Một trong những nguyên nhân chủ yếu là do quá trình tích lũy tri thức phức tạp, chi phí phát triển các hệ chuyên gia rất cao, nhưng chúng không có khả năng học, khả năng tự thích nghi khi môi trường thay đổi Các chiến lược giải quyết vấn đề của chúng cứng nhắc, khi có nhu cầu thay đổi thì việc sửa đổi một lượng lớn mã chương trình là rất khó khăn Một giải pháp hiển nhiên là các chương

Trang 4

các ví dụ hay từ những “chỉ dẫn”, “lời khuyên”,… Vì thế, từ khi phát minh ra máy tính, con người đã luôn mong muốn có thể xây dựng được những chương trình làm cho máy có khả năng tự học như người.

Tuy rằng đến nay mong muốn đó vẫn chưa thực hiện một cách triệt để song

ở một góc độ nào đó nó cũng đạt được một số thành công nhất định

Các thành tựu đáng kể mà Trí tuệ nhân tạo đã đạt được như:

- Nhận dạng tiếng nói

- Xử lý ngôn ngữ tự nhiên

- Dự đoán, chẩn trị trong y học

- Nhận dạng AND (tin sinh học)

- Phân loại cấu trúc thiên văn mới

Trang 5

- Chương 1: Giới thiệu chung về đề tài

- Chương 2: Cơ sở lý thuyết

- Chương 3: Xây dựng ứng dụng

- Chương 4: Kết luận

1.4 Phương pháp nghiên cứu

- Phương pháp thu thập, tham khảo tài liệu

- Nghiên cứu tổng hợp lý thuyết

- Phân tích, thiết kế hệ thống

- Cài đặt, thử nghiệm

- Đánh giá kết quả

1.5 Các kết quả

Các kết quả đạt được trong quá trình xây dựng và phát triển đề tài

- Nắm được kiến thức tổng quan về lĩnh vực trí tuệ nhân tạo, hiểu rõ phương pháp học cây quyết định

- Cài đặt thành công một chương trình mô phỏng phương pháp học cây

quyết định xây dựng tri thức

Chương 2: CƠ SỞ LÝ THUYÊT 2.1 Các kết quả nghiên cứu

Trang 6

Ở nước ta lý thuyết Trí tuệ nhân tạo và cây quyết định không còn là một khái niệm mới nhưng những ứng dụng thực tế của nó còn hạn chế, đặc biệt là cây quyết định Sau đây là một số ứng dụng Trí tuệ nhân tạo và cây quyết định.

1. Nghiên cứu, xây dựng hệ hỗ trợ ra quyết định dựa trên mạng nơ-ron và logic mờ: Đề tài được thực hiện bởi PGS.TS Lê Hoài Bắc và các đồng nghiệp tại khoa CNTT - ĐH Khoa học tự nhiên – ĐH quốc gia Tp.HCM Mục đích của đề tài này là: nghiên cứu và thử nghiệm các phương pháp phân tích, nhận dạng hình ảnh, âm thanh dựa trên mạng nơ-ron và logic mờ, tích hợp trong hệ hỗ trợ ra quyết định Xây dựng một số hệ thống hỗ trợ quyết định phục vụ cho các lĩnh vực khoa học, giáo dục, kinh tế, môi trường, quốc phòng,

2. Ứng dụng bioinformatics trong hóa học: Đây là đề tài nghiên cứu khoa học được thực hiện bởi PGS.TS Bùi Thọ Thanh, TS Lê Khắc Tích, Đinh Tấn Phúc và Phùng Quán tại Trường ĐH Khoa học tự nhiên - Đại học quốc gia Tp.HCM Mục đích của đề tài là: nghiên cứu - hoàn thiện phương pháp luận

về việc ứng dụng bioinformatics trong hoá học sau đó áp dụng để khảo sát các vấn đề hoá học Sử dụng các tính toán về mạng nơ ron, logic mờ và thuật giải di truyền

3. Phát hiện mặt người bằng AdaBoost: Đây là luận văn cao học của Trần Phúc Trị lớp cao học 1 trường ĐH Khoa học tự nhiên - ĐH quốc gia Tp.HCM Mục tiêu của đề tài là xây dựng mô hình phát hiện mặt người hiệu quả bằng

sự kết hợp của hai phương pháp AdaBoost (là một phương pháp dò tìm) và mạng nơron

Trong học cây quyết định, đã có nhiều phần mềm được tạo ra tương ứng với các giải thuật Như C4.5 có chương trình C4.5_R8 chạy trên nền Unix Giải thuật

Trang 7

C5.0 có chương trình C5.0 hoạt động trên Unix và bản sao của nó là See5 hoạt động trên Windows See5 được thiết kế và hoạt động trên cơ sở dữ liệu lớn nhưng tạo ra cây quyết đinh nhanh và nhỏ hơn so với cây được tạo ra từ chương trình C4.5_R8 See5 đã xây dựng được một giao diện đồ họa thân thiện làm cho việc sử dụng chương trình dễ dàng hơn.

2.2Trí tuệ nhận tạo

Trí tuệ nhân tạo (hay AI: Artifical Intelligence), là nỗ lực tìm hiểu những yếu

tố trí tuệ Lý do khác để nghiên cứu lĩnh vực này là cách để ta tự tìm hiểu bản thân chúng ta Không giống triết học và tâm lý học, hai khoa học liên quan đến trí tuệ, còn AI cố gắng thiết lập các yếu tố trí tuệ cũng như tìm biết về chúng Lý do khác

để nghiên cứu AI là để tạo ra các thực thể thông minh giúp ích cho chúng ta AI có nhiều sản phẩm quan trọng và đáng lưu ý, thậm chí ngay từ lúc sản phẩm hình thành Mặc dù không dự báo được tương lai, nhưng rõ rang máy tính điện tử với độ thông minh nhất định đã có ảnh hưởng lớn tới cuộc sống ngày nay và tương lai phát triển của văn minh nhân loại

Chế tạo được những cỗ máy thông minh như con người (thậm chí thông minh hơn con người) là một ước mơ cháy bỏng của loài người từ hàng ngàn năm nay Hẳn bạn đọc còn nhớ đến nhà khoa học Alan Turing cùng những đóng góp to lớn của ông trong lĩnh vực trí tuệ nhân tạo Năng lực máy tính ngày càng mạnh mẽ

là một điều kiện hết sức thuận lợi cho trí tuệ nhân tạo Điều này cho phép những chương trình máy tính áp dụng các thuật giải trí tuệ nhân tạo có khả năng phản ứng nhanh và hiệu quả hơn trước Sự kiện máy tính Deep Blue đánh bại kiện tướng cờ vua thế giới Casparov là một minh chứng hùng hồn cho một bước tiến dài trong

công cuộc nghiên cứu về trí tuệ nhân tạo Tuy có thể đánh bại được Casparov nhưng Deep Blue là một cỗ máy chỉ biết đánh cờ ! Nó thậm chí không có được trí

Trang 8

thân, khả năng quan sát nhận biết thế giới, tình cảm thương, ghét, Ngành trí tuệ nhân tạo đã có những bước tiến đáng kể, nhưng một trí tuệ nhân tạo thực sự vẫn chỉ có trong những bộ phim khoa học giả tưởng của Hollywood Vậy thì tại sao chúng ta vẫn nghiên cứu về trí tuệ nhân tạo? Điều này cũng tương tự như ước mơ chế tạo vàng của các nhà giả kim thuật thời Trung Cổ, tuy chưa thành công nhưng chính quá trình nghiên cứu đã làm sáng tỏ nhiều vấn đề.

Mặc dù mục tiêu tối thượng của ngành Trí tuệ nhân tạo là xây dựng một chiếc máy có năng lực tư duy tương tự như con người nhưng khả năng hiện tại của tất cả các sản phẩm Trí tuệ nhân tạo vẫn còn rất khiêm tốn so với mục tiêu đã đề

ra Tuy vậy, ngành khoa học mới mẻ này vẫn đang tiến bộ mỗi ngày và đang tỏ ra ngày càng hữu dụng trong một số công việc đòi hỏi trí thông minh của con người Hình ảnh sau sẽ giúp bạn hình dung được tình hình của ngành trí tuệ nhân tạo

Vậy Trí tuệ nhân tạo là gì ? Chúng ta có thể nói: “Tuyệt thật, đây là một chương trình được thực hiện bằng những suy diễn thông minh, vì thế cần phải tiếp tục và mọi người bổ sung cho nó” Nhưng theo sự phát triển của khoa học cho thấy: Sẽ có ích nêu ta đi đúng hướng Định nghĩa về AI có tới 8 cuốn sách đề cập Những định nghĩa đó đưa ra trên hai nhận định chính:

- Thứ nhất: Quan tâm chủ yếu đến quá trình tư duy và lập luận

Trang 9

- Thứ hai: Vấn đề ít được quan tâm hơn, đó là hoạt động.

Một hệ thống được coi là hợp lý nếu như nó thực hiện đúng Điều này sẽ đưa ngành AI đến 4 mục tiêu:

Hệ thống tư duy như con người Hệ thống tư duy có lập luận

Hệ thống hoạt đông như con

người

Hệ thống hoạt động có lập luận

Mục tiêu của ngành khoa học trí tuệ nhân tạo:

Tạo ra những chiếc máy tính có khả năng nhận thức, suy luận và phản ứng.Nhận thức được hiểu là khả năng quan sát, học hỏi, hiểu biết cũng như những kinh nghiệm về thế giới xung quanh Quá trình nhận thức giúp con người có tri thức Suy luận là khả năng vận dụng những tri thức sẵn có để phản ứng với những tình huống hay những vấn đề - bài toán gặp phải trong cuộc sống Nhận thức và suy luận để từ đó đưa ra những phản ứng thích hợp là ba hành vi có thể nói

là đặc trưng cho trí tuệ của con người (Dĩ nhiên còn một yếu tố nữa là tình cảm Nhưng chúng ta sẽ không đề cập đến ở đây!) Do đó, cũng không có gì ngạc nhiên khi muốn tạo ra một chiếc máy tính thông minh, ta cần phải trang bị cho nó những khả năng này Cả ba khả năng này đều cần đến một yếu tố cơ bản là tri thức

2.3 Lý thuyết học cây quyết định trong trí tuệ nhân tạo

Học cây quyết định là một trong những phương pháp được sử dụng phổ biến hiện nay để suy luận theo phương pháp quy nạp Học cây quyết định là một phương pháp xấp xỉ các hàm đích có giá trị rời rạc trong đó các hàm cần học được

mô tả bởi một cây quyết định Những cây học được này cũng có thể được mô tả lại

thành tập luật if-then để con người có thể đọc được dễ dàng hơn Những phương

pháp học này thuộc vào những phương pháp phổ biến trong các thuật toán suy diễn quy nạp và đã được ứng dụng thành công trong nhiều lĩnh vực công nghệ từ học

Trang 10

cách chẩn đoán các bệnh trong y học tới việc học cách đánh giá độ rủi ro về tài chính khi ngân hàng cho vay tiền

2.3.1 Cây quyết định

Trong lý thuyết quyết định (chẳng hạn quản lí rủi ro), một cây quyết định (decision tree) là một đồ thị của các quyết định và các hậu quả có thể của nó (bao gồm rủi ro và hao phí tài nguyên) Cây quyết định được sử dụng để xây dựng một

kế hoạch nhằm đạt được mục tiêu mong muốn Các cây quyết định được dùng để

hỗ trợ quá trình ra quyết định Cây quyết định là một dạng đặc biệt của cấu trúc cây

Trong lĩnh vực, Trí tuệ nhân tạo, cây quyết định là một kiểu mô hình dự báo (predictive model), 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 ứng vớ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ể cho biế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áy dù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ên ngắn gọn là cây quyết định

Cây quyết định mô tả một cấu trúc cây, trong đó các lá đại diện cho cá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ập con dựa theo một đại lượng 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ực hiệ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ụng một số cây quyết định để có thể cải thiện tỉ lệ phân loại

Trang 11

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án các xác suất có điều kiện.

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:

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

đó

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

- Mỗi nút trên cây kiểm tra một thuộc tính

- Mỗi nhánh tương ứng với giá trị thuộc tính

- Mỗi nút lá được gán một phân lớp

- Định luật Occam’s razor: những cây đơn giản là những cây quyết định tốt hơn

Hình 2.1 minh họa 1 ví dụ về cây quyết định

Trang 12

Hình 2.1 Biểu diễn cây quyết định 2.3.3Cá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ặc khoả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.4Giải thuật học cây quyết định

Giải thuật học cây quyết định được sử dụng thành công trong hệ chuyên gia, trong việc nắm bắt kiến thức Công việc chính sử dụng trong các hệ thống này là việc sử dụng phương pháp quy nạp cho những giá trị cho trước của những thuộc tính của một đối tượng chưa biết để xác định sự phân loại xấp xỉ theo những luật

Trang 13

của cây quyết định Cây quyết định sẽ phân loại các trường hợp bằng cách duyệt từ nút gốc đến những nút lá Chúng ta sẽ bắt đầu từ nút gốc của cây quyết định, kiểm tra thuộc tính trong tập hợp cho trước Quá trình này lặp lại tại những cây con.

2.3.5Những bài toán thích hợp với học cây quyết định

Nhiều phương pháp học cây quyết định được phát triển với một số yêu cầu

và khả năng khác nhau Vì thế ta có thể thấy học bằng cây quyết định thường thích hợp nhất với các bài toán có các đặc trưng sau:

Các mẫu được biểu diễn bởi cặp giá trị−thuộc tính Trong đó các ví dụ

được mô tả bởi một tập cố định các thuộc tính (ví dụ: Temperature) và các giá trị của chúng (chẳng hạn: Hot) Học nhờ cây quyết định sẽ dễ thực hiện nhất khi mỗi một thuộc tính chỉ nhận trong một số ít giá trị riêng biệt (ví dụ: Hot, Mild, Cool) Tuy nhiên, những mở rộng của thuật toán cơ sở cũng cho phép xử lý tốt trường hợp các thuộc tính có giá trị thực (ví dụ: việc mô tả Temperature có giá trị là số)

Hàm đích có các giá trị rời rạc Giá trị đầu ra ở cây quyết định có thể nhận

giá trị kiểu Bool (Yes hoặc No) Các phương pháp cây quyết định dễ mở rộng cho học các hàm nhận nhiều hơn 2 giá trị ở đầu ra Một mở rộng bản chất hơn cho phép học các hàm đích có đầu ra là các giá trị thực mặc dù ứng dụng của cây quyết định trong lĩnh vực này là ít phổ biến hơn

Có thể đòi hỏi các mô tả tuyển Cây quyết định biểu diễn một cách tự

nhiên các phép tuyển

Dữ liệu huấn luyện có thể có lỗi Những phương pháp học cây quyết định

rất mạnh trong trường hợp có lỗi, cả các lỗi khi phân lớp các ví dụ huấn luyện và lỗi trong các giá trị của thuộc tính mô tả những ví dụ này

Trang 14

Dữ liệu huấn luyện có thể thiếu các giá trị thuộc tính Phương pháp cây

quyết định được sử dụng ngay cả khi một số ví dụ huấn luyện chưa biết hết các giá trị

Rất nhiều bài toán thực tế đã khẳng định những đặc tính này Việc học bằng cây quyết định vì vậy được áp dụng cho các bài toán như học cách phân loại bệnh nhân theo loại bệnh, phân loại các sự cố thiết bị theo nguyên nhân gây ra chúng, phân loại những người vay tiền ngân hàng theo khả năng không thể trả nợ của họ Những bài toán mà nhiệm vụ là phân loại các mẫu thành một tập rời rạc các loại có thể, thường được quy vào các bài toán phân lớp (clasification problems)

2.3.6Ưu điểm của học bằng cây quyết định

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

- Cây quyết định dễ hiểu Nhìn vào mô hình cây quyết định sẽ thấy rõ ràng các quyết định

- Việc chuẩn bị dữ liệu cho một cây quyết định là cơ bản hoặc không cần thiết Các kỹ thuật khác thường đòi hỏi chuẩn hóa dữ liệu, cần tạo các biến phụ (dummy variable) và loại bỏ các giá trị rỗng

- 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 phân loại của thuộc tính Các kỹ thuật khác thường 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ình huống cho trước trong một mô hình, thì có thể dễ dàng giải thích điều kiện

Trang 15

đó bằng logic 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ết quả 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àm cho 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ây quyết định

Trang 16

Chương 3: XÂY DỰNG ỨNG DỤNG 1.6 Thuật toán học cây quyết định – ID3 cơ bản

quy nạp cây ID3 (gọi tắt là ID3) là một giải thuật học đơn giản nhưng tỏ ra thành công trong nhiều lĩnh vực ID3 là một giải thuật hay vì cách biểu diễn tri thức học được của nó, vì cách tiếp cận của nó trong việc quản lý tính phức tạp, vì

kỹ thuật heuristic của nó dùng cho việc chọn lựa các khái niệm ứng viên, và tiềm năng của nó đối với việc xử lý dữ liệu nhiễu

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ểm tra các giá trị của nó trên một số thuộc tính nào đó 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ụ huấn luyện (training example) hay còn gọi là dữ liệu huấn luyện (training data) Hay nó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 huấ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ương lai

Ví dụ, chúng ta hãy xét bài toán phân loại xem ta ‘Playtennis’ ứng với thời tiết nào đó không Giải thuật ID3 sẽ học cây quyết định từ tập hợp các ví dụ sau:

Trang 17

Bảng 3.1 Tập dữ liệu huấn luyện cho khái niệm “PlayTennis”

Day Outlook Temperature Humidity Wind Playtennis D1

Hot Hot Hot Mild Cool Cool Cool Mild Cool Mild Mild Mild Hot Mild

High High High High Normal Normal Normal High Normal Normal Normal High Normal High

Weak Strong Weak Weak Weak Strong Strong Weak Weak Weak Strong Strong Weak Strong

No No Yes Yes Yes No Yes No Yes Yes Yes Yes Yes No

Tập dữ liệu này bao gồm 14 ví dụ Mỗi ví dụ biểu diễn cho tình trạng thời tiết gồm các thuộc tính Outlook, Temperature, Humidity và Wind; và đều có một thuộc tính phân loại “Playennis” (Yes, No) “No” nghĩa là không đi chơi tennis ứng với thời tiết đó, “Yes” nghĩa là ngược lại Giá trị phân loại ở đây chỉ có hai loại (Yes, No), hay còn ta nói phân loại của tập ví dụ của khái niệm này thành hai lớp

Trang 18

Mỗi thuộc tính đều có một tập các giá trị hữu hạn Thuộc tính Outlook có ba giá trị (Overcast, Rain, Sunny), Temperature có ba giá trị (Hot, Cool, Mild), Humidity có hai giá trị (High, Normal) và Wind có hai giá trị (Strong, Weak) Các giá trị này chính là ký hiệu (symbol) dùng để biểu diễn bài toán

Từ tập dữ liệu huấn luyện này, giải thuật ID3 sẽ học một cây quyết định có khả năng phân loại đúng đắn các ví dụ trong tập này, đồng thời hy vọng trong tương lai, nó cũng sẽ phân loại đúng các ví dụ không nằm trong tập này Một cây quyết định ví dụ mà giải thuật ID3 có thể quy nạp được là:

Hình 3.2 Cây quyết định cho tập dữ liệu trong bảng 2.2

Các nút trong cây quyết định biểu diễn cho một sự kiểm tra trên một thuộc tính nào đó, mỗi giá trị có thể có của thuộc tính đó tương ứng với một nhánh của cây Các nút lá thể hiện sự phân loại của các ví dụ thuộc nhánh đó, hay chính là giá trị của thuộc tính phân loại

Trang 19

Sau khi giải thuật đã quy nạp được cây quyết định, thì cây này sẽ được sử dụng để phân loại tất cả các ví dụ hay thể hiện (instance) trong tương lai Và cây quyết định sẽ không thay đổi cho đến khi ta cho thực hiện lại giải thuật ID3 trên một tập dữ liệu huấn luyện khác

Ứng với một tập dữ liệu huấn luyện sẽ có nhiều cây quyết định có thể phân loại đúng tất cả các ví dụ trong tập dữ liệu huấn luyện Kích cỡ của các cây quyết định khác nhau tùy thuộc vào thứ tự của các kiểm tra trên thuộc tính

Vậy làm sao để học được cây quyết định có thể phân loại đúng tất cả các ví

dụ trong tập huấn luyện? Một cách tiếp cận đơn giản là học thuộc lòng tất cả các ví

dụ bằng cách xây dựng một cây mà mỗi lá là 1 ví dụ Với cách tiếp cận này thì có thể cây quyết định sẽ không phân loại đúng cho các ví dụ chưa gặp trong tương lai

Vì phương pháp này cũng giống như hình thức ‘học vẹt’, mà cây không hề học được một khái quát nào của khái niệm cần học

1.7 Giải thuật ID3 xây dựng cây quyết định từ trên – xuống

ID3 xây dựng cây quyết định theo cách từ trên xuống Lưu ý rằng đối với bất

kỳ thuộc tính nào, chúng ta cũng có thể phân vùng tập hợp các ví dụ huấn luyện thành những tập con tách rời, mà ở đó mọi ví dụ trong một phân vùng (partition) có một giá trị chung cho thuộc tính đó ID3 chọn một thuộc tính để kiểm tra tại nút hiện tại của cây và dùng trắc nghiệm này để phân vùng tập hợp các ví dụ; thuật toán khi đó xây dựng theo cách đệ quy một cây con cho từng phân vùng Việc này tiếp tục cho đến khi mọi thành viên của phân vùng đều nằm trong cùng một lớp, lớp đó trở thành nút lá của cây

Vì thứ tự của các trắc nghiệm là rất quan trọng đối với việc xây dựng một cây quyết định đơn giản, ID3 phụ thuộc rất nhiều vào tiêu chuẩn chọn lựa trắc

Trang 20

xây dựng cây quyết định, với việc giả định một hàm chọn trắc nghiệm thích hợp.

Ví dụ, hãy xem xét cách xây dựng cây quyết định của ID3 từ ví dụ trước đó

+: D3, D4, D5, D7, D9, D10, D11, D12, D13

-: D1, D2, D6, D8, D14

Outlook + : D9, D11

Hình 3.3 Một phần cây quyết định xây dựng được

Bắt đầu với bảng đầy đủ gồm 14 ví dụ huấn luyện, ID3 chọn thuộc tính Outlook để làm thuộc tính gốc sử dụng hàm chọn lựa thuộc tính mô tả trong phần

kế tiếp Trắc nghiệm này phân chia tập ví dụ như cho thấy trong hình 4.3 với phần

tử của mỗi phân vùng được liệt kê bởi số thứ tự của chúng trong bảng

*

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

Trang 21

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ộc tí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

Ngày đăng: 21/03/2015, 13:45

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w