기계를 인간 행동의 지식에서와 같이 행동하게 만들 수 있을까?
이러한 의문에서 시작된 머신러닝은 인공지능(AI)의 중요한 부분을 차지하고 있다.
인공지능 (Artificial Intelligence, AI)
인공지능(AI)는 학습, 문제 해결, 패턴 인식 등과 같이 주로 인간 지능과 연결된 인지 능력을 인공적으로 구현하려는 컴퓨터 과학의 분야 중 하나이다. 여기서 중요한 개념 중 하나가 바로 머신러닝(Machine Learning)이다.
머신러닝 (Machine Learning)
머신러닝은 인공지능의 하위 집합으로, 주로 데이터를 통해 모델이 스스로 학습하고 패턴을 인식하게 한다. 예전에는 인공지능을 개발할 때 해당 분야의 전문가들이 만든 많은 양의 샘플을 데이터베이스화하여 수작업으로 컴퓨터에 등록했다. 하지만 이러한 방법은 많은 노력과 비용이 필요하며, 명확하게 구분할 수 없는 지식에는 적용하기 어렵다.
따라서 이러한 경우에도 사용할 수 있도록 고안된 것이 바로 머신러닝이다. 머신러닝을 통해 인간의 도움 없이 컴퓨터가 스스로 규칙을 찾아내고, 새로운 규칙을 생성해내면서 스스로 학습해나간다.
머신러닝의 동작 방식
머신러닝은 일반적으로 다음과 같은 순서대로 동작한다.
1. 일정량 이상의 샘플 데이터를 입력한다.
2. 입력받은 데이터를 분석하여 일정한 패턴과 규칙을 찾아낸다.
3. 찾아낸 패턴과 규칙을 가지고 의사결정 및 예측 등을 수행한다.
샘플 데이터를 입력하는 과정에서 필요한 데이터만 선별한 후 벡터로 변환하는 특징추출(feature extraction) 작업을 진행한다. 이후 모델 알고리즘에 따라 데이터의 패턴과 규칙을 찾아내는 일종의 학습을 진행하고, 이를 통해 의사결정 및 예측 작업을 수행한다.
모델의 성능을 높이기 위해서는 어떤 알고리즘을 사용하는지도 중요하지만, 모델 학습에 사용될 특징(Frature)을 어떻게 정의할지도 매우 중요하다.
머신러닝의 분류
머신러닝은 학습하려는 문제의 유형에 따라 크게 세 가지로 분류될 수 있다.
지도학습 (Supervised Learning)
지도학습은 명시적인 정답이 주어진 데이터셋을 통해 모델을 학습시키는 방법이다. 즉, 문제와 정답을 함께 알려주어 학습시키는 방법이라고 이해하면 쉽다. 따라서 지도 학습을 위한 데이터에는 문제와 함께 정답까지 함께 알고 있는 데이터가 선택된다.
입력값(X data)이 주어지면 입력값에 대한 레이블(Y data)를 주어 학습시킨다.
지도학습은 크게 두 문제로 나뉘어지는데, 분류(Classification)와 회귀(Regression) 문제로 나뉜다.
1. 분류(Classification)
분류는 말 그대로 데이터를 파악해 분류하는 학습 방법이다. 기존에 존재하는 데이터의 레이블 관계를 파악하고, 새로운 데이터에 대한 레이블을 스스로 판별한다. 따라서 분류 모델의 결과값은 항상 학습했던 데이터의 레이블 중 하나가 된다.
분류는 맞다, 아니다의 이진 분류 문제와 사과, 바나나, 딸기 등의 두 가지 이상으로 분류하는 다중 분류 문제가 있다.
아래 이미지를 보자.
위 이미지는 분류 문제에서 흔히 사용되는 숫자 손글씨 데이터셋이다. 이미지 데이터마다 어떤 숫자를 의미하는지를 나타내는 레이블 데이터가 존재하고, 모델은 위 데이터와 레이블을 통해 학습을 한다. 이후 새로운 데이터를 분석한 결과는 반드시 0부터 9 사이의 값 중 하나가 되는 것이다.
분류 문제에 사용되는 알고리즘은 서포트 벡터 머신, 나이브 베이즈, 결정 트리, 인공 신경망 등이 있다.
2. 회귀(Regression)
회귀는 입력 데이터에 대해 연속적인 값을 예측하는 작업이다. 분류 문제처럼 결괏값이 '고양이', '강아지' 이런 식으로 정해지는 것이 아니라 범위 내의 어떠한 값도 나올 수 있기 때문에 예측 모델이라고 부르기도 한다. 주로 어떤 패턴이나 트렌드, 경향을 예측할 때 사용된다.
예를 들어 특정 지역의 아파트 가격을 예측하고자 할 때, 어떤 지역에 있는 아파트인지, 몇 평인지, 그 아파트의 집값은 얼마인지를 입력데이터로 넣어주면 어떤 지역의 30평대 아파트 가격이 어느정도인지 예측할 수 있다.
회귀 문제에 사용되는 알고리즘은 로지스틱 회귀, 서포트 벡터 머신, 결정 트리, 인공 신경망 등이 있다.
비지도학습 (Unsupervised Learning)
비지도학습은 정답이 주어지지 않은 데이터에서 패턴을 찾아내는 방법이다. 주요 유형으로는 군집화(Clustering), 이상 탐지(Anomaly Detection), 연상(Association) 등이 있다.
1. 군집화(Clustering)
군집화는 비슷한 특성을 가진 데이터를 그룹화하는 작업이다. 고객 세분화나 이미지 분할 등에 활용될 수 있다.
2. 이상 탐지(Anomaly Detection)
이상 탐지는 정상 패턴에서 벗어난 이상한 패턴을 찾아내는 작업이다. 예를 들어, 신용카드 부정 사용 감지가 여기에 해당한다.
3. 연상(Association)
연상은 데이터 간의 규칙이나 패턴을 찾아내는 작업이다. 장바구니 분석이 여기에 속한다.
강화학습 (Reinforcement Learning)
강화학습은 환경과 상호작용하며 시행착오를 통해 최상의 보상을 얻는 방향으로 학습하는 방법이다. 게임이나 로봇 제어에서 사용될 수 있다.
References
https://tcpschool.com/deep2018/deep2018_machine_learning
https://ebbnflow.tistory.com/16
https://bruders.tistory.com/69
'AI > Machine Learning' 카테고리의 다른 글
ML: 최적화(Optimization)와 경사하강법 (Gradient Descent) (0) | 2024.01.18 |
---|---|
ML: 손실함수(Loss Function) (0) | 2024.01.16 |
ML: 활성화 함수 (Activation Function) (0) | 2024.01.16 |
ML: 인공신경망(Artificial Neural Network)과 퍼셉트론(Perceptrons) (0) | 2024.01.16 |