시작하며
머신 러닝은 데이터를 이용하여 컴퓨터를 학습시키는 방법론 을 의미합니다.
결국 컴퓨터를 어떻게 학습시킬 것인가 하는 부분에서 머신러닝의 알고리즘은
- 지도학습(Supervised learning)
- 비지도학습(Unsupervised learning)
- 강화학습(Reinforcement learning)
으로 나뉩니다.
오늘 포스팅을 통하여 이 세가지 학습의 차이를 알아보고 머신러닝의 기초 개념을 쌓아보고자 합니다.
지도학습(Supervised)
- 지도학습 이란 데이터에 대한 명시적인 정답 즉 레이블(label) 이 주어진 상태에서 컴퓨터가 학습하는 방식입니다.
-
위 이미지는 손글씨로 작성된 0부터 9까지의 숫자들입니다.
-
이 경우 각 데이터의 레이블(정답)은 각 손글씨가 의미하는 숫자가 될 것입니다. ex) 맨 왼쪽줄에 해당하는 5개의 데이터는 모두 0이라는 레이블을 가지게 됩니다.
-
지도학습은 [데이터, 레이블] 의 형태를 컴퓨터에게 제공하여 학습을 진행시키게 됩니다. 이때 이용된 데이터셋(data set)은 학습을 위해 이용된 데이터라는 뜻에서 트레이닝 데이터셋(training dataset) 이라고 부르게 됩니다.
-
학습을 마친 뒤 레이블이 없는 데이터인 테스트 데이터셋(test dataset) 을 이용하여 알고리즘이 얼마나 잘 예측하는지를 통해 학습이 잘 되었는지와 알고리즘의 성능 을 평가할 수 있습니다.
-
위 이미지의 경우를 예로 들자면 알고리즘이 손글씨를 보고 어떤 숫자인지 맞추는지에 따라 성능을 측정할 수 있습니다.
- 지도학습은 분류(classification) 그리고 회귀(regression) 두가지로 다시 나뉩니다.
- 분류는 예측하는 결과값이 이산값(discrete value) 일 때 사용합니다. 예를 들면 내가 받은 이메일이 스팸인지(true) 스팸이 아닌지(false) 분류할 수 있는 경우입니다.
- 회귀는 결과값이 연속값(continuous value) 일때 사용합니다. 이때 연속값은 그래프를 생각하면 되겠습니다.
- 아래와 같이 여러 지표들을 보고 해당 집의 가격을 예측하는 경우는 회귀에 해당합니다.
비지도학습(Unsupervised)
-
비지도학습 이란 데이터에 대한 레이블이 주어지지 않은 상태에서 컴퓨터가 학습하는 방식입니다.
-
[데이터] 형태의 데이터를 컴퓨터에 학습시켜 데이터의 결과값을 예측하는 것이 아닌 비슷한 특성을 가지는 데이터들끼리 묶어줍니다. 이를 클러스터링(clustering) 알고리즘 이라고 부릅니다.
-
이러한 비지도학습은 데이터의 숨겨진 특징(feature)이나 구조를 발견하는데 사용됩니다.
강화학습(Reinforcement)
- 앞서 말한 지도학습과 비지도학습은 데이터가 이미 주어진 정적인(static) 환경 에 학습이 진행 되었다면,
- 강화학습 은 에이전트가 주어진 환경에서 어떤 행동을 취하고 그에 대한 보상을 얻으면서 학습을 한다.
- 이때 에이전트는 당연히 보상을 최대한 많이 얻게끔 행동한다. 이처럼 강화학습은 동적인(dynamic) 상태에서 데이터를 수집하는 과정 까지 포함된 알고리즘이다.
- 우리가 잘 알고 있는 알파고에 강화학습이 이용되었으며, 보통 게임에서 최적의 동작을 찾는데 많이 쓰입니다.
요약
1) 머신러닝 학습 알고리즘을 결정 짓는것은 컴퓨터의 학습 방식 이며 이에 따라 지도학습 / 비지도학습 / 강화학습 으로 나뉜다.
2) 지도학습은** [데이터, 레이블]** 의 형식으로 컴퓨터에게 학습 시켜 레이블이 주어지지 않은 테스트 데이터셋에 대해 그 결과값을 정확하게 예측하게 하는 것 을 목표로 삼는다.
3) 비지도학습은 [데이터] 의 형식으로 컴퓨터에게 학습시켜 결과값을 예측하는 대신 비슷한 특성을 가지는 데이터를 군집화 하여 숨겨진 특성이나 구조를 찾는 것 을 목표로 삼는다.
4) 강화학습은 이전 두가지 학습 알고리즘과 달리 데이터를 수집하는 과정이 포함된 동적인 상태 에서, 주어진 환경에서 최대한의 보상을 얻게끔 행동하도록 학습하는 알고리즘 이다.
'AI > Coursera ( Machine Learning )' 카테고리의 다른 글
[머신러닝] 다변수 선형 회귀(Multivariable Linear Regression )이란 (0) | 2020.04.30 |
---|---|
[머신러닝] 머신러닝 공부 전 꼭 알아야 할 행렬(Matrix)과 벡터(Vector) (0) | 2020.04.30 |
[머신러닝] 경사 하강 알고리즘(Gradient Descent Algorithm)이란 (5) | 2020.04.30 |
[머신러닝] 비용함수(Cost Function)란 (10) | 2020.04.30 |
[머신러닝] 인공지능 vs 머신러닝 vs 딥러닝 (0) | 2020.04.30 |