Pattern Recognition Nearest neighbors 2014. 10. 31 Hyunki Hong Contents • Nearest neighbors density estimation • The k nearest neighbors classification rule • k-NN as a lazy learner • Characteristics of the kNN classifier • Optimizing the kNN classifier Non-parametric density estimation: review • the general expression for non-parametric density estimation is • At that time, we mentioned that this estimate could be computed by – Fixing ๐ and determining the number ๐ of data points inside ๐. → This is the approach used in kernel density estimation. - Fixing ๐ and determining the minimum volume ๐ that encompasses ๐ points in the dataset. → This gives rise to the k-nearest-neighbors (kNN) approach. K-NN density estimation • Approach – In k-NN we grow the volume surrounding the estimation point ๐ฅ until it encloses a total of k data points – The density estimate then becomes. where ๐ ๐๐ท(๐ฅ) : the distance between the estimation point ๐ฅ and its ๐th closest neighbor ๐๐ท : the volume of the unit sphere in ๐ท dimensions, which is equal to Thus ๐1 = 2, ๐2 = ๐, ๐3 = 4๐/3, and so on. cf. z>-1์ผ ๋, ํนํ, ์์ฐ์ +0.5๊ผด์์๋ • In general, the estimates that can be obtained with the k-NN method are not very satisfactory. - The estimates are prone to local noise. - The method produces estimates with very heavy tails. - Since the function ๐ ๐(๐ฅ) is not differentiable, the density estimate will have discontinuities. - The resulting density is not a true probability density since its integral over all the sample space diverges. • To illustrate the behavior of kNN we generated several density estimates for a bimodal Gaussian: ๐(๐ฅ)=½๐ (0,1)+½๐(10,4). kNN in action • Example 1 – Three-class 2D problem with non-linearly separable, multimodal likelihoods. – We use the kNN rule (๐ = 5) and the Euclidean distance. – The resulting decision boundaries and decision regions are shown below. kNN in action • Example 2 – In 2D, 3-class problem with unimodal likelihoods with a common mean; these classes are also not linearly separable. – We used the kNN rule (๐ = 5), and the Euclidean distance as a metric. Characteristics of the kNN classifier • Advantages – Analytically tractable – Simple implementation – Uses local information, which can yield highly adaptive behavior – Lends itself very easily to parallel implementations • Disadvantages – Large storage requirements – Computationally intensive recall – Highly susceptible to the curse of dimensionality • 1NN versus kNN – The use of large values of ๐ has two main advantages. 1. Yields smoother decision regions 2. Provides probabilistic information, i.e., the ratio of examples for each class gives information about the ambiguity of the decision. – However, too large a value of ๐ is detrimental. 1. It destroys the locality of the estimation since farther examples are taken into account. 2. In addition, it increases the computational burden. Improving the NN search procedure • The NN search procedure can be stated as follows. – Given a set of ๐ points in ๐ท-dimensional space and an unlabeled example ๐ฅ๐ข ∈ ℜ๐ท, find the point that minimizes the distance to ๐ฅ๐ข. – The naive approach of computing a set of ๐ distances, and finding the (๐) smallest becomes impractical for large values of ๐ and ๐ท. • Two classical algorithms can be used to speed up the NN search. – Bucketing [Welch 1971] 1. The space is divided into identical cells; for each cell, the data points inside it are stored in a list. 2. Cells are examined in order of increasing distance from the query point; for each cell, the distance is computed between its internal data points and the query point. 3. The search terminates when the distance from the query point to the cell exceeds the distance to the closest point already visited. Improving the NN search procedure – k-d trees [Bentley, 1975; Friedman et al, 1977] 1. A k-d tree is a generalization of a binary search tree in high dimensions. a. Each internal node in a k-d tree is associated with a hyperrectangle and a hyper-plane orthogonal to one of the coordinate axis. b. The hyper-plane splits the hyper-rectangle into two parts, which are associated with the child nodes. c. The partitioning process goes on until the # data points in the hyper-rectangle falls below some given threshold. 2. k-d trees partition the sample space according to the underlying distribution of the data: the partitioning being finer in regions where the density of data points is higher. a. For a given query point, the algorithm works by first descending the tree to find the data points lying in the cell that contains the query point. b. Then it examines surrounding cells if they overlap the ball centered at the query point and the closest data point so far. k-d tree example • Data structure (3D case) • Partitioning (2D case) K-๊ทผ์ ์ด์ ๋ถ๋ฅ๊ธฐ K-๊ทผ์ ์ด์ ๋ถ๋ฅ๊ธฐ ๋น๋ชจ์์ ํ๋ฅ ๋ฐ๋ ์ถ์ ๊ณผ ์ต๊ทผ์ ์ด์ ๋ถ๋ฅ๊ธฐ K-๊ทผ์ ์ด์(K-NN) ๋ถ๋ฅ๊ธฐ K-NN ๋ถ๋ฅ๊ธฐ์ ๋น๋ชจ์์ ๋ฐ๋ ์ถ์ K-๊ทผ์ ์ด์ ๋ถ๋ฅ๊ธฐ์ ํน ์ฑ ๊ฒฐ์ ๊ฒฝ๊ณ ์ค๊ณ ๊ณ ๋ ค์ฌํญ ๋งคํธ๋ฉ์ ์ด์ฉํ K-NN ๋ถ๋ฅ๊ธฐ ์ค ํ K-๊ทผ์ ์ด์ ๋ถ๋ฅ๊ธฐ 1) ๋น๋ชจ์์ ํ๋ฅ ๋ฐ๋ ์ถ์ ๊ฐ ํด๋์ค Ci์ ๋ํ ํ๋ฅ ๋ฐ๋ํจ์ (๋ถํผ V๋ฅผ x์ ํจ์, ๋ฐ์ดํฐ ์๋ K๋ก ๊ณ ์ ) N: ํ๋ณธ์ ์ด๊ฐ์ Vi(x) : ํด๋์ค Ci์ ์ํ๋ ๋ฐ์ดํฐ ์ค์์ x์์ K ๋ฒ์งธ๋ก ๊ฐ๊น์ด ๋ฐ์ดํฐ xiK๊น์ง์ ๊ฑฐ๋ฆฌ d(x, xiK) ๋ฅผ ๋ฐ๊ฒฝ ri(x)์ผ๋ก ํ๋ ์ด๊ตฌ(hypersphere) vn : n์ฐจ์ ์ ๋ ฅ๊ณต๊ฐ์์ ๋จ์๊ตฌ์ ์ฒด ์ : ๊ฒฐ์ ๊ท์น 2) ์ต๊ทผ์ ์ด์ ๋ถ๋ฅ๊ธฐ C2 K = 1์ธ ๊ฒฝ์ฐ, ์ฃผ์ด์ง ๋ฐ์ดํฐ x์ ๋ํด ๊ฐ ํด๋์ค๋ณ๋ก ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฐ์ดํฐ๊น์ง์ ๊ฑฐ๋ฆฌ ๊ณ์ฐ r1 x r2 C1 ํด๋์ค์ ์๊ด์์ด ๋ชจ๋ ๋ฐ์ดํฐ ์ค์์ ๊ฐ์ฅ ์์ ๊ฑฐ๋ฆฌ๊ฐ์ ๊ฐ๋ ๋ฐ์ดํฐ์ ํด๋์ค๋ก ํ ๋น ์ต๊ทผ์ ์ด์ ๋ถ๋ฅ๊ธฐ(Nearest Neighbor Classifier) 3) ์ต๊ทผ์ ์ด์ ๋ถ๋ฅ๊ธฐ์ ์ํ ๋จ๊ณ 1. ์ฃผ์ด์ง ๋ฐ์ดํฐ x์ ๋ชจ๋ ํ์ต ๋ฐ์ดํฐ {x1, x2, …, xN}์์ ๊ฑฐ๋ฆฌ ๊ณ์ฐ 2. ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฐ์ดํฐ๋ฅผ ์ฐพ์์ xmin์ผ๋ก ์ค์ 3. xmin์ด ์ํ๋ ํด๋์ค์ ํ ๋น. ์ฆ, y(xmin)๊ณผ ๊ฐ์ ๊ฐ์ ๊ฐ์ง๋๋ก y(x)๋ฅผ ๊ฒฐ์ 4) ์ต๊ทผ์ ์ด์ ๋ถ๋ฅ๊ธฐ์ ๋ฌธ์ -๊ณผ๋ค์ ํฉ ํ์ต – ๋ฒ ์ด์ง์ ๋ถ๋ฅ๊ธฐ ํ ์คํธ – ๋ฒ ์ด์ง์ ๋ถ๋ฅ๊ธฐ 6.5% ํ์ต – ์ต๊ทผ์ ์ด์ ๋ถ๋ฅ๊ธฐ ํ ์คํธ - ์ต๊ทผ์ ์ด์๋ถ๋ฅ๊ธฐ 13.5% ๊ณผ๋ค์ ํฉ๋ ๊ฒฐ์ ๊ฒฝ๊ณ ๏จ “K-๊ทผ์ ์ด์ ๋ถ๋ฅ๊ธฐ” 5) K-๊ทผ์ ์ด์ ๋ถ๋ฅ๊ธฐ K-NN ๋ถ๋ฅ๊ธฐ์ ์ํ ๋จ๊ณ 1. ์ฃผ์ด์ง ๋ฐ์ดํฐ x์ ๋ชจ๋ ํ์ต ๋ฐ์ดํฐ {x1, x2, …, xN}์์ ๊ฑฐ๋ฆฌ ๊ณ์ฐ 2. ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฒ๋ถํฐ ์์๋๋ก K๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฐพ์ ํ๋ณด ์งํฉ N(x)={x1, x2,…, xK}๋ฅผ ์์ฑ 3. ํ๋ณด ์งํฉ์ ๊ฐ ์์๊ฐ ์ด๋ค ํด๋์ค์ ์ํ๋์ง ๊ทธ ๋ผ๋ฒจ๊ฐ y(x1), y(x2), …, y(xK)์ ์ฐพ์. 4. ์ฐพ์์ง ๋ผ๋ฒจ ๊ฐ ์ค ๊ฐ์ฅ ๋ง์ ๋น๋์๋ฅผ ์ฐจ์งํ๋ ํด๋์ค๋ฅผ ์ฐพ์ x๋ฅผ ๊ทธ ํด๋์ค์ ํ ๋น 6) K-NN ๋ถ๋ฅ๊ธฐ์ ๋น๋ชจ์์ ๋ฐ๋ ์ถ์ K = 1์ธ ๊ฒฝ์ฐ, K-NN ๋ถ๋ฅ๊ธฐ๋ ์ต๊ทผ์ ์ด์๋ถ๋ฅ๊ธฐ์ ๋์ผ ์ฒ๋ฆฌ. ๋ฐ์ดํฐ x ์ฃผ์ด์ง๋ฉด, ํด๋์ค์ ์๊ด์์ด ์ ์ฒด ๋ฐ์ดํฐ์์ K ๊ฐ ๋งํผ์ ํฌํจํ๋ ์์ญ์ ๋ถํผ V(x)๋ฅผ ์ฐพ์. VK(x) : K๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๋ ์์ญ์ ๋ถํผ K1, K2, … , KM : VK(x) ๋ด์ ํฌํจ๋ ๊ฐ ํด๋์ค๋ณ ๋ฐ์ดํฐ์ ๊ฐ์ C2 K=5์ธ ๊ฒฝ์ฐ V5 ( x) K2 ๏ฝ 3 K1 ๏ฝ 2 x C1 y( x) ๏ฝ arg max{K1 ( x), K2 ( x)} ๏ก C2 2. K-๊ทผ์ ์ด์ ๋ถ๋ฅ๊ธฐ์ ํน์ฑ 1) K-NN ๋ถ๋ฅ๊ธฐ์ ๊ฒฐ์ ๊ฒฝ๊ณ - ๋น์ ํ์ ๊ฒฐ์ ๊ฒฝ๊ณ - ๋น๋ชจ์์ ๋ฐฉ๋ฒ์ ๊ธฐ๋ฐํ๋ฏ๋ก ๋ฐ์ดํฐ ๋ถํฌ ํํ์ ๋ฐ๋ผ ์ฑ๋ฅ ์ ํฅ ์ ์. C1 C2 ์ต์๊ฑฐ๋ฆฌ ๋ถ๋ฅ๊ธฐ K-๊ทผ์ ์ด์ ๋ถ๋ฅ๊ธฐ 2) K-๊ทผ์ ์ด์ ๋ถ๋ฅ๊ธฐ์ ๊ฒฐ์ ๊ฒฝ๊ณ ๋ฐ์ดํฐ ๋ถํฌ๊ฐ ๋ณต์กํ ๋น์ ํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ ๊ฒฝ์ฐ 8 7 8 C1 C2 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0 1 2 3 4 5 6 ๊ฐ์ฐ์์ ๋ฒ ์ด์ฆ ๋ถ๋ฅ๊ธฐ ์คํจ 7 0 8 0 C1 1 C2 2 3 4 5 6 K-๊ทผ์ ์ด์ ๋ถ๋ฅ๊ธฐ ์ฑ๊ณต 7 8 3) ๋ถ๋ฅ๊ธฐ์ ๋น๊ต ๏ผ ๊ฐ์ฐ์์ ๋ฒ ์ด์ฆ ๋ถ๋ฅ๊ธฐ ๏ ๋ชจ์์ ๋ฐ๋ ์ถ์ ๋ฐฉ๋ฒ์ ๊ธฐ๋ฐ ๏ ํ์ต ๋ฐ์ดํฐ๋ฅผ ํตํด ํ๊ท ๊ณผ ํ์คํธ์ฐจ ๊ณ์ฐ ๏ง ๋ถ๋ฅ ๊ณผ์ ์์ ํ์ต ๋ฐ์ดํฐ๊ฐ ๋ถํ์ ๏ผ K-๊ทผ์ ์ด์ ๋ถ๋ฅ๊ธฐ ๏ ๋น๋ชจ์์ ๋ฐ๋ ์ถ์ ๋ฐฉ๋ฒ์ ๊ธฐ๋ฐ ๏ ์ ๋ฐ์ดํฐ๊ฐ ์ฃผ์ด์ง ๋๋ง๋ค ํ์ต ๋ฐ์ดํฐ ์ ์ฒด์์ ๊ฑฐ๋ฆฌ ๊ณ์ฐ์ผ ๋ก K ๊ฐ์ ์ด์ ๋ฐ์ดํฐ ์ ์ ํ์ํจ. ๏ง ํญ์ ํ์ต ๋ฐ์ดํฐ ์ ์ฅ ๏ ๋น์ฉ(๊ณ์ฐ๋, ๋ฉ๋ชจ๋ฆฌ) ๋ฌธ์ ์ด๋ 4) K-NN ๋ถ๋ฅ๊ธฐ์ ์ค๊ณ ๊ณ ๋ ค์ฌํญ ๋ ธ์ด์ฆ์ ๊ณผ๋ค์ ํฉ K=1 K=5 K๊ฐ์ ๋ฐ๋ฅธ ๊ฒฐ์ ๊ฒฝ๊ณ์ ๋ณํ K=20 K=100 5) K-NN ๋ถ๋ฅ๊ธฐ์ ์ค๊ณ ๊ณ ๋ ค์ฌํญ ๏ผ ์ ์ ํ K ๊ฐ์ ๊ฒฐ์ ๏ K = 1 ๏ ๋ฐ๋ก ์ด์ํ ๋ฐ์ดํฐ์๋ง ์์กดํ์ฌ ํด๋์ค๊ฐ ๊ฒฐ์ . ๋ ธ์ด ์ฆ์ ๋ฏผ๊ฐ ๏ K >> 1 ๏ ์ฃผ์ด์ง ๋ฐ์ดํฐ ์ฃผ๋ณ ์์ญ์ด ์๋ ์ ์ฒด ๋ฐ์ดํฐ ์์ญ์์ ๊ฐ ํด๋์ค๊ฐ ์ฐจ์งํ๋ ๋น์จ(์ ํํ๋ฅ )์ ์์กด ๏ ์ฃผ์ด์ง ๋ฐ์ดํฐ์ ๋ถํฌ ํน์ฑ์ ์์กด ๏ง ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ ๋ถ๋ฅ๋ฅผ ํตํด ๊ฐ์ฅ ์ข์ ์ฑ๋ฅ์ ์ฃผ๋ ๊ฐ์ ์ ํ 6) K-NN ๋ถ๋ฅ๊ธฐ์ ์ค๊ณ ๊ณ ๋ ค์ฌํญ ๏ฑ ๊ฑฐ๋ฆฌํจ์ : ์ฃผ์ด์ง ๋ฐ์ดํฐ์ ํ์ต ๋ฐ์ดํฐ๊ฐ์ ๊ฑฐ๋ฆฌ ๊ณ์ฐ ์ ํด๋ฆฌ๋์ ๊ฑฐ๋ฆฌ (2์ฐจ ๋ ธ๋ฆ) 1์ฐจ ๋ ธ๋ฆ p์ฐจ ๋ ธ๋ฆ ๋ด์ ์ฝ์ฌ์ธ ๊ฑฐ๋ฆฌ ์ ๊ทํ๋ ์ ํด๋ฆฌ๋์ ๊ฑฐ๋ฆฌ ๋งํ ๋ผ๋ ธ๋น์ค ๊ฑฐ๋ฆฌ ๊ฐ ์ขํ์ถ ๋ฐฉํฅ์ผ๋ก์ ๋ถ์ฐ ์ฐจ์ด๋ฅผ ๊ณ ๋ คํ์ฌ ๋ฐ์ K-NN ๋ถ๋ฅ๊ธฐ ์คํ 1) ๋ฐ์ดํฐ ์์ฑ ๋ฐ ์คํ ๊ฒฐ๊ณผ 5 4 C3 C2 3 2 1 0 ๏ผํ์ต ๋ฐ์ดํฐ: 100๊ฐ/ํด๋์ค -1 C1 -2 -2 ๏ผํ ์คํธ ๋ฐ์ดํฐ: 105๊ฐ/ํด๋์ค -1 0 1 2 3 4 5 K-๊ทผ์ ์ด์ ๋ถ๋ฅ๊ธฐ์ ๋ถ๋ฅ ๊ฒฐ๊ณผ (%) K=1 K=5 K=10 K=50 ํ์ต์ค์ฐจ 0.00 9.67 11.67 11.67 ํ ์คํธ ์ค์ฐจ 14.74 11.11 10.46 10.52 2) K-NN ๋ถ๋ฅ๊ธฐ load dataCh4_7 %ํ์ต ๋ฐ์ดํฐ ๋ก๋ X=[X1;X2;X3]; Etrain=0; N = size(X,1); for i=1:N x=X(i,:); % ๊ฐ ๋ฐ์ดํฐ์ ๋ํด ๋ถ๋ฅ์์ for j=1:N % ๋ชจ๋ ๋ฐ์ดํฐ์์ ๊ฑฐ๋ฆฌ ๊ณ์ฐ d(j,1)=norm(x-X(j,:)); end [sx,si]=sort(d); % ๊ฑฐ๋ฆฌ์์ผ๋ก ์ ๋ ฌ K=5; c=zeros(3,1); % K=5๋ก ์ ํจ for j=1:K % ์ด์ํ K๊ฐ ๋ฐ์ดํฐ์ ๋ผ๋ฒจ์ if (si(j)<=100) c(1)=c(1)+1; end % ์ ๊ฒํ์ฌ ํฌํ์ํ if (si(j)>200) c(3)=c(3)+1; end if ((si(j)>100) & (si(j)<=200)) c(2)=c(2)+1; end end [maxv, maxi]=max(c); % ์ต๋ ํฌํ์๋ฅผ ๋ฐ์ ํด๋์ค๋ก ํ ๋น if (maxi~=(floor((i-1)/100)+1)) % ์๋ ํด๋์ค ๋ผ๋ฒจ๊ณผ ๋ค๋ฅด๋ฉด Etrain(1,1) = Etrain(1,1)+1; % ์ค๋ฅ๋ฐ์ดํฐ์ ๊ฐ์๋ฅผ ์ฆ๊ฐ end; end Error_rate = Etrain/N; %์ค๋ถ๋ฅ์จ ์ถ๋ ฅ 3) K๊ฐ์ ๋ฐ๋ฅธ ๊ฒฐ์ ๊ฒฝ๊ณ์ ๋ณํ K=1 K=5 K=10 K=50 ๋ฒ ์ด์ฆ ๋ถ๋ฅ๊ธฐ๋ ์ ์ ํ ํ๋ฅ ๋ชจ๋ธ ์ถ์ , K-NN์ ์ ์ ํ K ์ฐพ๋ ๊ฒ ์ค์ 4) ๊ฒฐ์ ๊ฒฝ๊ณ ๊ทธ๋ฆฌ๊ธฐ load dataCh4_7 %ํ์ต ๋ฐ์ดํฐ ๋ก๋ X=[X1;X2;X3]; [x,y]=meshgrid([-2.5:0.1:5.5],[-2.5:0.1:5.5]); %์ ๋ ฅ๊ณต๊ฐ์ ์ฒด์ ๋ฐ์ดํฐ์ค๋น XY=[x(:), y(:)]; plot(X1(:,1), X1(:,2), '*'); hold on; %ํ์ต๋ฐ์ดํฐ ๊ทธ๋ฆฌ๊ธฐ plot(X2(:,1), X2(:,2), 'ro'); plot(X3(:,1), X3(:,2), 'kd'); for i=1:size(XY,1) %์ ์ ์ ๋ ฅ๊ณต๊ฐ์ ๋ฐ์ดํฐ์ ๋ํด xt=XY(i,:); %ํด๋์ค ๋ผ๋ฒจ์ ๊ฒฐ์ for j=1:size(X,1) d(j,1)=norm(xt-X(j,:)); end [sx,si]=sort(d); K=1; c=zeros(3,1); for j=1:K if (si(j)<=100) c(1)=c(1)+1; end if (si(j)>200) c(3)=c(3)+1; end if ((si(j)>100) & (si(j)<=200)) c(2)=c(2)+1; end end [maxv, maxi]=max(c); rxy1(i,1)=maxi; end rxy1=reshape(rxy1,size(x)); contour(x, y,rxy1); %ํด๋์ค ๋ผ๋ฒจ์ ๋ฐ๋ฅธ ๋ฑ๊ณ ์ ๊ทธ๋ฆฌ๊ธฐ axis([-2.5 5.5 -2.5 5.5]); grid on K – NNR(Nearest Neighbor Rule) ๋ฐ๋ ์ถ์ • k๊ฐ์ ์ต๊ทผ์ ํ๋ ์ด์์ ์ด์ฉ – ๋ผ๋ฒจ์ด ์๋ ์์์ ์ ๋ ฅ ๋ฐ์ดํฐ Xu๋ฅผ ํ์ต๋ ๋ฐ์ดํฐ ํด๋์ค๋ก ๋ถ๋ฅ • ์ฃผ์ด์ง ํ์ต ๋ฐ์ดํฐ ์งํฉ๋ค์ ์ํ๋ k๊ฐ์ ๊ฐ์ฅ ๊ฐ๊น์ด ํ๋ณธ์ ์ฐพ์๋ธ ๋ค์, • k๊ฐ์ ๋ถ๋ถ์งํฉ ๋ด์ ๊ฐ์ฅ ๋ง์ ๋น๋๋ฅผ ํด๋์ค๋ก Xu๋ฅผ ํ ๋น – k-NNR์ ํ์๋ฐ์ดํฐ • ์์ k • ๋ผ๋ฒจ์ด ์๋ ํ์ต ๋ฐ์ดํฐ ์งํฉ์ ํ๋ณธ • ๊ฑฐ๋ฆฌ ์ฒ๋ k = 5 ์ธ ๊ฒฝ์ฐ : Xu๋ ω1๋ก ํ ๋น k – NNR์ ์ด์ฉํ ๋ฐ๋ ์ถ์ • k-NNR์ ์ด์ฉํ ๊ฒฐ์ ๊ฒฝ๊ณ ์ถ์ – K = 5๋ก ๊ฐ์ ํ๊ณ ์ธ ํด๋์ค์ ๋ํ ๊ฒฝ๊ณ ์ถ์ ์ ์ํํ ๊ฒฐ๊ณผ. ๋น์ ํ์ ๊ฒฐ์ ๊ฒฝ๊ณ ๊ฐ๋ฅ k – NNR์ ์ด์ฉํ ๋ฐ๋ ์ถ์ R(x) = k๊ฐ์ ๊ทผ์ ๋ฐ์ดํฐ์ ๊ธฐ์ค์ x์ฌ์ด์ ๊ฑฐ๋ฆฌ • k-NNR์ ์ด์ฉํ ๋ฐ๋ ์ถ์ ์ C = D์ฐจ์์ ์์ญ (์ฆ, D์ฐจ์ ๊ตฌ์ ์ฒด์ ) D cf. z>-1์ผ ๋, ํนํ, ์์ฐ์ +0.5๊ผด์์๋ k – NNR์ ์ด์ฉํ ๋ฐ๋ ์ถ์ • k-NNR์ ์ด์ฉํ ๋ฐ๋ ์ถ์ ์ k – NNR์ ์ด์ฉํ ๋ฐ๋ ์ถ์ ๋น๋ชจ์ ๋ฐ๋ ์ถ์ ์ ์ด์ฉํ ํจํด ์ธ์ – ๊ฐ ํด๋์ค์ ๋ํ ์ฐ๋ํ๋ฅ ์ถ์ ํ๊ณ ๋ฒ ์ด์ฆ ๊ฒฐ์ ๊ท์น ์ด์ฉํด ์ํ ๋ฐ์ดํฐ ๋ถ๋ฅ → ๊ฐ์ฅ ํฐ ์ฌํ ํ๋ฅ ์ ํด๋์ค ์ ํ – Non-parametric approach์ ์ฅ์ • ํจํด ์ธ์ ์ ๊ทผ์ ์ฉ์ด์ฑ, ์ฌ์ ์ง์ ๋ถํ์, unimodal/bimodal ํญ ๋๊ฒ ์ ์ฉ ๊ฐ๋ฅ ๋ฑ… – ๋จ์ • ์ ํํ ์ถ์ ์ ํ๋ ค๋ฉด ๋งค์ฐ ๋ง์ ์์ ํ๋ณธ ๋ฐ์ดํฐ๊ฐ ์ฃผ์ด์ ธ์ผ ํจ. • ๋ง์ ๊ณ์ฐ ์๊ฐ ๋ฐ ๊ณ ์ฉ๋์ ๋ฉ๋ชจ๋ฆฌ ์๊ตฌ – K-NNR์ ์ด์ฉํ ํจํด ์ธ์์ ์ • N๊ฐ์ ํ์ต ํ๋ณธ ์งํฉ {x1, x2, …, xN}์ด c๊ฐ์ ๋ถ๋ถ์งํฉ D1, D2, … , DC ๋ก ๋ถํฌํ๊ณ , ๊ฐ ๋ถ๋ถ ์งํฉ Dj ๋ ํด๋์ค ωj ์ ์ํ๋ค๊ณ ๊ฐ์ • ์ ๋ ฅ ํ๋ณธ๊ฐ x๊ฐ ์ฃผ์ด์ก์ ๋ ์ด๋ ํด๋์ค๋ก ๋ถ๋ฅ๋๋์ง ์ธ์ ๊ณผ์ ๋น๋ชจ์ ๋ฐ๋ ์ถ์ ์ ์ด์ฉํ ํจํด ์ธ์ – Non-parametric Density Estimation(K-NNR) ์ด์ฉํ ํจ ํด ์ธ์ ์ • N๊ฐ์ ํ์ต ํ๋ณธ ์งํฉ {x1, x2, …, xN}์ด c๊ฐ์ ๋ถ๋ถ์งํฉ D1, D2, …, DC ๋ก ๋ถํฌํ๊ณ , ๊ฐ ๋ถ๋ถ ์งํฉ Dj ๋ ํด๋์ค ωj ์ ์ํ๋ค๊ณ ๊ฐ์ • ์ ๋ ฅ ํ๋ณธ๊ฐ x๊ฐ ์ฃผ์ด์ก์ ๋ ์ด๋ ํด๋์ค๋ก ๋ถ๋ฅ๋๋์ง ์ธ์ํ๋ ๊ณผ์ . ์ฆ, ์ฌํํ๋ฅ P(ωj |x) ๊ณ์ฐ ๊ณผ์ 1) ์ฐ๋ํจ์ (likelihood function) ์ถ์ – ํด๋์ค ωj ์์ k-NNR ํ๋ณ์กฐ๊ฑด์ ๋ง๋ ํ๋ณธ์ ์๊ฐ kj์ผ ๋, ๊ฒฐํฉํ๋ฅ P( X , ๏ท j ) ์ ์ผ๋ฐํ์ ์ด์ฉํ์ฌ ์ฐ๋๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ์ ํ ์ ์์. kj kj pN ( X , ๏ท j ) ๏ฝ ๏ฎ pN ( X | ๏ท j ) ๏ฝ NV NV pN ( X , ๏ท j ) kj kj P(๏ท j | X ) ๏ฝ c ๏ฝ c ๏ฝ 2) ์ฌํํ๋ฅ (posterior) ์ถ์ ๏ฅ pN ( X , ๏ทi ) ๏ฅ ki k 3) ์ต์ข ํด๋์ค ๊ฒฐ์ i ๏ฝ1 P(๏ทP | X ) ๏ฝ max j P(๏ท j | X ) i ๏ฝ1