공부일기 44

베이지안 최적화(Bayesian Optimization)

하이퍼파라미터란머신러닝 모델의 성능과 구성을 결정하는 외부 설정값이다. 데이터로부터 추정할 수 없으며, 주로 모델의 성능을 돕기 위해 사용된다.  하이퍼파라미터는 모델 학습 과정에서 자동으로 결정되지 않고 사용자가 사전에 설정하는 값으로 머신러닝 모델의 성능은 파라미터와 하이퍼파라미터의 조합에 크게 의존하므로 올바른 값을 찾는 것이 중요하다. 하이퍼파라미터를 조정하는 방법에는 경사하강법, 정규화, 베이지안 최적화 등이 있고 이 외에도 다양한 머신 러닝 모델에 관련된 파라미터와 하이퍼파라미터가 있다. 이들을 적절히 설정하면 모델의 성능을 최적화할 수 있다.     베이지안 최적화하이퍼파라미터를 최적화하기 위한 방법이다. 가능한 최소의 시도로 최적의 답을 찾아야 할 경우와 개별 시도에 너무 많은 시간 또는 ..

이상치 탐지(Anomaly Detection)

이상치 탐지데이터에서 예상과 다른 패턴을 보이는 개체는 자료를 찾는 것을 말한다. 즉, 학습 데이터를 기반으로 기존 데이터들과는 다른 특성을 갖는 데이터를 찾는 모형을 만드는 방법이다.  '이상'이라는 표현은 적용되는 도메인 컨텍스트나 데이터의 종류에 따라 다양하게 불린다.   이상치 탐지와 혼동되는 것들1. 분류(Classification)분류는 두 범주를 구분할 수 있는 경계면을 찾는 것이고, 이상치 탐지는 다수의 범주를 고려해 이상치가 아닌 데이터들의 sector(부문)를 구분 짓는 것이다.  2. Noise DetectionNoise는 분석 이전 단계에서 불필요한 개체 또는 제거해야 할 성분을 말하는 것으로 이를 조정함으로써 통계 모형 추정에서 이상치에 영향을 줄 수 있다. 또한, Noise De..

그라디언트 부스팅 알고리즘(GBM, Gradient Boosting Machine)

그라디언트 부스팅머신러닝에서 부스팅은 약한 모델을 여러 번 순차적으로 적용해 강한 모델을 만들어 나가는 것을 의미한다.  그라디언트 부스팅은 Gradient(또는 잔차(Residual))를 이용해 이전 모형의 약점을 보완하는 새로운 모형을 순차적으로 적합한 뒤 이들을 선형 결합하여 얻어진 모형을 생성하는 지도 학습 알고리즘이다.  GBM에서 사용되는 가장 핵심적인 방법은 gradient descent, 경사하강법이다. 경사하강법은 손실 함수(loss fuction)를 정의하고 이의 미분값이 최소가 되도록 하는 방향을 찾고 접근하는 방식이다.   그라디언트 부스팅 작동 요소그라디언트 부스팅은 세 가지 요소를 수반한다. 최적화되는 손실 함수사용된 손실 함수는 해결되는 문제의 유형에 따라 다르다. 예를 들어 ..

차원 축소 기법(Dimensionality Reduction)

차원 축소(Dimensionality Reduction 또는 Dimension Reduction)고차원 원본 데이터의 의미 있는 특성을 원래의 차원과 가깝게 유지할 수 있도록 고차원 공간에서 저차원 공간으로 데이터를 변환하는 것을 말한다. 즉, 고차원의 데이터로부터 저차원의 데이터로 변환하는 방법이다.  차원 축소를 할 때는 원본 데이터로부터 일부 정보가 손실될 수 있어 원본 데이터로부터의 정보 손실을 최소화하면서 저차원으로 얼마나 잘 재표현할 수 있느냐가 관건이다.  이론적으로 변수간 독립성 만족 시 변수의 수가 증가할수록 모델의 성능이 향상한다. 그러나 실제 상황에서는 변수간 독립성 가정 위배, 노이즈 존재 등으로 인해 변수의 수가 일정 수준 이상 증가하면 모델의 성능이 저하되는 차원의 저주에 빠진다..

모델 평가 지표

모델 평가데이터 준비, 모델 학습과 더불어 모델 성능을 측정하는 것 또한 머신러닝의 핵심단계라고 할 수 있다. 모델의 성능을 평가하는 것은 모델이 실제 환경에서 얼마나 잘 작동할지 예측하는데 중요하다. 그러므로 학습 목적에 따라 그에 맞는 적절한 평가지표를 사용해 올바른 성능 평가를 진행해야 한다.  적절한 모델 성능 평가는 모델의 개선 방향을 정립하고, 최적의 모델을 선택할 수 있다. 모델 성능 평가는 실제값과 모델에 의해 예측된 값을 비교하여 두 값의 차이(오차)를 구하는 것으로 '(실제값 - 예측값) = 0'이 되면 모델이 값을 100% 잘 맞췄다고 생각하면 된다. 하지만 예측값이 실제값과 100% 일치하는 것은 현실적으로 힘들기 때문에, 오차를 구해서 어느 정도까지 오차를 허용할지 결정하게 된다...

특성 선택(Feature Selection) 및 엔지니어링(Feature Engineering)

특성(Feature)특성은 데이터에서 관측된 각 변수 또는 속성을 의미한다.예측 모델링 또는 분류 작업에서 사용될 수 있으며, 예측변수, 입력변수, 독립변수 등으로 불리기도 한다. 예를 들어, 고객 분류를 위한 고객의 나이, 성별, 소득, 거주 지역 등이 특성으로 사용될 수 있다.  특성은 문맥이나 사용되는 분야에 따라 변수, 속성, 입력 변수 등 다른 형태로 변역될 수 있다. 변수 : 통계 및 머신러닝 분야에서 일반적으로 사용된다. 속성 : 데이터 세트의 특정 속성을 나타내는 데 사용된다.입력 변수 : 모델에 입력되는 데이터의 특성을 나타내는 용어다.   특성 선택(Feature Selection)특성 중 가장 유용하거나 중요한 특성을 식별하고 선택하는 프로세스다. 즉, 모델을 구성하기 위한 특징을 선..

과적합(Overfitting)과 정규화(Regularization)

과적합 집값을 선형 회귀로 표현한 그래프를 통해 과소적합과 과적합을 설명하고자 한다. 그림의 왼쪽 그래프는 과소적합(Underfitting)을 의미한다.그래프에 사용되는 Feature(특징)이 1개뿐인데, 매개변수 2개를 사용해 직선 형태로 데이터를 억지로 모델링하려 하니 알고리즘이 강한 선입견을 가지게 되어 데이터의 분포가 '집의 크기가 커져도 집값이 크게 변하지 않는 평탄한 부분'에 대한 예측을 잘하지 못하게 된다.이런 과소적합을 다른 말로 표현하면, 모델이 높은 편향(Bias)을 가지고 있다고 할 수 있다.편향은 어떤 것을 예측할 때 특징의 영향을 받지 않는 값인데 이 편향 수치가 높으면 특징에 관계없이 엉뚱한 예측을 하게 된다. 주로 모델이 단순하거나, 학습 반복(Iteration) 횟수가 적은 ..

교차 검증(Cross Validation)

교차 검증데이터를 여러 부분으로 나누고, 각 부분을 훈련과 테스트 용도로 번갈아 사용하여 모델을 평가하는 방법이다. 이를 통해 모델의 일반화 성능을 더 정확하게 측정할 수 있다. 조금 더 쉽게 설명하자면 학습 데이터를 학습 데이터와 검증 데이터로 나눠서 학습 데이터를 가지고 모델의 성능을 1차로 평가하는 검증 데이터를 만든다. 그 다음 테스트 데이터는 최종적으로 모델의 성능을 확인할 때 사용한다.    교차 검증 특징훈련 데이터가 많지 않을 때 사용한다. 훈련 데이터로 학습하고 테스트 데이터로 평가하는 경우, 해당 테스트 데이터에만 과적합되는 모델이 생성되어 일반화 성능이 떨어진다. 훈련 데이터에서 검증 데이터를 떼어내어 모형을 검증하는 과정을 여러번 반복한다.   교차 검증 장단점장점모든 데이터 셋을 ..

앙상블 학습 방법(Ensemble Learning)

앙상블 학습여러 개의 개별 모델을 조합하여 최적의 모델로 일반화하는 방법이다. weak classifier(약한 분류)들을 결합하여 strong classifier(강한 분류)를 만드는 것이다. 결정 트리에서 과적합(overfitting)되는 문제를 앙상블에서는 감소시킨다는 장점이 있다.  앙상블 기법에는 보팅(voting), 배깅(bagging), 부스팅(boosting), 스태킹(stacking)이 있다.   보팅(voting)여러 머신러닝 알고리즘을 같은 데이터 세트에 대해 학습하고 예측한 결과를 투표하여 최종 예측 결과를 선정하는 방식이다.  하드 보팅(hard voting)각 분류기가 최종 클래스를 정하면 더 많은 클래스를 최종 클래스로 결정한다. 다수결의 원칙과 비슷하다. 소프트 보팅(soft..

나이브 베이즈 분류기(Naive Bayes Classification)

나이브 베이즈 분류기나이브 베이즈 분류기는 지도 학습의 분류 모델에 속하는 기법이다. 텍스트 분류와 같은 분류 작업에 사용되는 감독형 머신 러닝 알고리즘으로, 분류 작업을 수행할 때 확률 원칙을 사용한다. 또한, 나이브 베이즈는 통계 및 컴퓨터 과학 문헌에서 단순 베이즈, 독립 베이즈를 포함한 다양한 이름으로 알려져 있다.  분서를 여러 범주 중 하나로 판단하는 문제에 대한 대중적인 방법으로 남아있으며, 적절한 전처리를 하면 더 진보된 방법들(예 : 서포트 벡터 머신)과도 충분한 경쟁력을 보인다.  나이브 베이즈 분류에 대해 알기 위해서는 베이즈 정리를 먼저 알아야 한다.  베이즈 정리란?추론 대상의 사전 확률과 추가적인 정보를 기반으로 해당 대상의 사후 확률을 추론하는 통계적 방법을 말한다. 조금 더 ..