เห็นได้ชัดว่าฉันไม่สามารถพูดได้ทั้งหมดอุตสาหกรรม แต่ฉันทำงานในอุตสาหกรรมและมีการแข่งขัน Kaggle ดังนั้นฉันจะแบ่งปัน POV ของฉัน
ขั้นแรกคุณต้องสงสัยว่า Kaggle ไม่ตรงกับสิ่งที่ผู้คนทำในอุตสาหกรรม มันเป็นเกมและอยู่ภายใต้การควบคุมของ gamesmanship โดยมีข้อ จำกัด มากมาย ตัวอย่างเช่นในการแข่งขันซานทานแดร์ที่กำลังรันอยู่:
- ชื่อฟีเจอร์ถูกแฮชปลอมเพื่อซ่อนความหมาย
- ชุด "การฝึกอบรม" ถูก จำกัด ดุ้งดิ้งให้มีแถวน้อยกว่าคอลัมน์โดยเฉพาะเพื่อให้การเลือกคุณสมบัติความทนทานและเทคนิคการทำให้เป็นมาตรฐานเป็นสิ่งที่ขาดไม่ได้สำหรับความสำเร็จ
- ชุด "ทดสอบ" ที่เรียกว่ามีการแจกแจงที่แตกต่างกันอย่างชัดเจนกว่าชุดฝึกอบรมและทั้งสองอย่างชัดเจนไม่ใช่ตัวอย่างแบบสุ่มจากประชากรเดียวกัน
หากมีคนให้ชุดข้อมูลแบบนี้กับฉันในที่ทำงานฉันจะเสนอให้ทำงานกับพวกเขาในงานวิศวกรรมคุณลักษณะเพื่อให้เราได้รับคุณลักษณะที่มีประโยชน์มากขึ้น ฉันขอแนะนำให้เราใช้ความรู้ในโดเมนเพื่อตัดสินใจเกี่ยวกับเงื่อนไขการโต้ตอบ, เกณฑ์, กลยุทธ์การเข้ารหัสตัวแปรเด็ดขาด, ฯลฯ การเข้าถึงปัญหาด้วยวิธีนี้จะมีประสิทธิผลมากกว่าการพยายามดึงความหมายจากไฟล์ไอเสียที่ผลิตโดยวิศวกรฐานข้อมูลที่ไม่มี การฝึกอบรมใน ML
นอกจากนี้หากคุณเรียนรู้พูดว่าคอลัมน์ตัวเลขเฉพาะนั้นไม่ใช่ตัวเลข แต่เป็นรหัสไปรษณีย์คุณสามารถไปและรับข้อมูลจากแหล่งข้อมูลบุคคลที่สามเช่น US Census เพื่อเพิ่มข้อมูลของคุณ หรือถ้าคุณมีวันที่บางทีคุณอาจรวมราคาปิด S&P 500 สำหรับวันนั้น กลยุทธ์การเสริมภายนอกดังกล่าวจำเป็นต้องมีความรู้โดยละเอียดเกี่ยวกับชุดข้อมูลที่เฉพาะเจาะจงและความรู้ด้านโดเมนที่สำคัญ แต่มักจะมีการจ่ายผลตอบแทนที่ใหญ่กว่าการปรับปรุงอัลกอริทึมที่บริสุทธิ์
ดังนั้นความแตกต่างใหญ่ครั้งแรกระหว่างอุตสาหกรรมและ Kaggle ก็คือในอุตสาหกรรมคุณสมบัติ (ในแง่ของข้อมูลอินพุต) ต่อรองได้
ความแตกต่างระดับที่สองคือประสิทธิภาพ บ่อยครั้งที่แบบจำลองจะถูกปรับใช้กับการผลิตด้วยวิธีใดวิธีหนึ่งจากสองวิธี: 1) การทำนายแบบจำลองจะถูกคำนวณล่วงหน้าสำหรับทุกแถวในตารางฐานข้อมูลขนาดใหญ่มากหรือ 2) แอปพลิเคชันหรือเว็บไซต์จะส่งข้อมูลแถวเดียว ต้องการการคาดการณ์ที่ส่งคืนในเวลาจริง ทั้งสองกรณีใช้ต้องมีประสิทธิภาพที่ดี ด้วยเหตุผลเหล่านี้คุณมักจะไม่เห็นรูปแบบที่สามารถคาดเดาหรือใช้หน่วยความจำจำนวนมากเช่น K- ใกล้เคียง - เพื่อนบ้านหรือป่าสุ่มพิเศษ ในทางกลับกันการถดถอยโลจิสติกหรือโครงข่ายประสาทเทียมนั้นสามารถให้คะแนนชุดระเบียนที่มีการคูณเมทริกซ์ไม่กี่และการคูณเมทริกซ์สามารถปรับให้เหมาะสมกับห้องสมุดที่เหมาะสมแม้ว่าฉันจะได้รับ +0.001 AUC ถ้าฉันวางซ้อนกับรุ่นอื่นที่ไม่ใช่พารามิเตอร์ แต่ฉันก็ไม่ได้เพราะการคาดการณ์ปริมาณงานและความล่าช้าจะลดลงมากเกินไป
มีมิติความน่าเชื่อถือสำหรับสิ่งนี้เช่นกัน - การจัดเรียงไลบรารีบุคคลที่สามที่ล้ำสมัยสี่แบบกล่าวว่าLightGBM , xgboost , catboostและTensorflow (บนGPUsแน่นอนอาจทำให้คุณได้รับการลดลง. 01 ใน MSE ชนะการแข่งขัน Kaggle แต่เป็นห้องสมุดที่แตกต่างกันสี่แห่งในการติดตั้งปรับใช้และแก้ไขข้อบกพร่องหากมีสิ่งผิดปกติเกิดขึ้น มันยอดเยี่ยมมากถ้าคุณสามารถทำให้ทุกอย่างทำงานบนแล็ปท็อปของคุณได้ แต่การทำให้มันทำงานใน Docker container ที่ทำงานบน AWS นั้นเป็นเรื่องที่แตกต่างอย่างสิ้นเชิง บริษัท ส่วนใหญ่ไม่ต้องการอยู่หน้าทีมผู้พัฒนาเล็ก ๆ เพื่อจัดการกับปัญหาการปรับใช้เหล่านี้
ที่กล่าวว่าการสแต็คในตัวเองไม่จำเป็นต้องเป็นเรื่องใหญ่ ในความเป็นจริงการซ้อนโมเดลที่แตกต่างกันสองสามแบบซึ่งทำงานได้ดีเท่า ๆ กัน แต่มีขอบเขตการตัดสินใจที่แตกต่างกันมากเป็นวิธีที่ยอดเยี่ยมในการรับชนขนาดเล็กใน AUC และการชนขนาดใหญ่ในความทนทาน อย่าไปโยนชุดครัวจำนวนมากเข้าไปในชุดที่แตกต่างของคุณซึ่งคุณเริ่มมีปัญหาการปรับใช้