머신러닝이란?

머신러닝은 인공지능(AI)의 하위 집합으로, 경험을 통해 자동으로 개선하는 컴퓨터 알고리즘에 대한 연구 입니다. 즉, 컴퓨터가 학습할 수 있도록 알고리즘과 기술을 개발하는 분야입니다. 머신러닝의 알고리즘은 대규모 데이터 셋에서 패턴과 상관관계를 찾고, 이에 대한 분석을 기반으로 최적의 의사결정과 예측을 수행하도록 훈련됩니다.

 

*머신러닝과 그 구성요소인 딥러닝, 신경망은 모두 AI의 하위집합입니다.

 

신경망이란?

신경망은 인공 신경망(ANN, Artificial Neural Network)라고도 불리며, 인간의 두뇌로 부터 영감을 받아 생물학적 뉴런이 신호를 주고받는 방식을 모방했습니다. 하나의 입력 계층, 하나 이상의 은닉 계층 및 하나의 출력 계층을 포함하는 노드 계층들로 구성되어 있습니다. 각 노드 또는 인공 뉴런은 숫자로 된 신호를 수신하여 이를 처리하고 연결된 다른 뉴런으로 신호를 전송합니다. 사람의 뇌와 마찬가지로 패턴 인식, 지식, 전반적인 학습을 개선합니다.

 

딥러닝이란?

딥러닝(Deep Learning)은 신경망과 혼동되어 사용되어진다고 합니다. '딥(Deep)'이 의미하는 바는 신경망에서 계층의 깊이를 의미합니다. 입력과 출력을 포함할 수 있는 세 개이상의 계층으로 구성된 신경망은 딥러닝 알고리즘으로 분류 될 수 있으며, 2개 또는 3개의 계층을 갖는 신경망은 기본 신경망에 불과합니다.

 

세개 이상의 계층으로 구성된 인공신경망을 기반으로 스스로 학습을 수행하고 예측하는 모델입니다.

 

머신러닝과 딥러닝의 차이점

머신러닝은 컴퓨터가 학습할 수 있도록 알고리즘과 기술을 개발하는 분야라고 하였고, 딥러닝은 인공신경망을 기반으로 스스로 학습하는 모델이라고 하였습니다. 세분화 하여 분류하면 다음과 같습니다.

 

머신러닝: 인간이 데이터를 제공하고, 그 데이터를 기반으로 학습 및 예측을 수행하는 것. 즉, 데이터가 인간에 의해 제공이 되어야합니다.

딥러닝: 데이터를 스스로 학습할 수 있는 모델. 즉, 데이터가 제공되지 않습니다.

 

빅데이터, 데이터 마이닝과 머신러닝의 차이점

빅데이터: 대규모 데이터를 처리하는 기술

데이터 마이닝: 가지고 있는 데이터에서 현상 및 특성을 발견하는 것을 목적으로함.

머신러닝은 기존 데이터를 학습하여 새로운 데이터에 대하여 예측하는 것을 목적으로함.

 

머신러닝의 알고리즘 - 지도학습, 비지도학습, 강화학습

머신러닝 알고리즘은 크게 지도 학습(Supervised-Learning), 비지도 학습(Unsupervised-Learning), 강화 학습(Reinforcement-Learning)으로 나눌 수 있습니다.

 

1. 지도 학습

지도 학습(Supervised-Learning)은 데이터에 대한 레이블(Label, 정답)을 제공하여 학습시키는 방법입니다.

이를 바탕으로, 새로운 입력 값을 토대로 예측하는 것을 목표로 하는 학습 방법입니다.

 

지도학습의 종류에는 대표적으로 Classification(분류) 문제와 Regression(회귀) 문제가 있습니다.

Classification(분류): 분류는 주어진 데이터를 기반으로 정해진 카테고리(라벨)에 따라 분류하는 문제를 말합니다. 

예를 들면, 동물의 사진과 그 종에 대한 정보가 주어지면 이를 바탕으로 학습을 진행한 후, 새로운 동물의 사진이 입력 값으로 들어왔을 때 어떤 동물인지 분류하는 것입니다.

 

Regression(회귀): 회귀는 데이터들의 Feature을 기준으로, 연속된 값(Graph)를 예측하는 문제로 주로 경향 등을 예측하는데 활용됩니다. 

 

예를 들어, 집 값 예측을 위하여, 지역과 평 수에 대한 아파트 가격 데이터를 기반으로 학습하여, 특정 지역의 특정 평수에 대한 집 값을 예측하는 것이 있습니다.

 

2. 비지도 학습

비지도 학습(Unsupervised-Learning)이란, 지도 학습과 달리 정답 라벨(Label)이 없는 데이터를 학습 시키는 방법입니다. 라벨링 되어있지 않은 데이터를 기반으로 학습을 진행하며, 스스로 데이터의 패턴(Pattern) 또는 유사성(Similiarity)등을 학습합니다. 데이터 간의 숨어 있는 특징(Feature) 또는 구조(Structure)을 찾아내어 비슷한 구조끼리 묶는 것(clustering)을 목표로 합니다.

 

3. 강화 학습

강화 학습(Reinforcement Learning)은 지금까지 봐왔던 지도 학습 또는 비지도 학습과는 약간 다른 종류의 학습이라고 할 수 있습니다. 앞의 두 학습은 데이터가 주어진 상황에서의 학습, 즉 정적인(Static) 상태에서의 학습입니다. 반면, 강화 학습은 주어진 상황(State)에 대하여 행동(Action)을 취하고, 이에 대하여 보상(Reward)을 받으면서 학습을 진행하게 됩니다. 즉, 역동적인(Dynamic) 상태에서의 학습입니다. 행동에 대한 보상이 최대가 되도록 하는 것을 목표로 합니다.

 

 

추가적으로, 준지도 학습(Semi-Supervised Learning)이라는 것이 있습니다. 준지도 학습은 정답(Label)이 있는 데이터와 정답이 없는 데이터를 모두 사용하여 학습을 시키는 방법입니다. 지도 학습의 분류 분야에서는 레이블링 되지 않은 데이터를 통해 성능을 향상시키는데 활용될 수 있고, 반대로 비지도 학습의 클러스터링 분야에서는 새로운 데이터를 어느 클러스터에 넣을지 결정함에 있어 활용될 수 있습니다.

 

레이블링된 데이터를 구성하는 cost를 줄일 수 있다는 장점이 있습니다만, 몇가지의 전제 조건이 필요하며 무조건적인 성능 향상을 보장하지 않습니다.

 

 

reference

https://www.ubuntupit.com/frequently-asked-machine-learning-interview-questions-and-answers/

+ Recent posts