AI 68

[Machine Learning] 부스팅 (Boosting)

부스팅(boosting)은 앙상블 학습(ensemble learning) 방법 중 하나입니다. 앙상블 학습은 같은 데이터를 기반으로 학습한 여러 모델을 비교 및 결합하여 개별적인 모델보다 성능이 더 나은 최종 모델을 만드는 것입니다. 부스팅은 앞서 보팅(voting)과 같은 독립접 앙상블 방법과 달리 의존적 앙상블 방법입니다. 부스팅의 핵심 아이디어는 분류하기 어려운 데이터에 집중한다는 것입니다. 즉, 데이터 포인트에 가중치를 할당함으로써 학습 중 관심의 정도를 반영할 수 있습니다. 학습 초기에는 모든 데이터 포인트에 동일한 가중치를 할당하고, 점차 학습이 진행되면서 올바르게 분류된 데이터 포인트의 가중치는 감소하는 반면에 잘못 분류된 데이터 포인트 가중치는 증가하게 됩니다. 즉, 이전 단계에서 만들어진..

AI/Machine Learning 2023.05.31

[Machine Learning] 배깅 (Bootstrap Aggregating, Bagging)

배깅(bootstrap aggregating, bagging) 또한 앙상블 학습(ensemble learning) 방법 중 하나입니다. 앙상블 학습은 같은 데이터를 기반으로 학습한 여러 모델을 비교 및 결합하여 개별적인 모델보다 성능이 더 나은 최종 모델을 만드는 것입니다. 앞서 보팅 방법과 달리 배깅은 동일한 학습 데이터를 사용하는 것이 아니라 부트스트랩(bootstrap) 샘플을 추출하여 학습하는 방법입니다. 여기서 부트스트랩이란 중복을 허용한 랜덤 샘플 추출 방법입니다. 또한 개별 모델은 모두 같은 머신러닝 알고리즘을 사용합니다. 가장 유명한 배깅 방법에는 랜덤 포레스트(random forest)가 있습니다. 랜덤 포레스트는 의사결정나무(decision tree)를 기반으로 예측한 결과를 평균으로 ..

AI/Machine Learning 2023.05.31

[Machine Learning] 보팅 (Voting)

보팅(voting)은 앙상블 학습(ensemble learning) 방법 중 하나입니다. 앙상블 학습은 같은 데이터를 기반으로 학습한 여러 모델을 비교 및 결합하여 개별적인 모델보다 성능이 더 나은 최종 모델을 만드는 것입니다. 보팅은 말 그대로 같은 데이터를 기반으로 개별 모델들의 결과를 투표를 통해 최종 목표 모델을 결정하는 방법입니다. 여기서 투표 방식은 두 가지가 있습니다. 1. 하드 보팅 (hard voting) 하드 보팅은 분류 문제에서 개별 모델들이 가장 많이 분류한 클래스로 최종 결과를 내는 방법입니다. 아래 그림에서 3개의 모델 중 2개의 모델이 0으로 분류했기 때문에 최종 예측은 0입니다. 2. 소프트 보팅 (soft voting) 소프트 보팅은 분류 문제에서 개별 모델들이 예측 확률을..

AI/Machine Learning 2023.05.31

[Machine Learning] 서포트 벡터 머신 (Support Vector Machine, SVM)

서포트 벡터 머신(SVM)은 서포트 벡터라고 하는 기준으로 클래스를 판별합니다. 데이터를 분류할 때, 중심선과 경계선을 이용할 수 있습니다. 여기서 경계선을 서포트 벡터라고 데이터와 최소의 마진을 나타냅니다. 또한 서포트 벡터 머신은 분류할 클래스에서 최대 마진을 남기는 결정 경계선이라고 할 수 있습니다. 최대 마진이라는 것은 더 분명하게 클래스를 분류할 수 있다는 말입니다. 위 그림에서 분류할 클래스는 빨강, 파랑 2가지이며 실선은 중심선, 점선은 경계선 입니다. 중심선과 경계선의 거리는 1로 가정했습니다. 마진 r 은 다음과 같이 계산할 수 있으며, 서포트 벡터 간 거리는 아래와 같습니다. 최대 마진을 구하기 위해서 라그랑주 승수법을 이용하여 풀어냅니다. 최대 마진 계산 방법 중 하드 마진을 사용하는..

AI/Machine Learning 2023.05.31

[Machine Learning] 의사결정나무 (Decision Tree)

의사결정나무(Decision Tree)란 이름 그대로 의사 결정을 하는 데 나무(tree)를 사용한다는 뜻입니다. 의사결정나무는 예측 또는 분류 문제를 해결함에 있어서 어떤 변수가 가장 중요한 영향을 주는지 확인할 수 있고, 나아가 각 변수별로 어떤 척도에 따라 예측 또는 분류했는지 상세한 기준을 알 수 있다는 장점이 있습니다. 트리를 구성하는 방법은 엔트로피(Entropy)와 지니계수(Gini Index)를 사용하는 방법이 있는데, 이 중 엔트로피를 사용하는 방법을 알아봅시다. 먼저 엔트로피란 불순도(impurity) 정도를 측정하며, 낮을수록 좋습니다. 여기서 불순도란 노드에 서로 다른 데이터가 얼마나 섞여 있는지를 의미합니다. 또한 불순도가 낮을수록 데이터가 섞여 있지 않다는 것을 의미합니다. 엔트..

AI/Machine Learning 2023.05.25

[Machine Learning] 나이브 베이즈 (Naive Bayes)

나이브 베이즈(Naive Bayes)는 서로 조건부 독립인 피처를 가정하고, 베이즈 이론을 기반으로 하는 머신러닝 알고리즘입니다. 베이즈 정리란 두 확률 변수의 사전 확률과 사후 확률 사이의 관계를 나타내는 정리입니다. 즉, 어떤 사건이 서로 배반하는 원인 둘에 의해 일어난다고 할 때 실제 사건이 일어났을 때 이것이 두 원인 중 하나일 확률을 구하는 정리를 베이즈의 정리라고 합니다. 공식은 다음과 같습니다. 베이즈 확률론 해석에 따르면 베이즈 정리는 사전확률로부터 사후확률을 구할 수 있습니다. 이러한 베이즈 정리는 불확실성 하에서 의사결정 문제를 수학적으로 다룰 때 사용됩니다. 예를 들어 다음과 같이 날씨에 따라 축구를 진행했는지 여부를 나타내는 데이터를 나이브 베이즈를 이용해 분류해 봅시다. 빈도 수를..

AI/Machine Learning 2023.05.24

[Machine Learning] 로지스틱 회귀 (Logistic Regression)

일반적으로 선형 회귀 분석은 연속형 값을 예측하기에 적합하지만 범주형(분류)으로 예측하기에는 적합하지 않습니다. 선형 회귀 분석은 타겟 데이터의 범위가 무한대이기 때문입니다. 범위가 무한대라는 것은 만일 피처 데이터를 입력으로 두 개의 class(0, 1)로 분류해야 할 때 예측값이 0 또는 1로 제한되어 있다면 가능하지만, 3이라는 값으로 예측하게 된다면 이것은 0과 1로 분류하기는 어렵다는 것을 의미합니다. 이러한 문제를 해결하기 위한 방법 중 하나가 바로 로지스틱 회귀입니다. 로지스틱 회귀는 일반적인 선형 회귀 분석에서 출력값에 시그모이드 함수를 사용하여 0과 1사이의 값으로 변환시키는 방법으로, 이진 분류 방법입니다. (다중 분류일 경우에는 소프트맥스 함수를 사용해야 합니다.) z는 선형 회귀 모..

AI/Machine Learning 2022.09.29

[Machine Learning] 라쏘, 릿지, 엘라스틱넷 (Ridge, Lasso, ElasticNet)

회귀 분석에는 제약식을 포함할 수 있습니다. 제약이 없다면 측정하려는 가중치 W가 기하급수적으로 커질 수 있으며 이로 인해 분산이 커지는 문제가 발생하게 됩니다. 이를 해결하기 위해 여러가지 제약식을 사용할 수 있습니다. 1. 라쏘 회귀(Lasso Regression) - L1 Regularization 라쏘 회귀는 L1 Loss 형태인 |θ|를 제약식으로 추가하여 특성값의 가중치가 극히 낮은 값이면 0으로 수렴하게 하여 특성을 제거하는 방법입니다. 특성을 0으로 만든다는 것은 상대적으로 bias를 증가시켜 오버피팅을 방지할 수 있습니다. 2. 릿지 회귀(Ridge Regression) - L2 Regularization 릿지 회귀는 L2 Loss 형태인 θ^2를 제약식으로 추가하여 모델 예측에 영향을 ..

AI/Machine Learning 2022.09.28