Machine Learning : 데이터를 이용하여 컴퓨터를 학습시키는 방법론
머신러닝 알고리즘
- 지도학습(Supervised learning)
- 비지도학습(Unsupervised learning)
- 강화학습(Reinforcement learning)
지도학습(Supervised learning)
- 데이터에 대한 명시적인 정답 즉 레이블(label)이 주어진 상태에서 컴퓨터가 학습하는 방식
- 정답이 있는 데이터를 활용하여 데이터를 학습, 입력 값(X data)이 주어지면 입력값에 대한 Label(Y data)을 주어 학습
- 지도학습은 [데이터, 레이블]의 형태를 컴퓨터에게 제공하여 학습을 진행
1) 분류(Classification) - discrete value
주어진 데이터를 정해진 카테고리(레이블)에 따라 분류하는 문제
맞다 아니다의 이진 분류 문제, 2가지 이상으로 분류하는 다중 분류 문제
- kNN, Naive Bayes, Support vector, Machine decision
2) 회귀(Regression) - continuous value
어떤 데이터들의 Feature를 기준으로 연속된 값(그래프)을 예측하는 문제
- Linear regression, Locally weighted linear, Ridge, Lasso
비지도학습(Unsupervised learning)
- 정답 레이블이 없는 데이터를 비슷한 특징끼리 군집화하여 새로운 데이터에 대한 결과를 예측하는 방식
- 라벨링 되어있지 않은 데이터로부터 패턴이나 형태를 찾아야 하기때문에 지도학습보다 난이도가있음
- 데이터의 숨겨진 feature나 구조를 발견하는데 사용
- Clustering, K Means, Density estimation, Exception maximization, DBSCAN
1) 클러스터링(Clustering)
[데이터] 형태의 데이터를 컴퓨터에 학습시켜 데이터의 결과값을 예측하는 것이 아닌 비슷한 특성을 가지는 데이터들끼리 묶음(군집화)
자가지도 학습(Self-Supervised learning)
- 레이블이 없는 Untagged data를 기반으로 한 학습
- 우선 Unlabeled 데이터들을 이용하여 사용자가 새로운 문제를 정의하며 정답도 사용자가 직접 정해줌
- 이 때, 사용자가 정의한 새로운 문제를 논문 들에서는 pretext task라고함
- Network로 하여금 만든 pretext task를 학습하게 하여 데이터 자체에 대한 이해를 높일 수 있게 하고, 이렇게 network를 pretraining 시킨 뒤 downstream task로 transfer learning을 하는 접근 방법
강화학습(Reinforcement learning)
- 데이터가 주어진 정적인 환경에서 학습하는 지도, 비지도 학습과 달리 강화학습은 에이전트가 주어진 환경에서 어떤 행동을 취하고 그에대한 보상을 얻으면서 학습
- 이때 에이전트는 보상을 최대한 많이 얻는 쪽으로 행동함, 강화학습은 동적인 상태에서 데이터를 수집
- DQN, A3C
자가지도 학습