AI/Machine Learning 30

[Machine Learning] 학습(Learning)과 훈련(Training)의 차이

AI에서 학습(Learning)과 훈련(Training)은 종종 혼용되는 용어이지만, 다른 의미를 가지고 있습니다. 먼저, 학습은 지도 학습, 비지도 학습, 강화 학습과 같이 모델이 데이터나 경험을 통해 지식이나 스킬을 획득하는 과정입니다. 반대로, 훈련은 학습의 일부로서, 모델이 데이터나 경험을 통해 내부 매개변수 조정, 손실함수 최소화 등의 과정을 의미합니다. 즉, 훈련은 학습의 단계 중 하나로서, 학습 알고리즘이 모델의 매개변수를 조정하여 원하는 작업을 수행할 수 있도록 하는 것입니다. 모델이 예측하거나 분류하는 능력을 향상시키는 것이 훈련의 목표라고 볼 수 있습니다. 요약하면, 학습은 일반적인 개념으로 지식이나 스킬을 습득하는 과정을 나타내며, 훈련은 모델이 주어진 작업을 수행하도록 조정되는 구체..

AI/Machine Learning 2023.11.24

[Machine Learning] 비지도 학습 (Unsupervised Learning)

비지도 학습(unsupervised learning)은 라벨링이 되어 있지 않은 데이터를 이용하는 학습 방법입니다. 즉, 타겟 데이터 없이 피처(feature) 데이터만을 이용하여 모델을 학습시킵니다. 지도 학습(supervised learning)에서 데이터 분류를 말 그대로 분류라고 했지만, 비지도 학습에서 분류는 군집(clustering)이라고 부릅니다. 보통 군집보다는 클러스터링이란 단어로 많이 사용합니다. 클러스터링에는 여러 방법이 있지만 K-평균 클러스터링(K-means clustering)만 알아보도록 하겠습니다. K-평균 클러스터링은 N개의 데이터를 K개의 클러스터로 나누는 방법입니다. 자세히 말하면, 각 데이터 포인트와 각 그룹 평균 간의 거리를 계산한 후 가장 가까운 클러스터로 배정하는..

AI/Machine Learning 2023.06.02

[Machine Learning] 차원 축소

머신 러닝에 사용되는 데이터는 분명 우리가 얻고자 하는 결과에 중요한 부분과 중요하지 않은 부분이 있습니다. 여기서 중요하지 않은 부분을 노이즈(noise)라고 부르며, 이것을 제거하는 것이 중요합니다. 차원 축소(dimention reduction)는 노이즈 제거 방법 중 하나로, 많이 사용되고 있습니다. 실제로 경험에 의하면 이미지를 이용한 모델 설계 시 CNN(convolutional neural networks)보다 좋은 결과를 얻은 적도 있습니다. 차원 축소를 하는 이유는 차원의 저주(curse of dimentionality)를 해결할 수 있기 때문인데, 여기서 차원의 저주란 데이터의 차원이 커질수록 해당 차원을 표현하기 위한 데이터의 수가 기하급수적으로 커지는 것을 말합니다. 1차원의 데이터..

AI/Machine Learning 2023.06.01

[Machine Learning] 스태킹 (Stacking)

스태킹(stacking)은 앙상블 학습(ensemble learning) 방법 중 하나입니다. 앙상블 학습은 같은 데이터를 기반으로 학습한 여러 모델을 비교 및 결합하여 개별적인 모델보다 성능이 더 나은 최종 모델을 만드는 것입니다. 스태킹은 말 그대로 여러 가지 모델을 쌓아서 학습하는 방법으로, 베이스 모델과 메타 모델로 구성됩니다. 베이스 모델이 먼저 학습한 후 메타 모델은 베이스 모델의 예측을 피처(feature) 데이터로 활용해 최종 예측을 합니다. 베이스 모델은 여러 개의 모델들을 사용합니다. 위 그림에서 베이스 모델들은 Level0, 메타 모델은 Level1입니다. 각 베이스 모델을 A, B, C, 메타 모델을 D라고 할 때 D의 입력 feature는 A, B, C의 출력을 feature로 사..

AI/Machine Learning 2023.05.31

[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