본문 바로가기

머신러닝

[머신러닝] 머신러닝(Machine Learning) 정의 및 종류

반응형

 

[목차]

 

1. 머신러닝이란?

 

2. 지도 학습

 

3. 비지도 학습

 

4. 준지도 학습

 

5. 강화 학습

 

 

 

  1. 머신러닝이란?

 

머신러닝(Machine Learning)이란, 규칙을 일일이 프로그래밍하지 않아도 자동으로 데이터에서 규칙을 학습하는 알고리즘을 연구하는 분야이다. 인공지능의 하위 집합으로, 지능을 구현하기 위한 소프트웨어를 담당하는 핵심 분야다.

 

 

머신러닝에서의 알고리즘은 대규모 데이터셋에서 패턴과 상관관계를 찾고, 분석을 토대로 최적의 의사결정과 예측을 수행하도록 훈련된다. 

학습과 개선을 위해 명시적으로 컴퓨터를 프로그래밍하는 대신, 컴퓨터가 데이터를 통해 학습하고 경험을 통해 개선하도록 훈련하는 데 중점을 둔다. 

 

머신러닝 모델의 종류로는 크게 지도 학습, 비지도 학습, 준지도 학습, 강화 학습 총 4개의 종류로 나뉜다. 

각 종류별로 간단하게 한번 살펴보자. 

 

 

 

  2. 지도 학습

 

지도 학습(Supervised Learning)입력(Input, Feature)과 출력(Target)이 쌍으로 주어진 훈련 데이터(Training data)를 이용한 학습이다. 결괏값이 주어진, 즉 레이블(Label)이 있는 데이터를 기반으로 입력 변수와 출력 변수를 매핑하는 함수를 찾은 후, 새로운 입력에 대한 예측을 수행한다. 

 

분류(Classification)가 가장 대표적인 지도 학습 유형이다. 스팸 필터 프로그램이 좋은 예시이다. 

이전에 많은 메일 샘플들을 통해 어떻게 새로운 메일이 스팸인지 아닌지 분류할 수 있을지 학습해야 한다. 

강아지와 고양이들의 이미지들을 훈련시키고, 새로운 이미지가 강아지인지 고양이인지 찾는 과정도 분류다. 

이처럼 레이블이 두 개인 경우를 이진 분류(Binary Classification)라고 하고, 세 개 이상인 경우엔 다중 클래스 분류(Multi-class Classification)라고 부른다. 

 

회귀(Regression)도 지도 학습에 속한다. 회귀는 클래스 중 하나로 분류하는 것이 아니라, 임의의 어떤 숫자를 예측하는 문제이다. 두 변수 사이의 상관관계를 분석하는 방법을 회귀라고도 한다. 

예를 들어 내년도 경제 성장률을 예측하거나, 배달이 도착할 시간을 예측하는 것이다. 

 

 

  3. 비지도 학습

 

비지도 학습(Unsupervised Learning)출력값 없이 입력값만으로 학습하는 방식이다. 사람의 개입 없이 컴퓨터가 알아서 입력 데이터를 학습한 뒤, 패턴과 상관관계를 인식하기 시작한다. 

 

군집 또는 클러스터링(Clustering)이라 불리는 작업이 대표적인 비지도 학습 문제다. 클러스터링은 특정 기준에 따라 비슷한 데이터 샘플끼리 그룹으로 모으는 작업을 말한다. 만들어진 그룹을 클러스터(Cluster)라고 부른다. 

 

또 다른 비지도 학습으로 차원 축소(Dimensionality Reduction)가 있다. 차원 축소는 고려 중인 변수의 개수를 줄이는 작업이다. 많은 특성 중 일부는 중복되거나 작업에 아무 영향을 미치지 않을 수 있는데, 이러한 특성들을 줄여줌으로써 데이터 크기를 줄이고 학습 모델의 성능을 향상할 수 있다.  

 

 

  4. 준지도 학습

 

준지도 학습(Semisupervised Learning)결괏값이 존재하는 소량의 분류(labeled) 데이터를 이용해 학습하는 방법이다. 레이블이 지정된 데이터를 분석하여 레이블이 없는 데이터에 적용 가능한 상관관계가 있는 속성을 찾도록 훈련한다. 

 

구글 포토 호스팅 서비스가 좋은 예시이다. 가족사진을 여러 장 업로드하면 각 사람이 어떤 사진에 있는지 자동으로 인식한다. 여기까지는 비지도 학습이다. 여기에 각 사람이 누구인지에 대한 레이블이 하나씩만 주어진다면, 모든 사진의 사람들이 누구인지 알 수 있게 되는 방식이다. 

 

 

  5. 강화 학습

 

강화 학습(Reinforcement Learning)은 이전의 학습과는 조금 다르다. 결괏값을 주는 대신에 어떤 일을 잘했을 때 보상(Reward)을 주는 방식으로 학습한다. 일련의 허용 가능한 행동, 규칙, 잠재적 최종 상태가 입력되고, 주변의 환경을 관찰해서 행동을 실행하고 그 결과로 보상을 받는데, 시간이 지나면서 가장 큰 보상을 얻기 위해 최상의 전략을 스스로 학습한다. 당장의 보상값은 적더라도 총 보상값이 최대가 되도록 행동을 선택해야 한다. 

 

대표적인 예시로는 딥마인드의 알파고(AlphaGo)가 있다. 수백만 개의 게임을 분석해서 승리에 대한 전략을 학습했고, 실전에서는 그동안 학습한 전략을 적용한 것이다. 

 

 

 

 

참고)

- https://www.sap.com/korea/insights/what-is-machine-learning.html

- 혼자 공부하는 머신러닝+딥러닝(박해선, 한빛미디어)

- tensorflow.blog/핸즈온-머신러닝-1장-2장/1-3-머신러닝-시스템의-종류/ 

 

 

PC로 보시는 것을 권장합니다. 

피드백은 언제나 환영입니다. 댓글로 달아주세요 ^-^

 

 

 

반응형