अध्याय ४ · खण्ड II · 14 मिनेट
सबैभन्दा नजिकको छिमेकी विधि
अस्तित्वमा रहेको सबैभन्दा सरल सिकाइ एल्गोरिथम — र यो किन अझै काम गर्छ।
सबैभन्दा नजिकको छिमेकी वर्गीकरणकर्ताले लगभग कुनै काम गर्दैन। नयाँ बिन्दुको लेबल अनुमान गर्न, यसले पहिले देखेको सबैभन्दा नजिकको उदाहरण खोज्छ र त्यसको लेबल नक्कल गर्छ। त्यति नै पूरै एल्गोरिथम हो। तालिम छैन। अप्टिमाइजेसन छैन। प्यारामिटर छैन।
र धेरै अवस्थामा यसले अत्यन्तै राम्रो काम गर्छ — कुनै पनि वर्गीकरण समस्यामा अरू केही जटिल कोसिस गर्नुअघि यो प्रयास गर्नु बुद्धिमानी हुन्छ। यसले किन काम गर्छ, कहाँ चुक्छ, र सानो परिवर्तनले (k-नजिकको छिमेकी) यसलाई कसरी विश्वसनीय बनाउँछ हेर्नेछौं।
अन्तर्ज्ञान
मान्नुहोस् पाटनमा नयाँ नेवारी रेस्टुरेन्टको समीक्षा सकारात्मक हुने कि नकारात्मक भनेर अनुमान गर्न चाहनुहुन्छ। तपाईंसँग ५,००० ऐतिहासिक समीक्षा छन्, प्रत्येक “सकारात्मक” वा “नकारात्मक” भनेर ग्राहकको स्टार रेटिङबाट ट्याग गरिएको। प्रत्येक समीक्षा थोरै विशेषताले वर्णन गरिएको: रेस्टुरेन्टको छिमेक, औसत मूल्य, ग्राहकले गएको समय, र (सायद) पाक शैली।
नजिकको छिमेकीले भन्छ: नयाँ रेस्टुरेन्टका विशेषतासँग सबैभन्दा मिल्ने ऐतिहासिक समीक्षा खोज्नुहोस्, अनि उही भावना अनुमान गर्नुहोस्।
नयाँ रेस्टुरेन्ट पाटन दरबार स्क्वायरमा छ, प्रतिव्यक्ति रू. ५००, दिउँसो खाजा समयमा गएको — र सबैभन्दा नजिकको ऐतिहासिक समीक्षा पाटनको रेस्टुरेन्टको, रू. ४८० मूल्य, खाजा समयमा गएको, सकारात्मक छ भने — सकारात्मक अनुमान गर्नुहोस्। नजिकको समीक्षा नकारात्मक भए नकारात्मक।
बस। तालिम छैन। एल्गोरिथमले डाटा भण्डारण मात्र गर्छ, अनुमान समयमा छिमेकी खोज्छ।
“नजिकको” को अर्थ के?
नजिकको छिमेकीको सबै कुरा नजिकको को परिभाषामा बस्छ। हामीलाई दूरी कार्य चाहिन्छ जसले दुई उदाहरण कति समान छन् भन्छ।
संख्यात्मक विशेषता (मूल्य, दूरी, घण्टा) का लागि स्पष्ट दूरी युक्लिडियन हो: फरकको वर्गको योगको वर्गमूल। रू. ५०० मूल्यको रेस्टुरेन्ट रू. ४८० भन्दा रू. २,००० भन्दा “नजिक” छ।
वर्गीकरणीय विशेषता (छिमेक, पाक) का लागि एक सामान्य चलाखी — कति वर्गीकरणीय विशेषता मिल्छन् गन्नु। उही छिमेक र उही पाक = फरक भन्दा नजिक।
पाठ (वास्तविक समीक्षा सामग्री) का लागि, प्रत्येक समीक्षालाई शब्द-गन्तीको भेक्टरमा बदलेर युक्लिडियन वा कोसाइन दूरी गणना गर्न सकिन्छ।
दूरी कार्यको छनोट नै एल्गोरिथम हो। फरक दूरी कार्यसहित “नजिकको छिमेकी” प्रयोग गर्ने दुई इन्जिनियरले फरक वर्गीकरणकर्ता प्रयोग गरिरहेका छन्।
k-नजिकको छिमेकी: उपयोगी परिवर्तन
एउटै नजिकको उदाहरण हेर्नु जोखिमपूर्ण छ। त्यो एउटै उदाहरण गलत लेबल लगाइएको, वा साँच्चै अनौठो भयो भने? समाधान हो — k नजिकका उदाहरण (ठान्नुहोस् k=५) हेर्ने र मतदान गराउने।
५ नजिकका ऐतिहासिक समीक्षामध्ये ४ सकारात्मक र १ नकारात्मक छन् भने सकारात्मक अनुमान गर्नुहोस्। एउटै नजिकको त्यो एक्लो नकारात्मक भयो भने k=१ अनुमान अनिश्चित हुन्थ्यो; k=५ ले त्यो आवाज सोस्छ।
k कसरी छान्ने?
- k = 1 ले आवाज सम्झन्छ। गलत-लेबल तालिम उदाहरणप्रति अति-संवेदनशील।
- k = डाटाको ठूलो अंश ले सबैको औसत निकाल्छ। स्थानीय विवरण हराउँछ।
- k = √n (n तालिम उदाहरणको सङ्ख्या) सामान्य सुरुवाती अनुमान हो।
व्यवहारमा, k का धेरै मान कोशिस गर्नुहोस्, छुट्याइएको डाटामा मूल्याङ्कन गर्नुहोस्, र राम्रो छान्नुहोस्।
उदाहरण
६ ऐतिहासिक नेवारी रेस्टुरेन्ट समीक्षा कल्पना गर्नुहोस्, दुई विशेषता (रू. मा मूल्य, ०-१० मा सजावटको गुणस्तर) र भावना लेबलसहित:
| समीक्षा | मूल्य | सजावट | भावना |
|---|---|---|---|
| A | 200 | 3 | नकारात्मक |
| B | 250 | 4 | नकारात्मक |
| C | 450 | 7 | सकारात्मक |
| D | 500 | 8 | सकारात्मक |
| E | 800 | 6 | नकारात्मक |
| F | 600 | 9 | सकारात्मक |
नयाँ रेस्टुरेन्ट: मूल्य रू. ४८०, सजावट ७। प्रत्येकमा युक्लिडियन दूरी गणना:
- A सम्म: √((४८०-२००)² + (७-३)²) ≈ २८०
- B सम्म: √((४८०-२५०)² + (७-४)²) ≈ २३०
- C सम्म: √((४८०-४५०)² + (७-७)²) ≈ ३०
- D सम्म: √((४८०-५००)² + (७-८)²) ≈ २२
- E सम्म: √((४८०-८००)² + (७-६)²) ≈ ३२०
- F सम्म: √((४८०-६००)² + (७-९)²) ≈ १२०
नजिकको D (दूरी ~२२) सकारात्मक लेबल। k=१ ले सकारात्मक अनुमान।
k=३ (D, C, F) सँग, तीनै नजिकका सकारात्मक — दृढ सकारात्मक अनुमान। k=५ (D, C, F, B, A) सँग पनि, ३ सकारात्मक र २ नकारात्मक, सकारात्मक जित्छ। नयाँ रेस्टुरेन्ट सकारात्मक अनुमान गरिन्छ।
यो नै पूरै प्रक्रिया हो। दूरी गणना। क्रमबद्ध। मतदान।
kNN कहाँ चम्किन्छ
तीन गुणले kNN लाई आकर्षक बनाउँछन्:
- तालिम लागत छैन। नयाँ डाटा थप्नुहोस्, मोडेलले तुरुन्तै प्रतिबिम्बित गर्छ। पुनर्तालिम चरण छैन।
- व्याख्या गर्न सजिलो। “हामीले सकारात्मक अनुमान गर्यौं किनकि यो रेस्टुरेन्ट यी ५ अरूसँग सबैभन्दा मिल्दछ, जुन सकारात्मक थिए।” नियामक वा ग्राहकले यो बुझ्न सक्छन्।
- कुनै पनि डाटा प्रकारमा काम गर्छ — दूरी परिभाषित गर्न सकिन्छ भने। पाठ, छवि, समय-शृङ्खला — दूरी कार्य भए kNN चलाउन सकिन्छ।
kNN कहाँ चुक्छ
तीन इमानदार सीमा:
- अनुमान समयमा ढिलो। एउटा नयाँ लेबल अनुमान गर्न हरेक तालिम उदाहरणसँग दूरी गणना गर्नुपर्छ। दश लाख उदाहरणसँग यो ढिलो हुन्छ। (KD-ट्रीजस्ता विशेष डाटा संरचनाले सघाउँछ।)
- धेरै विशेषतासँग खराब। विशेषता थप्दै जाँदा “नजिकको” को धारणा अस्थिर हुन्छ। यसलाई आयामको श्राप भनिन्छ, र यही कारण kNN ले हाम्रो उदाहरणमा गरेजस्तो छवि पहिचान चलाउँदैन।
- स्केलिङप्रति संवेदनशील। सामान्यीकरण बिना ठूला संख्यात्मक विशेषताले दूरीमा हावी हुन्छन्।
तर थोरै विशेषतासहितको साना-मध्यम डाटासेटका लागि — नेपाली एनजीओ, नगरपालिका, वा साना व्यवसायहरूको सामान्य अवस्था — kNN पहिलो मोडेलका रूपमा हराउन गाह्रो छ। त्यहीँबाट सुरु गर्नुहोस्। पुगेन भने अघि बढ्नुहोस्।
आफ्नो बुझाइ जाँच्नुहोस्
छोटो जाँच
—k-नजिकको छिमेकीमा k को भूमिका के हो?
अब के?
हामीले वर्ग अनुमान गर्ने वर्गीकरणकर्ता देख्यौं। अर्को खण्डले सुपरभाइज्ड लर्निङको अर्को पक्षमा जान्छ: अंक अनुमान। स्वागत छ — रिग्रेसनमा, उद्योगको लागू एआईको प्रमुख विधि।