การทำให้เป็นมาตรฐานและการปรับขนาดในการเรียนรู้ออนไลน์?


15

สมมติว่าฉันมีลักษณนามการถดถอยโลจิสติก ในการเรียนรู้แบบกลุ่มตามปกติฉันมีคำศัพท์ปกติเพื่อป้องกันไม่ให้เกิดการ overfitting และทำให้น้ำหนักของฉันเล็ก ฉันจะทำให้ปกติและปรับขนาดคุณสมบัติของฉัน

ในการเรียนรู้ออนไลน์ฉันได้รับกระแสข้อมูลอย่างต่อเนื่อง ฉันทำการอัพเดทโคตรลาดตามแต่ละตัวอย่างแล้วละทิ้งมัน ฉันควรจะใช้การปรับขนาดและคำศัพท์ในการเรียนรู้ออนไลน์หรือไม่ ถ้าใช่ฉันจะทำอย่างไร ตัวอย่างเช่นฉันไม่มีชุดข้อมูลการฝึกอบรมที่จะเทียบเคียง ฉันยังไม่มีชุดการตรวจสอบเพื่อปรับพารามิเตอร์การทำให้เป็นมาตรฐานของฉัน ถ้าไม่ทำไมล่ะ

ในการเรียนรู้ออนไลน์ของฉันฉันได้รับตัวอย่างมากมายอย่างต่อเนื่อง สำหรับตัวอย่างใหม่แต่ละครั้งฉันทำนายผล จากนั้นในขั้นตอนต่อไปฉันจะได้รับเป้าหมายที่แท้จริงและทำการอัพเดทลาดลง

คำตอบ:


9

โครงการโอเพนซอร์ซ vowpal wabbitรวมถึงการดำเนินการออนไลน์ SGD ซึ่งได้รับการปรับปรุงโดยการคำนวณแบบทันที (ออนไลน์) ของ 3 ปัจจัยเพิ่มเติมที่มีผลต่อการปรับปรุงน้ำหนัก ปัจจัยเหล่านี้สามารถเปิดใช้งาน / ปิดการใช้งานโดยตัวเลือกบรรทัดคำสั่งที่เกี่ยวข้อง (โดยค่าเริ่มต้นทั้งสามถูกเปิดใช้งาน--sgdตัวเลือกจะปิดทั้งหมดเช่น: ตกลงบน "ดั้งเดิม" SGD)

ตัวเลือกการเสริม 3 SGD คือ:

  • --normalized การอัปเดตที่ปรับสำหรับขนาดของแต่ละคุณสมบัติ
  • --adaptive ใช้การไล่ระดับสีแบบปรับตัว (AdaGrad) (Duchi, Hazan, นักร้อง)
  • --invariant การปรับปรุงการตระหนักถึงความสำคัญ (Karampatziakis, Langford)

พวกเขามั่นใจว่ากระบวนการเรียนรู้ออนไลน์จะทำการชดเชย / ปรับอัตโนมัติ 3 ทางสำหรับ:

  • การปรับตามคุณลักษณะ (ขนาดใหญ่เทียบกับค่าเล็ก)
  • อัตราการเรียนรู้ต่อคุณลักษณะลดลงตามความสำคัญของคุณลักษณะ
  • ต่อการปรับอัตราการเรียนรู้แบบปรับเปลี่ยนคุณสมบัติสำหรับตัวอย่างที่พบบ่อย

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

นอกจากนี้vowpal wabbitยังใช้การทำให้เป็นบรรทัดฐานออนไลน์ผ่านการไล่ระดับสีที่ถูกตัดทอนด้วยตัวเลือกการทำให้เป็นระเบียบ:

  • --l1 (L1-บรรทัดฐาน)
  • --l2 (L2 บรรทัดฐาน)

ประสบการณ์ของฉันกับการปรับปรุงเหล่านี้ในชุดข้อมูลหลายชุดคือว่าพวกเขาปรับปรุงความแม่นยำของโมเดลและการบรรจบกันอย่างราบรื่นเมื่อนำแต่ละชุดมาใช้ในรหัส

นี่คือเอกสารทางวิชาการสำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการปรับปรุงเหล่านี้:


Arielf - หากคุณปิดการปรับปรุงสามอย่าง (ผ่าน --sgd) คือ sgd ที่กำลังแสดงอยู่ในสไลด์ 11 ของgithub.com/JohnLangford/vowpal_wabbit/wiki/v6.1_tutorial.pdfดังนั้น power_t และ initial_t จะเกี่ยวข้องกัน ?
B_Miner

1
B_miner: เท่าที่ฉันเข้าใจ--power_tและ--initial_tเป็นตัวเลือกที่เป็นอิสระระดับโลก (ไม่ใช่ต่อคุณลักษณะ) --sgdเปลี่ยนเป็น "คลาสสิค" เท่านั้น IOW: --sgdเพียงยกเลิก--invariant, --normalizedและ--adaptive(ซึ่งบ่งบอกถึงการแยกเป็นสัดส่วนต่อคุณลักษณะการเรียนรู้อัตรา)
arielf

คุณรู้หรือไม่ว่ามีวิธีที่จะทำการปรับปรุงเหล่านี้ในแบบอะซิงโครนัสแบบขนาน (เช่นเดียวกับที่ทำในแบบอะซิงโครนัส SGD)? ดูเหมือนว่า VW ที่มีคนงานหลายคนเฉลี่ยโมเดลของคนงานแต่ละคนในตอนท้ายของแต่ละรอบ พอยน์เตอร์เอกสาร / ซอฟต์แวร์ใด ๆ ในการทำเช่นนี้
JC1


1

ใช่คุณต้องการการทำให้เป็นมาตรฐานอย่างแน่นอน ... นอกจากนี้ยังช่วยลดระดับการไล่ระดับสี (และอัตราการเริ่มต้นการเรียนรู้ที่ 1 / C)

ดูตัวอย่างกระดาษ SGD-QN http://leon.bottou.org/papersเอกสารของ bottou

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


จากการเรียนรู้ออนไลน์ฉันได้รับหนึ่งตัวอย่างและทำการทำนาย ในขั้นตอนต่อไปฉันได้รับเป้าหมายที่แท้จริงสำหรับตัวอย่างของฉันและทำการอัพเดทโคตรลาด
siamii

ถ้าอย่างนั้นก็ควรจะเป็นอย่างที่ฉันแนะนำ - คุณใช้ตัวแยกประเภทที่มีพารามิเตอร์การทำให้เป็นมาตรฐานที่แตกต่างกันและติดตามข้อผิดพลาดการทำนายของตัวแยกประเภทแต่ละตัว
seanv507

ฉันไม่แน่ใจว่าคุณหมายถึงอะไรโดยเริ่มต้นอัตราการเรียนรู้ที่ 1 / C C คืออะไร คุณกำลังพูดถึงการสนับสนุนเครื่องเวกเตอร์? ฉันกำลังพูดถึงการถดถอยโลจิสติกที่ซึ่ง regularizer มีแลมบ์สัมประสิทธิ์ ฉันไม่รู้ว่าเกี่ยวข้องกับอัตราการเรียนรู้อย่างไร
siamii

ใช่พารามิเตอร์การทำให้เป็นมาตรฐาน l2, C, แลมบ์ดาหรืออะไรก็ตาม บางสิ่งบางอย่างที่ถูกกล่าวถึงในกระดาษ sgdqn ของ bottou และฉันคิดว่าจะอธิบายได้ดีกว่าที่อื่น โดยทั่วไปอัตราการเรียนรู้ของคุณควรเป็น 1 / โค้ง (ผกผันของ Hessian) ของพื้นผิวข้อผิดพลาดของคุณ .. ตอนนี้ถ้าพื้นผิวข้อผิดพลาดของคุณคือ
seanv507

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