OOP in Machine Learning

แนวคิดเชิงวัตถุเป็นการเขียนโปรแกรมที่

  • ช่วยให้ผู้พัฒนาสามารถออกแบบการแก้ปัญหาโปรแกรมที่ซับซ้อนได้อย่างมีระบบ

  • ช่วยอำนวยความสะดวกและลดความซ้ำซ้อนในการเขียนโปรแกรมเพื่อแก้ปัญหา

  • ช่วยให้ผู้พัฒนาสามารถตรวจสอบความถูกต้องแบ่งตามคลาสและฟังก์ชันที่เขียนมาได้อย่างเป็นระบบ

ด้วยประโยชน์ดังกล่าวของแนวคิดเชิงวัตถุ กลุ่มวิจัยและผู้พัฒนาด้านการเรียนรู้ของเครื่องจึงได้นำแนวคิดเชิงวัตถุมาพัฒนาเป็นชุดคำสั่งที่สำคัญต่างๆ ดังต่อไปนี้

  • numpy เป็นชุดคำสั่งที่นิยมนำมาใช้ในการประมวลผลทางคณิตศาสตร์ไม่ว่าจะเป็นเลขเดียว เวกเตอร์ เมตริกซ์ หรือ กลุ่มตัวเลขหลายมิติ โดยใช้คลาสเดียวคือ numpy.ndarray ในการแทนข้อมูลเหล่านี้

  • pandas ชุดคำสั่งที่ใช้สำหรับการจัดการและวิเคราะห์ข้อมูล จากข้อมูลคอลัมน์โดยใช้คลาส pandas.Series และข้อมูลตารางใช้คลาส pandas.DataFrame และอื่น ๆ

  • scikit-learn ชุดคำสั่งสำหรับการประมวลผลการเรียนรู้ของเครื่อง (machine learning) โดยออกแบบให้การเรียนรู้ของเครื่องทุกเทคนิคเป็น sklearn.base.BaseEstimator ชื่อมีฟังก์ชันฝึก fit() และ ฟังก์ชันพยากรณ์ predict() ช่วยให้นักวิจัยที่คิดค้นเทคนิคใหม่สามารถสืบทอดคุณสมบัติของคลาสนี้และกำหนดขั้นตอนการฝึกและพยากรณ์เองได้

  • streamlit ชุดคำสั่งสำหรับสร้างเว็บแอปพลิเคชันด้วยภาษาไพธอนอย่างง่าย โดยทำคลาสสำเร็จรูปที่มีทั้งส่วนการแสดงผลบนเว็บ browser (frontend) และส่วนประมวลผลข้อมูล (backend) ด้วยกันทำให้สามารถเรียกคลาสและกำหนดข้อมูลในการแสดงผลได้เลย

  • diffusers ชุดคำสั่งสำหรับสร้างภาพจากข้อความโดยใช้การเรียนรู้ของเครื่องเชิงลึก Deep Learning เนื่องจากเทคนิคการสร้างภาพจากข้อความมีหลายขั้นตอนสามารถปรับปรุงและแก้ไขได้ทุกขั้นตอนทำให้มีผู้คิดค้นวิธีที่เพิ่มคุณภาพและความแม่นยำของภาพตลอดเวลาชุดคำสั่งนี้จึงสร้างคลาสพื้นฐานมาเป็น diffusers.ModelMixin เพื่อให้นักวิจัยสามารถสร้างโมเดลใหม่โดยการสืบทอดคุณสมบัติต่อไปจากคลาสนี้ ซึ่งฟังก์ชันหลักๆ ได้แก่ forward() from_pretrained() และ save_pretrained()

Contents:

Indices and tables