TÌM HIỂU THUẬT TOÁN ID3 - Xây dựng thuật toán ID3

5 6.1K 68
TÌM HIỂU THUẬT TOÁN ID3 - Xây dựng thuật toán ID3

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

Thông tin tài liệu

Xây dựng thuật toán ID3

TÌM HIỂU THUẬT TOÁN ID3 I. Tổng quan ID3. Giải thuật 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ó, tiếp cận của nó trong việc quản lý tính phức tạp, 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ụ rèn luyện (training example) hay còn gọi là dữ liệu rè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 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ương lai. II. Thuật toán: Các thuật toán ID3 bắt đầu với ban đầu là các tập S như là các nút gốc. Trên mỗi lần lặp của thuật toán, nó lặp qua tất cả các thuộc tính của tập S và tính toán dữ liệu ngẫu nhiên entropy H(S) ( hoặc độ lợi thông tin (information gain) IG(A)) của thuộc tính đó. Sau đó chọn các thuộc tính trong đó có dữ liệu ngẫu nhiên nhỏ nhất (hoặc thông tin thu được lớn nhất) có giá trị. Tập S sau đó được chia bởi thuộc tính được lựa chọn (ví dụ độ tuổi <50, 50 <= tuổi <100, tuổi> = 100) để tạo ra các tập con của dữ liệu. Thuật toán tiếp tuc recurse(em nghĩ là đệ quy) trên mỗi tập con. Vì rằng các thuật toán không bao giờ được lựa chọn trước. Đệ quy trên tập con có thể dừng lại ở 1 trong những trường hợp Mỗi phần tử trong tập hợp con thuộc về lớp tương đương (+ hoặc -), sau đó nút biến thành một lá và dán nhãn với các lớp trong những ví dụ. Không có nhiều hơn nữa là các thuộc tính được lựa chọn, nhưng các ví dụ vẫn không thuộc về cùng một lớp (một số được + và một số -), sau đó nút là biến thành một lá và dán nhãn với các lớp học phổ biến nhất của các ví dụ trong tập hợp con. Không có ví dụ trong tập hợp, điều này sẽ xảy ra khi không có ví dụ trong tập cha mẹ đã được tìm thấy để được phù hợp với một giá trị cụ thể của thuộc tính lựa chọn, ví dụ nếu không có ví dụ với tuổi> = 100. Sau đó, một chiếc lá được tạo ra, và được dán nhãn với các lớp học phổ biến nhất trong những ví dụ trong tập cha mẹ. Trong suốt các thuật toán, các cây quyết định được xây dựng với mỗi nút không đại diện cho thiết bị đầu cuối thuộc tính lựa chọn mà trên đó các dữ liệu được chia, và các nút thiết bị đầu cuối đại diện cho các nhãn lớp của tập cuối cùng của chi nhánh này. ID3 xây dựng cây quyết định (cây QĐ) 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ụ rè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.  Entropy H(S) đo tính thuần nhất của tập dữ liệu : dùng để đo tính thuần nhất của một tập dữ liệu. Entropy của một tập S được tính theo công thức (1) Trong trường hợp các mẫu dữ liệu có hai thuộc tính phân lớp "yes" (+), "no" (-). Ký hiệu p + là để chỉ tỷ lệ các mẫu có giá trị của thuộc tính quyết định là "yes", và p - là tỷ lệ các mẫu có giá trị của thuộc tính quyết định là "no" trong tập S. Trường hợp tổng quát, đối với tập con S có n phân lớp thì ta có công thức sau: Hoặc là: Trong đó P i là tỷ lệ các mẫu thuộc lớp i trên tập hợp S các mẫu kiểm tra. Các trường hợp đặc biệt - Nếu tất cả các mẫu thành viên trong tập S đều thuộc cùng một lớp thì Entropy(S) =0 - Nếu trong tập S có số mẫu phân bổ đều nhau vào các lớp thì Entropy(S) =1 - Các trường hợp còn lại 0< Entropy(S)<1  Information Gain (viết tắt là Gain): Gain là đại lượng dùng để đo tính hiệu quả của một thuộc tính được lựa chọn cho việc phân lớp. Đại lượng này được tính thông qua hai giá trị Information và Entropy. - Cho tập dữ liệu S gồm có n thuộc tính A i (i=1,2…n) giá trị Information của thuộc tính A i ký hiệu là Information(A i ) được xác định bởi công thức . (2.3) - Giá trị Gain của thuộc tính A trong tập S ký hiệu là Gain(S,A) và được tính theo công thức sau: (2.4) Trong đó :  S là tập hợp ban đầu với thuộc tính A. Các giá trị của v tương ứng là các giá trị của thuộc tính A.  S v bằng tập hợp con của tập S mà có thuộc tính A mang giá trị v.  |S v | là số phần tử của tập S v .  |S| là số phần tử của tập S. Trong quá trình xây dựng cây quyết định theo thuật toán ID3 tại mỗi bước triển khai cây, thuộc tính được chọn để triển khai là thuộc tính có giá trị Gain lớn nhất. Xây dựng cây quyết định: Gồm có 2 bước: + Bước một: Thiết lập cây quyết định • Bắt đầu từ gốc • Kiểm tra các giá trị của thuộc tính và phân chia các mẫu đệ quy + Bước 2: Tỉa bớt cây: • Xác định và loại bỏ các nhánh không ổn định hoặc cá biệt Một cây quyết định tốt cần thỏa mãn các tính chất:  Đầy đủ: cây quyết định cần khớp với mọi trường hợp trong tập huấn luyện  Đơn giản: cây càng đơn giản thì càng tổng quát. Khi nào nên sử dụng ID3: Giải thuật ID3 là một giải thuật học đơn giản nhưng nó chỉ phù hợp với một lớp các bài toán hay vấn đề có thể biểu diễn bằng ký hiệu. Chính vì vậy, giải thuật này thuộc tiếp cận giải quyết vấn đề dựa trên ký hiệu (symbol – based approach). Tuy nhiên, khác với một số giải thuật khác cũng thuộc tiếp cận này, ID3 sử dụng các ví dụ rèn luyện ở dạng xác suất nên nó có ưu điểm là ít bị ảnh hưởng bởi một vài dữ liệu nhiễu. Vì vậy, tập dữ liệu rèn luyện ở đây có thể chứa lỗi hoặc có thể thiếu một vài giá trị ở một số thuộc tính nào đó. Một giải pháp thường được áp dụng đối với các dữ liệu bị thiếu là sử dụng luật đa số, chương trình tiền xử lý dữ liệu sẽ điền vào các vị trí còn trống giá trị có tần số xuất hiện cao nhất của thuộc tính đó.

Ngày đăng: 16/03/2014, 14:21

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan