머신러닝의 유형

ParkJeongJoon·2022년 9월 9일
0

Machine Learning

목록 보기
2/13

지도학습(Supervised Learning)

이미 정해진(인간이 컴퓨터에게 학습시킨) 레이블이 있는 데이터를 학습하는 것으로, 대표적으로 분류 문제와 회귀 문제가 있다.

  • 분류: 로지스틱 회귀법(선형 회귀 방식을 분류 모델에 적용하므로 회귀가 아니다), KNN, 서포트 벡터 머신(SVM), 의사 결정 트리 등이 있다.
    여기서 kNN과 SVM는 나무위키에 이렇게 설명되어 있었다.
    5.4.2. k-Nearest Neighbors (k-NN)[편집]
    지도학습 모델이다. 레이블 되어 있는 학습 데이터가 있어야 한다. 입력된 특징 벡터 X에 가장 가까운 점 k개를 뽑아 이들의 레이블을 사용하는 분류기이다. 점들이 서로 다른 레이블들을 가질 경우 가장 많은 레이블을 선택한다.(다수결). 다수결에서 결과가 특정되도록 만들기 위해 k는 홀수로 선정한다.
    5.4.3. Support Vector Machine (SVM)[편집]
    서포트 벡터 머신 참조

Support vector란 특징 공간에서 주어진 두 분류의 데이터를 구분 지을 수 있는 최적(optimal)의 초평면(hyperplane)을 의미한다. SVM은 그러한 support vector를 찾는 알고리즘으로 두 분류에서 가장 가까운 데이터를 하나씩 찾아서 그 거리를 계산했을 때 가장 멀어질 수 있는 초평면을 찾는 것을 목표로 한다.

이것만 하면 단순한 linear classifier이어서 XOR과 같이 직선으로 나눌 수 없는 함수는 학습을 진행하지 못하지만, SVM은 여기에 kernel function이란 개념을 도입하여 특징 공간을 접어버리거나 꼬아버려 선형으로 분류할 수 있게 만들어버린다.

기하 기반의 기계학습의 끝판왕으로 이것으로 필기인식, 사진 안에 있는 물체 인식, 영화 리뷰 분석 등 온갖 문제를 해결한다.

또한, 분류 문제는 그 중에서도 이진 분류(Binary Classification)과 다중 클래스 분류(Multi-Class Classification)로 나뉜다.

1) 이진 분류 문제(Binary Classification)**
이진 분류는 주어진 입력에 대해서 두 개의 선택지 중 하나의 답을 선택해야 하는 경우를 말합니다. 종합 시험 성적표를 보고 최종적으로 합격, 불합격인지 판단하는 문제, 메일을 보고나서 정상 메일, 스팸 메일인지를 판단하는 문제 등이 이에 속합니다.

2) 다중 클래스 분류(Multi-class Classification)**
다중 클래스 분류는 주어진 입력에 대해서 세 개 이상의 선택지 중에서 답을 선택해야 하는 경우를 말합니다. 예를 들어 서점 직원이 일을 하는데 과학, 영어, IT, 학습지, 만화라는 레이블이 붙어있는 5개의 책장이 있다고 합시다. 새 책이 입고되면, 이 책은 다섯 개의 책장 중에서 분야에 맞는 적절한 책장에 책을 넣어야 합니다. 이 경우는 현실에서의 다중 클래스 분류 문제라고 할 수 있겠습니다.

  • 회귀(Regression): 회귀 문제는 분류 문제처럼 둘 중 하나를 선택해야 한다거나, 책이 입고되었을 때 5개의 책장 중 하나의 책장을 골라야하는 경우처럼 정답이 몇 개의 정해진 선택지 중에서 정해져 있는 경우가 아니라 어떠한 연속적인 값의 범위 내에서 예측값이 나오는 경우를 말합니다.

예를 들어서 역과의 거리, 인구 밀도, 방의 개수 등을 입력하면 부동산 가격을 예측하는 머신 러닝 모델이 있다고 해봅시다. 머신 러닝 모델이 부동산 가격을 7억 8,456만 3,450원으로 예측하는 경우도 있을 것이고, 8억 1257만 300원으로 예측하는 경우도 있을 수 있습니다. 특정 값의 범위 내에서는 어떤 숫자도 나올 수 있습니다. 기존의 분류 문제와 같이 분리된(비연속적인) 답이 결과가 아니라 연속된 값을 결과로 가지는 이러한 문제를 회귀 문제라고 부릅니다. 회귀 문제의 예시로 시계열 데이터(Time Series Data)를 이용한 주가 예측, 생산량 예측, 지수 예측 등이 있습니다.

출처: 위키독스https://wikidocs.net/32012

비지도학습(Unsupervised Leaning)

사람 없이 컴퓨터가 스스로 레이블 되어 있지 않은 데이터에 대해 학습하는 것. 즉 y 없이 x만 이용해서 학습하는 것이다. 통계학의 군집화와 분포 추정 등의 분야와 밀접한 관련이 있다.
최근에는 레이블을 사람이 직접 레이블하는 것이 아닌, 컴퓨터가 임의로 직접 레이블을 지정할 수 있어 레이블이 없는 데이터셋으로 학습할 수 있는 일부 문제(레이블이 주어지지 않은 데이터를 사용한 비지도 학습이지만 실제 학습은 직접 주어진 레이블을 사용하는 지도 학습으로 이루어짐)는 자가지도 학습(Self-supervised Learning)이라는 용어로 따로 분류하고 있다(대표적으로 노이즈 제거, 오토인코더)

  • 군집화(Clustering): 데이터가 쭉 뿌려져 있을 때 레이블이 없다고 해도 데이터 간 거리에 따라 데이터를 몇 개의 군집으로 나눌 수 있다. 이렇게 x만 가지고 군집을 학습하는 것이 군집화이다.
  • 분포 추정(Underlying Probability Density Estimation): 군집화에서 더 나아가서, 데이터들이 쭉 뿌려져 있을 때 얘네들이 어떤 확률 분포에서 나온 샘플들인지 추정하는 문제이다. 예를 들어 GPT-2 같이 데이터 일부를 가지고 나머지를 추측하는 방식으로 데이터를 이해하고자 하는 연구가 많이 진행중이다.
  • 자기지도 학습(Self-Supervised Learning, SSL)**
    레이블이 없는 데이터가 주어지면, 모델이 학습을 위해서 스스로 데이터로부터 레이블을 만들어서 학습하는 경우를 자기지도 학습이라고 합니다. 대표적인 예시로는 Word2Vec과 같은 워드 임베딩 알고리즘이나, BERT와 같은 언어 모델의 학습 방법을 들 수 있습니다. 이들이 어떻게 레이블을 만들어 학습하는지에 대한 설명은 Word2Vec과 BERT를 설명하는 페이지를 참고바랍니다.

강화학습(Reinforcement Learning)

내가 이번 학기에 수강중인 과목이다.
위의 두 문제의 분류는 지도의 여부에 따른 것이었는데, 강화학습은 조금 다르다. 강화학습은 현재의 상태(State)에서 어떤 행동(Action)을 취하는 것이 최적인지를 학습하는 것이다. 행동을 취할 때마다 외부 환경에서 보상(Reward)이 주어지는데, 이러한 보상을 최대화하는 방향으로 학습이 진행된다. 그리고 이러한 보상은 행동을 취한 즉시 주어지지 않을 수도 있다(지연된 보상). 이 때문에 문제의 난이도가 앞의 두 개에 비해 대폭 상승하며, 시스템을 제대로 보상하는 것과 관련된 신뢰 할당 문제라는 난제가 여전히 연구원들을 괴롭히고 있다. 대표적으로 게임 인공지능을 만드는 것을 생각해 볼 수 있다. 체스에서 현재 나와 적의 말의 배치가 State가 되고 여기서 어떤 말을 어떻게 움직일지가 Action이 된다. 상대 말을 잡게 되면 보상이 주어지는데, 상대 말이 멀리 떨어져 이동할 때까지의 시간이 필요할 수 있으므로, 상대 말을 잡는 보상은 당장 주어지지 않는 경우도 생길 수 있다. 심지어는 그 말을 잡은 것이 전술적으로는 이익이지만 판세로는 불이익이라 다 끝났을 때 게임을 질 수도 있다. (지연된 보상). 따라서 강화학습에서는 당장의 보상값이 조금은 적더라도, 나중에 얻을 값을 포함한 보상값의 총합이 최대화되도록 Action을 선택해야 하며, 게다가 행동하는 플레이어는 어떤 행동을 해야 저 보상값의 합이 최대화되는지 모르기 때문에, 미래를 고려하면서 가장 좋은 선택이 뭔지 Action을 여러 방식으로 수행하며 고민해야 한다. 좋은 선택이 뭔지 Action을 찾는 것을 탐색, 지금까지 나온 지식을 기반으로 가장 좋은 Action을 찾아 그것을 수행하는 것을 활용한다고 하여, 강화학습을 푸는 알고리즘은 이 둘 사이의 균형을 어떻게 잡아야 할지에 초점을 맞춘다. 위 방법들과는 다르게 실시간으로 학습을 진행하는 게 일반적이다.

출처: 나무위키
본 게시글은 위키에 있는 글을 보기 쉽게 한꺼번에 정리한 것

profile
이제부터가 진짜 시작이야

0개의 댓글