top of page
  • 작성자 사진JC.kim

[Outline] Machine Learning 의 유형

최종 수정일: 2017년 12월 28일

머신러닝은 이전에 사람들이 직접 방대한 데이터를 처리하여 수동으로 그 데이터들의 규칙을 만들어 처리했던 반면, 인공지능은 데이터를 직접 탐색하여 스스로 데이터를 분류하고 처리 규칙을 만들어 차후 새로운 데이터들을 처리한다. 이런 인공지능의 핵심은 바로 머신러닝(Machine Learning ; 기계학습) 이라는 것인데, 이 머신 러닝에는 크게 3가지 유형이 있다. 강화학습, 지도학습, 비 지도학습. 이 세 유형들이 어떻게 정의되어있고, 어떻게 사용되는지 간단하게 정리해 보았다.



머신러닝의 세가지 유형


1. 지도학습

: 레이블이 있는(출력신호를 이미 알고 있는) 훈련 데이터로 모델을 학습하여 경험하지 못한 데이터나 미래 데이터에 관한 예측 제시한다. 사람이 정해놓은 레이블(기준)에 대해서만 학습한다.

ex) 스팸메일을 기존에 있는 문맥을 가지고 분류한다.


* 분류모델 (classification) : 과거 관측치에 기반하여 새로운 분류 레이블 (출력값)을 예측하는 것을 목표로 한다.

ex) 스팸메일과 비스팸메일을 구분한다.


* 다중 분류 분류모델 (multi class classification) : 모든 분류 레이블을 레이블 되지 않는 새로운 인스턴에 할당할수 있다.

ex) 여러 가지 알파벳으로 구성된 필기체를 수집하여 분류한다.


* 회귀 분석 (regression) : 연속형 결과를 예측할 때 사용한다. 종속변수와 독립변수 사이의 관계를 분석하기 위해 사용하는 모델이다. 2차원 데이터를 예를 들면, X에대해 y의 값을 모두 지정해 놓은 상태에서 학습을 진행한다. 그러면 학습이 진행되면서 데이터 회귀선이 그려지게 되는데, 그 회귀선의 패턴을 파악하는 것이 이 회귀 분석이다.

ex) 키의 분산이 시간이 지나도 커지지 않은 것을 생물학적 현상 설명 (갤턴) : 부모의 키가 자녀에게 유전되는 것이 아닌 인구의 평균방향으로 회귀되는 것을 발견했다.


*의사결정 나무 모델 (Decision Tree Model) : 조건에 따라 확률적으로 정해진 레이블에 분류가 된다. 각 변수에 따른 예측가능한 규칙이나 패턴들을 나뭇가지 형태로 표현했다




* 나이브베이즈모델 (Naive Bayes Model) :

조건부확률을 응용한 모델이다. 데이터 특징에 따른 확률들을 계산하여 분류한다. 모든 특성값은 서로 독립적임을 가정한다. 특성들 사이에 연관성은 없으며, 주로 텍스트 분류에 많이 사용된다.

ex) 스팸문자 분류


*서포트 벡터 머신 (Support Vector Machine) : 분류 및 회귀를 위한 비확률적 이진 선형 분류 모델이다. 다수의 데이터를 최적의 초평면을 찾아 다차원으로 표현, 분류된 데이터의 간격을 이용하여 초평면을 정의한다. 딥러닝 이전에 가장 많이 쓰인 기계학습 알고리즘이다.








아래 표 는 지도학습의 모델들의 장 단점에 대해 설명되어있다.





2. 비지도 학습

: 레이블이 없는 데이터, 구조를 모르는 데이터를 처리 할 때 사용한다. 오르지 데이터만 입력이 된다. 알려진 결과값이나 보상함수(피드백)의 도움없이 데이터의 구조를 탐색하여 의미 있는 정보를 만들 수 있다. 목표는 데이터들의 군집을 형성하고 분류하는데 목적이 있다.


* 군집분석 (clustering) : 어떤 군 (그룹)에 대한 사전 지식이 없이도 그룹 내 정보들을 군집(소그룹)으로 구조화 할 수 있게 해주는 데이터 분석기법. 그룹 내 소그룹을 구분 지을 수 있는 정의가 분석을 하는 동안 만들어진다. 정보를 구조화 시키고, 데이터 간에 의미있는 관계를 만드는데 아주 좋은 기법이다.

ex) 마케팅 프로그램 : 고객들의 관심(선호도)을 이용해 고객들이 각각 관심 있는 항목을 소규모로 묶어 구조화 시킬 수 있다. 고객 그룹 발견에 도움이 된다.


* 데이터 압축을 위한 차원 축소 : 고차원데이터들을 처리할 때, 데이터들의 잡음을 제거하기 위해 데이터 간의 관계정보를 보존(유지)한 채로 낮은 차원의 부분공간으로 압축 시킨다. 데이터의 세밀한 부분들이 제거 되므로 알고리즘의 예측 성능이 떨어진다.

ex) 시각화 데이터 처러 : 3D 시각 데이터를 산점도나, 히스토리 그램으로 가시화 시키기 위해 2D 시각 데이터로 압축 시킨다.


*K means 알고리즘 : 데이터를 K개의 군집으로 만든다. 군집간의 거리차이의 분산값을 최소화 하는 방향으로 동작된다. 초기 평균값을 데이터 중 무작위로 K개를 뽑아 무게중심을 최적화 하는 방향으로 분류한다. 주 용도는 주제별 분류, 네트워크 유해 트래픽 탐지, SNS 유사사용자 군집화, 유사고객집단추출 등이 있다.


* 밀도추정 (Density Estimation) : 데이터 분포로부터 데이터가 가지는 특징의 확률분포의 특성을 파악한다. 데이터와 변수와의 관계를 파악하기 위해 사용된다. 히스토그램이나 커널함수 밀도추정방법 등이 있다.







3. 강화 학습

: 환경과의 상호작용을 기반으로 하여 자신의 성능을 개선하는 시스템을 개발하는 것이 목표이다. 현재 상태에서 최적의 행동을 선택한다.

(환경의 현재 상태의 정보를 보상신호라고 생각한다면, 강화학습도 일종의 지도학습으로 생각 할 수 있음)

강화학습에서 피드백은 절대적인 레이블 값이 아니고 행위(현재 상태)를 보상함수로 잘 측정할 수 있는 기준이 된다.

ex) 체스 게임 : 현재의 상황에 따라 연속된 움직임을 결정하고 보상은 게임의 승패로 결정된다.


*Deep-Q Network (DQN) : 게임 알고리즘으로 개발된 이 방법은, Deep learning 과 Q-learning의 방식을 결합한 방법이다. 학습의 보상은 게임점수, 게임의 조작을 학습하여 점수를 향상시킨다. 게임의 규칙을 따로 부여하지 않고 자신이 스스로 높은 점수대를 유지하는 방법을 찾아간다. 특정 학습횟수를 초과하면, 점수를 높이 올릴수 있는전략이 형성된다.


*유전자 알고리즘 (Genetic Algorithm) : 우수한 객체가 좋은 결과라고 가정하여 진화를 하는 방식으로 세대가 지날 수록 우수한 결과를 낳은 객체를 다음세대로 계속 보낸다. 즉 우수한 점수,우수한 예측을 한 알고리즘을 다음세대로 계속 보내어 학습시키는 방법이다.

초기세대를 형성하고, 초기세대에 대한 적합도를 평가한다. 그리고 초기세대 교배 및 돌연변이를 통해 다음세대가 생성된다. 다음세대에 초기세대에서 우수했던 알고리즘을 보내어 적합도를 계속 평가하는 방식이다.




조회수 701회댓글 0개

최근 게시물

전체 보기

bottom of page