Chương 3 Mơ hình học máy cho bài tốn đối sánh văn bản
3.1 Mơ hình phân loại theo cây quyết định
Giải thuật học cây quyết định
Sau đây sẽ là phần trình bày cây quyết định ID3 và một số cải tiến giải thuật tăng khả năng học.
ID3 là biểu diễn khái niệm ở dạng cây quyết định. 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ụ 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. Và giải thuật cây quyết định cĩ:
Đầu vào là một tập dữ liệu huấn luyện mỗi ví dụ trong tập cĩ tập giá trị cho tập các thuộc tính trong đĩ cĩ một thuộc tính đích
Đầu ra là các cây quyết định phân loại đúng với các ví dụ trong tập dữ liệu và cĩ thể phân loại (dự đốn) đúng với cả ví dụ trong tương lai.
Cây quyết định là cây mà root và node trong là đại diện một thuộc tính, mỗi cạnh được gán một giá trị của thuộc tính của node phía trên, leaf được gán nhãn true hoặc false.
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 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 cĩ 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 thuộc này để phân vùng tập ví dụ thành những tập con; thuật tốn khi đĩ xây dựng theo đệ 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ột ví dụ của phân vùng đều thuộc vào một lớp (nhãn), và lớp (nhãn) đĩ trở thành nút lá của cây.
Vì thứ tự của các thuộc tính là 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 nghiệm để làm gốc của cây. Trước hệ chúng tơi sẽ trình bày thuật tốn xây dựng cây quyết định ID3, và việc làm thế nào chọn thuộc tính làm root tại mỗi lần đệ quy sẽ được tình bày trong phần tiếp theo.
Thuật tốn xây dựng cây quyết định từ tập huấn luyện và tập thuộc tính:
Function DecisionTree(tập_huấn_luyện, tập_thuộc_tính) begin
if mọi ví dụ đều thuộc trong cùng một lớp s then
return nút lá gán nhãn s
else if tập thuộc tính là rỗng
then
return nút này gán cái nhãn chiếm đa số trong tập_huấn_luyện
else begin
chọn một thuộc tính P từ tập_thuộc_tính 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ĩ nhãn là v
đặt vào phân_vùng_v các ví dụ trong tập_huấn_luyện cĩ giá trị v của thuộc tính P
if phân_vùng_v là rỗng then
gắn nút cĩ nhãn chiếm đa số trong tập_huấn_luyện vào nhánh v
else
end
end end
Trong quá trình xây dựng cây quyết định , phân vùng của một nhánh mới ở vào một trong những trường hợp sau:
Tập ví dụ của một phân vùng cĩ nhiều hơn một loại nhãn -> giải thuật tiếp tục đệ quy xây dựng cây con.
Tất cả các ví dụ đều thuộc cùng một lớp, chẳng hạn như tồn true hoặc false -> node là với nhãn của phân vùng được trả về.
Phân vùng khơng cĩ ví dụ nào -> giải thuật trả về số nhãn tối đa trong tập mẫu của cây cha.
Khơng cịn thuộc tính nào -> nghĩa là dữ liệu bị nhiễu, khi đĩ giải thuật phải sử dụng luật nào đĩ để xử lý, chẳng hạn 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ề.
Ta thấy rằng để cĩ một cây quyết định đơ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 phân vùng chỉ 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ỉ gồm cĩ ví dụ thuộc cùng một lớp (nhãn), ta nối phân vùng đĩ cĩ tính thuần nhất. Vậy để cây quyết định cĩ kích thước nhỏ ta cần phương pháp để xác định thuộc tính tốt nhất cho việc tạo ra càng nhiều phân vùng thuần nhất càng tốt. ID3 sử dụng lý thuyết thơng tin để tìm thuộc tính phân loại tốt nhất.
Thuộc tính nào dùng để phân loại tốt nhất
Một tập hợp là thuần nhất nếu như tất cả các phần tử của tập hợp đều thuộc cùng một loại, và khi đĩ ta nĩi tập hợp này cĩ độ pha trộn là thấp nhất.
Khi tập ví dụ là thuần nhất thì cĩ thể nĩi: ta biết chắc chắn về nhãn của một ví dụ thuộc tập này, hay ta cĩ lượng thơng tin về tập đĩ là cao nhất. Khi tập ví dụ cĩ độ pha trộn cao nhất, nghĩa là số lượng các ví dụ ở tất cả các nhãn là như nhau, thì khi đĩ ta khơng thể đốn chính xác một ví dụ trong tập này cĩ nhãn là gì hay nĩi cách khác là lượng thơng tin của tập mẫu này là ít nhất. Vậy làm thế nào chọn thuộc tính chia tập ví dụ ban đầu thành các tập con thuần nhất càng nhanh càng tốt. Và lý thuyết thơng tin đã đưa ra cách tính độ thuần nhất của một tập hợp: entropy.
Entropy đo tính thuần nhất của một tập ví dụ
Khái niệm entropy của một tập S được định nghĩa trong lý thuyết thơng tin là số lượng bít cần thiết để mã hĩa thơng tin của một lớp trong tập ví dụ. Trong trường hợp tối ưu , mã cĩ độ dài ngắn nhất. Theo lý thuyết thơng tin mã cĩ độ dài tối ưu là mã gán –log2p bít cho lớp cĩ xác suất là p.
Entropy đo độ thuần nhất của tập dữ liệu, cơng thức tổng quát là:
Entropy(S) = c i i i p p 1 2 log
ở đây pi là xác suất của lớp i trong tập dữ liệu S. Giá trị của entropy thuộc đoạn [0,1]
Nếu Entropy(S)=0 tức là tập dữ liệu thuần nhất.
Nếu Entropy(S)=1 tức tập dữ liệu hỗn tạp nhất tất cả lớp đều cĩ xác suất bằng nhau.
Tĩm lại Entropy(S) càng nhỏ thì tập ví dụ càng thuần nhất. Với c=2 ta cĩ đồ thị của Entropy(S):
Hình 7: đồ thị của Entropy với dữ liệu cĩ hai nhãn
Với mỗi thuộc tính, nĩ chia tập ví dụ S thành các tập con Sv thì lượng thơng tin thu được information gain là:
Gain(S,A) = Entropy(S) - | | ( ) | | ) ( v A Values v v S Entropy S S
Với mơ hình cây quyết định, đơi khi xảy ra hiện tượng “quá khớp” hiện tượng này do dữ liệu ít phân bố khơng theo đúng tỉ lệ của mỗi giá trị của mỗi thuộc tính, để khắc phục hiện tượng này người ta lại chia tập huấn luyện thành 2 tập là tập huấn luyện và tập phê chuẩn. Người ta tìm cây thỏa mãn size(decision tree) + size(missclassifications(tree)) trên tập phê chuẩn, hoặc dừng khơng khai triển node trong nào cĩ inforgain nhỏ nhất trong quá trình tạo cây.
Với thuộc tính cĩ nhiều giá trị thì càng nhiều giá trị càng kém tính khái quát bởi vậy một đơn vị đo khác được đưa ra đĩ là gainratio:
GainRaio(S,A) = Gain(S,A) / SplitInformation(S,A) với SplitInformation(S,A) = - c i i i S S S S 1 2 | | | | log | | | |
Cách phân loại của cây quyết định, với mỗi cặp trang web cĩ tập giá trị tương ứng với tập thuộc tính, các giá trị của các thuộc tính này sẽ đi theo các nhánh của cây đã được xây dựng khi nào đến lá thì dừng và sẽ cĩ nhãn tương ứng nhãn của lá.