AL\ML\DL/이론

[이론] AI-ML-DL(2)

0verc10ck 2021. 4. 1. 01:44
반응형

개인적인 조사 및 공부를 통해 작성된 문서이므로 부정확한 내용이 포함되어있을 수 있습니다. 정정이 필요한 내용이 있다면 알려주시면 수정토록 하겠습니다.

Classification of ML by learning method

ML은 주어진 Data를 이용해 통계학적 Model을 학습시켜 인공지능을 구현하는 방식이다. 해결하고자 하는 문제 및 주어진 Data의 특성에 따라 적절한 학습 방법을 이용해야한다. ML의 학습 방법은 크게 4가지가 있다.

Supervised Learning(지도학습)

Supervised Learning은 주로 주어진 Training data로 부터 하나의 함수를 유추해내기 위해 사용되는 학습 방법이다. 이때 주어지는 Training Data는 (x,y)의 쌍으로 구성되어있고, x는 input으로 사용되는 data, y는 input data의 정답(특성)인 label이다.

Supervised Learning의 최종 목표는 주어진 Training data pair (x,y)사이의 관계성을 찾는 것으로 input x를 label y로 mapping하는 function을 얻는것을 목표로한다. Classification(분류)와 Regression(회귀)가 대표적인 Supervised Learning 방식의 algorithm이다.

Classification(분류)

Classification은 주어진 Input data가 어떤 값인지를 표식하는 과정이다. 즉 Input data x가 주어지면 x가 어떤 class y에 속하는지를 결정한다. 분류되는 class의 개수에 따라 binary classification과 multi-class classification으로 나뉜다.

classfication의 예로는 spam mail 분류기가 있다. 아래의 사진처럼 mail과 해당 mail이 spam mail인지 아닌지에 대한 label로 구성된 Training set을 이용하여 model을 학습시키면, label 없이 새롭게 주어지는 mail을 spam mail과 spam mail이 아닌것으로 분류하게 된다.

classification

Regression(회귀)

Regression은 predictor variable이라 부르는 Feature를 이용하여 target variable을 예측하는 과정이다. 이때 예측의 결과는 y=f(x)와 같은 연속적인 함수의 형태로 나타나게 되며, 이때 함수 f(x)가 1차 함수인지 혹은 2차 이상인지에 따라 Linear Regression과 Non-linear Regression으로 나뉘게 된다.

Regression

Regression의 예로는, Input data로 자동차의 주행거리, 연식, 제조사와 같은 feature들이 주어지면 이를 이용하여 target variable인 중고차 가격을 예측하는것이 있다. 이처럼 주어진 feature들과 target variable간의 연관성을 잘 표현하는 함수를 찾고 이러한 함수를 통해 새로 주어진 feature들을 통해 target variable을 예측하는 과정이 Regression이다.

Unsupervised Learning(비지도학습)

Unsupervised Learning은 주어진 Data가 어떻게 구성되었는지를 알아내기 위해 사용되는 학습 방법이다. 이때 주어지는 Trainig data는 오직 data x로 만 구성되어 있으며 정답 label y는 존재하지 않는다.

Unsupervised Learning의 최종 목표는 주어진 data의 기본 구조 또는 분포를 modeling하는 것이다. 이러한 Unsupervised Learning은 data로 부터 어떠한 pattern이나 형태를 찾거나, 주어진 data들 간의 correlation을 파악하는데 사용될 수 있고, 이러한 이유로 Supervised Learning을 위한 data preprocessing 과정에 사용되기도 한다.

Unsupervised Learning의 대표적인 예로는 Clustering(군집화), Visualization(시각화), Dimensioanlity reduction(차원축소), Abnomaly detection(이상치 탐지) 등이 있다.

Clustering(군집화)

Cluserting은 가장 대표적인 Unsupervised Learning의 예시로, Data가 주어졌을때, data들을 몇 개의 cluster로 나누는 과정을 의미한다. 이때 data들을 cluster로 나누는 과정에서, 같은 cluster 내의 data들은 가깝게(유사하게), 다른 cluster의 data들 끼리는 멀게(유사하지 않게) grouping하는 것을 목표로 한다.

clustering

Semi-supervised Learning(준지도학습)

Semi-supervised Learning은 전체 Training data중 일부만이 label을 가지고 있는 dataset을 이용하는 학습 방법이다. Supervised Learning을 위한 Training Data의 Labeling은 굉장히 많은 시간과 인력을 요구하는 작업이기 때문에 Semi-supervised Learning에 사용되는 data는 적은 양의 labeled data와 많은 양의 unlabeled data로 구성된다.

Semi-supervised 방식은 Unsupervised 방식에 비해서는 학습 정확도를 개선할 수 있다는 장점이 있고, Supervised 방식에 비해서는 학습을 위한 data labeling 과정을 줄임으로써 이로인해 발생되는 비용을 감소시킬 수 있다는 장점을 가지고 있다.

Reinforcement Learning(강화학습)

Reinforcement Learning은 행동 심리학에서 영향을 받은 ML의 영역으로 어떠한 Enviroment안에 정의된 Agent가 현재의 state를 확인하여 선택 가능한 action 중 가장 높은 reward를 얻는 action 혹은 action order를 선택하는 방식이다. RL은 game theory, control theory, operation research, information theory, simulation based optimization, muli-agent system, swarm intelligence, statistic, genetic algorithm등의 다양한 분야에서 연구되고 있다.

Reinforcement Learning

위의 image가 RL을 설명하는 좋은 예시이다. Agent가 불,물,양동이가 존재하는 Enviroment에 놓여있을 때, agent는 현재의 state를 파악하고 주어진 action(예를 들자면, 오른쪽/왼쪽이동, 양동이 집기, 양동이 비우기)중 일부를 수행하고 이러한 action에 따른 결과로 reward(양동이로 불을 끔) 혹은 penalty(불을 향해 달려감)를 부여받게된다. Agent는 가장 큰 reward를 얻기위해 policy를 학습하게된다.

Classification of ML by Various standards

학습 방법 이외에도 ML은 다양한 기준에 의해 분류될 수 있다. 대표적인 ML의 분류 예시로는 다음의 세가지가 있다.

Online & Offline Learning

ML을 학습하는 과정에서 Training data가 미리 주어지는지, 새로운 data를 실시간으로 계속해서 update하며 학습을 진행하는지에 따라 Online과 Offline으로 구분 될 수 있다.

Offline Learning은 Batch Learning이라고도 불리우며, 먼저 주어진 training data로 model을 학습시키고, 이후로는 더이상의 학습 없이 학습된것을 적용하기만 하는 방식이다. 이러한 방식은 새로운 data에 대해 model을 학습시키려면 새로운 data뿐만이 아니라 이전의 data를 모두 포함한 새로운 training dataset을 구축하고 이를 이용해 model을 학습시켜야한다. 이후 이전의 model을 새롭게 학습된 model로 변경하게된다. 이러한 방식은 data의 변화가 적은 작업에 적합한 학습 방식으로, 계속해서 새로운 유형의 data를 학습해야 하는 작업에는 적합하지 않다.

Online Learning은 data를 순차적으로 한 개씩 혹은 mini-batch라 불리는 작은 묶음 단위의 data를 이용하여 model을 학습시킨다. 매 학습 단계가 상대적으로 빠르고, 적은 비용(computing power)이 들기 때문에 연속적으로 data를 받거나, 빠른 변화에 적응해야하는 작업 혹은 computing resource가 제한적인 상황에 적합하다. 다만 Online Learning은 model이 충분히 학습되기까지 Offline Learning 만큼의 성능을 기대하기 어렵다는 단점이 존재한다.

Deterministic & Stochastic model

ML의 model은 같은 dataset을 이용해 학습된 model의 결과의 동일성에 따라 Deterministic과 Stochastic으로 나뉘게 된다. ML은 computer science 이외에도 수학, 통계학 등 다양한 학문 분야에 근간을 두고 있고, 특히 다양한 통계학적 이론의 도입을 통해 model의 학습 정확도를 향상시키거나, 새로운 data를 생성하는 등의 다양한 연구가 진행되었다.

Deterministic model의 경우 동일한 data를 가지고 model을 다시 학습하더라도 같은 model이 만들어 지게된다. Stochastic model의 경우 동일한 data를 이용해 model을 재학습 하더라도 학습을 진행할 때마다 다른 model이 만들어 지게 된다. VAE(Variational AutoEncoder)가 대표적인 Stochastic model이다.

Discriminative & Generative model

Discriminative model은 분류 예측을 목적으로 하는 model이다. P(y|x)를 추정(data x를 이용하여 y를 추정)하는 model로, 대부분의 supervised learning 기반의 model들이 여기에 해당한다.

Generative model은 P(x) 또는 P(x|y)를 추정하는 model로 x를 생성하거나, y를 이용하여 새로운 x를 생성하는 역할을 한다. VAE(Variational AutoEncoder)혹은 GAN(Generative Adversarail Network)의 Generator가 대표적인 예이다.

Refernce

wikipedia 기계학습 항목

wikipedia 지도학습 항목

wikipedia 준지도학습 항목

wikipedia 강화학습 항목

반응형

'AL\ML\DL > 이론' 카테고리의 다른 글

[이론] AI-ML-DL(1)  (0) 2021.03.28