반응형

Machine Learning/Supervised Learning 15

[Supervised Learning][Ensemble][Boosting] XGBoost (eXtream Gradient Boosting)

XGBoost(eXtream Gradient Boosting) Gradient Boosting 알고리즘을 분산환경에서도 실행할 수 있도록 구현해놓은 라이브러리 Gradient Boosting 알고리즘에 overfitting 방지를 위한 기법이 추가된 알고리즘 Regression, Classification 문제를 모두 지원하며, 성능과 자원 효율이 좋아서, 인기 있는 알고리즘 중 하나 Tree Boosting 기법을 활용한 모델 tree boosting 방식에 경사 하강법을 통해 최적화하는 방법 연산량을 줄이기 위해 의사결정 트리를 구성할 때 병렬 처리를 사용해 빠른 시간에 학습 가능 XGBoost 장점과 단점 장점 GBM (Gradient Boosting Machine) 대비 빠른 수행시간 병렬 처..

[Supervised Learning][Ensemble][Bagging] Extra Tree / Extremely Randomized Tree

Extra Tree(엑스트라 트리) / Extremely Randomized Tree (익스트림 랜덤 트리) Random Forest bootstrap 샘플과 랜덤한 후보 특성들을 사용해 여러 개의 결정 트리(decision tree)을 앙상블 훈련 데이터에 overfitting을 막아주고 모델의 일반화 성능이 항상 단일 트리보다 높다 Random Forest와 매우 비슷하게 동작하는데, 기본적으로 100개의 decision tree를 훈련시킴 전체 특성 중에 일부 특성을 랜덤하게 선택하여 노드를 분할하기 위해 사용 Random Forest와 달리 bootstrap 샘플(중복된 훈련 샘플)을 사용하지 않는다 즉, 각 결정 트리를 만들어낼 때 전체 훈련 세트를 사용하는 것으로, 이는 분할할 때 가장 좋은 ..

[Supervised Learning][Ensemble][Boosting] LGBM (Light Gradient Boosting Machine)

LGBM (Light Gradient Boosting Machine) Light는 "가볍다"라는 의미로 빠른 속도를 나타낸다는 장점이 있다 트리 기반의 학습 알고리즘인 gradient boosting 방식의 프레임워크 performance 및 scalability를 목적으로 마이크로소프트사에서 개발 다른 tree 알고리즘이 tree을 수평으로 확장(level-wise)하는 반면 LGBM은 tree를 수직으로 확장(leaf-wise) Level-wise tree growth (수평 확장, 균형 트리분할) 최대한 균형 잡힌 트리를 유지하며 분할하여 트리의 깊이를 최소화하여 overfitting에 강한 구조이지만 균형을 맞추기 위한 시간 필요 Leaf-wise tree growth (수직 확장, 리프중심 트리..

[Supervised Learning][Regression] Regression Tree(회귀 트리)

[Supervised Learning] Decision Tree [Supervised Learning] Decision Tree Decision Tree (결정 트리) 분류와 회귀 문제에 널리 사용하는 모델 결정에 다다르기 위해 예/아니오 질문을 이어 나가면서 학습 결정 트리의 학습은 정답에 가장 빨리 도달하는 예/아니오 질문(테스 yumdata.tistory.com Regression Tree 회귀 함수를 기반으로 하지 않고 결정 트리와 같이 트리를 기반으로 한 회귀 방식 모델 회귀를 위한 트리를 생성하고 이를 기반으로 회귀 예측을 하는 것 vs Classification Tree 리프 노드에서 예측 결정값을 만드는 과정이 다름 분류 트리가 특정 클래스 레이블을 결정하는 것과는 달리 회귀 트리는 리프 ..

[Supervised Learning][Ensemble][Boosting] Gradient Boosting

Boosting 동일한 알고리즘의 분류기를 순차적으로 학습해서 여러 개의 분류기를 만든 후, 테스트할 때 가중 투표를 통해 예측값을 결정 분류기 A, B, C가 있고, 각각이 0.3정도의 accuracy를 보여준다면 A, B, C를 결합하여 더 높은 정확도, 예를 들어 0.7 정확도를 얻는 게 앙상블 알고리즘의 기본 원리 가중치를 활용하여 약 분류기를 강 분류기로 만드는 방법 처음 모델이 예측을 하면 그 예측 결과에 따라 데이터에 가중치가 부여되고, 부여된 가중치가 다음 모델에 영향을 줌 잘못 분류된 데이터에 집중하여 새로운 분류 규칙을 만드는 단계 반복 Gradient Boosting(GBM, Gradient Boosting Machine) 얕은 깊이의 트리를 사용하여 이전 트리의 오차를 보완하는 방식..

[Supervised Learning][Ensemble][Bagging] Random Forest

Bagging(Bootstrap Aggregation) 여러 개의 학습 알고리즘, 모델을 통해 각각 결과를 예측하고 모든 결과를 동등하게 보고 취합해서 결과를 얻는 방식 한 가지 분류 모델을 여러 개 만들어서 서로 다른 학습 데이터로 학습시킨 후(bootstrap), 동일한 테스트 데이터에 대한 서로 다른 예측값들을 투표를 통해(aggregation) 가장 높은 예측값으로 최종 결론을 내리는 앙상블 기법 기본 요소로 결정 트리 사용 샘플을 여러 번 뽑아(Bootstrap) 각 모델을 학습시켜 결과물을 집계(Aggregration) 하는 방법 무작위로 훈련 데이터 셋을 잘게 나눈 후 나누어진 훈련 데이터 셋을 여러 개의 모델에 할당하여 학습 중복을 허용하며 훈련 데이터 셋을 나누는데 통계학에서는 이 방법을..

[Machine Learning][Regression Metrics] R-squared(결정계수)

Regression Metrics R (상관계수) 독립변수와 종속변수간의 선형적인 관계를 나타내는 척도 상관계수는 -1부터 1까지의 값을 갖는다. 1에 가까울 수록 양의 상관관계를 의미하고, -1에 가까울수록 음의 상관관계를 의미한다. 반대로 0에 가까울수록 두 변수 간에 선형적인 관계가 없다고 볼 수 있다. 상관계수는 두 변수 간에 단순 관련성이 아닌 선형적인 관계를 나타내기 때문에 상관계수 값이 0에 가까운 값이더라도 두 변수 간에 비선형적인 관계가 있을 수 있다. R-squared (Coefficient of Determination, 결정계수) 회귀분석에서 나오는 개념으로 모형(즉 독립변수들)이 종속변수를 얼마나 설명하냐를 보여주는 계수 회귀직선의 적합도(goodness-of-fit)를 평가하거나..

[Supervised Learning][Classification] Naïve Bayes

나이브 베이즈 (Naïve Bayes) 나이브 베이즈 분류 알고리즘은 데이터를 나이브(단순)하게 독립적인 사건으로 가정하고, 이 독립 사건들을 베이즈 이론에 대입시켜 가장 높은 확률의 레이블로 분류를 실행하는 알고리즘 Bayes' theorem (베이즈 정리) 어떤 사건이 서로 배반하는 원인 둘에 의해 일어난다고 할 때 실제 사건이 일어났을 때 이것이 두 원인 중 하나일 확률을 구하는 정리 조건부 확률(사후 확률)을 구하는 것을 말하며, 어떤 사건이 일어난 상황에서, 그 사건이 일어난 후 앞으로 일어나게 될 다른 사건의 가능성을 구하는 것. 즉, 기존 사건들의 확률(사전 확률)을 알고 있다면, 어떤 사건 이후의 각 원인들의 조건부 확률을 알 수 있다 단, 기존 사건들의 확률을 알지 못하다면 베이즈 정리는..

[Supervised Learning][Regression] Ridge Regression, Lasso Regression

Ridge Regression 릿지도 회귀를 위한 선형 모델 최소 제곱법에서 사용한 것과 예측 함수를 사용. 단, 가중치의 절대값을 가능한 작게 만드는 것이 목적 → 규제: 과대 적합이 되지 않도록 모델을 강제로 제한 L2규제, 계수의 L2노름의 제곱을 패널티로 적용 ※ 과대적합(Overfitting) 가진 정보를 모두 사용해서 너무 복잡한 모델을 만드는 것 ※ 과소적합(Underfitting) 너무 간단한 모델이 선택되는 것 모델이 너무 간단해서 데이터의 면면과 다양성을 잡아내지 못하고 훈련 세트에도 잘 맞지 않는 경우 Lasso Regression L1규제를 사용. 계수의 절대 값의 합을 패널티로 사용 일반적으로 릿지 회귀를 선호하지만 특성이 많고 그 중 일부분만 중요하다면 라쏘가 좋은 선택일 수 있다.

[Supervised Learning][Classification] SVM(Support Vector Machine)

SVM(Support Vector Machine) 각 훈련 데이터 포인트들의 클래스 결정 경계(decision boundary)를 구분하는 것을 학습 Support Vector: 두 클래스 사이의 경계에 위치한 데이터 포인터 새로운 데이터 포인트에 대해 예측할 때는 데이터 포인트와 각 서포트 벡터와의 거리를 측정 서로 다른 클래스를 지닌 데이터 사이의 간격이 최대가 되는 선이나 평면을 찾아 이를 기준으로 각 데이터를 분류하는 모델 데이터 사이에 존재하는 여백을 최대화, 일반화하여 성능을 극대화 Margin 서포트 벡터와 결정 경계 사이의 거리 SVM의 목표는 마진을 최대로 하는 결정 경계를 찾는 것 Decision boundary(결정 경계): 서로 다른 분류값을 결정하는 경계 데이터의 벡터 공간을 N차..

[Supervised Learning] Decision Tree

Decision Tree (결정 트리) 분류와 회귀 문제에 널리 사용하는 모델 결정에 다다르기 위해 예/아니오 질문을 이어 나가면서 학습 결정 트리의 학습은 정답에 가장 빨리 도달하는 예/아니오 질문(테스트) 목록을 학습한다는 뜻 트리 만들기는 모든 리프 노드가 순수 노드가 될 때까지 진행 모델이 매우 복잡해지고 훈련 데이터에 과대 적합(overfitting)됨 적절한 리프 노드의 샘플 개수와 트리의 깊이에 제한을 둬서 과대 적합 방지해야 함 과대 적합(overfitting)을 막기 위해 사전 가지치기(pre-pruning)와 데이터 포인트가 적은 노드를 삭제하거나 병합하는 방법 사용 장점 수학적인 지식이 없어도 결과를 해석하고 이해하기 쉽다 수치 데이터 및 범주 데이터에 모두 사용 가능하다 단점 ove..

[Supervised Learning][Regression] Linear Regression

Linear Model 입력 특성에 대한 선형 함수를 만들어 예측을 수행 특성 개수: p + 1 Linear Regression 종속 변수 y와 한 개 이상의 독립 변수 x와의 선형 상관 관계를 모델링하는 회귀분석 기법 선형 예측 함수를 사용해 회귀식을 모델링하고 알려지지 않은 파라미더를 데이터로부터 추정 회귀식을 선형 모델이라고 함 >> y가 없는 x값에 대해 y를 예측 x와 y의 관계를 정량화 Simple Linear Regression (단순 선형 회귀) 1개의 설명 변수에 기반 (독립변수 x가 1개) Multiple Lineare Regression (다중 선형 회귀) 둘 이상의 설명 변수에 기반 (독립 변수 x가 2개 이상) 여러 독립 변수에 의해 영향을 받는 경우로 2개의 독립 변수면 그래프는..

[Supervised Learning][Classification] KNN(K-Nearest Neighbor)

k-최근접 이웃(K-Nearest Neighbor, KNN) 가장 간단한 머신러닝 알고리즘 장점 구현이 쉽다 알고리즘을 이해하기 쉽다 수학적으로 거리를 계산하는 방법만 알면 이해하기가 쉽다 숫자로 구분된 속성에 우수한 성능을 보인다. 별도의 모델 학습이 필요 없다. Hyper-parameter가 적다 단점 예측 속도가 느리다 하나의 데이터를 예측할 때마다 전체 데이터와의 거리를 계산해야 한다 메모리를 많이 사용한다 노이즈 데이터(수집된 데이터가 참값만 가지고 있지 않을 경우)에 예민하다 예측값이 편향될 수 있다 학습된 모델이 아닌 가까운 이웃을 통해 예측하기 때문에 예측값이 틀릴 가능성이 상대적으로 높아진다 가장 가까운 훈련 데이터 포인트 하나를 최근접 이웃으로 찾아 예측하는 방법 숫자 k와 거리 측정 ..

[Supervised Learning][Classification] Logistic Regression

Logistic Regression(로지스틱 회귀) 선형 회귀를 입력으로 받아 특정 레이블로 분류 독립 변수의 선형 결합을 이용하여 사건의 발생 가능성을 예측하는데 사용되는 통계 기법 선형 회귀 분석과는 다르게 종속 변수가 범주형 데이터를 대상으로 하며 입력 데이터가 주어졌을 때 해당 데이터의 결과가 특정 분류로 나뉘기 때문에 일종의 분류(classification) 기법으로도 볼 수 있음 이진 분류 문제(1과 0 중에 하나를 판별하는 문제)는 로지스틱 회귀를 이용하여 풀어 갈 수 있다 Sigmoid 함수도 w와 b를 구하는 것이 목적 w 그래프의 경사도 값이 커지면 경사가 커지고, 값이 작아지면 경사가 작아짐 b 그래프의 좌우 이동을 의미 값이 크고 작아짐에 따라 그래프가 이동 Error, Cost o..

728x90
반응형