การเรียนรู้ของเครื่อง (Machine Learning) เป็นสาขาหนึ่งที่ได้รับความนิยมอย่างมากในปัจจุบัน โดยเฉพาะในเรื่องของการวิเคราะห์ข้อมูลขนาดใหญ่ (Big Data) หนึ่งในอัลกอริธึมที่ง่ายและได้รับการยอมรับมากที่สุดในการคัดเลือกข้อมูลคือ K-Nearest Neighbors (K-NN) ซึ่งมันสามารถประยุกต์ใช้ในหลาย ๆ ด้าน เช่น การจำแนกประเภท (Classification) หรือการคำนวณค่าเฉลี่ย (Regression) อย่างไรก็ตาม หลายคนอาจไม่รู้ว่าภาษา COBOL ซึ่งเป็นภาษาโปรแกรมที่เก่าแก่นี้ยังสามารถนำ K-NN มาใช้งานได้!
K-NN เป็นอัลกอริธึมที่ง่ายและตรงไปตรงมา โดยมุ่งเน้นไปที่การคำนวณความใกล้ชิดระหว่างข้อมูล ตัวแปร K เป็นจำนวนของเพื่อนบ้านที่เราต้องการคำนวณเพื่อทำการตัดสินใจเกี่ยวกับข้อมูลใหม่ที่ต้องการจำแนกประเภท ซึ่งอัลกอริธึมนี้จะหาความใกล้ชิดของข้อมูลใหม่ที่มีอยู่ในกลุ่มข้อมูล และให้ผลลัพธ์ตามประเภทที่มีมากที่สุดใน K เพื่อนบ้านที่ใกล้ที่สุด
เช่นเดียวกับภาษาอื่น ๆ COBOL ก็สามารถเขียน K-NN algorithm ได้ โดยมีลักษณะการทำงานที่แตกต่างกันเล็กน้อย ตัวอย่างด้านล่างเป็นตัวอย่างง่าย ๆ สำหรับการจำแนกประเภทข้อมูล
ในตัวอย่างนี้ โค้ด COBOL จะสร้างชุดข้อมูลที่มีป้ายกำกับ (LABEL) และประเภทย่อยที่มีพิกัด X/Y จากนั้นจะคำนวณระยะทางจากข้อมูลใหม่ (NEW-POINT) ไปยังข้อมูลในชุดข้อมูลผ่านการใช้ Euclidean distance ค่าที่ได้จะนำไปใช้ในการตัดสินใจว่า ข้อมูลใหม่ควรจะแสดงผลเป็นประเภทใด (CLASSIFICATION)
K-NN Algorithm ถูกใช้ในหลาย ๆ สถานการณ์จริง ตัวอย่างโปรโมชั่นที่ใช้ได้แก่:
1. การแนะนำสินค้า (Product Recommendation): ร้านค้าออนไลน์สามารถใช้ K-NN เพื่อแนะนำสินค้าที่อาจสนใจตามการซื้อของลูกค้าอื่นๆ ที่มีพฤติกรรมคล้ายกัน ทำให้ประสบการณ์การช็อปปิ้งของลูกค้ามีความน่าสนใจมากขึ้น 2. การวิเคราะห์แผนที่เสียง (Sound Classification): ใช้ K-NN ในการจำแนกเสียงประเภทต่าง ๆ เช่น เสียงเพลง เสียงพูด เพื่อปรับอัลกอริธึมให้สามารถรู้จักเสียงที่ต้องการได้ 3. การจำแนกประเภทอีเมล: ระบบสามารถใช้ K-NN เพื่อจำแนกประเภทของอีเมลได้เช่น แน่ใจว่ามันคือ Spam หรือไม่ โดยอิงจากข้อมูลการเปิดอ่านอีเมลในอดีต
K-NN Algorithm อาจจะดูซับซ้อนในตอนแรก แต่หากเราทำความเข้าใจกับแนวคิดเบื้องต้น มันจะกลายเป็นเครื่องมือที่ทรงพลังในการประมวลผลข้อมูล ถึงแม้ว่าภาษา COBOL จะดูเป็นภาษาที่เก่า แต่ก็ยังใช้ได้ดีในการวิเคราะห์ข้อมูล ซึ่งยังสามารถนำมาประยุกต์ใช้ในหลาย ๆ สถานการณ์ในโลกความจริง
หากคุณต้องการเรียนรู้การเขียนโปรแกรมและทำการวิเคราะห์ข้อมูลให้เก่งขึ้น เราขอเชิญคุณมาศึกษาโปรแกรมที่ EPT (Expert-Programming-Tutor) ซึ่งเป็นสถาบันการเรียนรู้การเขียนโปรแกรมที่พร้อมให้ความรู้ด้านนี้อย่างลึกซึ้งและน่าสนใจ!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
Tag ที่น่าสนใจ: java c# vb.net python c c++ machine_learning web database oop cloud aws ios android
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM