ขั้นแรก: กำหนดเป้าหมาย / เหตุผลของคุณ
ฉันคิดว่านี่เป็นปัจจัยที่สำคัญ ข้อใดเหมาะกับคุณที่สุด (เลือกเพียงอันเดียว )
- คุณต้องการสนุกกับงานเขียนโค้ดที่ท้าทายและท้าทาย
- คุณต้องการสร้างเครื่องมือหมากรุกที่ดีมาก
- คุณต้องการเรียนรู้เกี่ยวกับกลไกการทำงานของหมากรุก
- คุณต้องการเรียนรู้ / ฝึกทักษะการเขียนโค้ด
- คุณต้องการเรียนรู้ / ใช้แนวคิด / ทฤษฎีวิทยาการคอมพิวเตอร์ (เช่นการเรียนรู้ของเครื่อง)
- (อื่น ๆ )
IMO เป็นเรื่องดีที่จะ "โยนเหรียญ" เพื่ออะไรก็ตามยกเว้น 2 สำหรับคนอื่น ๆ คุณจะบรรลุเป้าหมายของคุณไม่ว่าคุณจะเลือก ML หรือการเข้ารหัสแบบยาก อย่างไรก็ตามคุณอาจต้องการเปรียบเทียบระหว่างตัวเลือกที่จะช่วยคุณตัดสินใจ
กรณีสำหรับการเข้ารหัสยาก
การเล่นหมากรุก (เป็นมนุษย์) เกี่ยวข้องกับการคิดเชิงตรรกะ คุณสำรวจพื้นที่ของการกระทำที่เป็นไปได้ที่คุณและคู่ต่อสู้สามารถทำได้ สิ่งนี้ได้วางภาคสนามที่เรียกว่าทฤษฎีเกมซึ่งมีกรอบทางทฤษฎีสำหรับการวิเคราะห์เกมโดยทั่วไป
หากคุณสนุกกับการทำงานกับรายละเอียดและมีความเฉพาะเจาะจงและให้เหตุผลเกี่ยวกับสิ่งต่าง ๆ สิ่งนี้อาจใช้ได้ดีสำหรับคุณ ในการเปรียบเทียบการเรียนรู้ของเครื่องนั้นเกี่ยวข้องกับอัลกอริทึม "กล่องดำ" มากขึ้นซึ่งคลุมเครือและทึบแสง คุณไม่รู้แน่ชัดว่าเกิดอะไรขึ้น
นอกจากนี้ฉันคิดว่าคุณจะมีเวลาง่ายขึ้น "คิดออกเอง" ถ้าคุณไปเส้นทางเข้ารหัสยากมากกว่าการเรียนรู้เครื่อง สิ่งที่คัดลอกวางน้อยกว่าที่คุณไม่เข้าใจ
กรณีสำหรับการเรียนรู้ของเครื่อง
มันอาจเป็นเรื่องที่น่าตื่นเต้นที่จะให้กำเนิดสิ่งมีชีวิตและเฝ้าดูชีวิตของมันเอง ในขณะที่การเข้ารหัสอย่างหนักนั้นเกี่ยวกับความแม่นยำและรายละเอียดการเรียนรู้ของเครื่องมีความยืดหยุ่น กำจัดเซลล์ประสาทออกไปและผลลัพธ์ก็น่าจะคล้ายกัน
Hard-coding นั้นเกี่ยวกับการเรียนหมากรุก การเรียนรู้ด้วยเครื่องจักรเป็นเรื่องเกี่ยวกับการศึกษาสิ่งมีชีวิตที่คุณสร้างขึ้น
และแน่นอนว่าการเรียนรู้ของเครื่องนั้นเป็นหัวข้อที่ร้อนแรงมาก
ตัวเลือกภาษาสำหรับฮาร์ดโค้ด
ฉันไม่แน่ใจว่าคุณหมายถึงอะไรโดย "ภาษาที่ใช้ภาษา C อื่น ๆ " C ++ เป็นภาษาหลักเดียวที่เป็นสิ่งที่ชอบซีประโยชน์ของ C / C ++ ก็คือพวกเขาได้อย่างรวดเร็ว ถึงแม้ว่าภาษาอื่น ๆ จะใช้เวลานานหลายปี แต่ C ++ ก็ยังคงให้เงินกับพวกเขาอยู่
C ++ ไม่ใช่เรื่องง่าย คุณจะได้รับประสิทธิภาพที่ยอดเยี่ยมจากภาษาที่รวบรวมทันสมัยเช่น Rust, Golang หรือ Swift แต่มันก็ไม่ควรเลวร้ายไปกว่านี้หากคุณใช้ภาษา JIT นั่นคือไม่ใช้ล่าม CPython ใช้ IronPython หรือ Jython หรือ Node หรือ C # หรือ Java
การเขียนโปรแกรม GPU ต้องการวิธีการที่แตกต่างกันและฉันจะแนะนำกับมันในตอนนี้
ตัวเลือกภาษาสำหรับการเรียนรู้ของเครื่อง
ปัญหากับ TensorFlow คือมันอยู่ในระดับต่ำมาก มันเป็นเรื่องของการเขียนอัลกอริธึมการเขียนตัวเลข (ซึ่งสามารถทำฟาร์มกับฮาร์ดแวร์แบบขนาน) ได้มากกว่าเกี่ยวกับอินเตอร์เฟสที่อุทิศให้กับการเรียนรู้ของเครื่อง
แน่นอนว่ามันเป็นประสบการณ์การเรียนรู้ที่ยอดเยี่ยม! และแน่นอนว่าการเรียนรู้ในวันนี้คุ้มค่าอย่างยิ่ง อย่างไรก็ตามคุณอาจต้องการเริ่มต้นด้วย Keras หรือ PyTorch