Ensemble learning và các biến thể (P1)

Ensemble learning và các biến thể (P1)

“Đoàn kết là sức mạnh.” Tôi không biết cụm từ này xuất hiện khi nào hoặc ở đâu, nhưng nó gói gọn ý tưởng về các phương pháp tổng hợp trong học máy.

Ví dụ: bạn có 1 mô hình, nhưng đầu ra của mô hình đó không tốt, vì vậy bạn thử một mô hình khác. Sau khi bạn tìm được một mô hình ưng ý và “có thể đúng”, bạn phải chỉnh sửa từ thuật toán đến siêu tham số để có được mô hình chính xác nhất. Tất cả những việc trên sẽ làm mất nhiều thời gian của bạn, vì phải chạy từng mô hình một, nên để nhanh hơn bạn kết hợp những mô hình “học yếu” này lại để tạo thành mô hình “học mạnh” mà không đạt kết quả. cũng nhanh hơn so với từng mô hình riêng lẻ Một mô hình tốt hơn.

Bạn Đang Xem: Ensemble learning và các biến thể (P1)

Để hiểu sâu hơn, chúng tôi sẽ làm rõ các khái niệm về mô hình “yếu” và “mạnh”.

Khi thực hiện các bài toán phân loại hoặc hồi quy, mọi người đều biết rằng điều quan trọng nhất là lựa chọn mô hình. Sự lựa chọn này phụ thuộc vào nhiều yếu tố: khối lượng dữ liệu, đặc điểm dữ liệu (thứ nguyên, phân bố), v.v., từ đó chúng ta sẽ có được mối tương quan (đánh đổi phương sai lệch) giữa dữ liệu và mô hình, tức là (mối quan hệ xếp hạng) giữa bias and variance). Ok, mình sẽ không đi chi tiết về khái niệm này, vì nó cũng rất mất thời gian, bạn có thể tham khảo thêm tại đây (https://forum.machinelearningcoban.com/t/moi-quan-he -danh-doi) -gia-bias-va-variance / 4173.

Nhìn chung, do các quy tắc đánh đổi ở trên, không có mô hình nào hoàn hảo khi được thực hiện một mình và những mô hình này có những điểm yếu rõ ràng, chẳng hạn như có độ chệch cao (các dự đoán của mô hình sai nhiều so với giá trị thực tế.) hoặc có phương sai cao (dự đoán đúng cho tập dữ liệu huấn luyện, nhưng không đoán đúng cho tập dữ liệu chưa bao giờ gặp phải), vì vậy cả hai đều được gọi là “yếu”. Vậy tại sao chúng ta không kết hợp các mô hình “yếu” để tạo ra một mô hình “mạnh”, phù hợp với câu nói “ba cây làm nên một núi” để giảm sự sai lệch / sai lệch.

Nói tóm lại, tôi có một loạt các mô hình “yếu” mà tôi muốn kết hợp thành một mô hình “mạnh” hiệu quả hơn. Vì vậy, tôi phải làm theo các bước sau:

Đầu tiên, chọn mô hình sẽ là mô hình cơ sở cho toàn bộ thuật toán. Thông thường một mô hình (ví dụ cây quyết định) được chọn, chúng ta cần nhiều mô hình “yếu”, vì vậy chúng tôi phải tăng số lượng mô hình để sử dụng => chúng tôi chỉ có n cây quyết định mô hình & lt; – ví dụ. Nhưng giống nhau thôi là chưa đủ, những người mẫu này sẽ được đào tạo theo nhiều cách khác nhau. Tất nhiên, cũng có nhiều cách để lấy các mô hình khác nhau và kết hợp chúng (sẽ nói thêm về điều đó ở phần sau).

Điểm quan trọng trong việc chọn mô hình ở đây là chúng ta nên chọn một mô hình phù hợp với chiến lược mà chúng ta đã chọn ban đầu. Như với các mô hình có độ chệch thấp nhưng phương sai cao, khi chúng ta kết hợp chúng để tạo ra một mô hình mạnh mẽ hơn, thì mô hình kết hợp này phải có xu hướng có phương sai thấp hơn. Các mô hình kết hợp phải có xu hướng giảm độ chệch so với các mô hình có độ chệch cao nhưng phương sai thấp. Điều này đặt ra câu hỏi làm thế nào để nhóm các mô hình “yếu” lại với nhau.

Thứ hai, đây là phần quan trọng: 3. Tôi muốn giới thiệu với bạn các biến thể của 3 phương pháp học tập kết hợp được sử dụng nhiều hơn hiện nay:

  • đóng gói : Xây dựng một số lượng lớn các mô hình (thường cùng loại) trên các mẫu con khác nhau của tập dữ liệu huấn luyện (lấy mẫu ngẫu nhiên từ tập dữ liệu để tạo tập dữ liệu mới). Các mô hình sẽ được đào tạo độc lập song song, nhưng kết quả đầu ra của họ sẽ được tính trung bình để có kết quả cuối cùng.
  • tăng cường : Xây dựng một số lượng lớn các mô hình (thường là cùng một loại). Mỗi mô hình sau sẽ học cách sửa lỗi của mô hình trước (mô hình trước dự đoán sai dữ liệu) -> tạo thành một chuỗi các mô hình, trong đó mô hình sau sẽ tốt hơn mô hình trước vì trọng số được cập nhật qua từng mô hình (Cụ thể, trọng số của dữ liệu dự đoán chính xác sẽ được giữ nguyên, trong khi trọng số của dữ liệu dự đoán sẽ không thay đổi). Lỗi sẽ tăng lên) & lt; Chà, điều này có thể hơi khó hiểu, nhưng tôi sẽ giải thích thêm cho bạn sau & gt ;. Chúng tôi trả về kết quả của mô hình cuối cùng trong loạt mô hình này (bởi vì mô hình sau sẽ tốt hơn mô hình trước, vì vậy mô hình sau cũng sẽ tốt hơn mô hình trước).
  • xếp chồng : Xây dựng một số mô hình (thường là các loại khác nhau) và một siêu mô hình (mô hình người giám sát), đào tạo các mô hình này một cách độc lập và sau đó siêu mô hình học cách kết hợp các dự đoán kết quả của một số mô hình trong phương pháp tốt nhất.
  • Trong 3 biến thể trên, việc đóng bao giúp mô hình tổng hợp giảm phương sai. Tăng cường và xếp chồng tập trung vào việc giảm độ lệch (và cũng giảm phương sai).

    Xem Thêm : 4 chất liệu vải được ưa chuộng nhất để in áo đồng phục lớp

    Tiếp theo, tôi sẽ trình bày chi tiết hơn về việc đóng túi trong phần tiếp theo, cùng với việc tăng cường và xếp chồng

    Tương tự, với tính năng đóng gói, chúng ta có thể xây dựng một số lượng lớn các mô hình (thường là cùng một loại) trên các mẫu con khác nhau của tập dữ liệu đào tạo. Các mô hình sẽ được đào tạo độc lập song song, nhưng kết quả đầu ra của họ sẽ được tính trung bình để có kết quả cuối cùng.

    Hướng dẫn

    Đây là một kỹ thuật thống kê tạo b tập dữ liệu mới (mẫu bootstrap) từ 1 tập dữ liệu n (thường là kích thước của tập dữ liệu gốc). Tôi sẽ không tham gia vào kỹ thuật này do thời gian có hạn (và sự lười biếng nói chung). Dưới đây là một ví dụ ngắn về kỹ thuật này, được áp dụng cho tập dữ liệu sonar:

    Bạn có thể tham khảo thêm (https://towardsdatascience.com/an-introduction-to-the-bootstrap-method-58bcb51b4d60)

    Đóng gói

    Khi đào tạo một mô hình, có thể là phân loại hoặc hồi quy, chúng ta phải xác định một hàm nhận đầu vào và trả về đầu ra được xác định bởi kết quả đào tạo. Như vậy, chúng tôi có thể có nhiều mô hình khác nhau với các đầu vào khác nhau.

    Ý tưởng về việc đóng gói rất đơn giản: Tôi đặt một loạt các mô hình vào các mẫu b bootstrap, sau đó lấy trung bình các dự đoán từ các mô hình đó để có được một mô hình có phương sai thấp. Tuy nhiên, việc phù hợp độc lập với từng mô hình đòi hỏi rất nhiều dữ liệu và bạn biết dữ liệu đến từ đâu. Vì vậy chúng ta phải sử dụng kỹ thuật bootstrap để tạo một tập dữ liệu mới dựa trên tập dữ liệu cũ. Những dữ liệu mới này có các phân phối giống nhau và gần như độc lập, vì vậy chúng sẽ không ảnh hưởng đến kết quả cuối cùng tổng hợp của các mô hình “yếu” và tính trung bình đầu ra của các mô hình cơ sở này cũng sẽ làm giảm phương sai. .

    Đề cương Toán học:

    Chúng tôi có l mẫu bootstrap có kích thước b (tương ứng với l tập dữ liệu).

    Tương ứng với l tập dữ liệu là l mô hình “yếu”.

    w1 (.), w2 (.), …, wl (.) begin {align} w_1 (.), w_2 (.), …, w_l (.) end {align} w1 (.), W2 (.), …, wl (.)

    Kết hợp các mô hình này, chúng tôi nhận được một mô hình mới, mạnh mẽ hơn. Đối với các vấn đề khác nhau, như hồi quy, đầu ra của mô hình “yếu” sẽ được tính trung bình, đây sẽ là đầu ra của mô hình “mạnh”. Để phân loại, mỗi lớp đầu ra của mô hình “yếu” sẽ được coi là 1 phiếu bầu và lớp nhận được nhiều phiếu bầu nhất sẽ là đầu ra của mô hình “mạnh” (đây được gọi là phiếu cứng). Nếu mô hình “yếu” dự đoán xác suất của tất cả các lớp, chúng tôi lấy trung bình xác suất cho mỗi lớp và lấy xác suất của giá trị lớn nhất (đây được gọi là bỏ phiếu mềm).

    Xem Thêm : Hệ thống điều hòa VRV và VRF là gì???

    Cuối cùng, để tóm tắt lý thuyết và đi sâu vào mã, tôi sẽ chỉ ra một trong những lợi ích của việc đóng gói, song song. Như bạn có thể thấy trong hình dưới đây, cốt lõi của việc đóng bao là tất cả các quá trình song song, vì vậy nếu bạn có một cỗ máy mạnh, bạn có thể đào tạo song song từng mô hình và cuối cùng tổng hợp kết quả đầu ra của các mô hình này.

    Mã túi

    May mắn thay, thư viện sklearn bao gồm tất cả

    Hồi quy bằng cách sử dụng đóng bao:

    Sử dụng đóng bao để phân loại:

    Rừng Ngẫu nhiên

    Mô hình

    này là một ví dụ điển hình về phương pháp đóng bao. Tôi cho rằng bạn đã hiểu khái niệm về rừng ngẫu nhiên, vì việc giải thích nó cũng mất khá nhiều thời gian (tôi sẽ chỉ tập trung vào quần thể và các biến thể của nó, vì vậy hãy hiểu).

    Rừng ngẫu nhiên là sự kết hợp của nhiều cây quyết định, trong khi phát triển cây, mô hình này sử dụng một thủ thuật khác trong việc tạo dữ liệu: thay vì chỉ lấy mẫu từ các quan sát trong tập dữ liệu để tạo mẫu, tất cả các tính năng chỉ lấy mẫu ngẫu nhiên 1 tập hợp con để xây dựng cây.

    Ví dụ

    Được xây dựng từ dữ liệu rừng ngẫu nhiên, tất cả các cây không sợ giống nhau đầu vào hoặc đầu ra của các cây khác nhau. Một lợi ích khác của thủ thuật này là cây quyết định có thể hoạt động hiệu quả hơn khi thiếu dữ liệu hay còn gọi là quan sát.

    Tôi sẽ kết thúc Phần 1 của bài viết này tại đây và Phần 2 sẽ tập trung vào việc nâng và xếp chồng. Vui lòng comment nếu có bất kỳ sai sót nào. Bài viết trên là sự hiểu biết của mình, được dịch lại sau khi tham khảo một số phương tiện, blog và các bài viết khác, nếu bạn muốn có cái nhìn tổng quan hơn thì có thể tham khảo link bên dưới. .

    Nguồn

    Cám ơn đã đọc bài viết của tôi. See u again Ensemble learning và các biến thể (P1)

Nguồn: https://anhvufood.vn
Danh mục: Kinh Nghiệm

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *