แบบจำลองควรได้รับการฝึกอบรมใหม่หรือไม่หากมีการสังเกตใหม่


28

ดังนั้นฉันไม่สามารถค้นหาวรรณกรรมใด ๆ ในเรื่องนี้ แต่ดูเหมือนว่ามีบางสิ่งที่ควรค่าแก่การคิด:

  • อะไรคือวิธีปฏิบัติที่ดีที่สุดในการฝึกอบรมแบบจำลองและการปรับให้เหมาะสมถ้ามีการสังเกตใหม่

  • มีวิธีใดบ้างในการกำหนดระยะเวลา / ความถี่ของการฝึกอบรมรูปแบบใหม่ก่อนที่การคาดการณ์จะเริ่มลดลง?

  • มันเกินความเหมาะสมหรือไม่หากพารามิเตอร์ได้รับการปรับให้เหมาะสมกับข้อมูลที่รวบรวมใหม่?

โปรดทราบว่าการเรียนรู้อาจไม่จำเป็นต้องออนไลน์ อาจต้องการอัปเกรดโมเดลที่มีอยู่หลังจากสังเกตความแปรปรวนอย่างมีนัยสำคัญในการคาดการณ์ล่าสุด


คำตอบนั้นขึ้นอยู่กับโดเมนธุรกิจและแอปพลิเคชั่นรุ่นเฉพาะ
Pete

คำตอบ:


16
  1. เมื่อแบบจำลองได้รับการฝึกฝนและคุณได้รับข้อมูลใหม่ซึ่งสามารถใช้สำหรับการฝึกอบรมได้คุณสามารถโหลดแบบจำลองก่อนหน้าและฝึกอบรม ตัวอย่างเช่นคุณสามารถบันทึกแบบจำลองของคุณเป็น.pickleไฟล์และโหลดและฝึกอบรมเพิ่มเติมเกี่ยวกับมันเมื่อมีข้อมูลใหม่ the new training data should have a similar distribution as the past dataทำบันทึกว่าสำหรับรูปแบบที่จะคาดการณ์ได้อย่างถูกต้อง
  2. การคาดคะเนมีแนวโน้มที่จะลดลงตามชุดข้อมูลที่คุณใช้ ตัวอย่างเช่นหากคุณพยายามฝึกอบรมโดยใช้ข้อมูลทวิตเตอร์และคุณได้รวบรวมข้อมูลเกี่ยวกับผลิตภัณฑ์ที่ทวีตกันอย่างแพร่หลายในวันนั้น แต่ถ้าคุณใช้ทวีตหลังจากผ่านไปหลายวันเมื่อไม่ได้กล่าวถึงผลิตภัณฑ์มันอาจจะลำเอียง The frequency will be dependent on datasetและไม่มีเวลาเฉพาะในการระบุเช่นนี้ If you observe that your new incoming data is deviating vastly, then it is a good practise to retrain the model.
  3. การปรับพารามิเตอร์ให้เหมาะสมกับข้อมูลที่รวบรวมไม่ได้มีการกำหนดมากเกินไป ข้อมูลขนาดใหญ่ไม่ได้หมายถึงการ overfitting ใช้การตรวจสอบข้ามเพื่อตรวจสอบการกระชับ

ดังนั้นถ้าธรรมชาติของชุดข้อมูลเข้ามายังคงเหมือนเดิมตลอดไม่มีอะไรใหม่ที่โมเดลสามารถเรียนรู้ได้?
user140323

หากข้อมูลไม่เปลี่ยนแปลงและหากคุณพอใจกับความถูกต้องของโมเดลปัจจุบันฉันไม่เห็นจุดใด ๆ ในการฝึกอบรมอีกครั้ง
Hima Varsha

@Aush อาจเป็นไปได้ว่าคุณสามารถใช้ข้อมูลที่เข้ามาเป็นชุดการตรวจสอบและตรวจสอบรูปแบบปัจจุบันของคุณ
Hima Varsha

ยังเร็วเกินไปที่จะยอมรับ แต่ฉันจะ ขอบคุณ!
user140323

สวัสดี @ tktktk0711 ฉันยังไม่มีรหัสที่จะแสดงให้คุณเห็นในขณะนี้ แต่เพิ่งผ่านสิ่งนี้ซึ่งชี้ไปที่ลิงค์อื่นที่มีรหัส github.com/tflearn/tflearn/issues/39
Hima Varsha

20

เมื่อมีการสังเกตใหม่มีสามวิธีในการฝึกอบรมโมเดลของคุณใหม่:

  1. ออนไลน์:ทุกครั้งที่มีการสังเกตใหม่คุณสามารถใช้จุดข้อมูลเดียวนี้เพื่อฝึกอบรมโมเดลของคุณเพิ่มเติม (เช่นโหลดโมเดลปัจจุบันของคุณและฝึกอบรมเพิ่มเติมโดยทำการ backpropagation ด้วยการสังเกตเพียงครั้งเดียว) ด้วยวิธีนี้แบบจำลองของคุณเรียนรู้ในลักษณะที่ต่อเนื่องและเรียงลำดับของข้อมูลในพื้นที่ของคุณซึ่งจะได้รับอิทธิพลจากการสำรวจล่าสุดมากกว่าการสังเกตแบบเก่า สิ่งนี้อาจมีประโยชน์ในสถานการณ์ที่โมเดลของคุณต้องการปรับให้เข้ากับรูปแบบใหม่ในข้อมูลแบบไดนามิก นอกจากนี้ยังมีประโยชน์เมื่อคุณจัดการกับชุดข้อมูลที่มีขนาดใหญ่มากซึ่งการฝึกอบรมทั้งหมดในครั้งเดียวนั้นเป็นไปไม่ได้
  2. ออฟไลน์:คุณเพิ่มการสังเกตใหม่ลงในชุดข้อมูลที่มีอยู่แล้วของคุณและฝึกฝนแบบจำลองของคุณใหม่ในชุดข้อมูลใหม่ที่ใหญ่กว่านี้ โดยทั่วไปจะนำไปสู่การประมาณฟังก์ชั่นเป้าหมายระดับโลกที่ดีขึ้นและเป็นที่นิยมอย่างมากหากคุณมีชุดข้อมูลคงที่หรือหากคุณไม่มีข้อสังเกตใหม่ อย่างไรก็ตามมันไม่ได้ผลสำหรับชุดข้อมูลขนาดใหญ่
  3. nn

โมเดลส่วนใหญ่ในวันนี้จะใช้ชุด / ชุดเล็กและตัวเลือกสำหรับขนาดของชุดขึ้นอยู่กับใบสมัครและรูปแบบของคุณ การเลือกชุดขนาดที่เหมาะสมเทียบเท่ากับการเลือกความถี่ที่เหมาะสมสำหรับการฝึกอบรมโมเดลของคุณอีกครั้ง หากการสังเกตใหม่ของคุณมีความแปรปรวนต่ำกับข้อมูลที่มีอยู่ของคุณฉันขอแนะนำให้ใช้แบทช์ที่มีขนาดใหญ่กว่า (บางทีอาจจะ 256-512) และถ้าการสังเกตใหม่ในทางตรงกันข้ามมีแนวโน้มที่จะเปลี่ยนแปลงอย่างมากกับข้อมูลที่มีอยู่ของคุณ ในตอนท้ายของวันขนาดแบตช์เป็นเหมือนไฮเปอร์พารามิเตอร์อื่นที่คุณต้องปรับแต่งและเฉพาะสำหรับข้อมูลของคุณ


สวัสดีฉันต้องการถามคุณทางออนไลน์: ออนไลน์เพื่อรับข้อมูลใหม่ วิธีนี้ จำกัด รุ่น ML บางอย่างหรือไม่ฉันหมายถึงไม่ใช่การเรียนรู้ของเครื่องทั้งหมด
tktktk0711

คุณรู้ไหมว่ามีตัวอย่างของแรงดึงที่ใช้แบตช์ ?
maxisme

1

ปัญหาของคุณอยู่ภายใต้วิธีการเรียนรู้ออนไลน์ เมื่อกระแสข้อมูลไหลเข้ามาคุณสามารถใช้วิธี Stochastic Gradient Descent เพื่ออัพเดตพารามิเตอร์โมเดลของคุณโดยใช้ตัวอย่างเดียว

หากฟังก์ชันต้นทุนของคุณคือ:

นาทีθJ(x,Y,θ)

θxผม,Yผม

θเสื้อ=θเสื้อ-1-θJ(xผม,Yผม)

นี่คือพื้นฐาน SGD ด้วยขนาดแบตช์ 1

มีอีกหนึ่งกลอุบายที่คุณสามารถนำมาใช้เป็นวิธีการที่ใช้หน้าต่าง / บัฟเฟอร์ที่คุณบัฟเฟอร์ตัวอย่างจากกระแสและถือว่าเป็นชุดและใช้ชุด SGD ในกรณีนั้นสมการการอัพเดทจะกลายเป็น:

θt=θt1iθJ(xi,yi)

นี่คือชุดเล็ก ๆ SGD


0

คำถาม: คุณควรสั่งสอนขึ้นใหม่?

คำตอบนั้นขึ้นอยู่กับรุ่นของคุณที่พยายามทำและในสภาพแวดล้อมที่ใช้

ให้ฉันอธิบายสองตัวอย่าง:

สมมติว่าแบบจำลองของคุณพยายามทำนายพฤติกรรมของลูกค้าเช่นโอกาสที่ลูกค้าจะซื้อผลิตภัณฑ์ของคุณตามข้อเสนอที่ปรับให้เหมาะกับเขา เห็นได้ชัดว่าตลาดมีการเปลี่ยนแปลงอยู่ตลอดเวลาความต้องการของลูกค้าเปลี่ยนไปและคู่แข่งของคุณจะปรับตัว คุณควรปรับด้วย ในกรณีเช่นนี้ฉันอยากจะแนะนำให้เพิ่มข้อมูลใหม่ แต่ยังละเว้นข้อมูลเก่าที่ไม่เกี่ยวข้องอีกต่อไป หากตลาดมีการเปลี่ยนแปลงอย่างรวดเร็วคุณควรพิจารณาสั่งสอนขึ้นใหม่เป็นระยะ ๆ โดยใช้ข้อมูลใหม่เท่านั้น

ในทางกลับกันถ้าแบบจำลองของคุณแบ่งประเภทการถ่ายภาพบางส่วน (เช่น x-ray หรือ MRI) กับเงื่อนไขทางการแพทย์และแบบจำลองนั้นทำงานได้ดีคุณไม่จำเป็นต้องทำการฝึกอบรมใหม่หากไม่มีการเปลี่ยนแปลงในเทคโนโลยีหรือความรู้ทางการแพทย์ . การเพิ่มข้อมูลจะไม่ปรับปรุงมากนัก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.