Suport Vector Machine(SVM, 서포트 벡터 머신), 최대 마진 분류
·
머신러닝
SVM는 Binanry Classiciation(이진분류) 상황에서 사용한다. 서포트 벡터 머신은 결정 경계와 가장 가까운 샘플(서포트 벡터)까지의 거리(마진)을 구해서 샘플을 분류하는 모델이다. 마진(결정경계와 데이터까지의 거리)을 최대화하는 결정경계를 찾는 것이 목적이다. 하지만 마진이 무작정 크다고 해서 좋은 결정경계를 얻는 것은 아니다. 마진이 크면 일반화 오차가 작아지고 마진이 작으면 과대적합 가능성이 높아진다. 초평면 : 벡터 공간에서 샘플을 나누는 평면 위 그림에서는 서포트 벡터 주위를 지나가는 굵은 선 양성 쪽 초평면과 음성 쪽 초평면 사이의 거리가 마진이다. 그림의 왼쪽의 두 식을 빼고 w의 길이로 나눠주면 마진의 크기를 얻을 수 있는데 (오른쪽 식) 마진의 크기를 최대화 하는게 목적이다..
Kernel Ridge Regression(KRR)
·
머신러닝
KRR = Ridge Regrssion + Kernel trick KRR은 Ridge 회귀에 커널 함수을 추가한 것이다. 기존의 Ridge regression의 비용함수는 다음과 같다. W를 구하면 인데 이 식을 matrix inversion lemma 라는 공식을 이용해서 밑의 식으로 표현 할 수 있다. 여기에서 선형적인 모델을 사용하기 위해서 input space가 아닌 feature space로 함수를 매핑시키는 특성매핑함수를 사용한다. 그럼 마지막 항으로 식이 표현된다. 마지막 항에서 보면 특성매핑함수가 내적의 꼴로 존재한다. 즉 커널함수를 사용할 수 있는 것이다. 커널함수는 특성매핑함수의 내적으로 표현할 수 있다. 즉 구하고자 하는 알파를 커널함수를 통해 쓸 수 있다. 최종적으로 Ridge re..
Kernel method, feature space(특성 공간)
·
머신러닝
왼쪽처럼 데이터를 그대로 표현했을 때 결정경계가 선형적으로 만들어지지 않는 경우는 많다. 이러한 상황에서 결정경계를 선형적으로 만들기 위해 input space에서 feature space로 공간을 바꾼다. 이렇게 공간을 바꿀 수 있게 mapping하는 함수를 특성매핑함수라고 하자. 이 함수를 거치면 선형적인 모델을 사용할 수 있는 것이다. 이처럼 새로운 특성공간으로 매핑해서 선형적이지 않은 모델을 선형적인 모델을 통해 풀 수 있게 하는 방법이 Kernel method이다. 특성매핑함수는 커널함수를 통해 표현할 수 있다. 특성매핑함수의 내적으로 커널 함수를 구할 수 있는데 이것을 이해하기 위해서는 우선 inner product(내적)의 의미를 알아야한다. x, y 두 벡터가 있을 때 두 벡터의 내적 값은..
앙상블 학습, Random Forest 개념
·
머신러닝
앙상블 학습 (Ensemble Methods)란 여러 개의 머신러닝 모델을 합해서 하나의 경쟁력이 높은 모델을 만들어내는 것이다. 앙상블 학습은 크게 두가지로 나눌 수 있다. 1. Bagging : 병렬적인 관계에 놓인 모델들을 사용하는 방법. - 분산(variance)를 줄이기 위해 사용한다. 2. Boosting : 순차적인 관계에 놓인(위계가 있는) 모델들을 사용하는 방법. - 편향(bias)를 줄이기 위해 사용한다. Random Forest는 Bagging을 사용한 방법이다. 병렬적인 관계에 놓인 결정트리를 모델로 사용한다. 그런데 어떻게 하나의 데이터 셋으로 여러 개의 서로 다른 결정트리를 만들 수 있을까? 이것은 random sampling을 이용한다. 하나의 데이터 셋에서 무작위로 샘플을 추..
Performance metrics를 통해 모델 성능 평가하기 - 정확도(Accuracy), 재현율(Recall), 정밀도(Precision), F1 score
·
ML 실습
Performance metrics 통해 정확도, 재현율, 정밀도, F1 score 등을 구해서 모델의 성능을 평가할 수 있다. Performance metrics은 밑의 표이다. 모델이 예측한 결과가 양성(positive)인지, 음성(negative)인지 / 실제 값(label)이 참(Ture)인지, 거짓(False)인지에 따라서 Performance metrics 에서 속한 값이 달라진다. 예를 들어 모델이 음성이라고 예측했는데 실제로 값이 음성이어서 예측한 결과가 참이라면 그것을 TN(True Negative)라고 부른다. 즉 양성으로 예측했는데 맞았다면 - TP 음성으로 예측했는데 맞았다면 - TN 양성으로 예측했는데 틀렸다면 - FP 음성으로 예측했는데 틀렸다면 - FN 이 Performance..