![[ML] 지도학습, 비지도학습, 강화학습 [ML] 지도학습, 비지도학습, 강화학습](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
머신러닝은 크게 지도 학습 / 비지도 학습/ 강화 학습으로 나눌 수 있다. 이번 포스팅에서는 지도학습, 비지도학습, 강화학습에 대한 개념과 차이, 해당 알고리즘에 대해 간략하게 소개하겠습니다.
지도학습
✔️정답이 있는 데이터를 활용해 데이터를 학습
![[ML] 지도학습, 비지도학습, 강화학습 - undefined - undefined - 지도학습 [ML] 지도학습, 비지도학습, 강화학습 - undefined - undefined - 지도학습](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
위 그림처럼 토끼 사진에 토끼라고 라벨링된 데이터와, 판다사진에 판다라벨링이 되어있는 데이터를 학습시키면, 토끼사진을 넣었을 때 토끼라는 정답을 알려주는 것이 지도학습이다.
✔️ 종류
1) 분류 (Classification)
: 주어진 데이터를 클래스 별로 구별해 내는 과정
: 데이터와 데이터의 레이블 값을 학습시키고, 데이터가 주어졌을 때 학습된 모델을 통해 어느 범주에 속한 데이터인지 판단하고 예측
1️⃣ 로지스틱 회귀
: 연속형 변수를 예측하는 선형 회귀와 다르게, 범주형 변수를 예측)
2️⃣ 나이브 베이즈
: 미리 발생한 사건들을 학습시킨 모델을 만든 후 새로운 데이터가 들어오면 이전의 사건들을 기반으로 이 데이터가 어떤 행동을 할 것인지 예측하는 원리
3️⃣ 결정 트리 (Decision Tree)
: 데이터가 주어졌을 때 각 노드의 단계를 거치며 분류를 하게 되며 마지막 노드에 도달했을 때 그 노드의 값으로 데이터의 클래스를 예측하는 방식
4️⃣ 서포트 벡터 머신(SVM)
: 클래스를 분류할 수 있는 다양한 경계선이 존재하는데, 그 중 최적의 라인을 찾아내는 원리
5️⃣ K-최소 근접 알고리즘 (K-Nearest Neighbor , KNN)
: 데이터들 간의 유사한 특징을 기준으로 분류하는 알고리즘. 주어진 데이터의 주변 이웃 데이터들의 특징을 파악하고 가장 유사한 데이터 그룹에 포함되도록 하는 방식
6️⃣ 신경망 (Deep Neural Network)
: Input layer를 통해 학습할 데이터를 입력하고 여러 층의 Hidden layer를 거쳐 Output layer로 결과를 도출한다. 이 때 output 값으로 얻은 예측 값과 실제 값의 차이를 계산하여 신경망의 가중치(Weight) 값을 조정하여 학습을 반복한다.
7️⃣ 앙상블 학습 (Ensemble Learning)
: 여러개의 분류기에서 각각 예측을 수행하고, 그 예측을 결합해서 더 나은 예측 결과를 도출해내는 방법
: 보팅, 배깅, 부스팅, 스태킹 등 다양한 방식 존재 (-> 추후 포스팅 예정)
2) 회귀 (Regression)
: 종속 변수와 하나 이상의 독립 변수 간의 미래 사건을 예측하는 방법
: 수치적 가치를 추정한다는 측면에서 관측치가 어느 범주에 속하는지를 식별하는 분류 모델과 다르다.
![[ML] 지도학습, 비지도학습, 강화학습 - undefined - undefined - 지도학습 [ML] 지도학습, 비지도학습, 강화학습 - undefined - undefined - 지도학습](https://blog.kakaocdn.net/dn/cnOvYe/btrSf9qrK18/KXwIk9Nx17HAjcIEpeO5Ak/img.png)
비지도학습
✔️정답 라벨이 없는 데이터를 비슷한 특징끼리 군집화 하여 새로운 데이터에 대한 결과를 예측하는 방법
![[ML] 지도학습, 비지도학습, 강화학습 - undefined - undefined - 비지도학습 [ML] 지도학습, 비지도학습, 강화학습 - undefined - undefined - 비지도학습](https://blog.kakaocdn.net/dn/tTmY2/btrR9XkHlOH/oLaduFKUSb7947cuAfEC9k/img.png)
위 그림처럼 정답이 없이 섞여있는 토끼와 판다 사진을 모델 스스로 데이터의 특성을 파악하여 비슷한 것 끼리 묶어준다.
✔️ 종류
1) 군집 (Clustering)
- 각 그룹을 더 작은 그룹으로 세분화
1️⃣ K-means
: 데이터를 K개의 군집으로 묶는 알고리즘
: K-NN 알고리즘과 K개의 점을 지정하여 거리를 기반으로 구현되는 거리기반 분석 알고리즘이라는 점이 유사
2️⃣ 계층 군집 분석 (HCA, Hierarchical Cluster Analysis)
: KNN 알고리즘과 동일한 거리 기반 모델로, 거리가 가까운관측치들은 비슷한 특징을 가질 것이라는 전제하에 클러스터링을 수행하는 기법
: 설명변수를 통한 예측 목적이 아닌 데이터 축소 목적을 가짐
: 군집의 개수가 정해지지 않았을 때 사용 (군집의 개수를 결정하기 위해서도 사용)
3️⃣ 기댓값 최대화 (Expectation Maximization)
: 단순히 어떤 분포 모델을 주어진 데이터에 최대한 가깝게 피팅하는 것 뿐만 아니라 데이터의 잠재적인 표현 또한 고려하여 모델을 피팅
: 관측되지 않는 잠재변수에 의존하는 확률 모델에서 최대가능도나 최대사후확률을 갖는 매개변수를 찾는 반복적인 알고리즘
2) 시각화 (Visualization)와 차원 축소 (Dimensionality Reduction)
- 시각화 : 레이블이 없는 대규모의 고차원 데이터를 넣으면 도식화가 가능한 2D나 3D 표현을 만들어줌
- 차원축소 : 너무 많은 정보를 잃지 않으면서 데이터를 간소화
1️⃣ 주성분 분석 (PCA, Principal Component Analysis)
: 가장 널리 사용되는 차원 축소 기법 중 하나로, 원 데이터의 분포를 최대한 보존하면서 고차원 공간의 데이터들을 저차원 공간으로 변화
: 주성분이라 함은, 그 방향으로 데이터들의 분산이 가장 큰 방향벡터
2️⃣ 커널PCA (Kernel PCA)
:비선형 함수인 커널함수를 이용하여 비선형 데이터를 고차원 공간으로 매칭
3️⃣ 지역적 선형 임베딩(LLE, Locally-Linear Embedding)
: PCA와 다차원 척도법은 데이터가 비선형 구조를 가지고 있을 때에는 구조를 파악하지 못하여 최적점을 찾아내지 못한다는 단점
: 비선형 구조를 가진 데이터의 차원 축소방법
: 고유벡터를 사용하는 방법으로 다루기가 쉽고, 지역 최적점에 빠지지 않을 수 있다는 장점
4️⃣ t-SNE (t-distributed Stochastic Neighbor Embedding)
: 높은 차원의 복잡한 데이터를 2차원에 차원 축소하는 방법
: 낮은 차원 공간의 시각화에 주로 사용하며 차원 축소할 때는 비슷한 구조끼리 데이터를 정리한 상태이므로 데이터 구조를 이해하는 데 도움을 줍니다.
3) 연관 규칙 학습 (Association Rule Learning)
- 대량의 데이터에서 특성 간의 흥미로운 관계를 찾는다.
1️⃣ 어프라이어리 (Apriori)
: 어떤 두 아이템 집합이 번번히 발생하는가를 알려주는 일련의 규칙들을 생성하는 알고리즘
2️⃣ 이클렛(Eclat)
강화학습
✔️강화학습은 현재의 상태(State)에서 어떤 행동(Action)을 취하는 것이 최적인지를 학습하는 것이다. 행동을 취할 때마다 외부 환경에서 보상(Reward)이 주어지는데, 이러한 보상을 최대화 하는 방향으로 학습이 진행된다. 알파고, 각종 게임등이 있다.
![[ML] 지도학습, 비지도학습, 강화학습 - undefined - undefined - 강화학습 [ML] 지도학습, 비지도학습, 강화학습 - undefined - undefined - 강화학습](https://blog.kakaocdn.net/dn/bE2GA0/btrShAoxKgx/lJlbokCwnRmasN9oKcVNh1/img.jpg)
알파고는 바둑을 두는 방법을 학습하기 위해 먼저 대량의 과거 바둑 기보를 통해 인간 바둑 기사들을 모방 학습하고, 그 이후에는 자기 자신을 상대로 계속해서 시행착오를 거쳐 경기력을 개선해나간다.
출처
https://blog.naver.com/mhn_noonai/222285873816
https://jiwonkkim.github.io/probability%20and%20statistics/2021/01/07/pas_em/
https://yngie-c.github.io/machine%20learning/2020/10/06/isomap_and_lle/
'통계 > 머신러닝 MachineLearning' 카테고리의 다른 글
[ML] 주성분 분석 PCA와 차원의 저주 (1) | 2023.11.20 |
---|---|
[ML] ChatGPT로 알아보는 LightGBM (0) | 2023.05.12 |
[ML] Target Leakage / Data Leakage (데이터 누수) (0) | 2023.03.03 |
[ML] 회귀 모델 성능 평가 지표 개념과 파이썬 코드 (MAE,MSE,RMSE,R2,MAPE,MPE) (0) | 2022.10.13 |
댓글