Chính quy hóa và tính năng nhân rộng trong học tập trực tuyến?


15

Hãy nói rằng tôi có một phân loại hồi quy logistic. Trong học tập theo đợt thông thường, tôi có một thuật ngữ chính quy để ngăn chặn tình trạng thừa và giữ cho trọng lượng của tôi nhỏ. Tôi cũng sẽ bình thường hóa và mở rộng các tính năng của mình.

Trong cài đặt học tập trực tuyến, tôi nhận được một luồng dữ liệu liên tục. Tôi thực hiện cập nhật giảm dần độ dốc với mỗi ví dụ và sau đó loại bỏ nó. Tôi có nên sử dụng tính năng nhân rộng và thuật ngữ chính quy trong học tập trực tuyến không? Nếu có, làm thế nào tôi có thể làm điều đó? Ví dụ: tôi không có bộ dữ liệu đào tạo để mở rộng quy mô. Tôi cũng không có xác nhận hợp lệ để điều chỉnh tham số chính quy của mình. Nếu không, tại sao không?

Trong học tập trực tuyến của tôi, tôi nhận được một luồng các ví dụ liên tục. Đối với mỗi ví dụ mới, tôi làm một dự đoán. Sau đó, trong bước tiếp theo, tôi nhận được mục tiêu thực tế và thực hiện cập nhật giảm dần độ dốc.

Câu trả lời:


9

Dự án mã nguồn mở vowpal wợi bao gồm triển khai SGD trực tuyến, được tăng cường bằng cách tính toán nhanh (trực tuyến) của 3 yếu tố bổ sung ảnh hưởng đến việc cập nhật trọng lượng. Các yếu tố này có thể được bật / tắt bởi các tùy chọn dòng lệnh tương ứng của chúng (theo mặc định cả ba đều được bật, --sgdtùy chọn, tắt tất cả, tức là: quay trở lại SGD "cổ điển").

Các tùy chọn tăng cường 3 SGD là:

  • --normalized cập nhật được điều chỉnh theo tỷ lệ của từng tính năng
  • --adaptive sử dụng gradient thích ứng (AdaGrad) (Duchi, Hazan, Ca sĩ)
  • --invariant cập nhật nhận thức quan trọng (Karampatziakis, Langford)

Cùng nhau, họ đảm bảo rằng quy trình học trực tuyến thực hiện bù / điều chỉnh tự động 3 chiều cho:

  • chia tỷ lệ theo tính năng (giá trị lớn so với giá trị nhỏ)
  • phân rã tỷ lệ học tập theo tính năng dựa trên tầm quan trọng của tính năng
  • trong mỗi tính năng điều chỉnh tỷ lệ học thích ứng cho tính phổ biến / độ hiếm trong các ví dụ

Kết quả cuối cùng là không cần phải chuẩn hóa trước hoặc mở rộng các tính năng khác nhau để làm cho người học bớt sai lệch và hiệu quả hơn.

Ngoài ra, vowpal wợi cũng thực hiện chính quy hóa trực tuyến thông qua việc giảm độ dốc rút gọn với các tùy chọn chính quy:

  • --l1 (Định mức L1)
  • --l2 (Định mức L2)

Kinh nghiệm của tôi với những cải tiến này trên nhiều bộ dữ liệu, là chúng đã cải thiện đáng kể độ chính xác của mô hình và sự hội tụ mượt mà hơn khi mỗi trong số chúng được đưa vào mã.

Dưới đây là một số bài viết học thuật để biết thêm chi tiết liên quan đến những cải tiến này:


Arielf - Nếu bạn tắt ba cải tiến (thông qua --sgd) thì sgd đang được thực hiện trên slide 11 của github.com/JohnLangford/vowpal_wmus/wiki/v6.1_tutorial.pdf để sau đó power_t và init_t trở nên có liên quan ?
B_Miner 16/2/2015

1
B_miner: theo như tôi hiểu --power_t--initial_tlà các tùy chọn độc lập toàn cầu (không phải trên mỗi tính năng). --sgdchỉ trở lại SGD "cổ điển". IOW: --sgdchỉ hủy bỏ --invariant, --normalized--adaptive(trong đó bao hàm, mỗi tính năng học tập-giá riêng biệt)
arielf

Bạn có biết có cách nào để thực hiện các cập nhật này theo cách không đồng bộ song song (như được thực hiện trong SGD không đồng bộ) không? Có vẻ như VW có nhiều công nhân tính trung bình cho mỗi mô hình của công nhân vào cuối mỗi lần vượt qua. Bất kỳ giấy tờ / phần mềm con trỏ về làm thế nào để làm điều này?
JC1


1

vâng, bạn chắc chắn cần thường xuyên hóa ... nó cũng giúp giảm độ dốc (và khởi tạo tỷ lệ học tập lên 1 / C)

xem ví dụ: giấy SGD-QN http://leon.bottou.org/ con giấy của chai

bạn chưa thực sự giải thích ý của bạn khi học trực tuyến: ví dụ: đối với mỗi điểm bạn có nhận được giá trị mục tiêu không? Tôi không biết bạn sẽ kết hợp như thế nào ... tìm kiếm C ... Tôi đoán bạn sẽ có nhiều phân loại với các thuật ngữ chính quy khác nhau và theo dõi lỗi dự đoán (trước khi bạn cập nhật trọng số)


Bằng cách học trực tuyến, tôi lấy một ví dụ và dự đoán. Ở bước tiếp theo, tôi lấy mục tiêu thực tế cho ví dụ của mình và thực hiện cập nhật giảm dần độ dốc.
siamii

vậy thì đúng như tôi đã đề xuất - bạn chạy một loạt các phân loại với tham số chính quy khác nhau và theo dõi các lỗi dự đoán của từng phân loại.
seanv507

Tôi không chắc ý của bạn là gì khi khởi tạo tỷ lệ học lên 1 / C. C là gì? Bạn đang nói về máy vectơ hỗ trợ? Tôi đang nói về hồi quy logistic trong đó bộ chỉnh lưu có hệ số lambda. Tôi không biết điều đó có liên quan gì đến tỷ lệ học tập.
siamii

có tham số chính quy l2, C, lambda, hoặc bất cứ điều gì. một cái gì đó được đề cập ở một bên trong bài báo sgdqn của chai, và tôi cho rằng đã giải thích tốt hơn ở một nơi khác. về cơ bản, tỷ lệ học tập của bạn phải là 1 / độ cong (nghịch đảo của Hessian) trên bề mặt lỗi của bạn .. bây giờ nếu bề mặt lỗi của bạn là
seanv507

1
Tôi cũng cần phải làm mở rộng tính năng? Làm thế nào để làm điều đó trong một thiết lập trực tuyến?
siamii
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.