Đóng gói và tăng tốc trong python

Một trong những câu hỏi phỏng vấn phổ biến nhất là "Sự đánh đổi sai lệch-phương sai trong Học máy là gì?". Blog câu hỏi phỏng vấn khoa học dữ liệu của chúng tôi đã thảo luận về câu trả lời. Câu trả lời tiết lộ cách người ta có thể thỏa hiệp việc giải thích các suy luận của mô hình để cải thiện độ chính xác của dự đoán. Một ví dụ về việc nâng cao độ chính xác của mô hình là việc triển khai các phương pháp học tập đồng bộ.  

data_science_project

Dự án máy học dự đoán doanh số BigMart

Mã giải pháp có thể tải xuống. video giải thích. Hô trợ ky thuật

bắt đầu dự án

Trong blog này, chúng ta sẽ khám phá hai kỹ thuật học tập đồng bộ. Bagging vs Boosting được sử dụng để đưa ra các giải pháp máy học được tối ưu hóa. Đóng gói và Tăng tốc sẽ được khám phá chi tiết hơn và sau đó được so sánh để giúp bạn hiểu rõ hơn về chúng. Vậy hãy bắt đầu

ProjectPro Free Projects on Big Data and Data Science

đóng bao Vs. Thúc đẩy học máy. Hiểu những điều cơ bản

Phương pháp học tập đồng bộ là gì?

Các mô hình Ensemble Learning dựa trên ý tưởng rằng việc kết hợp nhiều mô hình có thể tạo ra các mô hình mạnh mẽ. Kỹ thuật Học tập đồng bộ sử dụng nhiều mô hình, còn được gọi là 'người học yếu', được kết hợp để đạt được kết quả, tính ổn định và hiệu suất dự đoán tốt hơn so với một người có thể nhận được từ bất kỳ mô hình cấu thành nào

Lý do chính cho các lỗi phân loại và dự đoán học máy là nhiễu, sai lệch và phương sai. Kỹ thuật học đồng bộ giúp giảm thiểu các yếu tố này và tăng tính ổn định của mô hình

Người ta có thể sử dụng các kỹ thuật học tập đồng bộ để giải quyết cả vấn đề phân loại và hồi quy. Chúng cũng được biết là mang lại hiệu suất tốt hơn so với các kỹ thuật học máy khác, vì dự đoán cuối cùng được đưa ra bằng cách kết hợp kết quả từ một số mô hình.  

Mặc dù chúng ta có thể phát triển vô số tập hợp cho mô hình dự đoán, hai kỹ thuật được sử dụng chủ yếu trong học tập tập hợp. đóng gói và tăng cường

Để hiểu các kỹ thuật đóng gói và tăng cường, điều quan trọng là phải hiểu các định nghĩa cơ bản của cả hai với các ví dụ hay. Vì vậy, chúng ta hãy bắt đầu với điều đó

Bagging vs Boosting

Đóng bao là gì?

Đóng gói, còn được gọi là tổng hợp Bootstrap, là một phương pháp học tập đồng bộ tìm kiếm những người học tập hợp khác nhau bằng cách thay đổi tập dữ liệu đào tạo. Không giống như một mô hình duy nhất được đào tạo trên toàn bộ tập dữ liệu, việc đóng gói tạo ra nhiều người học yếu hoặc mô hình cơ sở được đào tạo trên một tập hợp con của tập dữ liệu gốc. Số lượng mô hình sẽ sử dụng và kích thước của các tập hợp con được quyết định bởi nhà khoa học dữ liệu xây dựng mô hình. Các tập hợp con dữ liệu được sử dụng để đào tạo các mô hình yếu được tạo bằng cách lấy mẫu ngẫu nhiên với sự thay thế trong mỗi mô hình mới được đào tạo. Thay thế ngụ ý rằng mẫu của tập hợp con dữ liệu được sử dụng để huấn luyện từng mô hình có thể có dữ liệu trùng lặp

Đóng gói thực hiện những người học tương tự trên các nhóm nhỏ của quần thể mẫu của dữ liệu đào tạo và sau đó lấy giá trị trung bình của tất cả các dự đoán từ người học. Đầu ra cuối cùng của mô hình là một giá trị được tạo bằng biểu quyết đa số nếu đó là vấn đề phân loại hoặc trung bình của các kết quả nếu đó là vấn đề hồi quy. Cách tiếp cận này giúp giảm sai số phương sai và cải thiện độ chính xác tổng thể của mô hình

Đóng bao hoạt động như thế nào?

Các bước liên quan đến Đóng bao là

  • Tạo nhiều tập hợp con từ tập dữ liệu huấn luyện bằng cách chọn các quan sát có thay thế

  • Tạo một mô hình cơ sở (còn gọi là mô hình yếu)

  • Chạy các mô hình cơ sở đồng thời và độc lập với nhau

  • Kết hợp các dự đoán từ tất cả các mô hình cơ sở để xác định kết quả

Dưới đây là một biểu diễn sơ đồ của quá trình đóng bao

diagrammatic representation of the bagging process

Bạn có thể sử dụng mô-đun 'Bagging Classifier' và 'BaggingRegressor' từ Scikit-learning để sử dụng kỹ thuật đóng bao nhằm giải quyết các vấn đề về Máy học của bạn

Ví dụ đóng bao

Đóng gói được sử dụng rộng rãi để kết hợp kết quả của các mô hình cây quyết định khác nhau và xây dựng thuật toán rừng ngẫu nhiên. Các cây có phương sai cao và độ lệch thấp được tính trung bình, dẫn đến độ chính xác được cải thiện

Bây giờ là lúc đi sâu vào tìm hiểu khái niệm Tăng tốc

Tăng tốc là gì?

Tăng cường là một kỹ thuật tổng hợp nhằm thay đổi dữ liệu đào tạo và điều chỉnh trọng số của các quan sát dựa trên phân loại trước đó. Không giống như phương pháp đóng gói, tăng cường liên quan đến sự phụ thuộc vào những người học yếu. Người học yếu tính đến kết quả của người học yếu trước đó và điều chỉnh trọng số của các điểm dữ liệu, chuyển đổi người học yếu thành người học mạnh. Tăng cường thay đổi trọng số liên quan đến một quan sát được phân loại không chính xác bằng cách cố gắng tăng trọng lượng liên quan đến nó. Việc tăng tốc có xu hướng giảm lỗi sai lệch nhưng đôi khi có thể dẫn đến việc trang bị quá mức cho tập dữ liệu huấn luyện

Tăng tốc hoạt động như thế nào?

Sau đây là các bước liên quan đến kỹ thuật tăng cường

  1. Một tập hợp con trong đó tất cả các điểm dữ liệu có trọng số bằng nhau được tạo từ tập dữ liệu huấn luyện

  2. Một mô hình dựa trên được tạo cho tập dữ liệu ban đầu và mô hình này được sử dụng để dự đoán trên toàn bộ tập dữ liệu

  3. Lỗi được tính toán bằng cách sử dụng các giá trị dự đoán và thực tế. Quan sát được dự đoán không chính xác được cho trọng số cao hơn

  4. Mô hình sau được tạo và tăng cường cố gắng sửa lỗi của mô hình trước đó

  5. Quá trình này được lặp lại cho nhiều mô hình, mỗi mô hình sửa lỗi của mô hình trước đó

  6. Mô hình cuối cùng là một người học mạnh và là giá trị trung bình có trọng số của tất cả các mô hình (người học yếu

Ví dụ tăng cường

Sklearn, tập hợp này có AdaBoostClassifier và GradientBoostingClassifier để triển khai tăng cường cho tập dữ liệu đào tạo của bạn. Bạn cũng có thể sử dụng các mô-đun XGBoost hoặc CatBoost để có kết quả tối ưu

đóng bao Vs. tăng cường. so sánh

Bây giờ bạn đã học những điều cơ bản của cả hai thuật toán, hãy để chúng tôi hiểu sự khác biệt và tương đồng giữa hai phương pháp

đóng bao so với. tăng cường. Điểm tương đồng

  • Các kỹ thuật tập hợp đóng gói và tăng tốc suy ra N người học từ người học đơn độc

  • Bagging là một phương pháp học tập đồng bộ song song, trong khi Boosting là một phương pháp học tập đồng bộ tuần tự

  • Cả hai kỹ thuật đều sử dụng lấy mẫu ngẫu nhiên để tạo nhiều tập dữ liệu huấn luyện

  • Cả hai kỹ thuật đều dựa vào việc lấy trung bình kết quả của N người học hoặc bỏ phiếu theo Đa số để đưa ra dự đoán cuối cùng.  

  • Đóng bao và Tăng tốc giúp giảm phương sai của mô hình và tạo ra các mô hình ổn định

đóng bao so với. tăng cường. sự khác biệt

  • Mặc dù Đóng gói và tăng tốc có vẻ giống nhau do sử dụng N người học trong cả hai kỹ thuật, nhưng chúng vốn đã khá khác nhau. Mặc dù kỹ thuật Bagging là một cách đơn giản để kết hợp các dự đoán cùng loại, nhưng việc tăng cường kết hợp các dự đoán thuộc các loại khác nhau

  • Trong Bagging, mỗi mô hình được tạo độc lập với mô hình khác, nhưng khi tăng các mô hình mới, kết quả của các mô hình đã tạo trước đó bị ảnh hưởng.  

  • Đóng bao mang lại trọng số bằng nhau cho từng mô hình, trong khi ở kỹ thuật Tăng tốc, các mô hình mới được tính trọng số dựa trên kết quả của chúng

  • Khi tăng cường, các tập hợp con dữ liệu mới được sử dụng để đào tạo chứa các quan sát mà mô hình trước đó đã phân loại sai. Đóng gói sử dụng các tập hợp con dữ liệu đào tạo được tạo ngẫu nhiên

  • Đóng bao có xu hướng giảm phương sai, không sai lệch. Ngược lại, Tăng cường làm giảm độ lệch, không phải phương sai

  • Kỹ thuật đóng gói cố gắng giải quyết vấn đề dữ liệu đào tạo bị quá tải, trong khi Tăng tốc cố gắng giảm vấn đề Sai lệch

Hãy tự tin để xây dựng các dự án end-to-end

Truy cập vào thư viện được tuyển chọn gồm hơn 250 dự án công nghiệp từ đầu đến cuối với mã giải pháp, video và hỗ trợ kỹ thuật

Yêu cầu bản trình diễn

Khi nào nên sử dụng Bagging vs. Tăng cường?

Mặc dù đóng gói và tăng tốc là lựa chọn hàng đầu của những người đam mê khoa học dữ liệu cho bất kỳ vấn đề phân loại nào, nhưng việc chọn kỹ thuật kết hợp phù hợp là một nghệ thuật hoàn thiện với kinh nghiệm. Thông thường, khi bộ phân loại không mạnh và có phương sai cao, Đóng gói là cách tốt nhất. Nhưng nếu bộ phân loại có độ lệch cao, thì Boosting sẽ cho kết quả mong muốn

Nếu sử dụng một mô hình duy nhất có hiệu suất thấp, kỹ thuật Bagging sẽ hiếm khi có được độ lệch tốt hơn. Nhưng Tăng cường có thể tạo ra một mô hình kết hợp với tỷ lệ lỗi thấp hơn vì nó điều chỉnh trọng số của các điểm dữ liệu được dự đoán sai.  

Nếu sự cố của một mô hình duy nhất làm quá khớp dữ liệu đào tạo, thì đóng gói là cách tốt nhất vì việc tăng tốc không giúp tránh được quá mức dữ liệu. Chỉ riêng vấn đề này đã làm cho Bagging trở nên hiệu quả hơn và là lựa chọn hàng đầu của hầu hết các nhà khoa học dữ liệu thay vì Boosting

Mặc dù học tập đồng bộ mang lại kết quả tuyệt vời cho các vấn đề học máy, nhưng nó có một vài nhược điểm. Sử dụng nhiều mô hình để đào tạo trong một kỹ thuật tập hợp dẫn đến việc dành nhiều thời gian và nguồn lực hơn. Mặc dù việc thêm các mô hình mới vào một nhóm có thể cải thiện độ chính xác và đưa ra dự đoán tốt hơn, nhưng điều đó cũng có thể gây khó khăn cho việc theo dõi logic đằng sau quyết định do thuật toán Trí tuệ nhân tạo đưa ra.  

Với nhiều kinh nghiệm hơn, bạn có thể sẽ chọn đúng kỹ thuật tổng hợp cho các phát biểu vấn đề khác nhau và thực hiện các đánh đổi phù hợp cần thiết. Và nếu bạn quan tâm đến việc thực hành một tuyên bố vấn đề như vậy, đây là hai mẫu dành cho bạn

Dự đoán khuấy động

Hiểu hành vi của khách hàng là nền tảng cho sự phát triển của bất kỳ doanh nghiệp nào. Các công ty dựa vào khoa học dữ liệu để xây dựng các mô hình có thể dự đoán khách hàng nào có khả năng rời đi trong tương lai. Sử dụng dữ liệu của nhà cung cấp dịch vụ truyền phát video và xây dựng mô hình để dự đoán liệu khách hàng có rời đi hay không. Sử dụng các mô hình học tập đồng bộ như rừng ngẫu nhiên, tăng cường độ dốc, XGBoost, v.v. , để cải thiện độ chính xác của mô hình

Mã nguồn. Xây dựng Mô hình Dự đoán Churn bằng cách sử dụng Ensemble Learning

Dự đoán doanh số

Dự đoán doanh số bán hàng bằng máy học là một trong những vấn đề phổ biến nhất trong khoa học dữ liệu. Để cứu FOMO, hãy giải quyết vấn đề này bằng cách sử dụng bộ dữ liệu dự đoán doanh số bán hàng của BigMart. Xây dựng một mô hình có thể ước tính doanh số của từng sản phẩm tại cửa hàng của họ. Sử dụng các mô hình học máy như hồi quy tuyến tính, hồi quy bayesian, v.v. và triển khai các khu rừng ngẫu nhiên, đóng bao và cây tăng cường độ dốc

Mã nguồn. Dự án Khoa học Dữ liệu-Giải pháp Dự đoán Bán hàng BigMart Python

Để biết thêm các dự án thú vị như vậy với các nguồn trong khoa học dữ liệu, hãy xem kho lưu trữ các dự án Khoa học dữ liệu và Dữ liệu lớn của ProjectPro

câu hỏi thường gặp

Tại sao Bagging tốt hơn Boosting?

Không có kỹ thuật đơn lẻ nào có thể được coi là tốt hơn kỹ thuật kia. Nó phụ thuộc vào dữ liệu và hoàn cảnh. Kỹ thuật đóng bao sử dụng lấy mẫu và thay thế ngẫu nhiên để tạo dữ liệu bổ sung cho tập dữ liệu huấn luyện, điều này có thể gây ra sự lặp lại các quan sát trong các tập dữ liệu khác nhau. Mọi quan sát đóng bao đều có xác suất như nhau được đưa vào tập con dữ liệu huấn luyện. Các mô hình khác nhau sau đó được đào tạo bằng cách sử dụng các bộ dữ liệu này. Do đó, đóng gói tinh chỉnh các kết quả được dự đoán và giúp giảm phương sai.  

Sự khác biệt giữa đóng gói và tăng cường trong học máy là gì?

Kỹ thuật đóng bao làm giảm phương sai trong dự đoán bằng cách tạo ngẫu nhiên các tập hợp con của tập dữ liệu vấn đề và sử dụng nó để huấn luyện các mô hình cơ sở. Mỗi điểm dữ liệu được cho trọng số bằng nhau và tăng cường sử dụng kỹ thuật lặp để điều chỉnh trọng số của điểm dữ liệu dựa trên kết quả của mô hình trước đó

Liệt kê những điểm tương đồng giữa bagging và boost trong machine learning?

Bagging và Boosting là các kỹ thuật học tập đồng bộ trong đó một nhóm người học yếu (được sử dụng làm mô hình cơ sở) được kết hợp để tạo ra một mô hình người học mạnh mẽ có thể tạo ra hiệu suất được tối ưu hóa tốt hơn so với một mô hình duy nhất

Các mô hình đóng gói và tăng tốc cho bạn biết điều gì?

Đóng gói và Tăng cường là hai phương pháp cải thiện hiệu suất của mô hình bằng cách thay đổi dữ liệu đầu vào. Chúng cho phép tổng hợp kết quả từ các phiên bản khác nhau của cùng một mô hình và nâng cao độ chính xác của mô hình

Khi nào nên sử dụng đóng bao so với. thúc đẩy?

Khi mô hình có phương sai cao và độ lệch thấp, ưu tiên đóng gói. Mặt khác, khi mô hình có phương sai thấp và độ chệch cao, thì việc tăng tốc được coi là cách tiếp cận phù hợp

Bagging và Boosting là gì?

Đóng gói là một kỹ thuật để giảm phương sai dự đoán bằng cách tạo dữ liệu bổ sung để đào tạo từ tập dữ liệu bằng cách kết hợp các lần lặp lại với các kết hợp để tạo nhiều bộ dữ liệu gốc. Tăng cường là một chiến lược lặp đi lặp lại để điều chỉnh trọng số của một quan sát dựa trên phân loại trước đó

Đóng bao trong Python là gì?

Đóng gói nhằm mục đích cải thiện độ chính xác và hiệu suất của các thuật toán máy học . Nó thực hiện điều này bằng cách lấy các tập hợp con ngẫu nhiên của tập dữ liệu gốc, có thay thế và khớp với một bộ phân loại (để phân loại) hoặc biến hồi quy (đối với hồi quy) cho từng tập hợp con.

Cái nào tốt hơn đóng gói hoặc Boosting?

Đóng bao mang lại trọng số bằng nhau cho từng mô hình, trong khi ở kỹ thuật Tăng tốc, các mô hình mới được tính trọng số dựa trên kết quả của chúng. Khi tăng cường, các tập hợp con dữ liệu mới được sử dụng để đào tạo chứa các quan sát mà mô hình trước đó đã phân loại sai. Đóng gói sử dụng các tập hợp con dữ liệu đào tạo được tạo ngẫu nhiên

Boosting trong Python là gì?

Ở dạng đơn giản nhất, Tăng cường là một chiến lược tập hợp được xây dựng liên tục dựa trên những người học yếu kém để tạo ra một người học giỏi cuối cùng . Một người học yếu là một mô hình có thể không chính xác lắm hoặc có thể không tính đến nhiều yếu tố dự đoán.