Bạn đã bao giờ phải vật lộn để cải thiện thứ hạng của mình trong cuộc thi hackathon học máy trên DataHack hoặc Kaggle chưa? . Tôi đã từng ở đó và đó là một trải nghiệm khá khó chịu
Điều này đặc biệt có liên quan trong những ngày đầu tiên của bạn trong lĩnh vực này. Chúng tôi có xu hướng sử dụng các kỹ thuật quen thuộc mà chúng tôi đã học, như hồi quy tuyến tính, hồi quy logistic, v.v. [tùy thuộc vào tuyên bố vấn đề]
Và sau đó là Lấy mẫu Bootstrap. Đó là một khái niệm mạnh mẽ đã đẩy thứ hạng của tôi lên vị trí cao hơn trong các bảng xếp hạng hackathon này. Và đó là một kinh nghiệm học tập
Lấy mẫu Bootstrap là một kỹ thuật mà tôi cảm thấy mọi nhà khoa học dữ liệu, dù có tham vọng hay đã thành danh, đều cần phải học
Vì vậy, trong bài viết này, chúng ta sẽ tìm hiểu mọi thứ bạn cần biết về lấy mẫu bootstrap. Nó là gì, tại sao nó được yêu cầu, nó hoạt động như thế nào và nó phù hợp ở đâu trong bức tranh học máy. Chúng tôi cũng sẽ triển khai lấy mẫu bootstrap bằng Python
Lấy mẫu Bootstrap là gì?Đây là một định nghĩa chính thức về Lấy mẫu Bootstrap
Trong thống kê, Lấy mẫu Bootstrap là một phương pháp liên quan đến việc vẽ dữ liệu mẫu lặp đi lặp lại với sự thay thế từ nguồn dữ liệu để ước tính tham số dân số
Đợi đã - điều đó quá phức tạp. Hãy chia nhỏ nó ra và hiểu các thuật ngữ chính
- Lấy mẫu. Đối với thống kê, lấy mẫu là quá trình chọn một tập hợp con các mục từ một tập hợp lớn các mục [dân số] để ước tính một đặc điểm nhất định của toàn bộ dân số
- Lấy mẫu có thay thế. Điều đó có nghĩa là một điểm dữ liệu trong một mẫu đã vẽ cũng có thể xuất hiện lại trong các mẫu đã vẽ trong tương lai
- ước tính tham số. Đây là một phương pháp ước tính các tham số cho dân số bằng cách sử dụng các mẫu. Một tham số là một đặc điểm có thể đo lường được liên kết với một dân số. Ví dụ: chiều cao trung bình của cư dân trong thành phố, số lượng tế bào hồng cầu, v.v.
Với kiến thức đó, hãy tiếp tục và đọc lại định nghĩa trên một lần nữa. Bây giờ nó sẽ có ý nghĩa hơn nhiều
Đây là một câu hỏi cơ bản mà tôi đã thấy những người đam mê học máy vật lộn với. Điểm lấy mẫu Bootstrap là gì?
Giả sử chúng ta muốn tìm chiều cao trung bình của tất cả học sinh trong một trường học [có tổng dân số là 1.000]. Vì vậy, làm thế nào chúng ta có thể thực hiện nhiệm vụ này?
Một cách tiếp cận là đo chiều cao của tất cả học sinh và sau đó tính chiều cao trung bình. Tôi đã minh họa quá trình này dưới đây
Tuy nhiên, đây sẽ là một nhiệm vụ tẻ nhạt. Thử nghĩ mà xem, chúng ta sẽ phải đo chiều cao của 1.000 học sinh riêng lẻ rồi tính chiều cao trung bình. Nó sẽ mất nhiều ngày. Chúng ta cần một cách tiếp cận thông minh hơn ở đây
Đây là lúc Lấy mẫu Bootstrap phát huy tác dụng
Thay vì đo chiều cao của tất cả học sinh, chúng ta có thể lấy một mẫu ngẫu nhiên gồm 5 học sinh và đo chiều cao của họ. Chúng tôi sẽ lặp lại quy trình này 20 lần và sau đó tính trung bình dữ liệu chiều cao thu thập được của 100 học sinh [5 x 20]. Chiều cao trung bình này sẽ là ước tính về chiều cao trung bình của tất cả học sinh của trường
Khá đơn giản, phải không?
Do đó, khi phải ước tính một tham số của một tổng thể lớn, chúng ta có thể nhờ sự trợ giúp của Bootstrap Sampling
Lấy mẫu Bootstrap trong Machine LearningLấy mẫu bootstrap được sử dụng trong thuật toán tập hợp máy học được gọi là tổng hợp bootstrap [còn gọi là đóng bao]. Nó giúp tránh trang bị quá mức và cải thiện tính ổn định của các thuật toán học máy
Trong đóng gói, một số tập hợp con có kích thước bằng nhau nhất định của tập dữ liệu được trích xuất bằng cách thay thế. Sau đó, một thuật toán học máy được áp dụng cho từng tập hợp con này và các đầu ra được kết hợp như tôi đã minh họa bên dưới
Bạn có thể đọc và biết thêm về học tập đồng bộ tại đây
- Hướng dẫn toàn diện về học tập đồng bộ [có mã Python]
Đã đến lúc thử nghiệm việc học của chúng ta và triển khai khái niệm Lấy mẫu Bootstrap trong Python
Trong phần này, chúng tôi sẽ cố gắng ước tính trung bình dân số với sự trợ giúp của lấy mẫu bootstrap. Hãy nhập các thư viện cần thiết
Tiếp theo, chúng tôi sẽ tạo phân phối Gaussian [dân số] gồm 10.000 phần tử với dân số có nghĩa là 500
đầu ra. 500. 00889503613934
Bây giờ, chúng tôi sẽ rút ra 40 mẫu có kích thước 5 từ phân phối [dân số] và tính giá trị trung bình cho mỗi mẫu
Hãy kiểm tra giá trị trung bình của các giá trị trung bình của tất cả 40 mẫu
np.mean[sample_mean]
đầu ra. 500. 024133172629
Nó hóa ra là khá gần với dân số có nghĩa là. Đây là lý do tại sao Lấy mẫu Bootstrap là một kỹ thuật hữu ích trong thống kê và học máy
Tóm tắt những gì chúng ta đã họcTrong bài viết này, chúng ta đã tìm hiểu về tiện ích của Bootstrap Sampling trong thống kê và học máy. Chúng tôi cũng đã triển khai nó bằng Python và đã xác minh tính hiệu quả của nó
Dưới đây là một vài lợi ích chính của bootstrapping
- Tham số ước tính bằng cách lấy mẫu bootstrap có thể so sánh với tham số dân số thực tế
- Vì chúng tôi chỉ cần một vài mẫu để khởi động, yêu cầu tính toán là rất ít
- Trong Random Forest, kích thước mẫu bootstrap thậm chí 20% cho hiệu suất khá tốt như hình dưới đây
Hiệu suất mô hình đạt cực đại khi dữ liệu cung cấp nhỏ hơn 0. 2 phần của tập dữ liệu gốc