ฉันกำลังสร้างแบบจำลองการถดถอย ในขั้นตอนก่อนการประมวลผลฉันปรับขนาดคุณสมบัติของฉันให้มีค่าเฉลี่ย 0 และส่วนเบี่ยงเบนมาตรฐาน 1 จำเป็นต้องทำให้ค่าเป้าหมายเป็นมาตรฐานด้วยหรือไม่
ฉันกำลังสร้างแบบจำลองการถดถอย ในขั้นตอนก่อนการประมวลผลฉันปรับขนาดคุณสมบัติของฉันให้มีค่าเฉลี่ย 0 และส่วนเบี่ยงเบนมาตรฐาน 1 จำเป็นต้องทำให้ค่าเป้าหมายเป็นมาตรฐานด้วยหรือไม่
คำตอบ:
ก่อนอื่นเรามาวิเคราะห์ว่าทำไมการขยายขนาดของฟีเจอร์จึงทำได้ การปรับขนาดของภาพช่วยเพิ่มการบรรจบกันของอัลกอริธึมที่ลาดชันที่สุดซึ่งไม่ได้มีคุณสมบัติของความแปรปรวนของสเกล
ในตัวอย่างการฝึกอบรมการไล่ระดับสีแบบลาดสุ่มแจ้งการปรับปรุงน้ำหนักซ้ำ ๆ เช่นนั้น
โดยที่คือน้ำหนักเป็น stepizeคือน้ำหนักของการไล่ระดับสีคือฟังก์ชั่นการสูญเสียคือฟังก์ชั่นที่กำหนดพารามิเตอร์โดย ,เป็นตัวอย่างการฝึกอบรมและคือการตอบสนอง / ฉลาก
เปรียบเทียบฟังก์ชั่นนูนต่อไปนี้ซึ่งแสดงถึงการปรับขนาดที่เหมาะสมและการปรับขนาดที่ไม่เหมาะสม
ขั้นตอนหนึ่งผ่านการอัปเดตน้ำหนักขนาดจะทำให้การลดข้อผิดพลาดในกรณีที่ปรับขนาดถูกต้องดีกว่ากรณีที่ปรับขนาดอย่างไม่เหมาะสม แสดงด้านล่างเป็นทิศทางของของความยาว\
การทำให้ผลลัพธ์เป็นปกติจะไม่ส่งผลกระทบต่อรูปร่างของดังนั้นโดยทั่วไปไม่จำเป็น
สถานการณ์เดียวที่ฉันสามารถจินตนาการการปรับขนาดผลลัพธ์มีผลกระทบคือถ้าตัวแปรตอบสนองของคุณมีขนาดใหญ่มากและ / หรือคุณกำลังใช้ตัวแปร f32 (ซึ่งเป็นเรื่องปกติกับพีชคณิตเชิงเส้นของ GPU) ในกรณีนี้เป็นไปได้ที่จะได้รับจุดลอยตัวขององค์ประกอบของน้ำหนัก อาการเป็นได้ทั้งค่า Inf หรือมันจะล้อมรอบไปที่การเป็นตัวแทนที่รุนแรงอื่น ๆ
โดยทั่วไปไม่จำเป็น การปรับอินพุตช่วยในการหลีกเลี่ยงสถานการณ์เมื่อคุณสมบัติหนึ่งหรือหลายอย่างมีอิทธิพลเหนือขนาดอื่น ๆ แบบจำลองแทบจะไม่ได้รับการสนับสนุนจากตัวแปรขนาดเล็กแม้ว่าจะแข็งแกร่งก็ตาม แต่ถ้าคุณปรับขนาดเป้าหมายข้อผิดพลาดกำลังสองเฉลี่ยของคุณจะถูกปรับสัดส่วนโดยอัตโนมัติ MSE> 1 โดยอัตโนมัติหมายความว่าคุณกำลังทำสิ่งที่แย่กว่าการคาดคะเนที่ไม่แน่นอน
ไม่การแปลงเชิงเส้นของการตอบสนองนั้นไม่จำเป็น อย่างไรก็ตามอาจช่วยในการตีความโมเดลของคุณได้ ตัวอย่างเช่นหากการตอบสนองของคุณมีหน่วยเป็นเมตร แต่โดยทั่วไปจะมีขนาดเล็กมากมันอาจเป็นประโยชน์ในการลดขนาดเป็นมิลลิเมตร โปรดทราบว่าการจัดกึ่งกลางและ / หรือการปรับอินพุตจะมีประโยชน์ด้วยเหตุผลเดียวกัน ตัวอย่างเช่นคุณสามารถประมาณค่าสัมประสิทธิ์การตีความเป็นผลกระทบต่อการตอบสนองต่อการเปลี่ยนแปลงในหน่วยทำนายที่เป็นเมื่อทำนายอื่น ๆ ทั้งหมดจะถูกตั้งค่าเป็น 0 แต่ 0 มักจะไม่เป็นค่าที่ถูกต้องหรือน่าสนใจสำหรับตัวแปรเหล่านั้น การป้อนข้อมูลเข้ากึ่งกลางช่วยให้คุณตีความค่าสัมประสิทธิ์เป็นผลกระทบต่อการเปลี่ยนแปลงหน่วยเมื่อผู้ทำนายรายอื่นคิดค่าเฉลี่ย
การแปลงรูปแบบอื่น ๆ (เช่นบันทึกหรือรากที่สอง) อาจมีประโยชน์หากการตอบสนองไม่ตรงกับตัวทำนายในระดับดั้งเดิม หากเป็นกรณีนี้คุณสามารถอ่านเกี่ยวกับโมเดลเชิงเส้นทั่วไปเพื่อดูว่ามันเหมาะสมกับคุณหรือไม่
มันไม่ส่งผลกระทบต่อการไล่ระดับสีโคตรในที่ไม่ดีทาง ตรวจสอบสูตรสำหรับการไล่ระดับสี:
ช่วยบอกว่าเป็นคุณลักษณะที่ 1000 ครั้งยิ่งใหญ่กว่า
สำหรับเราได้{x} วิธีที่ดีที่สุดในการเข้าถึง (0,0) ซึ่งเป็นระดับที่เหมาะสมที่สุดของโลกคือการเคลื่อนที่ข้ามเส้นทแยงมุม แต่ถ้าคุณสมบัติอย่างใดอย่างหนึ่งมีอิทธิพลเหนือสิ่งอื่นในแง่ของขนาดที่จะไม่เกิดขึ้น
หากต้องการแสดงตัวอย่าง: หากคุณทำการแปลงให้ถือว่าอัตราการเรียนรู้สม่ำเสมอสำหรับทั้งสองพิกัดและคำนวณการไล่ระดับสีแล้วรูปแบบการทำงานเหมือนกัน แต่อัตราการเรียนรู้สำหรับพิกัดที่สองจะต้องปรับเป็น 1/1000 ของค่าพิกัดแรกเพื่อให้ตรงกับมัน หากไม่ได้ประสานงานสองจะครองและเวกเตอร์จะชี้ไปที่ทิศทางนั้นมากขึ้น
ด้วยเหตุนี้มันจึงเอนเอียงเดลต้าให้ชี้ไปในทิศทางนั้นเท่านั้นและทำให้การบรรจบกันช้าลง
ใช่คุณจำเป็นต้องปรับขนาดตัวแปรเป้าหมาย ฉันจะอ้างอิงการอ้างอิงนี้ :
ตัวแปรเป้าหมายที่มีการแพร่กระจายของค่าขนาดใหญ่ในทางกลับกันอาจส่งผลให้เกิดข้อผิดพลาดการไล่ระดับสีที่มีขนาดใหญ่ทำให้ค่าน้ำหนักการเปลี่ยนแปลงอย่างมากทำให้กระบวนการเรียนรู้ไม่แน่นอน
ในการอ้างอิงนอกจากนี้ยังมีการสาธิตเกี่ยวกับรหัสที่น้ำหนักของแบบจำลองที่ระเบิดในระหว่างการฝึกอบรมได้รับข้อผิดพลาดที่มีขนาดใหญ่มากและในทางกลับกันการไล่ระดับสีของข้อผิดพลาดที่คำนวณสำหรับการปรับปรุงน้ำหนัก กล่าวโดยย่อหากคุณไม่ได้ปรับขนาดข้อมูลและคุณมีค่ามากให้แน่ใจว่าใช้ค่าอัตราการเรียนรู้ขนาดเล็กมาก เรื่องนี้ถูกกล่าวถึงโดย @drSpacy เช่นกัน