본문 바로가기

728x90

ComputerScience/Pattern Recognition

(12)
패턴인식 - 12. Principle Component Analysis (PCA) 1. Principle component Analysis (PCA, 주성분 분석) - 다차원 공간에 있는 데이터를 1차원 공간으로 Projection 시키는 것이다. - 데이터의 원래 성질을 가장 잘 보존하는 공간으로 차원축소하는 것이 목표이다. - 데이터의 차원을 낮추면 작업 수준(복잡도, 연산량)을 낮출 수 있다. *참고로 차원 축소, projection의 반대가 kernel(차원을 높이는 것)이다. - 가장 먼저 데이터들의 평균을 projection한 값을 찾는다. (= projection한 데이터들의 평균) - s, sample 데이터를 말한다. - 이번에는 project된 데이터들의 분산을 구해보자. - PCA는 분산이 최대가 되는 sub space이다. 이제 분산을 최대로 만드는 projec..
패턴인식 - 11. Linear Discriminant Analysis(LDA) 1. Linear Discriminant Analysis(LDA, 선형 분리) - 다차원 공간에 있는 데이터를 1차원 공간으로 Projection 시켜서 분류를 수행하는 것을 말한다. - 데이터의 class를 가장 잘 분리할 수 있는 공간으로 차원축소하는 것이 목표이다. - projection을 활용하는데 class를 구분하는 특징을 잘 살려서 축소한다는 점에서 PCA, SVM과 차이가 있다. - 2차원 공간에 표시된 n개의 데이터에 대해 C1,C2 클래스로 가장 잘 분리되는 1차원 공간을 찾았다. - 만약 ㅡ 선으로 축소하면 black, blue dot들이 섞여버려서 구분이 어려울 것이다. - 어떤 1차원 공간으로 데이터들을 옮겨왔을때 C1(black 점들의 평균)의 평균과 C2(blue 점들의 평균)..
패턴인식 - 10. Projection, 차원축소 1. Projection - 데이터는 많은 feature들로 구성되어 있다. feature들로 구성된 특징 공간의 차원을 축소하는 방법을 알아본다. - 3차원 벡터 공간 V를 2차원 linear한 subspace(부분공간, W)로 축소하는 모습이다. - 3차원 공간의 부분집합 W에서는 덧셈 연산, 스칼라곱 연산을 만족해야 한다. (갇혀 있어야 함) - projection을 통한 차원 축소 모습이다. (첫번째 그림 e = b - p) - 3차원 공간의 b벡터를 subspace A로 축소하는 그림이다. 그 변환 매트릭스 P가 정의될 수 있다. - 이렇게 data를 low dimension space로 mapping하는 것을 dimensionality reduction이라고 한다. - 그럼 어떻게 적절한 su..
패턴인식 - 9. Ensemble - Boosting - 지난시간에 ensemble의 개념과 bagging에 대해 알아보았다. - 이번에는 ensemble의 종류 중 다른 하나인 boosting에 대해 알아보자. 1. Boosting - 학습데이터가 제한적일 때 분류기의 성능을 높이고 싶은 경우 활용된다. - 보통은 2개 class classification의 경우 사용된다. - 데이터셋이 상대적으로 작을 때, 컴퓨팅 파워가 약할 때, 도움이 될 수 있다. - AdaBoost는 bagging과 달리 bias를 낮추는데 기여한다. - 부스팅은 분류기를 연속적으로 학습시킨다. 특히 잘못 분류한 데이터에 초점을 맞춰서 다시 학습시킨다. - D1에 대해 분류를 수행해보았다. 초록 공간, 흰 공간 안에 보면 error들이 있다. 이런 분류기를 weak classif..
패턴인식 - 8. Ensemble - Bagging 1. Ensemble - 지난 시간에 학습 데이터로부터 decision tree(분류기)를 만들고 판단의 문제를 tree searching으로 변환하는 것을 공부했다. - 여러 decision tree를 함께 사용해서 나온 결과를 결합(voting)한 것을 decision forest라고 한다. - decision tree뿐만 아니라 여러 분류기를 함께 사용해서 성능을 높일 수 있고 이 방법을 ensemble이라고 한다. - bagging, boosting은 ensemble의 방법중 하나이다. - bagging : 학습데이터가 많을 때 주로 사용된다. - boosting : 학습데이터가 적을 때 주로 사용된다. - decision tree를 예를 들면, 데이터, feature가 많을 수록 가지는 많아지기..
패턴인식 - 7. Decision tree (2) 1. Decision tree 만들기 예제 - class, 기다린다, 안기다린다 = { yes, no } - feature = {alt, bar, fri, ..., est} 내가 배고픈 정도, 식당의 여건 등등 - X, 식당 = {x1, x2, ..., x12} - 식당이 input으로 들어왔을 때 기다릴지 말지를 결정하는 decision tree를 만들어보자. - Information Gain을 최대로 할 수 있는 attribute를 선택해서 split해보자. - 첫번째 attribute로 Type을 골랐을때, Patrons을 골랐을때 split되는 결과는 다르다. - 각각의 경우 IG를 구해보면 다음과 같다. IG(patrons)가 더 크기 때문에 더 좋은 tree라고 선택한다. - 분류가 아직 덜된..
패턴인식 - 6. Decision tree (1) - 지난 시간에 PW, k-NN을 활용하여 분류기를 설계하는 방법을 배웠다. 이번 시간에는 결정 트리를 이용해서 분류기를 만드는 방법을 알아본다. 1. Decision Tree - 분류를 위한 tree를 만드는 것이다. - 오렌지와 레몬을 구분할 특징 벡터 [height, width]가 있다고 하자. - Decision tree의 각 step에서 feature값의 정도에 따라 child를 선택해 내려가면 분류 결과에 도달하게 된다. - 위의 예시는 판단오류에 해당한다. - 이렇게 tree에 노드를 더 추가하면 지금 당장은 완벽하게 오류를 0으로 만들 수 있지만 트리를 탐색하는데 더 많은 시간이 필요하다. - 즉 decision tree는 features를 통해 class에 따른 특징 공간을 나누는 것이다..
패턴인식 - 5. Data Driven Classification - 확률 모델이 존재하지 않아서 데이터로부터 확률을 꺼내는 방법을 공부했다. 이를 기반으로 분류기에 적용하는 방법을 알아보자. - 1990년대 : 베이지안 룰에 근거한 패턴인식 등장, k-NN classifier - 2000년대 : ML, NN, SVM - 2010 : AI - 순으로 발전해 왔지만 여전히 베이지안 룰에 근거한 판단과 분류가 이루어진다. 그동안 달라진 점은 데이터의 양이 매우 많아졌고 컴퓨팅 파워가 향상되었다는 것이다. 이 덕분에 베이지안 룰을 더 확장해서 사용할 수 있게 되었다. 1. k-NN classifier - 특징 x1, x2를 갖는 x에 대해서 x가 c1,인지 c2인지 분류하기 위해서는 P(c1|x)와 P(c2|x)를 구해야 한다. 두 조건부확률을 구하기 위해서는 P(x)를 구..

728x90