Logo Zephyrnet

Tăng cường học máy: Định nghĩa, chức năng, loại và tính năng

Ngày:

Bài báo này đã được xuất bản như một phần của Blogathon Khoa học Dữ liệu.

Giới thiệu

Tăng cường là một chủ đề quan trọng trong học máy. Nhiều nhà phân tích bối rối trước ý nghĩa của cụm từ này. Do đó, trong bài viết này, chúng tôi sẽ định nghĩa và giải thích việc thúc đẩy Machine Learning. Với sự trợ giúp của tính năng “tăng cường”, các mô hình học máy có thể nâng cao độ chính xác của dự đoán của chúng. Chúng ta hãy xem xét kỹ hơn cách tiếp cận này:

Tăng cường trong Machine Learning là gì?

Trước khi đi sâu vào chủ đề “Thúc đẩy Machine Learning”, cần tìm hiểu ý nghĩa của thuật ngữ này. Tăng cường được định nghĩa là 'khuyến khích hoặc hỗ trợ điều gì đó cải thiện.' Tăng cường học máy thực hiện mục tiêu tương tự bằng cách hỗ trợ các mô hình học máy và tăng độ chính xác của chúng. Kết quả là nó là một thuật toán được sử dụng rộng rãi trong khoa học dữ liệu.

Trong học máy, tăng cường đề cập đến các phương pháp biến mô hình học yếu thành mô hình mạnh. Giả sử chúng ta cần phân loại email là 'Thư rác' hoặc 'Không phải Thư rác'. Để tạo ra những khác biệt này, chúng ta có thể áp dụng phương pháp sau:

  • Nếu một email chỉ có một file hình ảnh thì đó là thư rác (vì hình ảnh thường mang tính chất quảng cáo)
  • Nếu email bắt đầu bằng dòng 'Bạn đã trúng số' thì đó là thư rác.
  • Nếu một email chỉ có một tập hợp các liên kết thì đó là thư rác.
  • Nếu email bắt nguồn từ một nguồn trong danh sách liên hệ của chúng tôi thì đó không phải là thư rác.

Bây giờ, mặc dù chúng tôi đã có sẵn các tiêu chí phân loại nhưng bạn có tin rằng chúng đủ mạnh để xác định xem một email có phải là lừa đảo hay không? Đó không phải là tình huống. Bản thân những nguyên tắc này không đủ để phân loại email là 'Không phải thư rác' hoặc 'Thư rác'. Chúng ta sẽ cần củng cố chúng, điều mà chúng ta có thể đạt được bằng cách áp dụng mức trung bình có trọng số hoặc bằng cách tính đến dự báo về số phiếu bầu cao hơn.

Do đó, trong tình huống này, chúng tôi có năm bộ phân loại, ba trong số đó phân loại email là 'Thư rác'. Vì lớp này có tổng số phiếu bầu lớn hơn danh mục 'Không phải thư rác' nên chúng tôi sẽ coi email là 'Thư rác' theo mặc định.

Ví dụ này nhằm mục đích chứng minh khái niệm về kỹ thuật tăng cường. Chúng phức tạp hơn thế.

Làm thế nào để họ làm việc?

Như đã thấy trong ví dụ trước, việc tăng cường kết hợp những người học yếu để tạo ra các quy tắc nghiêm ngặt. Vì vậy, làm thế nào bạn có thể nhận ra những sai sót trong các quy tắc? Để khám phá một quy tắc chưa biết, phải sử dụng các kỹ thuật học tập dựa trên cá thể. Bất cứ khi nào phương pháp học cơ sở được sử dụng, một quy tắc dự đoán yếu sẽ được tạo ra. Bạn sẽ lặp lại quy trình này nhiều lần và thuật toán tăng cường sẽ hợp nhất các quy tắc yếu thành quy tắc mạnh sau mỗi lần lặp.

Mỗi lần lặp lại của thuật toán tăng cường sẽ tìm ra phân phối tốt nhất có thể. Nó sẽ bắt đầu bằng cách phân bổ đều các khoản phân bổ cho một số danh mục. Những quan sát sẽ có trọng lượng hơn nếu quá trình học tập đầu tiên mắc sai lầm. Sau khi phân bổ trọng lượng, chúng ta chuyển sang bước tiếp theo.

Trong giai đoạn này, chúng tôi sẽ tiếp tục quy trình cho đến khi độ chính xác của thuật toán được cải thiện. Sau đó, đầu ra của những người học yếu sẽ được kết hợp để tạo ra một đầu ra mạnh, điều này sẽ củng cố mô hình của chúng tôi và cho phép nó đưa ra dự đoán chính xác hơn. Thuật toán tăng cường tập trung vào các giả định dẫn đến sai lầm quá mức do quy định không đầy đủ.

Các loại thuật toán tăng cường khác nhau

Các thuật toán tăng cường có thể được triển khai bằng cách sử dụng nhiều loại công cụ cơ bản khác nhau, chẳng hạn như công cụ tối đa hóa lợi nhuận, tem quyết định và các loại khác. Có ba loại thuật toán tăng cường Machine Learning chính:

  1. Tăng cường thích ứng (còn được gọi là AdaBoosta)
  2. Tăng cường Gradient
  3. XGBoost

Hai cái đầu tiên, AdaBoost và gradient Boosting, sẽ được thảo luận ngắn gọn trong bài viết này. XGBoost là một chủ đề khó hơn nhiều mà chúng tôi sẽ đề cập trong một bài viết sau.

Tăng cường thích ứng

Hãy xem xét một hộp có năm điểm cộng và năm phút. Nhiệm vụ của bạn là phân loại chúng và sắp xếp chúng thành các bảng riêng biệt.

Trong lần lặp đầu tiên, bạn cân nhắc từng điểm dữ liệu như nhau và sử dụng gốc quyết định trong hộp. Tuy nhiên, dòng này chỉ tách biệt hai điểm cộng khỏi nhóm; những điểm cộng còn lại vẫn ở bên nhau. Gốc quyết định của bạn (là một đường chạy qua hộp hư cấu của chúng tôi) không dự báo chính xác tất cả các điểm dữ liệu và đã thay thế ba điểm cộng cho các điểm trừ.

Trong lần lặp lại tiếp theo, chúng tôi chú trọng hơn đến ba điểm cộng mà chúng tôi đã bỏ qua trước đó; nhưng lần này, gốc quyết định chỉ cách nhóm hai phút. Chúng tôi sẽ xem xét lại những điểm trừ đã bị bỏ qua trong lần lặp này và bắt đầu lại quy trình. Sau một vài lần lặp lại, chúng ta có thể tích hợp một số kết quả này để tạo ra một quy tắc dự đoán nghiêm ngặt duy nhất.

AdaBoost hoạt động theo cách tương tự. Nó bắt đầu bằng việc dự đoán bằng cách sử dụng dữ liệu gốc và cân nhắc từng điểm bằng nhau. Sau đó, nó mang lại giá trị lớn hơn cho những quan sát mà người học đầu tiên không thể dự đoán chính xác. Nó lặp lại quy trình này cho đến khi độ chính xác của mô hình vượt quá giới hạn được xác định trước.

Adaboost hỗ trợ tem quyết định cũng như các phương pháp Machine Learning khác.

Đây là cách triển khai AdaBoost bằng Python:

từ sklearn.ensemble nhập AdaBoostClassifier từ sklearn.datasets nhập make_classification X,Y = make_classification(n_samples=100, n_features=2, n_informative=2, n_redundant=0, n_repeated=0, Random_state=102) clf = AdaBoostClassifier(n_estimators=4, Random_state=0, thuật toán='SAMME') clf.fit(X, Y)

Tăng cường Gradient

Tăng cường độ dốc sử dụng Xuống dốc cách tiếp cận để giảm thiểu hàm tổn thất của hoạt động. Giảm dần độ dốc là một quá trình tối ưu hóa bậc nhất để xác định vị trí cực tiểu cục bộ của hàm (hàm vi phân). Tăng cường độ dốc đào tạo một số mô hình liên tiếp và có thể được sử dụng để phù hợp với các mô hình cải tiến nhằm cung cấp phản hồi gần đúng chính xác hơn.

Nó tạo ra các trình học cơ sở mới tương ứng với độ dốc âm của hàm mất mát và được kết nối với toàn bộ hệ thống. Việc tăng cường cây chuyển màu sẽ được yêu cầu trong Python (còn được gọi là GBRT). Nó có thể được sử dụng để giải quyết các khó khăn về phân loại và hồi quy.

Đây là cách triển khai Tăng cường cây gradient của Python:

từ sklearn.ensemble import Mô hình gradientBoostingRegressor = GradienBoostingRegressor(n_estimators=3,learning_rate=1) model.fit(X,Y) # để phân loại từ sklearn.ensemble nhập Mô hình gradientBoostingClassifier = gradientBoostingClassifier() model.fit(X,Y)

Các tính năng tăng cường trong Machine Learning

Tăng cường cung cấp một số lợi thế, nhưng giống như bất kỳ thuật toán nào khác, nó có một số nhược điểm nhất định:

  • Vì việc tăng cường là một mô hình tổng hợp nên việc diễn giải các dự đoán của nó là điều khá tự nhiên.
  • Nó cũng gián tiếp chọn các tính năng, đây là một ưu điểm khác của kỹ thuật này.
  • Các thuật toán tăng cường có khả năng dự đoán cao hơn cây quyết định và đóng gói.
  • Việc mở rộng quy mô sẽ khó khăn hơn một chút vì mỗi công cụ ước tính trong quá trình tăng cường đều dựa trên các công cụ ước tính trước đó.

Kết luận

Tôi thực sự hy vọng bạn thấy bài đăng này về việc tăng cường cung cấp nhiều thông tin. Đầu tiên, chúng ta đã nói về thuật toán này là gì và nó có thể được sử dụng như thế nào để giải quyết các vấn đề trong Machine Learning. Chức năng của nó và cách thức hoạt động của nó sau đó đã được kiểm tra chi tiết hơn.

Chúng tôi cũng đã nói về nhiều loại của nó. Chúng tôi đã tìm hiểu về AdaBoost và Tăng cường độ dốc nhờ các ví dụ mà chúng tôi đã chia sẻ.

Tôi rất vui vì bạn thấy nó thú vị. Để liên hệ với tôi, bạn có thể thực hiện việc này bằng các phương pháp sau:

LinkedIn

Nếu bạn vẫn còn thắc mắc, hãy gửi chúng cho tôi bằng cách e-mail.

Đọc thêm các bài viết về Học máy trên của chúng tôi Blog của chúng tôi..

Phương tiện hiển thị trong bài viết này không thuộc sở hữu của Analytics Vidhya và được sử dụng theo quyết định riêng của Tác giả. 

Nguồn: https://www.analyticsvidhya.com/blog/2022/01/boosting-in-machine-learning-def định-functions-types-and-features/

tại chỗ_img

Tin tức mới nhất

tại chỗ_img