Introduction to Pattern Recognition for Human ICT Linear discriminants analysis 2014. 11. 14 Hyunki Hong Contents • Linear discriminant analysis, two classes • Linear discriminant analysis, C classes • LDA vs. PCA • Limitations of LDA Linear discriminant analysis, two classes • Objective – LDA seeks to reduce dimensionality while preserving as much of the class discriminatory information as possible. – Assume we have a set of ๐ท-dimensional samples {๐ฅ(1, ๐ฅ(2, …, ๐ฅ(๐ }, ๐1 of which belong to class ๐1, and ๐2 to class ๐2. – We seek to obtain a scalar ๐ฆ by projecting the samples ๐ฅ onto a line ๐ฆ = ๐ค๐๐ฅ. – Of all the possible lines we would like to select the one that maximizes the separability of the scalars. – In order to find a good projection vector, we need to define a measure of separation. – The mean vector of each class in ๐ฅ-space and ๐ฆ-space is – We could then choose the distance between the projected means as our objective function. 1. However, the distance between projected means is not a good measure since it does not account for the standard deviation within classes. This axis yields better class separability. This axis has a larger distance between means. • Fisher’s solution – Fisher suggested maximizing the difference between the means, normalized by a measure of the within-class scatter. – For each class we define the scatter, an equivalent of the variance, as where the quantity is called the within-class scatter of the projected examples – The Fisher linear discriminant is defined as the linear function ๐ค๐๐ฅ that maximizes the criterion function – Therefore, we are looking for a projection where examples from the same class are projected very close to each other and, at the same time, the projected means are as farther apart as possible. • To find the optimum ๐ค∗, we must express ๐ฝ(๐ค) as a function of ๐ค – First, we define a measure of the scatter in feature space ๐ฅ where ๐๐ is called the within-class scatter matrix. – The scatter of the projection ๐ฆ can then be expressed as a function of the scatter matrix in feature space ๐ฅ. - Similarly, the difference between the projected means can be expressed in terms of the means in the original feature space. The matrix ๐๐ต is called the between-class scatter. Note that, since ๐๐ต is the outer product of two vectors, its rank is at most one. – We can finally express the Fisher criterion in terms of ๐๐ and ๐๐ต as – To find the maximum of ๐ฝ(๐ค) we derive and equate to zero d u ( )๏ฝ dx v v d (u ) ๏ญ u dx dx v 2 – Dividing by ๐ค๐๐๐๐ค - Solving the generalized eigenvalue problem (๐๐−1๐๐ต๐ค = ๐ฝ๐ค) yields – This is know as Fisher’s linear discriminant (1936), although it is not a discriminant but rather a specific choice of direction for the projection of the data down to one dimension. d (v ) Example LDA, C classes • Fisher’s LDA generalizes gracefully for C-class problems – Instead of one projection ๐ฆ, we will now seek (๐ถ−1) projections [๐ฆ1, ๐ฆ2, …, ๐ฆ๐ถ−1] by means of (๐ถ−1) projection vectors ๐ค๐ arranged by columns into a projection matrix ๐ = [๐ค1| ๐ค2| …| ๐ค๐ถ−1]: ๐ฆ๐ = ๐ค๐๐๐ฅ ⇒ ๐ฆ = ๐๐๐ฅ • Derivation – The within-class scatter generalizes as – And the between-class scatter becomes – Similarly, we define the mean vector and scatter matrices for the projected samples as - From our derivation for the two-class problem, we can write - Recall that we are looking for a projection that maximizes the ratio of between-class to within-class scatter. Since the projection is no longer a scalar (it has ๐ถ−1 dimensions), we use the determinant of the scatter matrices to obtain a scalar objective function. - And we will seek the projection matrix ๐∗ that maximizes this ratio. - And we will seek the projection matrix ๐∗ that maximizes this ratio. - It can be shown that the optimal projection matrix ๐∗ is the one whose columns are the eigenvectors corresponding to the largest eigenvalues of the following generalized eigenvalue problem. Limitations of LDA • LDA produces at most ๐ถ − 1 feature projections. – If the classification error estimates establish that more features are needed, some other method must be employed to provide those additional features. • LDA is a parametric method (it assumes unimodal Gaussian likelihoods). – If the distributions are significantly non-Gaussian, the LDA projections may not preserve complex structure in the data needed for classification. LDA will also fail if discriminatory information is not in the mean but in the variance of the data. ํ์ต ๋ด์ฉ ํน์ง์ถ์ถ feature extraction ์ ํ๋ณํ์ ์ํ ํน์ง์ถ์ถ ์ฃผ์ฑ๋ถ๋ถ์ PCA:Principal Component Analysis ๊ณต๋ถ์ฐ ๋ถ์๊ณผ ํ์ดํธ๋ ๋ณํ PCA ์๊ณ ๋ฆฌ์ฆ, ์ํ์ ์ ๋, ํน์ฑ๊ณผ ๋ฌธ์ ์ ์ ํํ๋ณ๋ถ์๋ฒ LDA:Linear Discriminant Analysis LDA ์๊ณ ๋ฆฌ์ฆ LDA ํน์ฑ๊ณผ ๋ฌธ์ ์ ๋งคํธ๋ฉ์ ์ด์ฉํ ์คํ 1. ์ ํ๋ณํ์ ์ํ ํน์ง์ถ์ถ ๋ชฉ์ 1 ์ธ์์ ํต์ฌ์ด ๋๋ ์ ๋ณด๋ง ์ถ์ถ → ๋ถํ์ํ ์ ๋ณด ์ ๊ฑฐ ๋ชฉ์ 2 ์ฐจ์์ ์ ์ฃผ → ๋ฐ์ดํฐ์ ์ฐจ์ ์ถ์ ์ธ์๋ฅ ์ ํ ์์ธ “์ฐจ์ ์ถ์” dimension reduction n์ฐจ์ ์ ๋ ฅ ๋ฐ์ดํฐ x ์ ํ๋ณํ W (mโชn) ๋งคํ m์ฐจ์ ํน์ง ๋ฒกํฐ y ๋ถ๋ถ๊ณต๊ฐ๋ถ์ subspace analysis ํน์ง์ถ์ถ์ ์ธ์๊ธฐ์ ์ฑ๋ฅ์ ์ข์ฐํ๋ ์ค์ํ ์์์ด๋ค. 1. ์ ํ ๋ณํ์ ์ํ ํน์ง์ถ์ถ (a) x [2,2] (b) x [1,2] y w W = [1,0]T y=2 x๋ฅผ W ๋ฐฉํฅ์ผ๋ก ์ฌ์ํ ์ขํ๊ฐ x๋ฅผ ๋ณํํ๋ ฌ w๋ก ์ฌ์ํ์ฌ ์ป์ ํฌ๊ธฐ๊ฐ 1. ์ ํ ๋ณํ์ ์ํ ํน์ง์ถ์ถ X : n×N ํ๋ ฌ Y = [y1, …, yN], m×N ํ๋ ฌ ๏ผ ์ ์ฒด ๋ฐ์ดํฐ ์งํฉ X์ ๋ํ ํน์ง์ถ์ถ 2์ฐจ์ ๋ฐ์ดํฐ ์งํฉ์ ํน์ง ์ถ์ถ → 1์ฐจ์ ํน์ง (a) X (b) X T W X T W X W ๏ฝ ๏1, 0 ๏ W ๏ฝ ๏ 2,1๏ T T ์ ํ๋ณํ์ ์ํ ํน์ง์ถ์ถ: ์ฃผ์ด์ง ๋ฐ์ดํฐ๋ฅผ ๋ณํํ๋ ฌ W์ ์ํด ์ ํด์ง๋ ๋ฐฉํฅ์ผ๋ก ์ฌ์ํจ์ผ๋ก์จ ์ ์ฐจ์์ ํน์ง๊ฐ์ ์ป๋ ๊ฒ. W์ ๊ฐ ์ด์ ์ฌ์ํ ์ ์ฐจ์ ๋ถ๋ถ๊ณต๊ฐ์ ๊ธฐ์ ๋ฅผ ์ด๋ฃจ์ด ํด๋น ๋ถ๋ถ๊ณต๊ฐ์ ์ ์ํจ. ๏ผ ๋ณํ ํ๋ ฌ์ ๋ฐ๋ฅธ ํน์ง์ ๋ถํฌ ํํ 3์ฐจ์ ๋ฐ์ดํฐ ์งํฉ์ ํน์ง ์ถ์ถ → 2์ฐจ์ ๋ถ๋ถ๊ณต๊ฐ์ผ๋ก ์ฌ์์ ์ํ ํน์ง ์ถ์ถ (a) (b) x2 x3 x2 (c) x3 x1 (d) x3 x1 x2 x1 ์ข์ ํน์ง ์ถ์ถ → ๋ชฉ์ ์ ๋ง๋ ๋ถ๋ถ๊ณต๊ฐ ์ฐพ๊ธฐ: ๋ณํํ๋ ฌ W (๋๋ ๋ณํํ๋ ฌ์ ๊ฐ ์ด๋ก ๋ํ๋ด๋ ๋ถ๋ถ๊ณต๊ฐ์ ๊ธฐ์ )๋ฅผ ์ ์ ํ ์กฐ์ ํ์ฌ ๋ถ์ ๋ชฉ์ ์ ๋ง๋ ํน์ง ์ถ์ถ 2. ์ฃผ์ฑ๋ถ๋ถ์(Principal Component Analysis) ๋ฐ์ดํฐ์ ๊ณต๋ถ์ฐ ๋ถ์ํ์ฌ ๊ทธ ์ฑ์ง์ ์ด์ฉํด ์ ํ๋ณํ ์ํ ๏ผ ํน์ง๋ฒกํฐ์ ํต๊ณ๋ ํ๊ท ์ผ๋ก ๊ฐ์ ๊ณต๋ถ์ฐ : ์ ๋ ฅ ๋ฐ์ดํฐ X ์ฌ์ฉํ๋ ๋์ , ๊ฐ ๋ฐ์ดํฐ xi์์ ์ฌ์ฉ ์ผํฐ๋ง(centering) ํ๊ท ๋บ ํ๋ ฌ ๋ฐ์ดํฐ์ ๊ณต๋ถ์ฐ๊ณผ ์ ํ๋ณํ๋ ํน์ง ๋ฐ์ดํฐ์ ๊ณต๋ถ์ฐ ๊ด๊ณ ํ์ธ : ํน์ง ๋ฐ์ดํฐ ์งํฉ์ ๊ณต๋ถ์ฐ์ ์ ๋ ฅ ๋ฐ์ดํฐ์ ๊ณต๋ถ์ฐ์ W๋ก ๋ณํํด์ ์ป์ด์ง. 2-1. ๊ณต๋ถ์ฐ๊ณผ ๋ถ๋ฅ๊ธฐ ๊ด๊ณ ๏ผ ๊ณต๋ถ์ฐ์ด ๋จ์ํ๋ ฌ์ธ ๊ฒฝ์ฐ ๏ผ ๊ณต๋ถ์ฐ์ด ๋๊ฐํ๋ ฌ์ธ ๊ฒฝ์ฐ ๋ฒ ์ด์ง์ธ ๋ถ๋ฅ๊ธฐ๋ ์ต๋จ๊ฑฐ๋ฆฌ (์ ํด๋ฆฌ๋์ธ ๊ฑฐ๋ฆฌ)๋ก ๋ถ๋ฅ ์ ๊ทํ๋ ์ ํด๋ฆฌ๋์ ๊ฑฐ๋ฆฌ : ๋ฐ์ดํฐ์ ๊ฐ ์์๊ฐ ์๊ด๊ด๊ณ๋ ์กด์ฌํ์ง ์๊ณ ๊ฐ ์์๋ค์ ๋ถ์ฐ๋ง ๊ณ ๋ ค๋๋ ๊ฒฝ์ฐ์. ๊ฐ ์์๋ณ๋ก ๊ทธ ํ์คํธ์ฐจ ๊ฐ์ ๋๋ ๋ค์, ์ ํด๋ฆฌ๋์ธ ๊ฑฐ๋ฆฌ ๊ณ์ฐ ๊ฐ ๋จ์ํ๋ ฌ/๋๊ฐํ๋ ฌ์ด ๋๋๋ก W ๊ตฌ์ฑ → ๊ณ์ฐ ๊ฐ๋จ 2-2. ๋๊ฐํ ๋ณํ ์ ๊ณ ์ ๋ฒกํฐ ํ๋ ฌ ( Given a matrix ๐ด๐×๐, we say that ๐ฃ is an eigenvector* if there exists a scalar ๐ (the eigenvalue) such that ๐ด๐ฃ = ๐๐ฃ ์ ๊ณ ์ ์น๋ฅผ ๋๊ฐ์์๋ก ๊ฐ์ง๋ ํ๋ ฌ ๊ฐ ์๋ก ์ง๊ต, ํฌ๊ธฐ๊ฐ 1์ธ ๊ฒฝ์ฐ) ์ผ ๋, → ๋๊ฐํ๋ ฌ ๋๊ฐํ ๋ณํ diagonalization transform : ์ ๋ ฅ ๋ฐ์ดํฐ X์ ๋ํด ๊ณต๋ถ์ฐํ๋ ฌ์ ๊ณ ์ ์น ๋ถ์์ผ๋ก ์๋ก ์ง๊ต์ด๋ฉด์ ํฌ๊ธฐ 1์ธ ๊ณ ์ ๋ฒกํฐ ์ป์ ๋, ์ด๋ค์ ์ด๋ฒกํฐ ๊ฐ์ง๋ ํ๋ ฌ Φ๋ก ์ ํ๋ณํํ Y๋ ๋๊ฐํ๋ ฌ์ ๊ณต๋ถ์ฐ์ผ๋ก ๊ฐ์ง๋ ๋ถํฌ๋ฅผ ์ด๋ฃธ. 2-3. ํ์ดํธ๋ ๋ณํ : ์ถ๊ฐ ๋ณํํด์ ๊ณต๋ถ์ฐํ๋ ฌ์ด ์ ๋ฐฉํ๋ ฌ ๋๋๋ก Y์ ๊ณต๋ถ์ฐํ๋ ฌ์ด ๋๊ฐํ๋ ฌ Λ์ด๋ฏ๋ก, ๊ฐ ๋๊ฐ์์์ ์ ๊ณฑ๊ทผ์ ์ญ์๊ฐ์ผ๋ก ์ป์ด์ง๋ ํ๋ ฌ Λ-1/2 ์ด์ฉํ ์ ํ๋ณํํด ์๋ก์ด ํน์ง๋ฒกํฐ Z ์ป์. W= ( ๊ด๊ณ ์ด์ฉ) ๋จ์ํ๋ ฌ ํ์ดํธ๋ ๋ณํ ๏ง ๋ณต์กํ ๋ถํฌ ํน์ฑ์ด ์ฌ๋ผ์ง whitening transform ๏ง ์ต๋จ๊ฑฐ๋ฆฌ๋ถ๋ฅ๊ธฐ๋ก ์ต์๋ถ๋ฅ์จ ํ๋ณด : ์ ๋ ฅ ๋ฐ์ดํฐ X์ ๋ํ ๊ณ ์ ์นํ๋ ฌ Λ์ ๊ณ ์ ๋ฒกํฐํ๋ ฌ Φ ์ด์ฉํ ์ ํ ๋ณํํ๋ ฌ์ ๋จ์ํ๋ ฌ์ ๊ณต๋ถ์ฐ์ผ๋ก ๊ฐ์ง๋ ํน์ง ๋ฐ์ดํฐ ์งํฉ ์ฐพ๋ ๋ณํ 2-3. ๋๊ฐํ ๋ณํ๊ณผ ํ์ดํธ๋ ๋ณํ ์ Y: X์ ๊ณ ์ ๋ฒกํฐ๋ฅผ ๊ธฐ์ ๋ก ํํ Y ๏ฝΦ X T X (a) Z: X์ ๊ณ ์ ๋ฒกํฐ์ ๊ณ ์ ์น ์ ๊ณฑ๊ทผ ๊ณฑํด ์ป์ด์ง ๋ฒกํฐ๋ฅผ ๊ธฐ์ ๋ก ํํ (b) Z ๏ฝ Λ ๏ญ 12 T Φ X (c) ๋๊ฐํ ๋ณํ : ๋ฐ์ดํฐ ๋ถ์ฐ์ด ๊ฐ์ฅ ์ปค์ง๋ ๋ฐฉํฅ ํ์ดํธ๋ ๋ณํ : ๊ฐ ๊ณ ์ ๋ฒกํฐ : ์ด ๋ฐฉํฅ์ ์์ง์ธ ๋ฒกํฐ ๋ฐฉํฅ์ผ๋ก์ ๋ถ์ฐ 2-4 ์ฃผ์ฑ๋ถ๋ถ์(PCA) ์๊ณ ๋ฆฌ์ฆ (์ ๋ ฅ ๋ฐ์ดํฐ n์ฐจ์ → ๋ณํ๋ ๋ฐ์ดํฐ m์ฐจ์) ๋ณํ ์ ์ ๋ฐ์ดํฐ x๊ฐ ๊ฐ์ง๊ณ ์๋ ์ ๋ณด๋ฅผ ์ฐจ์ ์ถ์ ํ์๋ ์ต๋ํ ์ ์ง ? (a) (b) ๏ ๋ฐ์ดํฐ ์งํฉ์ด ๊ฐ๋ฅํ ๋๊ฒ ํผ์ง ์ ์๋ ๋ฐฉํฅ์ผ๋ก์ ์ฌ์ ๋ฐ๋์ง ๏ ๋ฐ์ดํฐ์ ๋ถ์ฐ์ด ๊ฐ์ฅ ํฐ ๋ฐฉํฅ์ผ๋ก์ ์ ํ ๋ณํ์ ์ํ ๏ ๊ณต๋ถ์ฐ ํ๋ ฌ์ ์ต๋ ๊ณ ์ ๋ฒกํฐ์ ๊ณ ์ ์น = ๋ถ์ฐ์ ๊ฐ์ฅ ํฐ ๋ฐฉํฅ๊ณผ ๋ถ์ฐ ๏จ ๋ฐ์ดํฐ์ ๊ณต๋ถ์ฐ ํ๋ ฌ์ ๊ณ ์ ์น์ ๊ณ ์ ๋ฒกํฐ๋ฅผ ์ฐพ์, ๊ณ ์ ์น๊ฐ ๊ฐ์ฅ ํฐ ๊ฐ ๋ถํฐ ์์๋๋ก ์ด์ ๋์ํ๋ m๊ฐ์ ๊ณ ์ ๋ฒกํฐ๋ฅผ ์ฐพ์์ ํ๋ ฌ W๋ฅผ ๊ตฌ์ฑ 2-5. PCA ์๊ณ ๋ฆฌ์ฆ์ ์ํ ๋จ๊ณ 2-6. 3D ๋ฐ์ดํฐ์ ์ฃผ์ฑ๋ถ๋ถ์ ๊ฒฐ๊ณผ (a) ์ ๋ ฅ ๋ฐ์ดํฐ (c) 1,2์ฐจ ์ฃผ์ฑ๋ถ๋ฒกํฐ์ ์ํ ํน์ง์ถ์ถ (b) 1์ฐจ ์ฃผ์ฑ๋ถ๋ฒกํฐ์ ์ํ ํน์ง์ถ์ถ (d) 1,2,3์ฐจ ์ฃผ์ฑ๋ถ๋ฒกํฐ์ ์ํ ํน์ง์ถ์ถ “๋๊ฐํ๋ณํ” 2-7. PCA์ ์ํ์ ์ ๋ ๊ธฐ์ ๋ฒกํฐ ์งํฉ {u1, u2, …, un} ์ ์ํ ์ ๋ ฅ ๋ฐ์ดํฐ ํํ (์ง๊ต๋จ์๊ธฐ์ : ์๋ก ์ง๊ต, ํฌ๊ธฐ 1) m๊ฐ(m < n)์ ๊ธฐ์ ๋ฒกํฐ๋ง์ ์ฌ์ฉํ ๋ฐ์ดํฐ ๊ทผ์ฌ : ์ฐจ์์ถ์ S: ํ๊ท 0๋๋๋ก ์ผํฐ๋ง ๊ฐ์ ํ๋ฉด, ๊ณต๋ถ์ฐํ๋ ฌ ๊ธฐ์ ๋ฒกํฐ ์ ํ์ ์ํ ์ ๋ณด์์ค๋ Lagrange multiplier J๋ฅผ ์ต์๋ก ํ๋ ๊ธฐ์ ๋ฒกํฐ๋ฅผ ์ํ ๋ชฉ์ ํจ์ u์ ๋ํด ๋ฏธ๋ถํ๋ฉด, ๋ชฉ์ ํจ์์ ์ต์ ํ u , λ : ํ๋ ฌ S์ ๊ณ ์ ๋ฒกํฐ์ ๊ณ ์ ์น ๊ณต๋ถ์ฐํ๋ ฌ์ ๊ณ ์ ์น๊ฐ์ ํด๋น ๊ณ ์ ๋ฒกํฐ ์ด์ฉํด ๋ฐ์ดํฐ ์ฌ์ํ์ฌ ์ป์ด์ง๋ ํน์ง๊ฐ๋ค์ ๋ถ์ฐ๊ฐ ๋ํ๋. Lagrange multiplier when one wishes to maximize or minimize a function subject to fixed outside conditions or constraints. • In mathematical optimization, Lagrange multiplier method is a strategy for finding the local maxima and minima of a function subject to equality constraints. • For instance, consider the optimization problem maximize f(x, y) subject to g(x, y) = c. Find x and y to maximize f(x, y) subject to a constraint (shown in red) g(x, y) = c. Contour map. The red line shows the constraint g(x, y) = c. The blue lines are contours of f(x, y). The point where the red line tangentially touches a blue contour is our solution. Since d1 > d2, the solution is a maximization of f(x, y). Lagrange multiplier • We need both f and g to have continuous first partial derivatives. • introduce a new variable (λ) called a Lagrange multiplier and study the Lagrange function (or Lagrangian) defined by where λ term may be either added or subtracted. If f(x0, y0) is a maximum of f(x, y) for the original constrained problem, then there exists λ0 such that (x0, y0, λ0) is a stationary point for the Lagrange function (stationary points are those points where the partial derivatives of Λ are zero, i.e. ∇Λ = 0). A stationary point or critical point is a point of the domain of a differentiable function, where the derivative is zero. Lagrange multiplier • consider the 2D problem: maximize f(x, y) subject to g(x, y) = c. • Lagrange multipliers relies on the intuition that at a maximum f(x, y) cannot be increasing in the direction of any neighboring point where g = c. • Suppose we walk along the contour line with g = c. We are interested in finding points where f does not change as we walk, since these points might be a maximum. → we could be following a contour line of f, since by definition f does not change as we walk along its contour lines. This would mean that the contour lines of f and g are parallel here : for some λ where : the respective gradients • auxiliary function and solve • Example 1: Suppose we wish to maximize f(x, y) = x + y subject to the constraint x2 + y2 =1. The feasible set is the unit circle, and the level sets of f are diagonal lines (with slope -1), so we can see graphically that the maximum occurs at ๏ฆ๏ง๏ง 2 , 2 ๏ถ๏ท๏ท , 2 ๏ธ ๏ฆ ๏จ 2 2 2๏ถ ๏ง๏ญ ๏ท , ๏ญ and that the minimum occurs at ๏ง๏จ 2 2 ๏ท๏ธ . 1. Using the method of Lagrange multipliers, g(x, y) – c = x2 + y2 –1. 2. Setting the gradient yields the system of equations: ๋์ ํ๋ฉด, ๏ฎ ๏ฆ stationary points: ๏ง๏ง ๏ญ ๏จ 2 2 ,๏ญ 2๏ถ ๏ท 2 ๏ท๏ธ and ๏ฆ 2 2๏ถ ๏ง ๏ท , ๏ง 2 ๏ท 2 ๏จ ๏ธ 3. Evaluating the objective function f at these points yields the maximum & the minimum: 2 , ๏ญ 2 2-7. PCA์ ์ํ์ ์ ๋ ์์ค๋๋ ์ ๋ณด๋์ ๋น์ค = m๊ฐ์ ํน์ง์ผ๋ก ํํ ๊ฐ๋ฅํ ์ ๋ณด์ ๋น์จ ์ ํํ ๊ณ ์ ๋ฒกํฐ์ ์(ํน์ง์ ์ฐจ์) m θ = 0.98์ด๋ผ๋ฉด, ์ ๋ณด ์์ค๋์ด ์ ์ฒด์ 2%์ดํ 2-8. PCA์ ํน์ฑ๊ณผ ๋ฌธ์ ์ ๏ผ PCA ๏ ๋ฐ์ดํฐ ๋ถ์์ ๋ํ ํน๋ณํ ๋ชฉ์ ์ด ์๋ ๊ฒฝ์ฐ์ ๊ฐ์ฅ ํฉ๋ฆฌ์ ์ธ ์ฐจ์์ถ์์ ๊ธฐ์ค ๏ผ PCA๋ ๋น๊ต์ฌ ํ์ต ๏ง ํด๋์ค ๋ผ๋ฒจ ์ ๋ณด ํ์ฉํ์ง ์์ ๏ ๋ถ๋ฅ์ ํต์ฌ ์ ๋ณด ์์ค ์ด๋ ๊ฐ ํด๋์ค๋ณ๋ก ๋ฐ์ดํฐ์ ํ์คํ ๊ทธ๋จ์ด ๊ฑฐ์ ๊ฒน์นจ. 2-8. PCA์ ํน์ฑ๊ณผ ๋ฌธ์ ์ ๏ผ ์ ํ๋ณํ์ ํ๊ณ ๏ง ๋ฐ์ดํฐ์ ๋น์ ํ ๊ตฌ์กฐ๋ฅผ ๋ฐ์ํ์ง ๋ชปํจ (a) (b) ์ฃผ์ฑ๋ถ2 ์ฃผ์ฑ๋ถ1 ์ด๋ค ๋ฐฉํฅ์ผ๋ก์ ์ฌ์๋ ๋ฐ์ดํฐ์ 2D ๊ตฌ์กฐ๋ฅผ ์ ๋๋ก ํํํ์ง ๋ชปํจ → ์ปค๋ํจ์, ๋น์ ํ ํ์ต๋ฐฉ๋ฒ. 3. ์ ํํ๋ณ๋ถ์(Linear Discriminant Analysis) ๏ผ LDA ๋ชฉ์ ๏ง ๋ณํํ๋ ฌ W์ ์ต์ ํ๊ณผ์ ์ ๋ชฉ์ ํจ์ ์ ์ ์, ํด๋์ค ๋ผ๋ฒจ ์ ๋ณด๋ฅผ ์ ๊ทน ํ์ฉ ๏ง ํด๋์ค๊ฐ ํ๋ณ์ด ์ ๋๋ ๋ฐฉํฅ์ผ๋ก ์ฐจ์์ถ์ PCA์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ ํ๋ณํ์ ์ํด ํน์ง ์ถ์ถ (a) (a) ๋ฐฉํฅ์ผ๋ก ์ฌ์ํ ํน์ง์ด (b) ๋ณด๋ค ์ข์ ๋ถ๋ฅ ์ฑ๋ฅ ๋ณด์. ๏ผ ๋ถ๋ฅ์ ์ ํฉํ ํน์ง ๋ฐฉํฅ์ด๋? ๏ง ๊ฐ ํด๋์ค๋ค์ด ๊ฐ๋ฅํ ์๋ก ๋ฉ๋ฆฌ ๋จ์ด์ง ์ ์๋๋ก ๊ฑฐ๋ฆฌ๋ฅผ ์ ์ง (b) 3-1. LDA : ์ด๋ถ๋ฅ ๋ฌธ์ ํด๋์ค ๊ฐ ๊ฑฐ๋ฆฌ์ ๋ํ ๋ชฉ์ ํจ์ ๋ถ์๊ฐ ์ปค์ง์๋ก (ํด๋์ค๊ฐ ๊ฑฐ ๋ฆฌ ๋ฉ๊ณ ) + ๋ถ๋ชจ๊ฐ ์ปค์ง์๋ก (๊ฐ์ ํด๋์ค๊ฐ ๊ฒฐ์ง) → ๋ถ๋ฅ ์ฉ์ด ํด๋์ค Ck์ ์ํ๋ ๋ฐ์ดํฐ๋ค์ ๋ฒกํฐ w๋ก ์ฌ์ํด ์ป์ด์ง 1D ํน์ง๊ฐ๋ค์ ํ๊ท = ํด๋์ค Ck์ ๋ฐ์ดํฐ ๋ค์ ํ๊ท ๋ฒกํฐ mk๋ฅผ w ๋ฐฉํฅ์ผ๋ก ์ฌ์ํ ๊ฐ ๋ณํ๋ ํน์ง๋ฐ์ดํฐ์ ๊ณต๋ถ์ฐ ์ด์ฉํ๋ฉด, ํด๋์ค๊ฐ ์ฐ์ ํ๋ ฌ Between Scatter Matrix ํด๋์ค๋ด ์ฐ์ ํ๋ ฌ Within Scatter Matrix ๋ชฉ์ ํจ์์ ์ต์ ํ ๋ฒกํฐ w๋ ๋ ํ๊ท ์ ์ฐจ ๋ฒกํฐ์ ๋น๋กํ๋ ํํ (์ ๊ทธ๋ฆผ ์ฐธ์กฐ) 3-2. LDA : ๋ค์ค ํด๋์ค ๋ถ๋ฅ ๋ฌธ์ ๋ชฉ์ ํจ์ : ํด๋์ค Ck์ ์ํ๋ ๋ฐ์ดํฐ ๊ฐฏ์ ๏ญ1 ๏ญ1 ๏ญ1 ๏ญ1 ๏ญ1 ๏ญ1 Tr {( WS W W ) (WS B W )} ๏ฝ Tr {( W ) ( S W ) W WS BW } ๏ฝ Tr {( W ) ( S W ) S BW } T T T T T T ๋ชฉ์ ํจ์๋ฅผ ์ต๋๋ก ํ๋ ๋ณํํ๋ ฌ W orthogonal matrix: ์ ๋ฐฉํ๋ ฌ X์ ๊ฐ ํ๋ฒกํฐ(๋๋ ์ด๋ฒกํฐ)๋ค์ด ์ํธ์ง๊ต์ธ ๋จ์๋ฒกํฐ(orthonormal vector)๋ค๋ก ์ด๋ฃจ์ด์ง. XXT = XTX= I (์ฆ, X-1 = XT) 3-3. LDA ์๊ณ ๋ฆฌ์ฆ์ ์ํ ๋จ๊ณ 3-4. LDA ํน์ฑ๊ณผ ๋ฌธ์ ์ ๏ผ ๊ต์ฌํ์ต ๋ฅ๋ ฅ ๏ผ ์ ํ๋ณํ์ ์ ์ฝ์ ๏ง ๋ณต์กํ ๋น์ ํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ๊ฒฝ์ฐ์๋ ์ ์ ํ ๋ณํ์ด ๋ถ๊ฐ ๏ง ์ปค๋๋ฒ, ๋น์ ํ ๋งค๋ํด๋ ํ์ต๋ฒ ๋ฑ์ ์ด์ฉํ ์ ๊ทผ ํ์ ๏ผ ์ ํํ๋ ๊ณ ์ ๋ฒกํฐ์ ๊ฐ์ (์ถ์๋ ํน์ง์ ์ฐจ์) ๏ง ์ง์ ๋ถ๋ฅ๋ฅผ ํตํด ์ป์ด์ง๋ ๋ฐ์ดํฐ์ ๋ํ ๋ถ๋ฅ์จ์ ๊ธฐ์ค์ผ๋ก ๊ฒฐ์ ๏ง ํ๋ ฌ SW-1SB์ ์ํด ์ฐพ์์ง๋ ๊ณ ์ ๋ฒกํฐ์ ๊ฐ์๊ฐ ์ ํ ํด๋์ค ๊ฐ์๊ฐ M ๊ฒฝ์ฐ, SB์ ๋ญํฌ M-1 ๏ M๊ฐ ํด๋์ค ๋ถ๋ฅ๋ฌธ์ ์์ ์ต๋ M-1์ฐจ์์ ํน์ง์ถ์ถ ๊ฐ๋ฅ ๏ผ ์์ ์ํ์งํฉ ๋ฌธ์ (Small Sample Set Problem) ๏ง ์ ๋ ฅ๋ฐ์ดํฐ ์๊ฐ ์ ๋ ฅ์ฐจ์๋ณด๋ค ์์ ๊ฒฝ์ฐ SW์ ์ญํ๋ ฌ์ด ์กด์ฌํ์ง ์์ ๏ง PCA๋ก ๋จผ์ ์ฐจ์์ถ์ํ LDA ์ ์ฉ 4. ๋งคํธ๋ฉ ์ด์ฉํ ์ค์ต 4-1. ํ์ต ๋ฐ์ดํฐ ์์ฑ % ํ์ต๋ฐ์ดํฐ์ ์์ฑ -------------------------------N=100; m1=[0 0]; s1=[9 0;0 1]; m2=[0 4]; s2=[9 0;0 1]; X1=randn(N,2)*sqrtm(s1)+repmat(m1,N,1); % ํด๋์ค1 ๋ฐ์ดํฐ ์์ฑ X2=randn(N,2)*sqrtm(s2)+repmat(m2,N,1); % ํด๋์ค2 ๋ฐ์ดํฐ ์์ฑ figure(1); plot(X2(:,1),X2(:,2),'ro'); hold on plot(X1(:,1),X1(:,2),'*'); axis([-10 10 -5 10]); save data8_9 X1 X2 4-2. PCA์ ์ํ ๋ถ์ % PCA์ ์ํ ๋ถ์ -------------------------------X=[X1;X2]; M=mean(X); S=cov(X); % ํ๊ท ๊ณผ ๊ณต๋ถ์ฐ ๊ณ์ฐ [V,D]=eig(S); % ๊ณ ์ ์น๋ถ์(U:๊ณ ์ ๋ฒกํฐํ๋ ฌ, D: ๊ณ ์ ์นํ๋ ฌ) w1=V(:,2); % ์ฒซ ๋ฒ์งธ ์ฃผ์ฑ๋ถ๋ฒกํฐ figure(1); % ์ฒซ ๋ฒ์งธ ์ฃผ์ฑ๋ถ๋ฒกํฐ๋ฅผ ๊ณต๊ฐ์ ํ์ line([0 w1(1)*D(2,2)]+M(1),[0 w1(2)*D(2,2)]+M(2)); YX1=w1'*X1'; YX2=w1'*X2'; % ์ฒซ ๋ฒ์งธ ์ฃผ์ฑ๋ถ๋ฒกํฐ๋ก ์ฌ์ pYX1=w1*YX1; pYX2=w1*YX2; % ์ฌ์๋ ๋ฐ์ดํฐ๋ฅผ 2์ฐจ์ ๊ณต๊ฐ์ผ๋ก ํ์ figure(2); % ์ฌ์๋ ๋ฐ์ดํฐ๋ฅผ 2์ฐจ์ ๊ณต๊ฐ์ผ๋ก ํ์ํ์ฌ ํ์ plot(pYX1(1,:), pYX1(2,:)+M(2),'*'); hold on axis([-10 10 -5 10]); plot(pYX2(1,:), pYX2(2,:)+M(2),'ro'); 4-3. LDA์ ์ํ ๋ถ์ % LDA์ ์ํ ๋ถ์ -------------------------------m1=mean(X1); m2=mean(X2); Sw=N*cov(X1)+N*cov(X2); % with-in scatter ๊ณ์ฐ Sb=(m1-m2)'*(m1-m2); % between scatter ๊ณ์ฐ [V,D]=eig(Sb*inv(Sw)); % ๊ณ ์ ์น ๋ถ์ w=V(:,2); % ์ฐพ์์ง ๋ฒกํฐ figure(1); % ์ฐพ์์ง ๋ฒกํฐ๋ฅผ ๊ณต๊ฐ์ ํ์ line([0 w(1)*-8]+M(1),[0 w(2)*-8]+M(2)); YX1=w'*X1'; YX2=w'*X2'; % ๋ฒกํฐw ๋ฐฉํฅ์ผ๋ก ์ฌ์ pYX1=w*YX1; pYX2=w*YX2; % ์ฌ์๋ ๋ฐ์ดํฐ๋ฅผ 2์ฐจ์ ๊ณต๊ฐ์ผ๋ก ํ์ figure(2); % ์ฌ์๋ ๋ฐ์ดํฐ๋ฅผ 2์ฐจ์ ๊ณต๊ฐ์ผ๋ก ํ์ํ์ฌ ํ์ plot(pYX1(1,:)+M(1), pYX1(2,:),'*'); plot(pYX2(1,:)+M(1), pYX2(2,:),'ro'); 4-4. ์คํ ๊ฒฐ๊ณผ ์์ฑ๋ ๋ฐ์ดํฐ PCD & LDA ๊ฒฐ๊ณผ ํจํด์ธ์ ์์คํ ์ค๊ณ ์ผ๊ตด์ธ์ ๋ฌธ์ ํน์ง์ถ์ถ๊ธฐ์ ํ์ต ์์ ๋ฐ์ดํฐ๋ฅผ ์ํ ์ฃผ์ฑ๋ถ๋ถ์ PCA์ ์ํ ํน์ง์ถ์ถ - ์์ด๊ฒํ์ด์ค LDA์ ์ํ ํน์ง์ถ์ถ - ํผ์ ํ์ด์ค ๋ถ๋ฅ๊ธฐ์ ์ค๊ณ ๋งคํธ๋ฉ์ ์ํ ์ธ์๊ธฐ ๊ตฌํ 1. ์ผ๊ตด์ธ์ ๋ฌธ์ 1-1. ๋ค์ํ ๋ณํ์ ๊ฐ์ง ์ผ๊ตด ์์ ๊ฐ๋ ๋ณํ ํ์ ๋ณํ ์กฐ๋ช ๋ณํ ์ผ๊ตด์ธ์, ํ์ ์ธ์, ํฌ์ฆ ์ธ์,… 1-2. ํ์ต ๋ฐ์ดํฐ์ ์ 0 60 -60 FERET ๋ฐ์ดํฐ ๏ง ๊ฐ์ธ๋น 9๊ฐ์ ๋ฐ์ดํฐ ๏ง -60๋ ~ + 60๋๊น์ง 15๋์ฉ ํฌ์ฆ์ ๋ณํ ํ์ต ๋ฐ์ดํฐ : 150๊ฐ ํ ์คํธ ๋ฐ์ดํฐ : 300๊ฐ ๏ผ ๊ฐ์ธ๋น 9๊ฐ์ค 3๊ฐ ์ฌ์ฉ (60๋, 0๋, -60๋) ๏ผ ๊ฐ์ธ๋น 9๊ฐ์ค ๋๋จธ์ง 6๊ฐ์ง ๋ณํ ์ฌ์ฉ ๏ผ ์ด 50๋ช = 50๊ฐ์ ํด๋์ค ๏ผ ์ด 50๋ช 1-3. ํฌ๊ธฐ ์กฐ์ ๋ ๋ฐ์ดํฐ 1-4. ์์ ํฌ๊ธฐ ์กฐ์ ํฌ๊ธฐ ์กฐ์ 70 50 40 50 3500์ฐจ์ 2000์ฐจ์ ํ์ต ๋ฐ์ดํฐ ์งํฉ : 150โ น2000 ํ ์คํธ ๋ฐ์ดํฐ ์งํฉ : 300โ น2000 ๊ฒฐ๊ณผ ์ต๊ทผ์ ์ด์๋ถ๋ฅ ๊ธฐ Z LDA ํน์ง์ถ์ถ Y PCA ์ฐจ์์ถ์ X 2. ํน์ง์ถ์ถ๊ธฐ ํ์ต 2-1. ์์ ๋ฐ์ดํฐ๋ฅผ ์ํ PCA ๏ผ ํ์ต๋ฐ์ดํฐ 150๊ฐ๋ฅผ ์ด์ฉํ์ฌ ๊ณต๋ถ์ฐํ๋ ฌ∑ ์ ๊ณ์ฐํ ํ, ๊ณ ์ ์น ๋ถ์ ์ํ 2000โ น2000 ๏จ ๋ฐ์ดํฐ ํ๋ ฌ X์ ์ ์นํ๋ ฌ XT๋ฅผ ํ์ฉํ ๋ณํ๋ ์ฃผ์ฑ๋ถ ์ถ์ถ ๋ฐฉ์์ ์ ์ฉ 150โ น2000์ ๋ฐ์ดํฐ ํ๋ ฌ X์ ๊ณต๋ถ์ฐํ๋ ฌ ๊ณ์ฐ ๋์ , ๊ณ ์ ์น ๋ถ์ ํ๊ท 150โ น150 ๋ฐ์ดํฐ ๊ฐ์ ์๋ณ์ ๊ณ ์ ๋ฒกํฐ ๊ณต๋ถ์ฐํ๋ ฌ ∑ ๋ฅผ ๊ณฑํจ ๊ณ ์ ์น ∑ ์ ๊ณ ์ ๋ฒกํฐ ๊ตฌํ๊ณ (X-M)T ๊ณฑํด์ W ๊ตฌํจ. ์ง๊ตํ๋ ฌ์ ์กฐ๊ฑด ๋ง์กฑํ์ง ๋ชปํจ, 2000โ น150 2-2. ์์ ๋ฐ์ดํฐ๋ฅผ ์ํ PCA ๏ผ ํน์ง๋ฒกํฐ์ ์ฐจ์ ๊ฒฐ์ ๏ ๊ณ ์ ์น์ ๊ฐ์ด ํฐ ๊ฒ๋ถํฐ ์ฐจ๋ก๋ก ๋ช ๊ฐ๋ฅผ ์ ํํ ๊ฒ์ธ๊ฐ? ๊ฒฝํ์ ์ ๊ทผ ๋ฐฉ๋ฒ (a) (b) 0.98 Eigenvalue Ratio of eigen-sum 0.95 69 15 number of eigenvalues 101 number of eigenvalues 2-3. PCA ๊ฒฐ๊ณผ - ์์ด๊ฒํ์ด์ค W๊ฐ ์ง๊ต๋ณํ์ธ ๊ฒฝ์ฐ Eigenface : ์ผ๊ตด์ธ์์ PCA๋ฅผ ์ ์ฉํ์ฌ ์ฐพ์์ง ๊ณ ์ ๋ฒกํฐ๋ฅผ ์์์ผ๋ก ํ ํ ๏ป = y1 + y2 + y3 W๊ฐ ์ ๋ฐฉํ๋ ฌ์ด ์๋๊ณ nโ นm ํ๋ ฌ์ด๋ฏ๋ก ์ง๊ตํ๋ ฌ์ ์กฐ๊ฑด WWT = WTW = I๋ฅผ ๋ง์กฑ์ํค์ง ๋ชปํจ → ์ ๋ณด์ ์์ค๋์ ํน์ง์ ์ฐจ์ ์(๊ธฐ์ ์์์ ์)์ ์์กด + … + y69 2-4. ์์ด๊ฒํ์ด์ค ๊ณ ์ ์น๊ฐ ํฐ ์์๋๋ก ์ด 70๊ฐ์ ๊ณ ์ ๋ฒกํฐ 2-5. LDA ๊ฒฐ๊ณผ - ํผ์ ํ์ด์ค ๏ผ PCA๋ฅผ ํตํด ์ป์ 69์ฐจ์์ ํน์ง ๋ฐ์ดํฐ ์งํฉ Y์ ๋ํด LDA ์ ์ฉ ํน์ง ๋ฐ์ดํฐ ์งํฉ Y๋ฅผ ๊ฐ ํด๋์ค ๋ผ๋ฒจ ์ ๋ณด๋ฅผ ์ด์ฉํ์ฌ 50๊ฐ์ ํด๋์ค๋ก ๋๋ SW, SB๋ฅผ ๊ณ์ฐํ ํ ์ ๊ณ ์ ์น๋ฒกํฐ U (69โ น49)๋ฅผ ๊ณ์ฐ ์๋ PCA์์ W๋ 2000โ น150 → 2000โ น69 “Fisherface” : Fischer’s linear discriminant 3. ๋งคํธ๋ฉ ์ด์ฉํ ์ธ์๊ธฐ ๊ตฌํ 3-1. ๋ถ๋ฅ๊ธฐ ๏ผ ์ต๊ทผ์ ์ด์ ๋ถ๋ฅ๊ธฐ + ๋จ์ํ ์ ํด๋ฆฌ๋์ ๊ฑฐ๋ฆฌ ๏ง ์ด 300๊ฐ์ ํ ์คํธ ๋ฐ์ดํฐ ๊ฐ๊ฐ์ ๋ํ์ฌ ์ ์ฅ๋ 150๊ฐ์ ํ์ต๋ฐ์ดํฐ๋ค๊ณผ์ ๊ฑฐ๋ฆฌ๋ฅผ ๋น๊ตํ ํ, ๊ฐ์ฅ ๊ฐ๊น์ด ์ด์์ผ๋ก ํ ๋น ๏ผ ํน์ง ๋ฐ์ดํฐ Y : 69์ฐจ์, ํน์ง ๋ฐ์ดํฐ Z : 49์ฐจ์ ๏ง ๊ฐ๋ฅํ ๋ชจ๋ ์ฐจ์์ ๋ํ์ฌ ํ ์คํธ ํ ํ ๊ฐ์ฅ ์ ์ ํ ์ฐจ์์ ์ ํ ๏ผ ํน์ง ๋ฐ์ดํฐ Y, Z์ ๋ํด์ ๊ฐ๊ฐ ๋ถ๋ฅ ์ํ 3-2. ํน์ง์ถ์ถ (by PCA & LDA) load data_person_trim % ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ Ntrn=size(train_trim,1); % ํ์ต๋ฐ์ดํฐ์ ์ Ntst=size(test_trim,1); % ํ ์คํธ๋ฐ์ดํฐ์ ์ Isize=size(train_trim,2); % ์ ๋ ฅ๋ฒกํฐ์ ์ฐจ์ Mcls = 50; % ํด๋์ค์ ์ %%%%% PCA์ ์ํ ํน์ง ์ถ์ถ X=train_trim; % ํ์ต๋ฐ์ดํฐ ํ๋ ฌ meanfig = mean(X); % ํ์ต๋ฐ์ดํฐ ํ๋ ฌ์ ํ๊ท M=repmat(meanfig,size(X,1),1); % ํ๊ท ๋ฒกํฐ๋ฅผ ๋ฐ์ดํฐ ์๋งํผ ๋ฐ๋ณตํ ํ๋ ฌ S=(X-M)*(X-M)'/Ntrn; % ๊ณ ์ ์น๋ถ์์ ์ํ ํ๋ ฌ์ ๊ณ์ฐ [V,D,U]=svd(S); % ๊ณ ์ ์น๋ถ์ W=(X-M)'*V; % ๊ณ ์ ๋ฒกํฐ ์ฐพ๊ธฐ 3-2. ํน์ง์ถ์ถ (by PCA & LDA) %%%%% LDA์ ์ํ ํน์ง์ถ์ถ eval=diag(D); % PCA๋ก ์ถ์ํ ์ฐจ์ ๊ฒฐ์ for i=1:150 if ((sum(eval(1:i))/sum(eval))>0.95) break end end Ydim=i; Wo=orth(W(:,1:Ydim)); % ๋ณํํ๋ ฌ์ ์ง๊ตํ Y=(Wo'*(X)')'; % PCA์ ์ํ ์ฐจ์์ถ์ (ํ์ต๋ฐ์ดํฐ) Yt=(Wo'*(test_trim)')'; % PCA์ ์ํ ์ฐจ์์ถ์ (ํ ์คํธ๋ฐ์ดํฐ) Sw=zeros(Ydim); % Within-Scatter Matrix์ ๊ณ์ฐ for i=1:Mcls C=Y((i-1)*3+1:i*3,:); Sw = Sw+3*cov(C); m(i,:)=mean(C); end Sb=Mcls*cov(m); % Between-Scatter Matrix์ ๊ณ์ฐ [Vf,Df,Uf]=svd(inv(Sw)*Sb); % LDA ๋ณํํ๋ ฌ ์ฐพ๊ธฐ Z=(Vf'*Y')'; % LDA์ ์ํ ํน์ง์ถ์ถ (ํ์ต๋ฐ์ดํฐ) Zt=(Vf'*Yt')'; % LDA์ ์ํ ํน์ง์ถ์ถ (ํ ์คํธ๋ฐ์ดํฐ) save feature_person W Vf Y Yt Z Zt; % ์ถ์ถ๋ ํน์ง ์ ์ฅ _(๊ณ์) 3-3. ์ผ๊ตด์ธ์ by PCA & LDA load data_person_trim % ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ load feature_person % ํน์ง ๋ถ๋ฌ์ค๊ธฐ Ntrn=size(train_trim,1); % ํ์ต๋ฐ์ดํฐ์ ์ Ntst=size(test_trim,1); % ํ ์คํธ๋ฐ์ดํฐ์ ์ Isize=size(train_trim,2); % ์ ๋ ฅ๋ฒกํฐ์ ์ฐจ์ Mcls = 50; % ํด๋์ค์ ์ 3-4. ์ผ๊ตด์ธ์ by PCA & LDA_(๊ณ์โ ) %%%%% PCA ํน์ง๊ณผ LDA ํน์ง์ ์ฌ์ฉํ ๋ถ๋ฅ for dim=1:Mcls-1 for i=1:Ntst % ๊ฐ๋ฅํ ๋ชจ๋ ํน์ง ์ฐจ์์ ๋ํ์ฌ ๋ฐ๋ณต ์ํ % ๊ฐ ํ ์คํธ ๋ฐ์ดํฐ์ ๋ํด ๋ถ๋ฅ ์์ yt=Yt(i,:); % ํ ์คํธ ๋ฐ์ดํฐ์ ๋ํ PCA ํน์ง zt=Zt(i,1:dim); %Yt(:,i); % ํ ์คํธ ๋ฐ์ดํฐ์ ๋ํ LDA ํน์ง for j=1:Ntrn % ํ์ต๋ฐ์ดํฐ๋ค๊ณผ์ ๊ฑฐ๋ฆฌ๊ณ์ฐ dy(j)=norm(yt-Y(j,1:dim)); dz(j)=norm(zt-Z(j,1:dim)); end [minvy, miniy]=min(dy); %์ต๊ทผ์ ์ด์ ์ฐพ๊ธฐ (PCA ํน์ง) [minvz, miniz]=min(dz); %์ต๊ทผ์ ์ด์ ์ฐพ๊ธฐ (LDA ํน์ง) min_labely(i)=train_label(miniy); min_labelz(i)=train_label(miniz); end %์ต๊ทผ์ ์ด์์ ํด๋์ค๋ก ํ ๋น (PCA) %์ต๊ทผ์ ์ด์์ ํด๋์ค๋ก ํ ๋น (LDA) 3-5. ์ผ๊ตด์ธ์ by PCA & LDA_(๊ณ์โก) error_labely=find(min_labely-test_label); %๋ถ๋ฅ์จ ๊ณ์ฐ (PCA) correcty=Ntst-size(error_labely,2); classification_ratey(dim)=correcty/Ntst; error_labelz=find(min_labelz-test_label);; %๋ถ๋ฅ์จ ๊ณ์ฐ (LDA) correctz=Ntst-size(error_labelz,2); classification_ratez(dim)=correctz/Ntst; [classification_ratey(dim), classification_ratez(dim)] end % ๊ฐ๋ฅํ ๋ชจ๋ ํน์ง ์ฐจ์์ ๋ํ์ฌ ๋ฐ๋ณต ์ํ % ํน์ง ์์ ๋ฐ๋ฅธ ๋ถ๋ฅ์จ ๋ณํ ๊ทธ๋ํ ๊ทธ๋ฆฌ๊ธฐ figure(1); plot([1:49], classification_ratey); hold on plot([1:49], classification_ratez,'r'); 3-6. ํน์ง ์์ ๋ฐ๋ฅธ ๋ถ๋ฅ์จ์ ๋ณํ ๋ถ๋ฅ์จ LDA PCA ํน์ง๋ฒกํฐ์ ์ฐจ์