인공지능의 기계학습은 크게 3가지로 분류된다.
1. 지도학습(Supervised Learning) - 분류 , 회귀
2. 비지도학습(Unsupervised Learning) - 군집화, 차원축소
3. 강화학습(Reinforcement Learning) - 게임산업, 실시간결정, 로봇네비게이션
개념과 서로 차이점이 무엇인지 알아보자.
지도, 비지도, 강화학습 모두 적절한 feature를 잘 정의하는 것이 핵심입니다. 예를 들어 고양이, 강아지 사진은 분류한다고 하면 고양이는 귀가 뾰족하다 거나 눈코입의 위치, 무늬 등이 피처가 됩니다. 키와 성별을 주고 몸무게를 예측한다고 하면 키와 성별이 피처가 됩니다. Feature는 Label, Class, Target, Response, Dependent variable 등으로 불려집니다.
1. 지도학습(Supervised Learning)
정답을 알려주며 학습시키는 것.
예를들면 고양이 사진 X 을 주고(input data), 이 사진은 고양이라고 분류해주어 Y 값 Label을 알려준다.
따라서 기계가 정답을 잘 맞췄는지 아닌지 쉽게 알 수 있다.
지도학습에는 크게 분류(classification)과 회귀(regression)가 있다.
1-1) 분류 Classification
- 이진 분류
Q: 이 글은 스팸이야?
A: True / False 결과
- 다중 분류
Q: 이 동물은 뭐야?
A: 고양이 또는 사자 또는 강아지 등으로 분류된 결과
1-2) 회귀 Regression
어떤 데이터들의 특징(feature)을 토대로 값을 예측하는 것.
결과 값은 실수 값을 가질 수 있다. (그 값들은 연속성을 갖는다. 그래프를 생각하면 됨)
ex)
Q: 어디 동네에 어떤 평수 아파트면 집 값이 어느정도야?
A: 어디 동네에 24평이면 얼마, 어디 동네에 32평이면 얼마, 어디 동네에 45평이면 얼마입니다.
2. 비지도학습(Unsupervised Learning)
정답을 따로 알려주지 않고(label이 없다), 비슷한 데이터들을 군집화 하는 것. 일종의 그룹핑 알고리즘.
라벨링 되어있지 않은 데이터로부터 패턴이나 형태를 찾아야 하기 때문에 지도학습보다는 조금 더 난이도가 있다
실제로 지도 학습에서 적절한 피처를 찾아내기 위한 전처리 방법으로 비지도 학습을 이용하기도 한다
대표적인 종류는 클러스터링(Clustering), Dimentionality Reduction, Hidden Markov Model 등을 사용한다
지도학습(Supervised Learning), | Classification | kNN |
Naive Bayes | ||
Support Vector | ||
Machine Decision | ||
Regression | Linear Regression | |
Locally Weighted Linear | ||
Ridge | ||
Lasso | ||
비지도학습(Unsupervised Learning), |
Clustering | |
K Means | ||
Density Estimation | ||
Exception Maximization | ||
Pazen Window | ||
DBSCAN |
3. 강화학습(Reinforcement Learning)
머신러닝의 꽃이라 불리는 강화학습(RL)은 지도, 비지도 학습과는 조금 다른 개념이다.
분류할 수 있는 데이터가 존재하는 것도 아니고
데이터가 있어도 정답이 따로 정해져 있지 않으며
자신이 한 행동에 대해 보상(reward)을 받으며 학습하는 것을 말합니다.
- 강화학습의 개념
- 에이전트(Agent)
- 환경(Environment)
- 상태(State)
- 행동(Action)
- 보상(Reward)
게임을 예로들면 게임의 규칙을 따로 입력하지 않고 자신(Agent)이 게임 환경(environment)에서 현재 상태(state)에서 높은 점수(reward)를 얻는 방법을 찾아가며 행동(action)하는 학습 방법으로 특정 학습 횟수를 초과하면 높은 점수(reward)를 획득할 수 있는 전략이 형성되게 됩니다.
단, 행동(action)을 위한 행동 목록(방향키, 버튼)등은 사전에 정의가 되어야 합니다.
만약 이것을 지도 학습(Supervised Learning)의 분류(Classification)를 통해 학습을 한다고 가정하면 모든 상황에 대해 어떠한 행동을 해야 하는지 모든 상황을 예측하고 답을 설정해야 하기 때문에 엄청난 예제가 필요하게 됩니다.
바둑을 학습한다고 했을 때,
경우의 수는 어떻게 될까요??
19x19 바둑판을 기준으로 10의 171 제곱의 수 정도 된다고 합니다.
우주의 원자가 10의 90 제곱의 수라고 하는데 그와는 비교도 안될만큼 많은 수가 존재합니다.
바둑의 경우의 수는
208168199381979984699478633344862770286522453884530548425639456820927419612738015378525648451698519643907259916015628128546089888314427129715319317557736620397247064840935 가지입니다.
강화 학습(reinforcement learning)은 이전부터 존재했던 학습법이지만 이전에 알고리즘은 실생활에 적용할 수 있을 만큼 좋은 결과를 내지 못했습니다.
하지만 딥러닝의 등장 이후 강화 학습에 신경망을 적용하면서부터 바둑이나 자율주행차와 같은 복잡한 문제에 적용할 수 있게 되었습니다. 좀 더 자세히 설명하면 고전적인 강화학습 알고리즘은 앞으로 나올 상태에 대한 보상을 모두 계산해야 하는데 실제 세상과 같이 상태 공간이 크면 현실적으로 계산을 할 수 없습니다.
최근에는 계산하는 대신 신경망을 통해 근삿값을 구함으로써 복잡한 문제를 해결할 수 있게 되었습니다.
강화학습에 딥러닝을 성공적으로 적용한 대표적 알고리즘으로는 DQN과 A3C가 있는데요.
두 알고리즘 모두 딥마인드에서 발표했으며 다른 강화학습 알고리즘의 베이스라인이 되었습니다.
출저 : https://wendys.tistory.com/170
'Work > AI' 카테고리의 다른 글
[AI] Regression (회귀) 개념, 분류 (0) | 2020.08.07 |
---|---|
[AI] Classification (분류) 개념과 알고리즘 종류 (2) | 2020.08.07 |
[AI] Clustering (군집화) 개념과 알고리즘 종류 (0) | 2020.08.07 |
[AI] 인공지능 AI, 머신러닝 ML, 딥러닝 DL의 개념, 차이점 (0) | 2020.08.06 |
데이터 분석기법 7가지 (0) | 2020.06.02 |