Một mô hình nên được đào tạo lại nếu quan sát mới có sẵn?


28

Vì vậy, tôi không thể tìm thấy bất kỳ tài liệu nào về chủ đề này nhưng có vẻ như đó là một điều đáng để suy nghĩ:

  • Các thực tiễn tốt nhất trong đào tạo và tối ưu hóa mô hình là gì nếu các quan sát mới có sẵn?

  • Có cách nào để xác định thời gian / tần suất đào tạo lại một mô hình trước khi các dự đoán bắt đầu xuống cấp không?

  • Có phù hợp quá mức nếu các tham số được tối ưu hóa lại cho dữ liệu tổng hợp?

Lưu ý rằng việc học có thể không nhất thiết phải trực tuyến. Người ta có thể muốn nâng cấp một mô hình hiện có sau khi quan sát phương sai đáng kể trong các dự đoán gần đây hơn.


Câu trả lời phụ thuộc rất nhiều vào lĩnh vực kinh doanh và ứng dụng mô hình cụ thể.
Pete

Câu trả lời:


16
  1. Khi một mô hình được đào tạo và bạn nhận được dữ liệu mới có thể được sử dụng cho đào tạo, bạn có thể tải mô hình trước đó và đào tạo lên mô hình đó. Ví dụ: bạn có thể lưu mô hình của mình dưới dạng .pickletệp và tải nó và đào tạo thêm về nó khi có dữ liệu mới. Hãy lưu ý rằng để mô hình dự đoán chính xác , the new training data should have a similar distribution as the past data.
  2. Dự đoán có xu hướng giảm dần dựa trên tập dữ liệu bạn đang sử dụng. Ví dụ: nếu bạn đang cố gắng đào tạo sử dụng dữ liệu twitter và bạn đã thu thập dữ liệu liên quan đến một sản phẩm được tweet rộng rãi ngày hôm đó. Nhưng nếu bạn sử dụng tweet sau vài ngày khi sản phẩm đó thậm chí không được thảo luận, nó có thể bị sai lệch. The frequency will be dependent on datasetvà không có thời gian cụ thể để nêu như vậy. If you observe that your new incoming data is deviating vastly, then it is a good practise to retrain the model.
  3. Tối ưu hóa các tham số trên dữ liệu tổng hợp không phải là quá mức. Dữ liệu lớn không ngụ ý quá mức. Sử dụng xác nhận chéo để kiểm tra sự phù hợp quá mức.

Vì vậy, nếu bản chất của tập hợp dữ liệu vẫn nhất quán xuyên suốt, mô hình có thể học được gì không?
dùng140323

Nếu dữ liệu không thay đổi và nếu bạn hài lòng với độ chính xác của mô hình hiện tại, tôi thấy không có điểm nào trong việc đào tạo lại nó.
Hima Varsha

@Aayush, Có lẽ bạn có thể sử dụng dữ liệu đến làm bộ xác thực và kiểm tra mô hình hiện tại của mình.
Hima Varsha

Vẫn còn quá sớm để chấp nhận, nhưng tôi sẽ làm. Cảm ơn!
dùng140323

Xin chào @ tktktk0711, hiện tại tôi không có mã để hiển thị cho bạn. Nhưng chỉ cần đi qua điều này mà chỉ ra một liên kết khác với mã. github.com/tflearn/tflearn/issues/39
Hima Varsha

20

Khi có các quan sát mới, có ba cách để đào tạo lại mô hình của bạn:

  1. Trực tuyến: mỗi khi có một quan sát mới, bạn sử dụng điểm dữ liệu duy nhất này để huấn luyện thêm cho mô hình của mình (ví dụ: tải mô hình hiện tại của bạn và huấn luyện thêm bằng cách thực hiện backpropagation với quan sát đơn lẻ đó). Với phương pháp này, mô hình của bạn học theo cách tuần tự và sắp xếp thích nghi cục bộ với dữ liệu của bạn theo đó nó sẽ bị ảnh hưởng nhiều hơn bởi các quan sát gần đây hơn là các quan sát cũ. Điều này có thể hữu ích trong các tình huống mà mô hình của bạn cần thích ứng linh hoạt với các mẫu mới trong dữ liệu. Nó cũng hữu ích khi bạn đang xử lý các tập dữ liệu cực lớn mà việc đào tạo trên tất cả các dữ liệu đó cùng một lúc là không thể.
  2. Ngoại tuyến: bạn thêm các quan sát mới vào tập dữ liệu đã có của bạn và hoàn toàn giữ lại mô hình của bạn trên tập dữ liệu mới, lớn hơn này. Điều này thường dẫn đến xấp xỉ toàn cầu tốt hơn của hàm mục tiêu và rất phổ biến nếu bạn có một bộ dữ liệu cố định hoặc nếu bạn không có các quan sát mới thường xuyên. Tuy nhiên nó là không thực tế cho các tập dữ liệu lớn.
  3. nn

Hầu hết các mô hình ngày nay sẽ sử dụng lô / đợt nhỏ và sự lựa chọn cho kích thước của lô tùy thuộc vào ứng dụng và kiểu máy của bạn. Chọn lô đúng kích cỡ tương đương với chọn tần số phù hợp để đào tạo lại mô hình của bạn. Nếu quan sát mới của bạn có phương sai thấp với dữ liệu hiện tại của bạn, tôi sẽ đề xuất các lô lớn hơn (có thể 256-512) và nếu ngược lại, các quan sát mới có xu hướng thay đổi lớn với dữ liệu hiện tại của bạn, hãy sử dụng các lô nhỏ (8-256). Vào cuối ngày, kích thước lô giống như một siêu tham số khác mà bạn cần điều chỉnh và đặc trưng cho dữ liệu của bạn


Xin chào, tôi muốn hỏi bạn trực tuyến: như trực tuyến cho dữ liệu mới. Liệu phương pháp này có giới hạn một số Mô hình ML, ý tôi không phải là toàn bộ máy học.
tktktk0711

Bạn có biết bất kỳ ví dụ tenorflow sử dụng ?
maxisme

1

Vấn đề của bạn xuất hiện dưới sự bảo trợ của các phương pháp Học trực tuyến. Giả sử một luồng dữ liệu sắp tới, bạn có thể sử dụng phương pháp Stochastic Gradient Descent để cập nhật các tham số mô hình của mình bằng ví dụ đơn lẻ đó.

Nếu chức năng chi phí của bạn là:

tối thiểuθJ(x,y,θ)

θxtôi,ytôi

θt= =θt-1-θJ(xtôi,ytôi)

Đây thực chất là SGD với kích thước lô 1.

Có một mẹo khác, bạn có thể áp dụng phương pháp dựa trên cửa sổ / bộ đệm, trong đó bạn đệm một số ví dụ từ luồng và coi nó là lô và sử dụng lô SGD. Trong trường hợp đó, phương trình cập nhật sẽ trở thành:

θt= =θt-1-ΣtôiθJ(xtôi,ytôi)

Đây thực chất là SGD lô nhỏ.


0

Câu hỏi: NÊN bạn đào tạo lại?

Câu trả lời phụ thuộc vào mô hình của bạn cố gắng làm gì và trong môi trường nào nó được áp dụng.

Hãy để tôi giải thích bằng một vài ví dụ:

Giả sử rằng mô hình của bạn cố gắng dự đoán hành vi của khách hàng, ví dụ như khả năng khách hàng mua sản phẩm của bạn được cung cấp phù hợp với anh ta như thế nào. Rõ ràng, thị trường thay đổi theo thời gian, sở thích của khách hàng thay đổi và đối thủ của bạn điều chỉnh. Bạn cũng nên điều chỉnh, vì vậy bạn cần phải đào tạo lại theo định kỳ. Trong trường hợp như vậy, tôi khuyên bạn nên thêm dữ liệu mới, nhưng cũng bỏ qua dữ liệu cũ không còn phù hợp nữa. Nếu thị trường thay đổi nhanh chóng, bạn thậm chí nên xem xét đào tạo lại định kỳ chỉ dựa trên dữ liệu mới.

Mặt khác, nếu mô hình của bạn phân loại một số hình ảnh (ví dụ như x-quang hoặc MRI) cho các điều kiện y tế và mô hình hoạt động tốt, bạn không cần phải đào tạo lại nếu không có thay đổi trong công nghệ hoặc trong bí quyết y tế . Thêm nhiều dữ liệu sẽ không cải thiện nhiều.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.