DECISION TREE LÀ GÌ

     

Cho đến bây chừ chúng ta sẽ học về linear regression, hồi quy logistic và chúng rất khó hiểu. Bây chừ chúng ta hãy bắt đầu với Decision Tree với tôi bảo vệ với chúng ta rằng đây có lẽ rằng là thuật toán dễ dàng nhất trong Machine learning. Không có không ít toán học liên quan ở đây. Đây chắc rằng là phương thức đơn giản độc nhất lúc bắt đầu học machine learning.

Bạn đang xem: Decision tree là gì


Decision Tree là gì?

Nó là 1 trong công cụ có những ứng dụng bao hàm nhiều nghành nghề khác nhau. Decision Tree hoàn toàn có thể được thực hiện để phân loại tương tự như các việc hồi quy. Bản thân loại tên gợi ý rằng nó sử dụng một sơ đồ vật giống như kết cấu cây nhằm hiển thị các dự đoán là hiệu quả của một loạt các phân bóc tách dựa bên trên tính năng. Nó bước đầu với một Root Nodes và kết thúc bằng một quyết định của những lá.

*

Trước khi đọc thêm về Decision Tree, bọn họ hãy làm quen với một số trong những thuật ngữ.

Root Nodes – Nó là nút hiện hữu ở đầu Decision Tree từ bỏ nút này, quần thể bước đầu phân chia theo các đặc điểm khác nhau.

Các Decision Nodes – những nút họ nhận được sau khi bóc tách các Root Nodes được gọi là Decision Nodes

Leaf Nodes – những nút không thể tách bóc thêm được call là Leaf Nodes hoặc nút đầu cuối

Sub-tree – kiểu như như 1 phần nhỏ của vật thị được điện thoại tư vấn là đồ vật thị con, tựa như như vậy một trong những phần con của Decision Tree này được gọi là Sub-tree.

Pruning – không có gì khác ngoài vấn đề cắt giảm một số nút để hoàn thành trang bị vượt mức.

*

Hãy hiểu Decision Tree với việc trợ góp của ví dụ.

Ví dụ Decision Tree

Decision Tree lộn ngược có nghĩa là gốc nghỉ ngơi trên cùng và kế tiếp gốc này được tạo thành nhiều nút không giống nhau. Decision Tree không là gì ko kể một loạt các câu lệnh if-else theo thuật ngữ của giáo dân. Nó kiểm tra xem đk có đúng không ạ và nếu đúng thì nó vẫn chuyển mang đến nút tiếp theo sau được đi cùng với ra quyết định đó.

Trong sơ đồ gia dụng dưới đây, thứ nhất cây vẫn hỏi thời tiết là gì? Trời nắng, mây, hay mưa? Nếu gồm thì sẽ gửi sang tính năng tiếp theo sau là nhiệt độ và gió. Nó sẽ soát sổ lại xem gồm gió bạo gan hay yếu, trường hợp gió yếu cùng trời mưa thì tín đồ đó có thể đi chơi.

*

Bạn có phân biệt điều gì trong sơ thiết bị trên không? cửa hàng chúng tôi thấy rằng giả dụ thời tiết nhiều mây thì chúng tôi phải đi chơi. Tại sao nó không bóc ra nhiều hơn? lý do nó dừng lại ở đó?

*

Để trả lời câu hỏi này, chúng ta cần biết thêm một vài khái niệm như entropy, information gain với Gini index. Dẫu vậy nói một phương pháp dễ hiểu, tôi nói cách khác ở phía trên rằng tác dụng đầu ra mang lại tập dữ liệu đào tạo luôn là có so với thời tiết các mây, vì không có sự lộn xộn sống đây, chúng tôi không rất cần phải chia nút thêm nữa.

Mục tiêu của Machine learning là bớt sự không chắc hẳn rằng hoặc náo loạn từ tập dữ liệu và để triển khai được điều này, chúng tôi sử dụng Decision Tree.

Bây giờ chúng ta phải nghĩ làm nạm nào nhằm tôi biết hầu như gì yêu cầu là Root Nodes? Decision Nodes đề xuất là gì? bao giờ tôi nên ngừng chia nhỏ? Để quyết định điều này, có một trong những liệu được gọi là “Entropy”, là lượng không chắc chắn là trong tập dữ liệu.

Entropy

Entropy không là gì khác ngoại trừ sự không chắc hẳn rằng trong tập tài liệu hoặc thước đo sự xôn xao của chúng tôi. Hãy để tôi cố gắng giải thích điều đó với sự trợ giúp của một ví dụ.

Giả sử bạn có một tổ bạn đưa ra quyết định họ hoàn toàn có thể xem bộ phim truyện nào cùng cả nhà vào chủ nhật. Bao gồm 2 sự chắt lọc cho phim, một là “Lucy” cùng thứ nhì là “Titanic” và bây giờ mọi tín đồ phải đưa ra gạn lọc của mình. Sau khi mọi người đưa ra câu trả lời của họ, công ty chúng tôi thấy rằng “Lucy” được 4 phiếu bầu và “Titanic” được 5 phiếu bầu. Hiện thời chúng ta xem bộ phim truyền hình nào? bây chừ không cạnh tranh để chọn 1 phim bởi vì lượt bình chọn cho cả nhị phim đông đảo ngang nhau.

Đây và đúng là những gì chúng tôi gọi là rối loạn, có một số trong những phiếu bầu bằng nhau cho tất cả hai tập phim và shop chúng tôi thực sự cần thiết quyết định bộ phim nào cửa hàng chúng tôi nên xem. Sẽ thuận lợi hơn những nếu số phiếu thai cho “Lucy” là 8 và cho “Titanic” là 2. Ở đây chúng ta có thể dễ dàng nói rằng nhiều phần phiếu bầu giành riêng cho “Lucy” vì vậy mọi fan sẽ xem bộ phim này.

Trong Decision Tree, đầu ra hầu hết là “có” hoặc “không”

Công thức mang lại Entropy được hiển thị mặt dưới:

*
Ở đây p. + là phần trăm của lớp dươngp– là xác suất của lớp lấp định

S là tập nhỏ của ví dụ như huấn luyện

Làm thay nào để Decision Tree thực hiện Entropy?

Bây giờ chúng ta biết entropy là gì và phương pháp của nó là gì, Tiếp theo, họ cần biết rằng nó hoạt động đúng mực như cụ nào trong thuật toán này.

Về cơ bản, Entropy đo độ tạp chất của một nút. Tạp hóa học là cường độ ngẫu nhiên; nó cho thấy dữ liệu của họ ngẫu nhiên như thế nào. Một phân bóc tách con thuần túy gồm nghĩa là bạn sẽ nhận được “có” hoặc bạn sẽ nhận được “không”.

Giả sử ban đầu một đối tượng có 8 “có” cùng 4 “không”, sau lần phân loại đầu tiên, nút bên trái nhận được 5 ‘y

es ’và 2″ no “trong lúc nút bên đề xuất nhận được 3” yes “và 2” no “.

Chúng ta thấy tại chỗ này sự phân chia không trong sáng, nguyên nhân vậy? bởi vì chúng ta vẫn rất có thể thấy một số lớp phủ định vào cả hai nút. Để tạo thành một Decision Tree, họ cần tính tạp chất của các lần tách, và khi độ tinh khiết là 100%, họ làm mang lại nó như 1 Leaf Nodes.

Để khám nghiệm tạp chất của đặc điểm 2 và điểm sáng 3, cửa hàng chúng tôi sẽ tiến hành trợ hỗ trợ cho công thức Entropy.

Xem thêm: Từ Điển Anh Việt " Freestyle Là Gì ? Cách Mặc Quần Áo Freestyle Phong Cách

*
*
*

Chúng ta hoàn toàn có thể thấy cụ thể từ phiên bản thân cây rằng nút bên trái tất cả entropy thấp hoặc độ tinh khiết hơn nút bên buộc phải vì nút phía bên trái có số lượng “có” nhiều hơn và rất tiện lợi để đưa ra quyết định ở đây.

Luôn hãy nhớ là Entropy càng tốt thì độ thuần khiết càng thấp và tạp chất càng cao.

Như sẽ đề cập trước đó, phương châm của Machine learning là giảm độ không chắc hẳn rằng hoặc tạp chất trong tập dữ liệu, làm việc đây bằng cách sử dụng entropy, họ đang nhận thấy tạp chất của một nút cụ thể, họ không biết là entropy thân phụ hay entropy của một nút cụ thể có giảm hay không.

Đối với điều này, chúng tôi mang đến một vài liệu mới có tên là “Mức tăng thông tin” cho shop chúng tôi biết entropy mẹ đã giảm bao nhiêu sau khi bóc tách nó bằng một vài tính năng.

Information Gain

Information Gain đo lường và thống kê việc bớt độ không đảm bảo an toàn do một số đặc điểm và nó cũng chính là yếu tố quyết định thuộc tính nào yêu cầu được chọn làm Decision Nodes hoặc Root Nodes.

*

Nó chỉ với entropy của tập dữ liệu đầy đủ – entropy của tập tài liệu được cung cấp một số tính năng.

Để hiểu rõ hơn điều này, họ hãy chu đáo một ví dụ:

Giả sử tổng thể dân số của bọn họ có tổng số 30 ngôi trường hợp. Bộ dữ liệu là để tham dự đoán liệu người đó tất cả đi đến phòng tập thể dục tốt không. Trả sử 16 người đến phòng luyện tập thể dục với 14 bạn không đi

Bây giờ bọn họ có nhị tính năng để tham dự đoán liệu anh ấy / cô ấy tất cả đi đến phòng rèn luyện thể dục giỏi không.

Xét nằm trong tính là “Energy” thừa nhận hai quý giá “high” cùng “low

Thuộc tính 2 là “Motivation” bao gồm 3 giá trị “No motivation”, “Neutral” với “Highly motivated”.

Hãy coi Decision Tree của bọn họ sẽ được thực hiện như thế nào khi thực hiện 2 chức năng này. Chúng tôi sẽ sử dụng tích lũy thông tin để quyết định tính năng nào cần là Root Nodes và nhân tài nào sẽ tiến hành đặt sau khi tách.

*

Hãy giám sát và đo lường entropy:

*

Để coi trung bình bao gồm trọng số của entropy của mỗi nút, bọn họ sẽ làm như sau:

*

Bây giờ chúng ta có quý hiếm của E (Parent) và E (Parent | Energy), Information Gain vẫn là:

*

Entropy parent của cửa hàng chúng tôi là ngay gần 0,99 và sau thời điểm xem xét giá trị thu được thông tin này, bạn có thể nói rằng entropy của tập dữ liệu sẽ giảm 0,37 nếu chúng ta đặt “energy” có tác dụng Root Nodes.

Tương tự, chúng tôi sẽ triển khai điều này với tác dụng khác “Motivation” và giám sát mức tăng thông tin của nó.

*

Hãy đo lường và thống kê entropy làm việc đây:

*

Để coi trung bình bao gồm trọng số của entropy của từng nút, bọn họ sẽ làm như sau:

*

Bây giờ bọn họ có giá trị của E (Parent) với E (Parent | Motivation), Information Gain đã là:

*

Bây giờ cửa hàng chúng tôi thấy rằng chức năng “energy” bớt nhiều hơn, là 0,37 so với kỹ năng “Motivation”. Bởi vì đó, chúng tôi sẽ chọn đối tượng người sử dụng địa lý tất cả mức tăng thông tin tối đa và sau đó tách bóc nút dựa trên đối tượng người tiêu dùng địa lý đó.

*

Trong ví dụ như này, “energy” sẽ là Root Nodes của bọn họ và chúng ta sẽ làm tương tự so với các nút phụ. Ở đây chúng ta có thể thấy rằng khi energy “cao” thì entropy phải chăng và do đó bạn cũng có thể nói một người chắc chắn rằng sẽ đến sân tập thể dục nếu anh ta tất cả energy cao, cơ mà nếu energy tốt thì sao? một lượt nữa cửa hàng chúng tôi sẽ phân tách nút dựa trên tính năng lạ là “Motivation”.

Khi làm sao thì kết thúc chia nhỏ?

Chắc hẳn nhiều người đang tự hỏi mình thắc mắc này rằng lúc nào thì họ ngừng cách tân và phát triển cây của mình? Thông thường, những bộ tài liệu trong nhân loại thực có một số lượng lớn các tính năng, điều này sẽ dẫn đến một số lượng lớn các phân tách, vày đó tạo thành một cây khổng lồ. Hầu như cây như vậy buộc phải nhiều thời gian để desgin và có thể dẫn mang đến tình trạng thừa sung. Điều đó tức là cây sẽ mang đến độ đúng chuẩn rất tốt trên tập dữ liệu đào tạo và huấn luyện nhưng sẽ đến độ đúng mực kém trong dữ liệu thử nghiệm.

Có nhiều cách để giải quyết sự việc này thông qua điều chỉnh rất tham số. Bạn có thể đặt độ sâu buổi tối đa đến Decision Tree của mình bằng phương pháp sử dụng tham số max_depth. Giá trị của max_depth càng các thì cây của người tiêu dùng càng phức tạp. Lỗi huấn luyện và giảng dạy sẽ sụt giảm nếu họ tăng cực hiếm max_depth tuy vậy khi dữ liệu thử nghiệm của họ hiển thị trên hình ảnh, chúng ta sẽ cảm nhận độ đúng chuẩn rất kém. Bởi đó, bạn phải một giá chỉ trị sẽ không trang bị thừa mức tương tự như không trang bị không thiếu cho tài liệu của công ty chúng tôi và so với điều này, bạn có thể sử dụng GridSearchCV.

Một cách khác là đặt số lượng mẫu về tối thiểu cho mỗi lần đổ. Nó được cam kết hiệu là min_samples_split. Ở đây shop chúng tôi chỉ định số lượng mẫu buổi tối thiểu quan trọng để thực hiện đổ. Ví dụ: shop chúng tôi có thể thực hiện tối thiểu 10 chủng loại để đi mang đến quyết định. Điều đó tức là nếu một nút có ít hơn 10 mẫu

sau đó áp dụng tham số này, chúng ta cũng có thể dừng việc chia nhỏ thêm nút này và trở thành nó thành một Leaf Nodes.

Có các siêu tham số rộng như:

min_samples_leaf – đại diện cho con số mẫu tối thiểu quan trọng để gồm trong Leaf Nodes. Các bạn càng tăng số lượng, càng có nhiều khả năng sản phẩm công nghệ quá mức.max_features – nó giúp shop chúng tôi quyết định con số tính năng phải xem xét khi tìm kiếm sự phân tách tốt nhất.

Pruning

Đó là một phương thức khác có thể giúp họ tránh overfitting. Nó giúp cải thiện hiệu suất của cây bằng phương pháp cắt những nút hoặc nút nhỏ không quan trọng. Nó loại trừ các nhánh gồm tầm đặc trưng rất thấp.

Chủ yếu có 2 phương pháp để Pruning:

Pre-pruning – chúng ta cũng có thể ngừng cải tiến và phát triển cây nhanh chóng hơn, gồm nghĩa là chúng ta có thể tỉa / đào thải / giảm một nút trường hợp nó có tầm quan trọng đặc biệt thấp vào khi cải cách và phát triển cây.Post-pruning – lúc cây của họ đã được chế tạo đến độ sâu của nó, bạn cũng có thể bắt đầu tỉa các nút dựa trên ý nghĩa sâu sắc của chúng.

Xem thêm: Cacbohdrat Được Tạo Ra Trong Quá Trình Quang Hợp Từ ? Các Pha Của Quá Trình Quang Hợp

Chú thích

Tóm lại, trong bài này chúng ta đã tìm hiểu về Decision Tree. Trên các đại lý nào cây phân chia các nút và làm nạm nào để có thể ngừng trang bị vượt mức. Tại sao linear regression không chuyển động trong ngôi trường hợp những vấn đề phân loại.