목록Artificial Intelligence/Machine Learning
반응형
(20)
s5unnyjjj's LOG
아래 그림과 같이 데이터를 분리할 decision boundary인 hyperplane을 찾아야한다. 여기서 초평명(hyperpalne)은 최대 마진 분류기가 선형 경계로 사용하는 선으로 임의의 공간을 반으로 양분하는 선이다. 2차원 공간에서의 초평면은 1차원 직선이고, 3차원 공간에서의 초평면은 2차원 평면이다. 예를 들면 아래와 같은 빨간색 실선인 hyperplane으로 데이터를 분리할 수 있다. 아니면 아래와 같은 빨간색 점선인 hyperplane으로 데이터를 분리할 수도 있다. 이렇게 구분이 가능한 즉 분리가 가능한 초평면이 두 개 이상인 hyperplane이 존재한다면, 이것을 separating hyperplane이라 부른다. 즉, 아래 그림처럼 분리가 가능한 초평면이 하나가 아닌 여러개인 경..
K-근접이웃 (K-Nearest Neighbors, K-NN) 분류하고자하는 새로운 데이터와 가장 가까운 K개의 학습 데이터를 이용하여 새로운 데이터의 클래스를 분류한다. 가장 가까운 K개의 학습 데이터들이 주로 속한 클래스로 새로운 데이터를 분류한다. 즉, 새로운 데이터를 입력으로 받았을 때, 가장 가까이 있는 것이 무엇이냐를 중심으로 새로운 데이터의 종류를 정해주는 알고리즘이다. 방법은 아래와 같다. 가장 가까운 이웃을 찾기 위해, Euclidean distance를 사용하여 이웃간의 거리를 계산한다. 계산한 이웃간의 거리 중, 거리가 가까운 이웃들 K개 만큼 탐색한다. 다수결의 원리에 근거하여, 신규 테스트 데이터의 class를 예측한다. Euclidean distance를 이용한 거리 계산은 아래..
오차 행렬 (Confusion matrix) 일반적으로 분류문제의 경우, 정화곧(accuracy)를 기준으로 성능을 평가하게 된다. 정확도는 (클래스를 올바르게 분류한 데이터의 수)/(전체 데이터의 수)로 계산한다. 그러나 정확도를 기준으로 판단할 경우 클래스가 불균등한 문제에서 원하지 않는 결과를 얻게 된다. 예를 들면 아래와 같은 상황이다. 이러한 한계점을 해결하기 위하여 분류 모델의 성능을 평가하기 위해 사용되는 테이블인 오차 행렬(Confusion matrix)를 사용한다. TP : 맞춘경우 => 실제값이 1이고, 예측값도 1인 경우 FN : 틀린경우 => 실제값이 1이고, 예측값도 0인 경우 FP : 틀린경우 => 실제값이 0이고, 예측값도 1인 경우 TN : 맞춘경우 => 실제값이 0이고, 예..
Cross-validation test dataset에 과적합되어 다른 실제 데이터에서 수행 시, 엉망이 되는 것을 방지한다. Cross Validation (CV)의 목표는 주어진 데이터에서 훈련된 모델의 test error를 측정하는 것이다. 예시로는 Validation approach, Leave-one-out cross validation (LOOCV), K-Fold cross validation이 있다. Validation approach 방법은 다음과 같다. data를 두 파트로 나눈다 : training set, validation set training set에 모델을 맞추고 validation set에 테스트 한다. 하지만 학습 시 사용되는 데이터 수가 줄어들고, 매번 다른 random ..
정규화 (Regularization) 다중회귀분석에서는 지나치게 많은 독립변수를 사용하게 되면 과적합(Overfitting)이 발생한다. 또한, 곡선회귀분석에서는 지나치게 높은 차원을 사용하게 되면 과적합이 발생한다. Theory #3 ( https://s5unnyjjj.tistory.com/41?category=939071 ) 에서 확인했듯이 과적합은 일반화 성능을 떨어뜨리게되므로 피해야 한다. 이러한 과적합을 방지하기 위해서는 규제를 가하는 정규화 방법을 사용한다. 예시로는 Norm-based shrinkage와 Dropout, Noise-augmentation, Batch Normalization 등이 있다. 본 글에서는 Norm-based shrinkage에 대해서 알아본다. Norm-based ..
일반화 (Generalizatoin) 머신러닝 알고리즘들은 학습 과정을 통하여 점차 학습 데이터에 대하여 오차 즉, 학습오차를 감소시켜 나간다. 그러나 우리가 학습의 결과로 원하는 모델은 도메인에서 주어진 임의에 데이터에 대하여 성능이 뛰어난 모델, 즉 "일반화 오차(generalization error)"가 작은 모델을 원하게 된다. 일반화가 잘된 모델이야 말로 좋은모델이기 때문이다. 따라서 모델의 성능을 평가할 때는 도메인에서 임의로 뽑은, 그리고 학습에 사용되지않은 데이터들인 테스트 데이터들에서의 성능을 평가해야 한다. 학습에 사용되지 않은 데이터는 다른 종류의 데이터이므로 해당 데이터에 대해서도 테스트 했을 시 높은 성능을 보인다면 그것이야말로 일반화가 잘된 모델임을 입증할 수 있게된다. trai..
Supervised Learning (지도학습) 정의 : 훈련 데이터로 입력과 출력 데이터가 있고, 이를 모델화하여 새로운 데이터에 대해 정확한 출력을 예측하는 것 종류 : Regression, Classification, K-Nearest Neighbors (K-NN), SVM Regression (회귀) 어떤 데이터들의 특징을 기준으로 연속된 값을 예측 출력에는 연속성이 있고, 그 연속성 중에 어디에 점을 찍을지 결정하는 문제 확률 예측 X 예시로 집값추정, 패턴, 트렌드, 경향 예측 등이 존재 Regression 종류로 Linear regression이 존재 관련 설명은 본 블로그내에 새로운 글로 업로드하였으며, 링크는 아래와 같으니 참고바랍니다. https://s5unnyjjj.tistory.co..
엔트로피 (Entropy) 불순도를 수치화한 지표, 불확실성 측정의 정도를 의미한다. 엔트로피 수치가 0이라면, 해당 분류에 속하는 개체의 속성이 모두 동일하다. 즉, 분류를 하지 않아도 된다. 엔트로피 수치가 0에 가까워질수록 불순도가 낮고, 엔트로피 수치가 1에 가까워질수록 불순도가 높다. 즉, 불순한 상태는 분류하기 어려운 상태로 볼 수 있으며, 불순한 상태일수록 엔트로피 수치는 커지며 불순도가 높을수록 분류하기 어렵다. 결론은 불순도와 엔트로피는 비례관계이다. 식은 아래와 같다. 크로스 엔트로피 (Cross Entropy) Estimated value와 실제 정답이 되는 값이 서로 얼마나 근사한지 보는 것으로 주로 classification에 사용된다. 식은 아래와 같다. 상대 엔트로피 (Rela..