- คำศัพท์ (A ถึง D)
- การควบคุมความสามารถของ AI
- AIOps
- อัลบั้ม
- ประสิทธิภาพของสินทรัพย์
- ตัวเข้ารหัสอัตโนมัติ
- การขยายพันธุ์หลัง
- ทฤษฎีบทเบย์
- ข้อมูลขนาดใหญ่
- Chatbot: คู่มือสำหรับผู้เริ่มต้น
- การคิดเชิงคำนวณ
- วิสัยทัศน์คอมพิวเตอร์
- เมทริกซ์ความสับสน
- เครือข่ายประสาทเทียม
- cybersecurity
- ผ้าข้อมูล
- การเล่าเรื่องข้อมูล
- ข้อมูลวิทยาศาสตร์
- คลังข้อมูล
- ต้นไม้ตัดสินใจ
- Deepfakes
- การเรียนรู้ลึก ๆ
- การเรียนรู้การเสริมแรงเชิงลึก
- devops
- DevSecOps
- แบบจำลองการแพร่กระจาย
- ดิจิตอลแฝด
- การลดขนาด
- คำศัพท์ (E ถึง K)
- เอดจ์ไอ
- อารมณ์ AI
- การเรียนรู้ทั้งมวล
- การแฮ็กอย่างมีจริยธรรม
- ETL
- AI ที่อธิบายได้
- สหพันธ์การเรียนรู้
- ฟินอ๊อฟ
- กำเนิด AI
- เครือข่ายผู้ให้กำเนิด
- กำเนิดเทียบกับการเลือกปฏิบัติ
- ไล่โทนสี
- โคตรไล่ระดับ
- การเรียนรู้ไม่กี่ช็อต
- การจำแนกรูปภาพ
- การดำเนินงานด้านไอที (ITOps)
- ระบบอัตโนมัติของเหตุการณ์
- วิศวกรรมอิทธิพล
- K-หมายถึงการจัดกลุ่ม
- K-เพื่อนบ้านที่ใกล้ที่สุด
- คำศัพท์ (L ถึง Q)
- คำศัพท์ (R ถึง Z)
- การเรียนรู้เสริมแรง
- AI ที่มีความรับผิดชอบ
- อาร์แอลเอชเอฟ
- ระบบอัตโนมัติของกระบวนการหุ่นยนต์
- มีโครงสร้าง vs ไม่มีโครงสร้าง
- การวิเคราะห์ความเชื่อมั่น
- อยู่ภายใต้การดูแล vs ไม่ได้รับการดูแล
- สนับสนุนเครื่องเวกเตอร์
- ข้อมูลสังเคราะห์
- สื่อสังเคราะห์
- การจัดประเภทข้อความ
- TinyML
- ถ่ายทอดการเรียนรู้
- เครือข่ายประสาทหม้อแปลง
- การทดสอบของทัวริง
- การค้นหาความคล้ายคลึงกันของเวกเตอร์
AI 101
KNN คืออะไร (K-เพื่อนบ้านที่ใกล้ที่สุด)?
สารบัญ
K-เพื่อนบ้านที่ใกล้ที่สุด (KNN) คืออะไร?
K-Nearest Neighbors เป็นเทคนิคและอัลกอริธึมการเรียนรู้ของเครื่อง สามารถใช้กับงานการถดถอยและการจำแนกประเภท. K-เพื่อนบ้านที่ใกล้ที่สุด การตรวจสอบ ป้ายกำกับของจุดข้อมูลที่เลือกจำนวนหนึ่ง รอบจุดข้อมูลเป้าหมายเพื่อทำการทำนายเกี่ยวกับคลาสที่จุดข้อมูลนั้นอยู่ K-Nearest Neighbors (KNN) เป็นอัลกอริทึมที่มีแนวคิดเรียบง่ายแต่ทรงพลัง และด้วยเหตุผลดังกล่าว จึงเป็นหนึ่งในอัลกอริทึมการเรียนรู้ของเครื่องที่ได้รับความนิยมมากที่สุด มาเจาะลึกเกี่ยวกับอัลกอริทึม KNN และดูว่ามันทำงานอย่างไร การมีความเข้าใจที่ดีเกี่ยวกับวิธีการทำงานของ KNN จะช่วยให้คุณชื่นชมกรณีการใช้งานที่ดีที่สุดและแย่ที่สุดสำหรับ KNN
ภาพรวมของเพื่อนบ้านที่ใกล้ที่สุด (KNN)
ลองนึกภาพชุดข้อมูลบนระนาบ 2 มิติ นึกภาพกลุ่มจุดข้อมูลบนกราฟ กระจายไปตามกราฟเป็นกลุ่มเล็กๆ KNN ตรวจสอบการกระจายของจุดข้อมูลและแยกจุดข้อมูลออกเป็นกลุ่มๆ ขึ้นอยู่กับอาร์กิวเมนต์ที่กำหนดให้กับโมเดล จากนั้นกลุ่มเหล่านี้จะได้รับป้ายกำกับ สมมติฐานหลักที่แบบจำลอง KNN ตั้งขึ้นคือจุดข้อมูล/อินสแตนซ์ซึ่งอยู่ใกล้กันนั้นมีความคล้ายคลึงกันมาก ในขณะที่จุดข้อมูลอยู่ห่างจากกลุ่มอื่น จุดข้อมูลเหล่านั้นก็จะแตกต่างจากจุดข้อมูลเหล่านั้น
แบบจำลอง KNN คำนวณความคล้ายคลึงกันโดยใช้ระยะห่างระหว่างจุดสองจุดบนกราฟ ยิ่งระยะห่างระหว่างจุดมากเท่าใด ความคล้ายคลึงกันก็จะยิ่งน้อยลงเท่านั้น มีหลายวิธีในการคำนวณระยะทางระหว่างจุดต่างๆ แต่การวัดระยะทางที่พบมากที่สุดคือระยะทางแบบยุคลิด (ระยะห่างระหว่างจุดสองจุดในแนวเส้นตรง)
KNN เป็นอัลกอริทึมการเรียนรู้ภายใต้การดูแล หมายความว่าตัวอย่างในชุดข้อมูลจะต้องมีป้ายกำกับที่กำหนดให้กับพวกเขา/คลาสของพวกเขาจะต้องเป็นที่รู้จัก มีอีกสองสิ่งสำคัญที่ต้องรู้เกี่ยวกับ KNN ประการแรก KNN เป็นอัลกอริทึมแบบไม่มีพารามิเตอร์ ซึ่งหมายความว่าจะไม่มีการตั้งสมมติฐานเกี่ยวกับชุดข้อมูลเมื่อมีการใช้แบบจำลอง แต่แบบจำลองนั้นสร้างจากข้อมูลที่ให้มาทั้งหมด ประการที่สอง ไม่มีการแบ่งชุดข้อมูลออกเป็นชุดการฝึกและชุดทดสอบเมื่อใช้ KNN KNN ไม่ได้สรุปข้อมูลทั่วไประหว่างชุดการฝึกและการทดสอบ ดังนั้นข้อมูลการฝึกทั้งหมดจะถูกใช้เมื่อขอให้แบบจำลองทำการคาดคะเน
อัลกอริทึม KNN ทำงานอย่างไร
อัลกอริทึม KNN ต้องผ่านสามขั้นตอนหลักในขณะที่ดำเนินการ:
- ตั้งค่า K เป็นจำนวนเพื่อนบ้านที่เลือก
- การคำนวณระยะห่างระหว่างตัวอย่างที่ให้/ทดสอบกับตัวอย่างชุดข้อมูล
- การเรียงลำดับระยะทางที่คำนวณได้
- รับป้ายกำกับของรายการ K อันดับต้น ๆ
- ส่งคืนการคาดคะเนเกี่ยวกับตัวอย่างการทดสอบ
ในขั้นตอนแรก ผู้ใช้จะเลือก K และบอกอัลกอริทึมว่าควรพิจารณาเพื่อนบ้านจำนวนเท่าใด (จำนวนจุดข้อมูลโดยรอบ) เมื่อทำการตัดสินเกี่ยวกับกลุ่มที่ตัวอย่างเป้าหมายอยู่ ในขั้นตอนที่สอง โปรดทราบว่าโมเดลจะตรวจสอบระยะห่างระหว่างตัวอย่างเป้าหมายกับทุกตัวอย่างในชุดข้อมูล ระยะทางจะถูกเพิ่มเข้าไปในรายการและจัดเรียง หลังจากนั้น รายการที่เรียงลำดับจะถูกตรวจสอบ และฉลากสำหรับองค์ประกอบ K อันดับต้น ๆ จะถูกส่งกลับ กล่าวอีกนัยหนึ่ง ถ้าตั้งค่า K เป็น 5 โมเดลจะตรวจสอบป้ายกำกับของจุดข้อมูล 5 อันดับแรกที่ใกล้เคียงที่สุดกับจุดข้อมูลเป้าหมาย เมื่อแสดงการคาดคะเนเกี่ยวกับจุดข้อมูลเป้าหมาย สิ่งสำคัญคือถ้างานนั้นเป็น a ถดถอย or การจัดหมวดหมู่ งาน. สำหรับงานการถดถอย จะใช้ค่าเฉลี่ยของป้ายกำกับ K ด้านบน ในขณะที่โหมดของป้ายกำกับ K ด้านบนจะใช้ในกรณีของการจำแนกประเภท
การดำเนินการทางคณิตศาสตร์ที่แน่นอนที่ใช้ในการดำเนินการ KNN นั้นแตกต่างกันไปขึ้นอยู่กับเมตริกระยะทางที่เลือก หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการคำนวณเมตริก คุณสามารถอ่านเกี่ยวกับเมตริกระยะทางที่พบได้บ่อยที่สุด เช่น ยุคลิด, แมนฮัตตันและ มินโคว์สกี้.
ทำไมคุณค่าของ K ถึงสำคัญ
ข้อจำกัดหลักเมื่อใช้ KNN คืออาจเลือกค่า K (จำนวนเพื่อนบ้านที่ไม่ถูกต้อง) ในค่าที่ไม่เหมาะสม หากสิ่งนี้เกิดขึ้น การคาดคะเนที่ส่งกลับอาจผิดไปอย่างมาก สิ่งสำคัญคือ เมื่อใช้อัลกอริทึม KNN จะต้องเลือกค่าที่เหมาะสมสำหรับ K คุณต้องการเลือกค่าสำหรับ K ที่เพิ่มความสามารถของโมเดลในการคาดการณ์ข้อมูลที่มองไม่เห็นในขณะที่ลดจำนวนข้อผิดพลาดที่เกิดขึ้น
ค่า 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 เพื่อประโยชน์ทางสังคม
คุณอาจชอบ
คิดใหม่เกี่ยวกับความสามารถในการทำซ้ำในฐานะขอบเขตใหม่ในการวิจัย AI
วิศวกรการเรียนรู้ของเครื่อง – ทักษะและเส้นทางอาชีพ
การต่อสู้เพื่อหยุดยั้ง AI จากการโกงข้อสอบ
AI มีแนวโน้มที่จะตั้งราคาสินค้าให้สูงขึ้นโดยปราศจากการแทรกแซงของกฎระเบียบ
Google มองเห็นระบบการสืบค้นที่เหมือน GPT-3 โดยไม่มีผลการค้นหา
การเรียนรู้แบบไม่กี่ช็อตคืออะไร