본문 바로가기

AI143

ML : Model : LDA vs SVM Model 의 선택 : LDA vs SVM 왼쪽 같은 그림을 보고 우리는 선을 그어서 Classification을 할 수 있을거라고 판단을 할 것이다. 이 때, 우리는 LDA vs SVM 이라는 갈림길에 놓인다. 어떠한 선택을 할 것인가?? 우리는 LDA와 SVM의 성격을 알아야 한다. 장단점 / Model LDA SVM 장점 naive bayes 모델과 달리, 설명변수간의 공분산 구조를 반영 (애초에 확률모델에서 naive bayes를 쓴다) 가정이 위반되더라도 어느정도 robust (변화에 민감하지 않다). 데이터가 정규분포를 안 따른다면 covariance 구조를 고려하는 것은 비효율적이기에 정규분포를 안따라도 가능하다. -> LDA의 정규분포를 따라야 하는 단점을 보완가능 Boundary 근처의 .. 2020. 2. 13.
ML : Model : SVM 이란? / LDA vs SVM / SVM 정의 SVM이란? Support Vector Machine(SVM)은 원 훈련(또는 학습)데이터를 비선형 매핑(Mapping)을 통해 고차원으로 변환한다. 이 새로운 차원에서 초평면(hyperplane)을 최적으로 분리하는 선형분리를 찾는다. 즉, 최적의 Decision Boundary(의사결정 영역)를 찾는다. 그렇다면 왜 데이터를 고차원으로 보내는 것일까? 예를 들어, 아래의 [그림1]과 같이 A=[a, d], B=[b, c]는 2차원에서 non-linearly separable(비선형 분리)하다. 이를 통해 한 차원 높은 3차원으로 Mapping하게 되면 linearly separable(선형 분리)하게 된다. 따라서, 충분히 큰 차원으로 적절한 비선형 매핑을 이요하면, 두 개의 클래스를 가진 데이터는 .. 2020. 2. 12.
ML : 라그랑주 승수법 (Lagrange Multiplier) 라그랑주 승수법 Idea 라그랑주 승수법의 아이디어는 f(x,y)=k 라는 "목적함수" (ex. score 함수, error 함수) 를 "조건함수"인 g(x,y)=c 인 함수가 주어질 때, f(x,y)의 극댓값 or 극솟값이 만들어진다. 목적 최적화 문제 (최소화 or 최대화 하는 값을 찾는 문제)룰 풀 때!! 주로 사용한다. f(x,y), g(x,y)=c 가 접할 때, f(x,y)의 극댓값 혹은 극솟값이 만들어진다. 결론 라그랑주 승수의 기본 아이디어는 f(x,y)와 g(x,y)=c가 서로 접할 때, f(x,y)의 극대, 극소값이 발생한다. 이 점은 위의 원을 보고 더 자세히 설명할 수 있다. f,g를 각각 미분했을 때 위의 원 그림을 보면, 접점 구간에서는 각각 편미분의 방향이, 기울기의 방향이 일치.. 2020. 2. 12.
ML : Model : 의사결정나무 (Decision Tree) 의사결정나무 (Decision Tree) 정의, 장단점 > 변수들로 기준(node)을 만들고 이것을 통하여 샘플을 분류하고 분류된 집단의 성질을 통하여 추정하는 모형 > 장점 : 매우 직관적(연속형, 범주형 모두 사용가능)이며 범용성이 좋다. 모델을 보고 해석이 가능하다. (PCA 같은 경우는 내가 잡은 축이 PC1, PC2, 이런 축들이 어떤 의미를 내포하는지 일일히 찾아야 한다.) > 단점 : sample이 변화하면 model도 변화하기 때문에, 높은 변동성을 가진다. -> 나중에 RandomForest로 보완 Decision Tree 용어 Node : 분류의 기준이 되는 변수가 위치. 이것을 기준으로 sample들을 나눔. 위의 그림에서는 outlook 등등 Parent Node : 상대적인 개념,.. 2020. 2. 12.
ML : Model : LDA 배경, 정의, LDA 응용 (QDA) Linear Discriminant Analysis (LDA) 배경 data가 특정 범주로 나눠질 때, 이를 선을 그어서 model을 만드는 것을 LDA라고 한다. 가정 각 숫자 집단은 "정규분포 형태의 확률분포"를 가진다. (μ, σ를 써야하기 때문에) 각 숫자 집단은 "비슷한 형태의 공분산 구조"를 가진다. 특징 Boundary Plane에 직교하는 단위벡터 : 자료들을 이 단위벡터에 정사영 시킨 분포의 형태를 고려. 평균의 차이를 극대화하려면? : 두 평균 vector (μ1 - μ2) 의 차이 벡터를 이용. 분산대비 평균의 차이를 극대화 하는 boundary를 찾는 것이 목표 정의 LDA의 확률모델은 log( fk(x)/ fl(x) ) + log(πk/πl) 이고, 0보다 크면 범주 k, 0보다 .. 2020. 2. 11.
ML : Model : LDA : 사영(Projection) 정사영 v의 u로 위로의 사영이며, proj u v이라고 말한다. 만약 u의 길이가 1 (u가 단위벡터라면), 위 벡터의 크기는 내적의 값과 일치한다. v의 벡터의 크기는 |u||v|/|u|**2 *u = |v|cosθu 이므로 |v|cosθ이다. v와 u의 내적의 크기는 |v||u|cosθ = u는 단위벡터이므로 내적의 크기는 |v|cosθ다. 정사영의 LDA 적용 목표 : 분산은 최소화하면서 평균을 최대화 하는 사영을 찾는 것. 가정 : a를 단위벡터라고 가정 사영된 자료 : x 자료들을 a 단위벡터로 정사영한 것이다. 이는 내적값과 동일하다. 사영된 평균 : μ1, μ2 를 m1, m2로 사영한 것. 대각선으로 사영한 것이다. μT * a 는 내적, 이는 스칼라 값을 가진다. 사영된 표본분산 : 다.. 2020. 2. 10.
ML : Model : LDA Math : 다변량 정규분포 정규분포 위는 정규분포의 함수이다. 밑은 이 변량 정규분포의 함수로, x1, x2 그룹(변수 X) 사이의 상관관계를 정의할 때, x1,x2로 한꺼번에 표현한 함수이다. 실제로 함수를 보면 표준편차를 상관계수를 넣어서 나눠줌으로써 상관관계가 작용함을 보여준다. 상관계수를 ρ라고 하고, ρ= cov(x1,x2)/σ1σ2 = E[(X1-μ1)(X2-μ2)]/σ1σ2 이다. 실제로 ρ가 작아짐에 따라 상관관계, 즉 그래프에서의 선형관계가 옅어짐을 확인할 수 있다. ρ = 0 이면 상관관계가 없고 서로 영향을 주지 않으므로, 이는 독립이다. 따라서 f(x1,x2) = f(x1)f(x2)이다. ρ = 1 이면 상관관계가 짙고 선형관계를 유지함을 알 수 있다. Σ-1의 이유 Σ는 Covariance Matrix 다... 2020. 2. 10.
ML : Model : K-Nearest-Neighbor, KNN K-Nearest-Neighbor, KNN 목적, 정의 위와 같은 그림1에서 우리는 초록색 원이 세모인지, 네모인지를 구별하는 모델을 만들 것 이다. 이 때, 실선을 기준으로 모델을 만든다면, (k=3) 초록색 원이 세모일 것이라고 판단할 것이다. 하지만, 점선을 기준으로 모델을 만든다면, (k=5) 초록색 원은 네모가 더 많기 때문에 네모라고 판단할 것이다. 원 주위에 있는 갯수들, k까지를 선으로 긋는 모델을 정해줌으로써 모델을 만들 수가 있다. 또한 여기에 떨어진 거리를 weight를 주어, category를 판별할 수 있다. 이처럼 k의 갯수를 조정, 거리에 따른 weight를 조정해서 model을 만드는 것을 K-Neighbor-Nearest, KNN이다. k, weight 수치 결정 너무 큰 .. 2020. 2. 9.
ML : Model : (Gaussian) Naive Bayes Classifier Naive Bayes 2020/01/18 - [machine_learning/statistics] - Statistics : 5-5 : 표본공간의 분할과 베이즈정리 Statistics : 5-5 : 표본공간의 분할과 베이즈정리 표본공간의 분할 (Partition) 정의 > 사건 A1, A2 ---- An 이 서로 "배반사건"이고, Ω = A1 ∪ A2 ----- ∪ An 일 때, 사건 A1 --- An 을 교집합이 존재하지 않기 때문에, Ω의 분할이라고 한다... mambo-coding-note.tistory.com http://solarisailab.com/archives/2614 베이즈 정리(Bayes’ Theorem)-베이즈 룰(Bayes Rule)-의 정의와 의미 | 솔라리스의 인공지능 연구실 이.. 2020. 2. 9.
ML : 오차 vs 잔차 오차 (Error) 정의 > "모집단"에서 실제값이 회귀선과 비교해 볼 때 나타나는 차이(정확치와 관측치의 차이) 종류 1) 정오차(constant error) - 일정한 조건하에서 같은 방향 또는 같은 크기로 일어나는 오차 (1) 물리적 원인에 따른 오차 (2) 기계적 원인에 따른 오차 (3) 개인적 특성에 따른 오차 2) 우연오차(accident error) - 관측 조건에 따라서 그때그때 나타나는 오차 3) 착오(mistake) - 관측자의 부주의로 인한 오차 잔차(Residual) 정의 > "표본집단" 에서 관측값이 회귀선과 비교해볼 때 나타나는 차이 검증 1) 독립성 가정 - 선형회귀분석에서 종속변수가 시간 또는 위치에 영향을 받는 시계열데이터인 경우 이웃하는 관찰값들 사이에 상관관계가 있을 수.. 2020. 2. 1.
ML&DL : train, validation, test 데이터로 나누기 code - 1 import sklearn def data_split(examples, labels, train_frac, random_state=None): ''' https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html param data: Data to be split param train_frac: Ratio of train set to whole dataset Randomly split dataset, based on these ratios: 'train': train_frac 'valid': (1-train_frac) / 2 'test': (1-train_frac) / 2 Eg: .. 2020. 2. 1.
ML&DL : 정규성, 독립성, 등분산성 검증 정규성 검증 정의 > 정규성이란, 그래프가 정규분포를 향하는지, 정규성을 검증하는 것을 말한다. > 선형회귀에서는 잔차가 정규분포를 향해야 한다. Why?? 잔차가 정규분포를 향해야하는 이유는 오른쪽 그림처럼 잔차가 정규분포를 향하지 않는다면, 선형회귀식이 균등하게 설명하지 못하기 때문이다. 등분산성, 독립성 검증 정의 > fiited_value를 변수로 할 때, 이 들의 잔차들이 얼마나 고르게 퍼져있는가를 test 하는 것을 등분산성 검증. > 잔차들간의 상관관계가 있는지를 test 하는 것을 독립성 검증이라고 한다. 2020. 2. 1.