ต้นขั้ว KNN คืออะไร (K-เพื่อนบ้านที่ใกล้ที่สุด)? - Unite.AI
เชื่อมต่อกับเรา
มาสเตอร์คลาส AI:

AI 101

KNN คืออะไร (K-เพื่อนบ้านที่ใกล้ที่สุด)?

mm
วันที่อัพเดท on

K-เพื่อนบ้านที่ใกล้ที่สุด (KNN) คืออะไร?

K-Nearest Neighbors เป็นเทคนิคและอัลกอริธึมการเรียนรู้ของเครื่อง สามารถใช้กับงานการถดถอยและการจำแนกประเภท. K-เพื่อนบ้านที่ใกล้ที่สุด การตรวจสอบ ป้ายกำกับของจุดข้อมูลที่เลือกจำนวนหนึ่ง รอบจุดข้อมูลเป้าหมายเพื่อทำการทำนายเกี่ยวกับคลาสที่จุดข้อมูลนั้นอยู่ K-Nearest Neighbors (KNN) เป็นอัลกอริทึมที่มีแนวคิดเรียบง่ายแต่ทรงพลัง และด้วยเหตุผลดังกล่าว จึงเป็นหนึ่งในอัลกอริทึมการเรียนรู้ของเครื่องที่ได้รับความนิยมมากที่สุด มาเจาะลึกเกี่ยวกับอัลกอริทึม KNN และดูว่ามันทำงานอย่างไร การมีความเข้าใจที่ดีเกี่ยวกับวิธีการทำงานของ KNN จะช่วยให้คุณชื่นชมกรณีการใช้งานที่ดีที่สุดและแย่ที่สุดสำหรับ KNN

ภาพรวมของเพื่อนบ้านที่ใกล้ที่สุด (KNN)

รูปภาพ: Antti Ajanki AnAj ผ่าน Wikimedia Commons, CC BY SA 3.0 (https://commons.wikimedia.org/wiki/File:KnnClassification.svg)

ลองนึกภาพชุดข้อมูลบนระนาบ 2 มิติ นึกภาพกลุ่มจุดข้อมูลบนกราฟ กระจายไปตามกราฟเป็นกลุ่มเล็กๆ KNN ตรวจสอบการกระจายของจุดข้อมูลและแยกจุดข้อมูลออกเป็นกลุ่มๆ ขึ้นอยู่กับอาร์กิวเมนต์ที่กำหนดให้กับโมเดล จากนั้นกลุ่มเหล่านี้จะได้รับป้ายกำกับ สมมติฐานหลักที่แบบจำลอง KNN ตั้งขึ้นคือจุดข้อมูล/อินสแตนซ์ซึ่งอยู่ใกล้กันนั้นมีความคล้ายคลึงกันมาก ในขณะที่จุดข้อมูลอยู่ห่างจากกลุ่มอื่น จุดข้อมูลเหล่านั้นก็จะแตกต่างจากจุดข้อมูลเหล่านั้น

แบบจำลอง KNN คำนวณความคล้ายคลึงกันโดยใช้ระยะห่างระหว่างจุดสองจุดบนกราฟ ยิ่งระยะห่างระหว่างจุดมากเท่าใด ความคล้ายคลึงกันก็จะยิ่งน้อยลงเท่านั้น มีหลายวิธีในการคำนวณระยะทางระหว่างจุดต่างๆ แต่การวัดระยะทางที่พบมากที่สุดคือระยะทางแบบยุคลิด (ระยะห่างระหว่างจุดสองจุดในแนวเส้นตรง)

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

อัลกอริทึม KNN ทำงานอย่างไร

อัลกอริทึม KNN ต้องผ่านสามขั้นตอนหลักในขณะที่ดำเนินการ:

  1. ตั้งค่า K เป็นจำนวนเพื่อนบ้านที่เลือก
  2. การคำนวณระยะห่างระหว่างตัวอย่างที่ให้/ทดสอบกับตัวอย่างชุดข้อมูล
  3. การเรียงลำดับระยะทางที่คำนวณได้
  4. รับป้ายกำกับของรายการ K อันดับต้น ๆ
  5. ส่งคืนการคาดคะเนเกี่ยวกับตัวอย่างการทดสอบ

ในขั้นตอนแรก ผู้ใช้จะเลือก K และบอกอัลกอริทึมว่าควรพิจารณาเพื่อนบ้านจำนวนเท่าใด (จำนวนจุดข้อมูลโดยรอบ) เมื่อทำการตัดสินเกี่ยวกับกลุ่มที่ตัวอย่างเป้าหมายอยู่ ในขั้นตอนที่สอง โปรดทราบว่าโมเดลจะตรวจสอบระยะห่างระหว่างตัวอย่างเป้าหมายกับทุกตัวอย่างในชุดข้อมูล ระยะทางจะถูกเพิ่มเข้าไปในรายการและจัดเรียง หลังจากนั้น รายการที่เรียงลำดับจะถูกตรวจสอบ และฉลากสำหรับองค์ประกอบ K อันดับต้น ๆ จะถูกส่งกลับ กล่าวอีกนัยหนึ่ง ถ้าตั้งค่า K เป็น 5 โมเดลจะตรวจสอบป้ายกำกับของจุดข้อมูล 5 อันดับแรกที่ใกล้เคียงที่สุดกับจุดข้อมูลเป้าหมาย เมื่อแสดงการคาดคะเนเกี่ยวกับจุดข้อมูลเป้าหมาย สิ่งสำคัญคือถ้างานนั้นเป็น a ถดถอย or การจัดหมวดหมู่ งาน. สำหรับงานการถดถอย จะใช้ค่าเฉลี่ยของป้ายกำกับ K ด้านบน ในขณะที่โหมดของป้ายกำกับ K ด้านบนจะใช้ในกรณีของการจำแนกประเภท

การดำเนินการทางคณิตศาสตร์ที่แน่นอนที่ใช้ในการดำเนินการ KNN นั้นแตกต่างกันไปขึ้นอยู่กับเมตริกระยะทางที่เลือก หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการคำนวณเมตริก คุณสามารถอ่านเกี่ยวกับเมตริกระยะทางที่พบได้บ่อยที่สุด เช่น ยุคลิด, แมนฮัตตันและ มินโคว์สกี้.

ทำไมคุณค่าของ K ถึงสำคัญ

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

รูปภาพ: Agor153 ผ่าน Wikimedia Commons, CC BY SA 3.0 (https://en.wikipedia.org/wiki/File:Map1NN.png)

ค่า K ที่ต่ำกว่าหมายความว่าการคาดการณ์ที่แสดงโดย KNN นั้นมีความเสถียรและเชื่อถือได้น้อยกว่า เพื่อให้ได้สัญชาตญาณว่าเหตุใดจึงเป็นเช่นนั้น ลองพิจารณากรณีที่เรามีเพื่อนบ้าน 7 รายรอบๆ จุดข้อมูลเป้าหมาย สมมติว่าแบบจำลอง KNN ทำงานโดยมีค่า K เป็น 2 (เรากำลังขอให้ดูเพื่อนบ้านที่ใกล้ที่สุดสองคนเพื่อทำการทำนาย) หากเพื่อนบ้านส่วนใหญ่ (ห้าในเจ็ดคน) อยู่ในคลาสสีน้ำเงิน แต่เพื่อนบ้านที่อยู่ใกล้ที่สุดสองคนเป็นสีแดง โมเดลจะทำนายว่าตัวอย่างข้อความค้นหาเป็นสีแดง แม้ว่าโมเดลจะคาดเดาได้ แต่ในสถานการณ์เช่นนี้ Blue น่าจะเดาได้ดีกว่า

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

ข้อดีและข้อเสียของ KNN

มาดูข้อดีข้อเสียของโมเดล KNN กัน

จุดเด่น:

KNN สามารถใช้ได้ทั้งงานการถดถอยและการจำแนกประเภท ซึ่งแตกต่างจากอัลกอริทึมการเรียนรู้ภายใต้การดูแลอื่น ๆ

KNN มีความแม่นยำสูงและใช้งานง่าย ง่ายต่อการตีความ ทำความเข้าใจ และนำไปปฏิบัติ

KNN ไม่ได้ตั้งสมมติฐานใดๆ เกี่ยวกับข้อมูล หมายความว่าสามารถใช้กับปัญหาต่างๆ ได้หลากหลาย

จุดด้อย:

KNN เก็บข้อมูลส่วนใหญ่หรือทั้งหมด ซึ่งหมายความว่าโมเดลต้องใช้หน่วยความจำจำนวนมากและมีราคาแพงในการคำนวณ ชุดข้อมูลขนาดใหญ่อาจทำให้การคาดการณ์ใช้เวลานาน

KNN ได้รับการพิสูจน์แล้วว่ามีความละเอียดอ่อนมากต่อขนาดของชุดข้อมูล และคุณลักษณะที่ไม่เกี่ยวข้องสามารถถูกโยนทิ้งไปได้โดยง่ายเมื่อเปรียบเทียบกับรุ่นอื่นๆ

สรุป K-Nearest Neighbors (KNN)

K-Nearest Neighbors เป็นหนึ่งในอัลกอริธึมการเรียนรู้ของเครื่องที่ง่ายที่สุด แม้ว่า KNN จะเรียบง่ายเพียงใด แต่ตามแนวคิดแล้ว ยังเป็นอัลกอริทึมที่ทรงพลังซึ่งให้ความแม่นยำสูงในปัญหาส่วนใหญ่ เมื่อคุณใช้ KNN อย่าลืมทดลองด้วยค่าต่างๆ ของ K เพื่อหาตัวเลขที่ให้ความแม่นยำสูงสุด

บล็อกเกอร์และโปรแกรมเมอร์ที่มีความเชี่ยวชาญด้าน เครื่องเรียนรู้ และ การเรียนรู้ลึก ๆ หัวข้อ Daniel หวังว่าจะช่วยให้ผู้อื่นใช้พลังของ AI เพื่อประโยชน์ทางสังคม