เครื่องชนแฮดรอนขนาดใหญ่และออดโนคลาสนิกิ

สานต่อธีมของการแข่งขันแมชชีนเลิร์นนิงบน Habré เราอยากจะแนะนำผู้อ่านให้รู้จักกับอีกสองแพลตฟอร์ม พวกมันไม่ใหญ่เท่ากับ kaggle อย่างแน่นอน แต่พวกมันสมควรได้รับความสนใจอย่างแน่นอน

เครื่องชนแฮดรอนขนาดใหญ่และออดโนคลาสนิกิ

โดยส่วนตัวแล้วฉันไม่ชอบ kaggle มากเกินไปด้วยเหตุผลหลายประการ:

  • ประการแรก การแข่งขันที่นั่นมักจะกินเวลานานหลายเดือน และการมีส่วนร่วมอย่างแข็งขันต้องใช้ความพยายามอย่างมาก
  • ประการที่สอง เมล็ดพืชสาธารณะ (โซลูชั่นสาธารณะ) ผู้ที่นับถือศาสนา Kaggle แนะนำให้ปฏิบัติต่อพวกเขาด้วยความสงบของพระทิเบต แต่ในความเป็นจริง มันค่อนข้างน่าเสียดายเมื่อสิ่งที่คุณทำมาเป็นเวลาหนึ่งหรือสองเดือนกลับกลายเป็นว่าถูกวางไว้บนจานเงินสำหรับทุกคน

โชคดีที่มีการแข่งขันแมชชีนเลิร์นนิงบนแพลตฟอร์มอื่น และจะมีการพูดคุยถึงการแข่งขันสองสามรายการ

ไอดาโอ SNA แฮ็กกาธอน 2019
ภาษาราชการ: อังกฤษ,
ผู้จัดงาน: Yandex, Sberbank, HSE
ภาษารัสเซียอย่างเป็นทางการ
ผู้จัดงาน: กลุ่ม Mail.ru
รอบออนไลน์: 15 ม.ค. — 11 ก.พ. 2019
รอบชิงชนะเลิศที่สถานที่: 4-6 เมษายน 2019
ออนไลน์ - ตั้งแต่วันที่ 7 กุมภาพันธ์ถึง 15 มีนาคม
ออฟไลน์ - ตั้งแต่วันที่ 30 มีนาคมถึง 1 เมษายน
การใช้ชุดข้อมูลบางอย่างเกี่ยวกับอนุภาคในเครื่องชนแฮดรอนขนาดใหญ่ (วิถี โมเมนตัม และพารามิเตอร์ทางกายภาพที่ค่อนข้างซับซ้อนอื่นๆ) พิจารณาว่าเป็นมิวออนหรือไม่
จากคำชี้แจงนี้ มีการระบุงาน 2 รายการ:
— ในอันเดียวคุณเพียงแค่ต้องส่งคำทำนายของคุณ
- และอีกประการหนึ่ง - รหัสและแบบจำลองที่สมบูรณ์สำหรับการคาดการณ์ และการดำเนินการอยู่ภายใต้ข้อจำกัดที่ค่อนข้างเข้มงวดเกี่ยวกับเวลาทำงานและการใช้หน่วยความจำ
สำหรับการแข่งขัน SNA Hackathon จะมีการรวบรวมบันทึกเนื้อหาที่แสดงจากกลุ่มเปิดในฟีดข่าวผู้ใช้สำหรับเดือนกุมภาพันธ์-มีนาคม 2018 ชุดทดสอบประกอบด้วยสัปดาห์สุดท้ายของเดือนมีนาคม แต่ละรายการในบันทึกประกอบด้วยข้อมูลเกี่ยวกับสิ่งที่แสดงและต่อใคร รวมถึงวิธีที่ผู้ใช้โต้ตอบกับเนื้อหานี้ เช่น ให้คะแนน แสดงความคิดเห็น เพิกเฉย หรือซ่อนเนื้อหาจากฟีด
สาระสำคัญของงานของ SNA Hackathon คือการจัดอันดับผู้ใช้โซเชียลเน็ตเวิร์ก Odnoklassniki แต่ละคนในฟีดของเขา โดยเพิ่มโพสต์ที่จะได้รับ "คลาส" ให้สูงที่สุดเท่าที่จะเป็นไปได้
บนเวทีออนไลน์งานแบ่งออกเป็น 3 ส่วน:
1. จัดอันดับโพสต์ตามลักษณะการทำงานร่วมกันต่างๆ
2. จัดอันดับโพสต์ตามรูปภาพที่มีอยู่
3. จัดอันดับโพสต์ตามข้อความที่มี
เมตริกที่กำหนดเองที่ซับซ้อน เช่น ROC-AUC ROC-AUC เฉลี่ยตามผู้ใช้
รางวัลสำหรับสเตจที่ XNUMX - เสื้อยืดสำหรับ N อันดับ, การผ่านเข้าสู่สเตจที่ XNUMX, โดยชำระค่าที่พักและอาหารในระหว่างการแข่งขัน
ระยะที่สอง - ??? (ด้วยเหตุผลบางประการ ฉันไม่ได้เข้าร่วมพิธีมอบรางวัล และไม่รู้ว่าท้ายที่สุดแล้วรางวัลคืออะไร) พวกเขาสัญญาแล็ปท็อปกับสมาชิกทุกคนในทีมที่ชนะ
รางวัลสำหรับสเตจแรก - เสื้อยืดสำหรับผู้เข้าร่วมที่ดีที่สุด 100 คน ผ่านไปยังสเตจที่สอง ซึ่งมีการจ่ายค่าเดินทางไปมอสโก ที่พักและอาหารระหว่างการแข่งขัน นอกจากนี้ ในช่วงท้ายของสเตจแรก ยังมีการประกาศรางวัลสำหรับผลงานที่ดีที่สุดใน 3 ภารกิจในสเตจที่ 1: ทุกคนได้รับรางวัลการ์ดวิดีโอ RTX 2080 TI!
ขั้นตอนที่สองเป็นเวทีทีม ทีมประกอบด้วย 2 ถึง 5 คน รางวัล:
อันดับที่ 1 - 300 รูเบิล
อันดับที่ 2 - 200 รูเบิล
อันดับที่ 3 - 100 รูเบิล
รางวัลคณะลูกขุน - 100 รูเบิล
กลุ่มโทรเลขอย่างเป็นทางการ ผู้เข้าร่วมประมาณ 190 คน สื่อสารเป็นภาษาอังกฤษ คำถามต้องรอหลายวันกว่าจะได้รับคำตอบ กลุ่มอย่างเป็นทางการทางโทรเลข ผู้เข้าร่วมประมาณ 1500 คน การอภิปรายอย่างแข็งขันเกี่ยวกับงานระหว่างผู้เข้าร่วมและผู้จัดงาน
ผู้จัดงานได้จัดเตรียมโซลูชันพื้นฐานไว้สองวิธี คือ แบบง่ายและขั้นสูง แบบธรรมดาต้องการ RAM น้อยกว่า 16 GB และหน่วยความจำขั้นสูงไม่พอดีกับ 16 ในเวลาเดียวกัน เมื่อมองไปข้างหน้าอีกหน่อย ผู้เข้าร่วมก็ไม่สามารถทำงานได้ดีกว่าโซลูชันขั้นสูงอย่างมีนัยสำคัญ ไม่มีปัญหาในการเปิดตัวโซลูชั่นเหล่านี้ ควรสังเกตว่าในตัวอย่างขั้นสูง มีความคิดเห็นพร้อมคำแนะนำว่าจะเริ่มปรับปรุงโซลูชันได้ที่ไหน มีการจัดเตรียมวิธีแก้ปัญหาเบื้องต้นขั้นพื้นฐานไว้สำหรับแต่ละงาน ซึ่งผู้เข้าร่วมสามารถเอาชนะได้อย่างง่ายดาย ในช่วงแรกของการแข่งขัน ผู้เข้าร่วมเผชิญกับปัญหาหลายประการ ประการแรก ข้อมูลได้รับในรูปแบบ Apache Parquet และไม่ใช่ว่าการผสมผสานระหว่าง Python และแพ็คเกจไม้ปาร์เก้ทั้งหมดจะทำงานโดยไม่มีข้อผิดพลาด ปัญหาที่สองคือการดาวน์โหลดรูปภาพจาก Mail Cloud ในขณะนี้ ไม่มีวิธีง่ายๆ ในการดาวน์โหลดข้อมูลจำนวนมากในคราวเดียว เป็นผลให้ปัญหาเหล่านี้ทำให้ผู้เข้าร่วมล่าช้าไปสองสามวัน

ไอดาโอ. ขั้นแรก

ภารกิจคือการจำแนกอนุภาคมิวออน/ไม่ใช่มิวออนตามคุณลักษณะของพวกมัน คุณสมบัติที่สำคัญของงานนี้คือการมีคอลัมน์น้ำหนักในข้อมูลการฝึกอบรมซึ่งผู้จัดงานตีความว่าเป็นความมั่นใจในคำตอบสำหรับบรรทัดนี้ ปัญหาคือแถวบางแถวมีน้ำหนักติดลบ

เครื่องชนแฮดรอนขนาดใหญ่และออดโนคลาสนิกิ

หลังจากคิดสักครู่เกี่ยวกับเส้นที่มีคำใบ้ (คำใบ้ดึงความสนใจไปที่คุณลักษณะนี้ของคอลัมน์น้ำหนัก) และสร้างกราฟนี้ เราตัดสินใจตรวจสอบ 3 ตัวเลือก:

1) สลับเป้าหมายของเส้นที่มีน้ำหนักเป็นลบ (และน้ำหนักตามนั้น)
2) เปลี่ยนน้ำหนักเป็นค่าต่ำสุดเพื่อให้เริ่มจาก 0
3) อย่าใช้น้ำหนักสตริง

ตัวเลือกที่สามกลายเป็นตัวเลือกที่แย่ที่สุด แต่สองตัวเลือกแรกปรับปรุงผลลัพธ์ สิ่งที่ดีที่สุดคือตัวเลือกหมายเลข 1 ซึ่งนำเราไปสู่อันดับที่สองในปัจจุบันทันทีในงานแรกและอันดับแรกในวินาที
เครื่องชนแฮดรอนขนาดใหญ่และออดโนคลาสนิกิ
ขั้นตอนต่อไปของเราคือการตรวจสอบข้อมูลเพื่อหาค่าที่หายไป ผู้จัดงานให้ข้อมูลที่รวบรวมมาให้เราแล้ว ซึ่งมีค่าที่ขาดหายไปค่อนข้างน้อย และถูกแทนที่ด้วย -9999

เราพบค่าที่หายไปในคอลัมน์ MatchedHit_{X,Y,Z}[N] และ MatchedHit_D{X,Y,Z}[N] และเฉพาะเมื่อ N=2 หรือ 3 ตามที่เราเข้าใจ อนุภาคบางตัวไม่ได้ ผ่านตัวตรวจจับทั้ง 4 ตัว และหยุดที่แผ่นที่ 3 หรือ 4 ข้อมูลยังมีคอลัมน์ Lextra_{X,Y}[N] ซึ่งเห็นได้ชัดว่าอธิบายสิ่งเดียวกันกับ MatchedHit_{X,Y,Z}[N] แต่ใช้การประมาณค่าบางประเภท การเดาเพียงเล็กน้อยเหล่านี้ชี้ให้เห็นว่าสามารถแทนที่ Lextra_{X,Y}[N] สำหรับค่าที่หายไปใน MatchedHit_{X,Y,Z}[N] (สำหรับพิกัด X และ Y เท่านั้น) MatchedHit_Z[N] เต็มไปด้วยค่ามัธยฐานอย่างดี การยักย้ายเหล่านี้ทำให้เราสามารถไปถึงอันดับที่ 1 ระหว่างกลางในภารกิจทั้งสองได้

เครื่องชนแฮดรอนขนาดใหญ่และออดโนคลาสนิกิ

เมื่อพิจารณาว่าพวกเขาไม่ได้ให้อะไรในการชนะสเตจแรก เราอาจหยุดอยู่แค่นั้น แต่เราดำเนินการต่อ วาดภาพสวย ๆ และมาพร้อมกับคุณสมบัติใหม่

เครื่องชนแฮดรอนขนาดใหญ่และออดโนคลาสนิกิ

ตัวอย่างเช่น เราพบว่าหากเราพล็อตจุดตัดกันของอนุภาคด้วยแผ่นตรวจจับแต่ละแผ่นจากทั้งหมดสี่แผ่น เราจะเห็นว่าจุดบนแผ่นแต่ละแผ่นถูกจัดกลุ่มเป็นสี่เหลี่ยมจัตุรัส 5 อัน โดยมีอัตราส่วนกว้างยาว 4 ถึง 5 และมีศูนย์กลางที่ จุด (0,0) และใน ไม่มีจุดในสี่เหลี่ยมแรก

หมายเลขแผ่น / ขนาดสี่เหลี่ยมผืนผ้า 1 2 3 4 5
จานที่ 1 500h625 1000h1250 2000h2500 4000h5000 8000h10000
จานที่ 2 520h650 1040h1300 2080h2600 4160h5200 8320h10400
จานที่ 3 560h700 1120h1400 2240h2800 4480h5600 8960h11200
จานที่ 4 600h750 1200h1500 2400h3000 4800h6000 9600h12000

เมื่อพิจารณาขนาดเหล่านี้แล้ว เราได้เพิ่มคุณลักษณะใหม่ 4 รายการสำหรับแต่ละอนุภาค - จำนวนของสี่เหลี่ยมที่มันตัดกับแต่ละแผ่น

เครื่องชนแฮดรอนขนาดใหญ่และออดโนคลาสนิกิ

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

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

ลิงก์ไปยังบทความทางวิทยาศาสตร์ในหัวข้อการแข่งขันที่ผู้จัดงานมอบให้เรากระตุ้นให้เกิดความคิดที่ว่าเราอยู่ไกลจากคนแรกที่จะแก้ไขปัญหานี้และบางทีอาจมีซอฟต์แวร์พิเศษบางประเภท หลังจากค้นพบพื้นที่เก็บข้อมูลบน GitHub ซึ่งมีการนำวิธีการ IsMuonSimple, IsMuon, IsMuonLoose มาใช้งาน เราจึงย้ายพวกมันไปยังไซต์ของเราโดยมีการแก้ไขเล็กน้อย วิธีการนั้นง่ายมาก ตัวอย่างเช่น หากพลังงานน้อยกว่าเกณฑ์ที่กำหนด มันก็จะไม่ใช่มิวออน ไม่เช่นนั้นก็เป็นมิวออน คุณสมบัติง่ายๆ ดังกล่าวเห็นได้ชัดว่าไม่สามารถเพิ่มขึ้นได้ในกรณีของการใช้การเร่งการไล่ระดับสี ดังนั้นเราจึงเพิ่ม "ระยะทาง" ที่สำคัญอีกอันหนึ่งให้กับเกณฑ์ คุณสมบัติเหล่านี้ได้รับการปรับปรุงเล็กน้อยเช่นกัน บางที ด้วยการวิเคราะห์วิธีการที่มีอยู่อย่างละเอียดมากขึ้น อาจเป็นไปได้ที่จะหาวิธีที่แข็งแกร่งกว่าและเพิ่มเข้าไปในสัญญาณ

ในตอนท้ายของการแข่งขัน เราได้ปรับแต่งวิธีแก้ปัญหา "ด่วน" เล็กน้อยสำหรับปัญหาที่สอง ในท้ายที่สุด มันแตกต่างจากพื้นฐานในประเด็นต่อไปนี้:

  1. ในแถวที่มีน้ำหนักติดลบ เป้าหมายจะกลับด้าน
  2. เติมค่าที่หายไปใน MatchedHit_{X,Y,Z}[N]
  3. ลดความลึกเหลือ 7
  4. อัตราการเรียนรู้ลดลงเหลือ 0.1 (จากเดิม 0.19)

ผลที่ได้คือ เราลองใช้คุณสมบัติเพิ่มเติม (ไม่ประสบความสำเร็จมากนัก) เลือกพารามิเตอร์และ catboost ที่ผ่านการฝึกอบรม lightgbm และ xgboost ลองการผสมผสานการคาดการณ์ที่แตกต่างกัน และก่อนที่จะเปิดแบบส่วนตัว เราก็ชนะงานที่สองอย่างมั่นใจ และในครั้งแรก เราก็เป็นหนึ่งในนั้น ผู้นำ

หลังจากเปิดไพรเวทแล้ว เราก็ได้อันดับที่ 10 สำหรับภารกิจที่ 1 และอันดับที่ 3 สำหรับภารกิจที่สอง ผู้นำทั้งหมดปะปนกัน และความเร็วในส่วนตัวก็สูงกว่าบนกระดาน ดูเหมือนว่าข้อมูลมีการแบ่งชั้นไม่ดี (หรือเช่น ไม่มีแถวที่มีน้ำหนักติดลบในข้อมูลส่วนตัว) และนี่ก็น่าหงุดหงิดเล็กน้อย

SNA Hackathon 2019 - ข้อความ ขั้นแรก

ภารกิจคือจัดอันดับโพสต์ของผู้ใช้บนเครือข่ายโซเชียล Odnoklassniki ตามข้อความที่มีอยู่ นอกเหนือจากข้อความแล้วยังมีคุณลักษณะอีกสองสามประการของโพสต์ (ภาษา, เจ้าของ, วันที่และเวลาที่สร้าง, วันที่และเวลาในการดู ).

เนื่องจากเป็นแนวทางคลาสสิกในการทำงานกับข้อความ ฉันจะเน้นสองตัวเลือก:

  1. การแมปแต่ละคำลงในปริภูมิเวกเตอร์ n มิติ เพื่อให้คำที่คล้ายกันมีเวกเตอร์ที่คล้ายกัน (อ่านเพิ่มเติมใน บทความของเรา) จากนั้นค้นหาคำเฉลี่ยสำหรับข้อความ หรือใช้กลไกที่คำนึงถึงตำแหน่งสัมพัทธ์ของคำ (CNN, LSTM/GRU)
  2. การใช้โมเดลที่สามารถทำงานกับประโยคทั้งหมดได้ทันที ตัวอย่างเช่น เบิร์ต. ตามทฤษฎีแล้ว วิธีการนี้น่าจะได้ผลดีกว่า

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

  1. ก่อนจะวิ่งไปสอนอะไรให้ดูข้อมูลก่อน! นอกจากข้อความแล้ว ข้อมูลยังมีหลายคอลัมน์ และมันก็เป็นไปได้ที่จะบีบออกมาจากคอลัมน์เหล่านั้นมากกว่าที่ฉันทำ สิ่งที่ง่ายที่สุดคือทำการเข้ารหัสเป้าหมายสำหรับบางคอลัมน์
  2. อย่าเรียนรู้จากข้อมูลทั้งหมด! มีข้อมูลจำนวนมาก (ประมาณ 17 ล้านแถว) และไม่จำเป็นต้องใช้ข้อมูลทั้งหมดเพื่อทดสอบสมมติฐานเลย การฝึกอบรมและการประมวลผลล่วงหน้าค่อนข้างช้า และแน่นอนว่าฉันจะมีเวลาทดสอบสมมติฐานที่น่าสนใจกว่านี้
  3. <คำแนะนำที่ขัดแย้งกัน>ไม่ต้องมองหารุ่นนักฆ่า ฉันใช้เวลานานในการหา Elmo และ Bert โดยหวังว่าพวกเขาจะพาฉันไปยังที่สูงทันที และด้วยเหตุนี้ ฉันจึงใช้การฝัง FastText ที่ได้รับการฝึกล่วงหน้าสำหรับภาษารัสเซีย ฉันไม่สามารถทำความเร็วได้ดีไปกว่านี้ด้วย Elmo และฉันก็ยังไม่มีเวลาคิดแก้ปัญหากับ Bert
  4. <คำแนะนำที่ขัดแย้งกัน> ไม่จำเป็นต้องมองหาคุณสมบัตินักฆ่าสักอย่าง เมื่อดูข้อมูล ฉันสังเกตเห็นว่าประมาณ 1 เปอร์เซ็นต์ของข้อความไม่มีข้อความอยู่จริงๆ! แต่มีลิงก์ไปยังแหล่งข้อมูลบางส่วน และฉันเขียนโปรแกรมแยกวิเคราะห์ง่ายๆ ที่เปิดไซต์และดึงชื่อและคำอธิบายออกมา ดูเหมือนจะเป็นความคิดที่ดี แต่แล้วฉันก็ถูกพาไปและตัดสินใจแยกวิเคราะห์ลิงก์ทั้งหมดสำหรับข้อความทั้งหมดและเสียเวลาไปมากอีกครั้ง ทั้งหมดนี้ไม่ได้ให้การปรับปรุงที่สำคัญในผลลัพธ์สุดท้าย (แม้ว่าฉันจะคิดได้ว่ามีอุปสรรคอะไรบ้าง)
  5. คุณสมบัติคลาสสิกใช้งานได้ ตัวอย่างเช่นเรา Google "คุณลักษณะข้อความ kaggle" อ่านและเพิ่มทุกอย่าง TF-IDF มีการปรับปรุง เช่นเดียวกับคุณลักษณะทางสถิติ เช่น ความยาวของข้อความ คำ และจำนวนเครื่องหมายวรรคตอน
  6. หากมีคอลัมน์ DateTime ก็ควรแยกวิเคราะห์ออกเป็นคุณลักษณะต่างๆ ที่แยกจากกัน (ชั่วโมง วันในสัปดาห์ ฯลฯ) คุณลักษณะใดที่ควรเน้นควรได้รับการวิเคราะห์โดยใช้กราฟ/เมตริกบางส่วน ด้วยความตั้งใจ ฉันทำทุกอย่างถูกต้องและเน้นคุณสมบัติที่จำเป็น แต่การวิเคราะห์ตามปกติคงไม่เสียหาย (เช่นอย่างที่เราทำในรอบชิงชนะเลิศ)

เครื่องชนแฮดรอนขนาดใหญ่และออดโนคลาสนิกิ

จากผลการแข่งขัน ฉันฝึกโมเดล keras หนึ่งโมเดลที่มีการสลับคำ และอีกโมเดลหนึ่งที่ใช้ LSTM และ GRU ทั้งสองใช้การฝัง FastText ที่ผ่านการฝึกอบรมมาแล้วสำหรับภาษารัสเซีย (ฉันลองใช้การฝังอื่นๆ หลายครั้ง แต่สิ่งเหล่านี้ได้ผลดีที่สุด) หลังจากเฉลี่ยการคาดการณ์แล้ว ฉันก็ได้อันดับที่ 7 สุดท้ายจากผู้เข้าร่วมทั้งหมด 76 คน

หลังจากขั้นตอนแรกก็เผยแพร่ บทความโดย นิโคไล อโนคินซึ่งเกิดขึ้นที่สอง (เขาเข้าร่วมนอกการแข่งขัน) และวิธีแก้ปัญหาของเขาถึงขั้นตอนหนึ่งซ้ำแล้วซ้ำเล่า แต่เขาไปไกลกว่านั้นเนื่องจากกลไกความสนใจของแบบสอบถาม-คีย์-ค่า

ขั้นตอนที่สอง ตกลง & IDAO

การแข่งขันรอบที่ XNUMX เกิดขึ้นเกือบติดต่อกัน ดังนั้นฉันจึงตัดสินใจดูพร้อมกัน

อันดับแรก ฉันและทีมที่เพิ่งได้มาจบลงที่สำนักงานที่น่าประทับใจของบริษัท Mail.ru ซึ่งงานของเราคือการรวมโมเดลของสามแทร็กจากขั้นตอนแรก - ข้อความ รูปภาพ และการทำงานร่วมกัน มีการจัดสรรเวลามากกว่า 2 วันเล็กน้อยสำหรับสิ่งนี้ซึ่งกลายเป็นน้อยมาก ในความเป็นจริง เราสามารถทำซ้ำผลลัพธ์ของเราตั้งแต่ขั้นตอนแรกโดยไม่ได้รับผลประโยชน์ใดๆ จากการควบรวมกิจการ ในที่สุดเราก็ได้อันดับที่ 5 แต่เราไม่สามารถใช้โมเดลข้อความได้ หลังจากดูวิธีแก้ปัญหาของผู้เข้าร่วมคนอื่นๆ แล้ว ดูเหมือนว่าการพยายามจัดกลุ่มข้อความและเพิ่มลงในโมเดลการทำงานร่วมกันก็คุ้มค่า ผลข้างเคียงของขั้นตอนนี้คือความประทับใจใหม่ๆ การพบปะและสื่อสารกับผู้เข้าร่วมและผู้จัดงานสุดเจ๋ง รวมถึงการอดนอนอย่างรุนแรง ซึ่งอาจส่งผลต่อผลลัพธ์ของขั้นตอนสุดท้ายของ IDAO

ภารกิจในขั้นตอนสุดท้ายของ IDAO 2019 คือการคาดการณ์เวลารอสำหรับคำสั่งซื้อของคนขับแท็กซี่ Yandex ที่สนามบิน ในขั้นตอนที่ 2 มีการระบุ 3 งาน = 3 สนามบิน สำหรับแต่ละสนามบิน ระบบจะให้ข้อมูลนาทีต่อนาทีเกี่ยวกับจำนวนคำสั่งซื้อรถแท็กซี่เป็นเวลาหกเดือน และเป็นข้อมูลทดสอบ โดยจะได้รับข้อมูลคำสั่งซื้อในช่วง 2 สัปดาห์ที่ผ่านมาเป็นเดือนถัดไปและแบบนาทีต่อนาที มีเวลาน้อย (1,5 วัน) งานค่อนข้างเฉพาะเจาะจงมีเพียงคนเดียวจากทีมเท่านั้นที่เข้าร่วมการแข่งขัน - และด้วยเหตุนี้จึงเป็นสถานที่ที่น่าเศร้าในช่วงท้ายเกม แนวคิดที่น่าสนใจ ได้แก่ ความพยายามในการใช้ข้อมูลภายนอก เช่น สภาพอากาศ การจราจรติดขัด และสถิติการสั่งซื้อรถแท็กซี่ของ Yandex แม้ว่าผู้จัดงานไม่ได้บอกว่าสนามบินเหล่านี้คืออะไร แต่ผู้เข้าร่วมหลายคนคิดว่าพวกเขาคือ Sheremetyevo, Domodedovo และ Vnukovo แม้ว่าสมมติฐานนี้จะถูกข้องแวะหลังการแข่งขัน แต่ฟีเจอร์ต่างๆ เช่น จากข้อมูลสภาพอากาศของมอสโก ได้ปรับปรุงผลลัพธ์ทั้งในด้านการตรวจสอบและบนกระดานผู้นำ

ข้อสรุป

  1. การแข่งขัน ML เจ๋งและน่าสนใจ! ที่นี่คุณจะได้พบกับการใช้ทักษะในการวิเคราะห์ข้อมูล ตลอดจนแบบจำลองและเทคนิคอันชาญฉลาด และยินดีต้อนรับด้วยสามัญสำนึก
  2. ML เป็นองค์ความรู้จำนวนมหาศาลที่ดูเหมือนว่าจะเติบโตอย่างทวีคูณ ฉันตั้งเป้าหมายที่จะทำความคุ้นเคยกับพื้นที่ต่างๆ (สัญญาณ รูปภาพ ตาราง ข้อความ) และตระหนักแล้วว่าต้องศึกษาอีกมากเพียงใด ตัวอย่างเช่น หลังจากการแข่งขันเหล่านี้ ฉันตัดสินใจศึกษา: อัลกอริธึมการจัดกลุ่ม, เทคนิคขั้นสูงสำหรับการทำงานกับไลบรารี่เร่งการไล่ระดับสี (โดยเฉพาะการทำงานกับ CatBoost บน GPU), เครือข่ายแคปซูล, กลไกความสนใจคิวรีคีย์-ค่า
  3. ไม่ใช่โดย kaggle เพียงอย่างเดียว! มีการแข่งขันอื่นๆ อีกมากมายที่อย่างน้อยจะได้เสื้อยืดง่ายกว่า และมีโอกาสได้รับรางวัลอื่นๆ มากกว่า
  4. สื่อสาร! มีชุมชนขนาดใหญ่ในด้านการเรียนรู้ของเครื่องและการวิเคราะห์ข้อมูลอยู่แล้ว มีกลุ่มเฉพาะเรื่องในโทรเลข หย่อน และคนที่จริงจังจาก Mail.ru, Yandex และบริษัทอื่น ๆ ตอบคำถามและช่วยเหลือผู้เริ่มต้นและผู้ที่ดำเนินเส้นทางต่อไปในสาขานี้ ของความรู้
  5. ฉันแนะนำให้ทุกคนที่ได้รับแรงบันดาลใจจากจุดก่อนหน้าให้ไปเยี่ยมชม เทศกาลข้อมูล — การประชุมใหญ่ฟรีในกรุงมอสโก ซึ่งจะจัดขึ้นในวันที่ 10-11 พฤษภาคม

ที่มา: will.com

เพิ่มความคิดเห็น