Training kyun nahi? KNN ek lazy learner hai: yeh data store karta hai aur saara kaam query time par karta hai. Fit karne ke liye koi model nahi hota — training data hi model hai. Isse instance-based ya memory-based learning kehte hain.
Humein ek function d(x,x′) chahiye jo 0 ho jab x=x′ ho aur jaise woh alag hote hain, badhta jaaye.
p→∞ par max kyun milta hai:(∑ajp)1/p mein, sabse bada term amax dominate karta hai: isse factor out karo, amax(∑(aj/amax)p)1/p. Har ratio ≤1 hai, isliye huge p tak raise karne par woh vanish ho jaate hain, siwaaye max ke apne 1-term ke. Result →amax.
Socho ek naya bachcha school mein aata hai aur tumhe guess karna hai ki use football pasand hai ya chess. Tum 3 bacchon ko dekho jo unke sabse paas baithe hain. Agar 2 ko football pasand hai aur 1 ko chess, tum football guess karte ho. Yahi KNN hai — nearest neighbors se poochhkar aur crowd ke saath jaake guess karo. Agar bahut kam neighbors se poochho toh koi ek weird bachcha tumhe fool kar sakta hai; bahut zyada se poochho toh tum basically sirf yeh guess kar rahe ho ki poori class ko kya pasand hai, yeh ignore karke ki actually kaun paas mein hai.
Chhota k → low bias, high variance (jagged/overfit); bada k → high bias, low variance (smooth/underfit).
Binary classification mein odd k kyun use karein
Tie votes se bachne ke liye aur strict majority guarantee karne ke liye.
KNN se pehle features standardize kyun karein
Taaki badi-range features distance dominate na karein; har feature comparably contribute kare.
KNN ke liye curse of dimensionality
High dimensions mein sabhi points nearly equidistant ho jaate hain, isliye "nearest" ka matlab khatam ho jaata hai aur neighborhoods bahut badi ho jaati hain.
Distance-weighted KNN weight
wi=1/d(x,xi)2; paas ke neighbors zyada count karte hain.