ดูเหมือนว่า KNN เป็นอัลกอริทึมการเรียนรู้แบบเลือกปฏิบัติ แต่ฉันไม่พบแหล่งข้อมูลออนไลน์ใด ๆ ยืนยันสิ่งนี้
KNN เป็นอัลกอริทึมการเรียนรู้ที่เลือกปฏิบัติหรือไม่?
ดูเหมือนว่า KNN เป็นอัลกอริทึมการเรียนรู้แบบเลือกปฏิบัติ แต่ฉันไม่พบแหล่งข้อมูลออนไลน์ใด ๆ ยืนยันสิ่งนี้
KNN เป็นอัลกอริทึมการเรียนรู้ที่เลือกปฏิบัติหรือไม่?
คำตอบ:
KNN เป็นอัลกอริธึมการเลือกปฏิบัติเนื่องจากเป็นแบบจำลองความน่าจะเป็นแบบมีเงื่อนไขของตัวอย่างที่เป็นของคลาสที่กำหนด หากต้องการดูสิ่งนี้ให้พิจารณาว่าจะเข้าสู่กฏการตัดสินใจของ kNN อย่างไร
ฉลากระดับสอดคล้องกับชุดของจุดซึ่งอยู่ในเขตบางอย่างในพื้นที่คุณลักษณะRถ้าคุณดึงคะแนนตัวอย่างจากการแจกแจงความน่าจะเป็นจริง, , อย่างอิสระดังนั้นความน่าจะเป็นในการวาดตัวอย่างจากคลาสนั้นคือ p ( x ) P = ∫ R p ( x ) d x
เกิดอะไรขึ้นถ้าคุณมีคะแนนความน่าจะเป็นที่คะแนนของคะแนนเหล่านั้นตกอยู่ในภูมิภาคตามการกระจายแบบทวินาม, K N R P r o b ( K ) = ( N)
ในฐานะที่เป็นกระจายนี้คือแหลมอย่างรวดเร็วเพื่อที่ว่าน่าจะสามารถประมาณโดยค่าเฉลี่ยของ{N} การประมาณเพิ่มเติมคือการแจกแจงความน่าจะเป็นเหนือRยังคงที่ประมาณดังนั้นเราสามารถประมาณอินทิกรัลโดย P = \ int_ {R} p (x) dx \ appro p (x) V โดยที่Vคือปริมาตรรวมของ ภูมิภาค. ภายใต้การประมาณนี้P (x) \ approx \ frac {K} {}K RP=∫Rp(x)dx≈p(x)VVp(x)≈K
ตอนนี้ถ้าเรามีหลายคลาสเราสามารถทำซ้ำการวิเคราะห์ที่เหมือนกันสำหรับแต่ละอันซึ่งจะให้เรา โดยที่เป็นจำนวนจุดจากชั้นซึ่งอยู่ภายในว่าภูมิภาคและเป็นจำนวนรวมของจุดที่อยู่ในระดับC_kแจ้งให้ทราบล่วงหน้า N KkkNkCk∑kNk=N
การทำซ้ำการวิเคราะห์การกระจายทวินามมันเป็นเรื่องง่ายที่จะเห็นว่าเราสามารถที่จะประเมินก่อน{N}
การใช้กฎ Bayes, ซึ่งเป็นกฎสำหรับ kNN
คำตอบโดย @jpmuc ดูเหมือนจะไม่ถูกต้อง แบบจำลอง Generative จำลองการแจกแจงพื้นฐาน P (x / Ci) จากนั้นใช้ทฤษฎีบทของ Bayes เพื่อค้นหาความน่าจะเป็นหลัง นั่นคือสิ่งที่แสดงในคำตอบนั้นแล้วจึงสรุปตรงกันข้าม โอ้
เพื่อให้ KNN เป็นแบบจำลองกำเนิดเราควรจะสามารถสร้างข้อมูลสังเคราะห์ได้ ดูเหมือนว่าเป็นไปได้เมื่อเรามีข้อมูลการฝึกอบรมเบื้องต้น แต่เริ่มจากไม่มีข้อมูลการฝึกอบรมและการสร้างข้อมูลสังเคราะห์เป็นไปไม่ได้ ดังนั้น KNN จึงไม่เหมาะกับโมเดลจำลอง
หนึ่งอาจแย้งว่า KNN เป็นรูปแบบการเลือกปฏิบัติเพราะเราสามารถวาดขอบเขตการจำแนกสำหรับการจำแนกหรือเราสามารถคำนวณหลัง P (Ci / x) แต่ทั้งหมดนี้เป็นจริงในกรณีของแบบจำลองกำเนิดเช่นกัน แบบจำลองการแบ่งแยกที่แท้จริงไม่ได้บอกอะไรเกี่ยวกับการกระจายตัว แต่ในกรณีของ KNN เรารู้มากมายเกี่ยวกับการแจกจ่ายพื้นฐาน infact เรากำลังจัดเก็บชุดฝึกทั้งหมด
ดังนั้นดูเหมือนว่า KNN จะอยู่ตรงกลางระหว่างโมเดลการกำเนิดและการเลือกปฏิบัติ อาจเป็นเหตุผลที่ KNN ไม่ได้จัดหมวดหมู่ภายใต้โมเดลการกำเนิดหรือการเลือกปฏิบัติใด ๆ ในบทความที่มีชื่อเสียง ลองเรียกมันว่าโมเดลที่ไม่ใช่พารามิเตอร์
ฉันได้เจอหนังสือที่บอกว่าตรงกันข้าม ( เช่นรูปแบบการจัดประเภท Nonparametric Generative )
นี่คือลิงค์ออนไลน์: Machine Learning A Perspective มุมมองที่น่าจะเป็นโดย Murphy, Kevin P. (2012)
ฉันยอมรับว่า kNN เลือกปฏิบัติ เหตุผลก็คือมันไม่ได้จัดเก็บหรือพยายามที่จะเรียนรู้รูปแบบ (น่าจะเป็น) ที่อธิบายข้อมูล (ตรงข้ามกับเช่น Naive Bayes)
คำตอบของ juampa ทำให้ฉันสับสนเนื่องจากความเข้าใจของฉันตัวแยกประเภทแบบกำเนิดเป็นสิ่งหนึ่งที่พยายามอธิบายวิธีการสร้างข้อมูล (เช่นใช้แบบจำลอง) และคำตอบนั้นบอกว่ามันเป็นการเลือกปฏิบัติเนื่องจากเหตุผลนี้ ...