머신러닝

머신러닝이란?

작동 방식, 중요한 이유 및 시작하기

머신러닝은 컴퓨터가 경험을 통해 학습하도록 교육하는 AI 기법입니다. 머신러닝 알고리즘은 모델처럼 사전에 정해진 수식을 모델로 사용하지 않고 데이터에서 직접 정보를 "학습"하는 수치 해법을 사용합니다. 이 알고리즘은 학습에 사용할 수 있는 샘플 수가 많아질수록 성능이 점차 향상됩니다. 딥러닝은 머신러닝의 특수한 형태입니다.

머신러닝의 작동 방식

머신러닝은 두 가지 형태의 기법을 사용합니다. 하나는 지도 학습으로, 미래 출력값을 예측할 수 있도록 알려진 입력 데이터와 출력 데이터로 모델을 훈련합니다. 다른 하나는 비지도 학습으로, 입력 데이터에서 숨겨진 패턴이나 내재된 구조를 찾습니다.

머신러닝 기법에는 비지도 학습(군집)과 지도 학습(분류 및 회귀)의 두 가지가 있습니다.

그림 1. 머신러닝 기법에는 비지도 학습과 지도 학습이 있습니다.

지도 학습

지도 머신러닝은 불확실성이 존재하는 상황에서 증거에 기반하여 예측하는 모델을 구축합니다. 지도 학습 알고리즘은 알려진 입력 데이터셋과 그 데이터에 대한 알려진 응답 변수(출력값)로 모델을 훈련하여 새로운 데이터에 대한 응답 변수에 맞는 합리적인 예측 변수를 생성합니다. 예측하려는 출력값에 대해 알려진 데이터가 있다면 지도 학습을 사용할 수 있습니다.

지도 학습은 분류 기법과 회귀 기법을 사용하여 머신러닝 모델을 개발합니다.

분류 기법은 예를 들어 이메일이 진짜인지 스팸인지 또는 종양이 악성 종양인지 양성 종양인지와 같은 별개의 응답 변수를 예측합니다. 분류 모델은 입력 데이터를 범주로 분류합니다. 일반적인 응용 분야로는 의료 영상, 음성 인식, 신용 평가 등이 있습니다.

데이터에 태그를 지정할 수 있거나, 데이터를 범주화할 수 있거나, 특정 그룹 또는 클래스로 구분할 수 있는 경우 분류 기법을 사용할 수 있습니다. 예를 들어, 필기 인식 응용 사례의 경우 분류를 사용하여 문자와 숫자를 인식할 수 있습니다. 영상 처리 및 컴퓨터 비전에서 비지도 패턴 인식 기법은 객체 검출과 영상 분할에 사용됩니다. 분류를 수행하는 데 가장 많이 사용되는 알고리즘은 여기에서 확인할 수 있습니다.

회귀 기법은 연속 응답 변수를 예측합니다. 예를 들어, 배터리 충전 상태, 전력망의 전기 부하 또는 금융 자산의 가격과 같이 측정하기 어려운 물리량이 이에 해당합니다. 일반적인 응용 분야로는 가상 센싱, 전력 부하 예측, 알고리즘 트레이딩 등이 있습니다.

데이터 범위를 사용하여 작업하거나 장비에 고장이 발생할 때까지의 온도나 시간과 같이 응답 변수가 실수인 경우 회귀 기법을 사용할 수 있습니다. 회귀를 수행하는 데 가장 많이 사용되는 알고리즘은 여기에서 확인할 수 있습니다.

입력값을 출력값에 매핑하고 새로운 입력값에 대한 응답 변수를 예측할 수 있도록 모델을 훈련하는 지도 머신러닝의 사용 방법을 알아봅니다.

비지도 학습

비지도 학습은 데이터에서 숨겨진 패턴이나 내재된 구조를 찾습니다. 이 기법은 레이블이 지정된 응답 변수가 없는 입력 데이터로 구성된 데이터셋에서 추론을 도출하는 데 사용됩니다.

군집화는 가장 일반적인 비지도 학습 기법입니다. 이 기법은 데이터에서 숨겨진 패턴이나 그룹을 찾는 탐색적 데이터 분석에 사용됩니다. 군집 분석의 응용 분야로는 유전자 염기서열 분석, 시장 조사, 객체 인식 등이 있습니다.

예를 들어, 휴대폰 제조업체에서 이동통신 기지국을 세울 위치를 최적화하려고 한다면 머신러닝을 사용하여 기지국에 의존하는 사람들의 군집 수를 추정할 수 있습니다. 휴대폰은 한 번에 하나의 기지국과만 통신하므로 이 팀은 군집 알고리즘을 사용하여 고객의 그룹 또는 군집의 신호 수신을 최적화할 수 있는 최상의 기지국 배치를 설계할 수 있습니다. 군집화를 수행하는 데 가장 많이 사용되는 알고리즘은 여기에서 확인할 수 있습니다.

군집은 지도 없이 데이터에서 숨겨진 패턴을 찾는 머신러닝 학습 방법입니다.

그림 2. 군집화는 데이터에서 숨겨진 패턴을 찾습니다.

레이블이 지정된 응답 변수가 없는 데이터셋에서 패턴을 찾는 비지도 머신러닝에 대해 전반적으로 살펴봅니다. 이 접근법을 통해 데이터에 어떤 정보가 포함되었는지 잘 모를 경우에도 데이터를 탐색할 수 있습니다.

어떤 머신러닝 알고리즘을 사용할지 어떻게 결정할 수 있을까요?

수십 개의 지도 머신러닝 알고리즘과 비지도 머신러닝 알고리즘이 있고 각각은 서로 다른 학습 접근법을 사용하기 때문에 적합한 알고리즘을 선택하는 일은 어려울 수 있습니다.

최고의 방법이나 모든 문제에 맞는 방법은 없습니다. 올바른 알고리즘을 찾는 데는 어느 정도 시행착오가 필요합니다. 경험이 많은 데이터 과학자라고 해도 시도해보기 전에는 어느 알고리즘이 맞다고 이야기할 수 없습니다. 하지만 알고리즘 선택은 사용하는 데이터의 크기 및 유형, 데이터에서 얻고자 하는 이해, 이러한 이해를 사용하는 방식에 따라서도 달라집니다.

분류, 회귀, 군집으로 그룹화된 머신러닝 학습 알고리즘의 다이어그램.

그림 3. 머신러닝 기법.

지도 머신러닝과 비지도 머신러닝 중에서 알고리즘을 선택하는 데는 다음과 같은 지침을 참고할 수 있습니다.

  • 예를 들어 온도나 주가와 같은 연속 변수의 미래 값을 예측하도록 하거나 또는 웹캠 비디오에서 자동차 제조업체를 식별하는 등 분류하도록 모델을 훈련해야 한다면 지도 학습을 선택할 수 있습니다.
  • 데이터를 탐색하고 데이터를 여러 군집으로 나누는 등 좋은 내부 표현을 찾도록 모델을 훈련해야 한다면 비지도 학습을 선택할 수 있습니다.

머신러닝이 중요한 이유

빅데이터가 부상하면서 머신러닝은 다음과 같은 다양한 분야에서 문제를 해결하는 핵심 기법이 되었습니다.

자동차

자동차

항공우주

항공우주 및 국방

금속, 자재 및 광업

제조 분석

의료기기

의료기기

신호 처리

신호 처리

더 많은 데이터, 더 많은 질문, 더 좋은 해답

머신러닝 알고리즘은 데이터에서 자연적 패턴을 찾아 이에 대한 이해를 얻고 여러분이 더 나은 결정과 예측을 할 수 있도록 할 수 있습니다. 이러한 알고리즘은 의료 진단, 주식 트레이딩, 에너지 부하 예측 등에서 중요한 결정을 하는 데 매일 사용되고 있습니다. 예를 들어, 미디어 사이트들은 머신러닝을 사용해 수백만 개의 옵션을 면밀히 조사하여 사용자에게 노래나 영화를 추천합니다. 소매업자는 머신러닝을 사용하여 고객의 구매 행동을 파악합니다.

머신러닝은 언제 사용해야 하나요?

대량의 데이터와 많은 변수를 포함하지만 기존의 공식이나 수식이 없는 복잡한 작업 또는 문제가 있을 때 머신러닝 사용을 고려해 볼 수 있습니다.

머신러닝과 딥러닝의 차이점은 무엇입니까?

딥러닝은 머신러닝의 특수한 형태입니다. 머신러닝 워크플로는 영상에서 연관 특징을 직접 추출하는 것으로 시작합니다. 그런 다음 이러한 특징을 사용하여 영상 내 객체를 분류하는 모델을 만듭니다. 딥러닝 워크플로에서는 연관 특징이 영상에서 자동으로 추출됩니다. 또한, 딥러닝은 "종단간 학습"을 수행하는데 이는 신경망에 원시 데이터와 수행할 작업(예: 분류)이 제공되며 신경망은 이를 어떻게 자동으로 수행할지 학습하는 것을 의미합니다.

그림 4. 머신러닝(왼쪽)과 딥러닝(오른쪽)을 사용한 차량 분류 접근법 비교.

머신러닝에서는 영상을 정리하기 위해 사용자가 직접 특징과 분류기를 선택합니다. 딥러닝을 사용하면 특징 추출과 모델링 단계가 자동으로 진행됩니다.

머신러닝과 딥러닝 중 선택하기

머신러닝은 응용 사례, 처리할 데이터 크기 및 해결하려는 문제 유형에 따라 선택할 수 있는 다양한 기법과 모델을 제공합니다. 성공적인 딥러닝 응용 사례를 만들기 위해서는 모델을 훈련할 매우 많은 양의 데이터(수천 개의 영상)와 데이터를 신속하게 처리할 GPU(그래픽 처리 장치)가 필요합니다.

머신러닝과 딥러닝 중에서 선택할 때는 고성능 GPU와 레이블이 지정된 데이터가 많은지를 고려해야 합니다. 이 중 하나라도 없다면 딥러닝보다는 머신러닝을 사용하는 것이 더 적절할 수 있습니다. 딥러닝은 일반적으로 더 복잡하므로 신뢰할 만한 결과를 얻으려면 최소 수천 개의 영상이 필요합니다.

머신러닝을 선택하는 경우 다양하고 많은 분류기로 모델을 훈련할 수 있습니다. 또한 어떤 특징을 추출하면 최상의 결과가 나오는지 사용자가 알고 있을 수도 있습니다. 게다가, 여러 접근법을 조합하거나 다양한 분류기와 특징을 사용하여 주어진 데이터에 최적인 방식을 알아내는 유연성을 가질 수도 있습니다.

이 MATLAB Tech Talk에서는 딥러닝과 머신러닝의 차이점에 대해 알아볼 수 있습니다. 몇몇 예제를 따라 해보고, 직접 활용해 볼 방법을 어떻게 정할지에 대해서도 알아볼 수 있습니다.

MATLAB을 사용한 머신러닝

MATLAB을 사용하면 머신러닝이 쉬워집니다. 빅데이터를 처리하는 툴과 함수, 머신러닝에 쉽게 접근할 수 있게 해주는 앱을 제공하는 MATLAB은 머신러닝을 데이터 분석에 적용하기 위한 이상적인 환경입니다.

MATLAB을 통해 엔지니어와 데이터 과학자들은 사전 구축된 함수, 방대한 툴박스, 분류 (4:34), 회귀 (3:42), 군집화 (1:50)에 특화된 앱을 즉시 이용할 수 있고 데이터를 사용하여 더 나은 결정을 내릴 수 있습니다.

MATLAB으로 다음과 같은 작업을 수행할 수 있습니다.

  • 기존의 수동적 방법과 자동화된 방법을 사용하여 신호와 영상에서 특징 추출 및 자동 특징 선택으로 더 간결한 모델 구축
  • 다양한 특징 엔지니어링 기법을 적용하여 특징 최적화
  • 로지스틱 회귀, 분류 트리, 서포트 벡터 머신, 앙상블 방법, 딥러닝 등의 접근법 비교
  • 하이퍼파라미터 조정 및 축소 기법으로AutoML을 적용한 모델 최적화
  • 머신러닝 모델을 엔터프라이즈 시스템, 클러스터, 클라우드로 통합하고 모델을 실시간 임베디드 하드웨어로 타겟팅할 수 있습니다.
  • 임베디드 센서 분석을 위해 자동 코드 생성 수행
  • 데이터 분석에서 배포까지 이르는 통합 워크플로 지원

관련 주제

MATLAB 시작하기

MATLAB을 사용한 머신러닝

MATLAB의 머신러닝 지원에 대해 알아볼 수 있습니다. 

튜토리얼 및 예제

MATLAB을 사용한 머신러닝을 시작할 수 있습니다.