이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

MATLAB의 기계 학습

기계 학습이란?

기계 학습(머신 러닝)은 인간에게는 자연스러운 능력인 경험으로부터의 학습을 컴퓨터에게 가르칩니다. 기계 학습 알고리즘은 모델로 미리 지정한 방정식을 사용하지 않고 여러 계산 기법을 사용해 데이터로부터 직접 정보를 “학습”합니다. 학습에 사용 가능한 표본의 개수가 늘어나면 알고리즘의 성능도 그에 맞춰 개선됩니다.

기계 학습에는 두 가지 유형의 기법이 사용됩니다. 하나는 알려진 입출력 데이터에 대해 모델을 훈련시켜 모델이 미래의 출력값을 예측할 수 있도록 하는 지도 학습(supervised learning)이고, 다른 하나는 입력 데이터에서 은닉 패턴이나 내재(고유) 구조를 찾아내는 비지도 학습(unsupervised learning)입니다.

지도 기계 학습의 목적은 불확실성이 존재하는 상태에서 증거를 기반으로 예측하는 모델을 만드는 것입니다. 지도 학습 알고리즘은 알려진 입력 데이터 세트와 이 데이터에 대해 알려진 응답 변수(출력값)를 받아들인 후, 새 데이터에 대한 응답 변수에 대해 타당한 예측값을 생성하도록 모델을 훈련시킵니다. 지도 학습은 분류 기법과 회귀 기법을 사용하여 예측 모델을 도출합니다.

  • 분류(classification) 기법은 이메일의 스팸 여부나 종양의 악성 여부와 같은 범주형 응답 변수를 예측합니다. 분류 모델은 입력 데이터를 범주로 분류합니다. 일반적인 응용 사례로는 의료 영상 처리, 이미지 및 음성 인식, 신용 평점 등이 있습니다.

  • 회귀(regression) 기법은 온도 변화나 전력 수요 변동과 같은 연속형 응답 변수를 예측합니다. 일반적인 응용 사례로는 전기 부하 예측, 알고리즘 트레이딩 등이 있습니다.

비지도 학습은 데이터에서 은닉 패턴이나 내재 구조를 찾아냅니다. 비지도 학습은 레이블이 지정된 응답 변수가 없는(출력이 정의되어 있지 않은) 입력 데이터로 구성된 데이터셋에서 추론을 하는 데 사용됩니다. 군집(clustering)은 가장 일반적인 비지도 학습 기법입니다. 군집은 탐색적 데이터 분석을 통해 데이터에서 은닉 패턴이나 그룹 구조를 찾아냅니다. 군집의 응용 사례로는 유전자 염기서열 분석, 시장 조사, 사물 인식 등이 있습니다.

최적의 알고리즘 선택하기

저마다 서로 다른 방식으로 학습하는 수십 개의 지도 및 비지도 기계 학습 알고리즘 중에서 최적의 알고리즘을 선택하기란 쉽지 않아 보일 수 있습니다. 가장 좋은 방법이나 모든 사례에 두루 적용되는 방법은 없습니다. 최적의 알고리즘을 찾으려면 때로는 시행착오를 거쳐야 합니다. 숙련된 데이터 과학자라도 먼저 시행착오를 겪지 않고서는 알고리즘이 제대로 작동할지 여부를 알 수 없습니다. 유연성이 높은 모델은 잡음일 가능성이 있는 미미한 변화를 모델링함으로써 데이터를 과적합할 수 있습니다. 단순한 모델은 비교적 해석하기가 쉬운 반면 정확도가 떨어질 수 있습니다. 따라서 최적의 알고리즘을 선택하려면 모델 속도, 정확도, 복잡성과 같은 이점들을 절충해야 합니다. 기계 학습의 중심에는 시행착오가 존재합니다. 하나의 방식이나 알고리즘이 제대로 작동하지 않는다면 다른 방식이나 알고리즘을 시도해 봐야 합니다. MATLAB®에는 여러 기계 학습 모델을 사용해 보고 그중에서 가장 적합한 모델을 선택할 수 있도록 지원하는 다양한 툴이 있습니다.

기계 학습 작업을 해결하는 데 도움이 되는 MATLAB 앱과 함수를 살펴보려면 다음 표를 참조하십시오. 기계 학습 작업에는 앱을 사용하는 것이 도움이 되는 것도 있고, 명령줄 기능을 사용하는 것이 효과적인 것도 있습니다.

작업MATLAB 앱 및 함수제품자세히 알아보기
분류를 통해 범주형 응답 변수 예측

분류 학습기 앱을 사용하여 몇몇 선별된 모델을 자동으로 훈련시키고 가장 적합한 모델을 선택할 수 있습니다. MATLAB 코드를 생성하여 스크립트를 사용할 수 있습니다.

더 많은 옵션이 필요하면 명령줄 인터페이스를 사용할 수 있습니다.

Statistics and Machine Learning Toolbox™

분류 학습기 앱에서 분류 모델을 훈련시키기

분류 함수

회귀를 통해 연속형 응답 변수 예측

회귀 학습기 앱을 사용하여 몇몇 선별된 모델을 자동으로 훈련시키고 가장 적합한 모델을 선택할 수 있습니다. MATLAB 코드를 생성하여 스크립트 및 기타 함수 옵션을 사용할 수 있습니다.

더 많은 옵션이 필요하면 명령줄 인터페이스를 사용할 수 있습니다.

Statistics and Machine Learning Toolbox

회귀 학습기 앱에서 회귀 모델 훈련시키기

회귀 함수

군집군집 분석 함수를 사용합니다. Statistics and Machine Learning Toolbox 군집 분석
신용 평점과 같은 계산 금융 작업툴을 사용하여 신용 위험 분석을 모델링합니다. Financial Toolbox™
Risk Management Toolbox™
Credit Risk (Financial Toolbox)
분류나 회귀용 신경망을 사용한 심층 학습사전 훈련된 네트워크와 함수를 사용하여 컨벌루션 신경망을 훈련시킵니다. Deep Learning Toolbox™ MATLAB의 심층 학습 (Deep Learning Toolbox)
얼굴 인식, 움직임 감지 및 객체 검출영상 처리 및 컴퓨터 비전을 위한 심층 학습 툴을 사용합니다. Deep Learning Toolbox
Computer Vision Toolbox™
Deep Learning, Semantic Segmentation, and Detection (Computer Vision Toolbox)

다음과 같은 체계적인 기계 학습 워크플로는 기계 학습 문제를 해결하는 데 도움이 될 수 있습니다. MATLAB에서 전체 워크플로를 완료할 수 있습니다.

가장 적합하게 훈련된 모델을 생산 시스템에 통합하려면 MATLAB Compiler™를 사용하여 Statistics and Machine Learning Toolbox 기계 학습 모델을 배포할 수 있습니다. 여러 모델에서, MATLAB Coder™를 사용하여 예측을 위한 C 코드를 생성할 수 있습니다.

분류 학습기 앱에서 분류 모델을 훈련시키기

지도 기계 학습을 사용하여 데이터를 분류하려면 분류 학습기 앱을 사용하여 모델을 훈련시킵니다. 이 앱을 사용하면 다양한 분류기를 사용하여 지도 기계 학습을 대화형 방식으로 탐색할 수 있습니다.

  • 몇몇 선별된 모델을 자동으로 훈련시키고 가장 적합한 모델을 선택하도록 도움을 줍니다. 모델 유형에는 결정 트리, 판별분석, 서포트 벡터 머신, 로지스틱 회귀, 최근접이웃, 나이브 베이즈, 앙상블 분류 등이 있습니다.

  • 데이터를 탐색하고, 검증 방식을 지정하고, 특징을 선택하고, 결과를 시각화합니다. 기본적으로, 이 앱은 교차 검증을 적용하여 과적합을 방지합니다. 또는 홀드아웃 검증을 선택할 수도 있습니다. 검증 결과를 바탕으로 데이터에 가장 적합한 모델을 선택합니다. 검증된 모델의 결과는 플롯이나 성능 측정값을 통해 확인할 수 있습니다.

  • 모델을 작업 공간으로 내보내어 새 데이터로 예측을 수행합니다. 항상 이 앱은 지정된 검증 방식이 적용된 모델을 따르고, 또한 모델을 전체 데이터에 대해서도 훈련시키고, 모델을 내보낼 때는 전체 모델을 내보냅니다.

  • 앱에서 MATLAB 코드를 생성하여 스크립트를 만들거나 새 데이터로 훈련시키거나 규모가 큰 데이터 세트를 사용하거나 추가 분석을 위해 코드를 수정합니다.

자세한 내용은 분류 학습기 앱에서 분류 모델을 훈련시키기 항목을 참조하십시오.

더 많은 옵션이 필요하면 명령줄 인터페이스를 사용할 수 있습니다. 분류 항목을 참조하십시오.

회귀 학습기 앱에서 회귀 모델 훈련시키기

지도 기계 학습을 사용하여 연속 데이터를 예측하려면 회귀 학습기 앱을 사용하여 모델을 훈련시킵니다. 이 앱을 사용하면 다양한 회귀 모델을 사용하여 지도 기계 학습을 대화형 방식으로 탐색할 수 있습니다.

  • 몇몇 선별된 모델을 자동으로 훈련시키고 가장 적합한 모델을 선택하도록 도움을 줍니다. 모델 유형에는 선형 회귀 모델, 회귀 트리, 가우스 과정 회귀 모델, 서포트 벡터 머신, 회귀 트리 앙상블 등이 있습니다.

  • 데이터를 탐색하고, 특징을 선택하고, 결과를 시각화합니다. 회귀 학습기는 분류 학습기와 마찬가지로 기본적으로 교차 검증을 적용합니다. 검증된 모델의 결과는 결과값이나 시각화를 통해 확인할 수 있습니다. 결과값을 비교해 보고 데이터에 가장 적합한 모델을 선택합니다.

  • 모델을 작업 공간으로 내보내어 새 데이터로 예측을 수행합니다. 항상 이 앱은 지정된 검증 방식이 적용된 모델을 따르고, 또한 모델을 전체 데이터에 대해서도 훈련시키고, 모델을 내보낼 때는 전체 모델을 내보냅니다.

  • 앱에서 MATLAB 코드를 생성하여 스크립트를 만들거나 새 데이터로 훈련시키거나 규모가 큰 데이터 세트를 사용하거나 추가 분석을 위해 코드를 수정합니다.

자세한 내용은 Train Regression Models in Regression Learner App 항목을 참조하십시오.

더 많은 옵션이 필요하면 명령줄 인터페이스를 사용할 수 있습니다. 회귀 항목을 참조하십시오.

심층 학습을 위해 신경망 훈련시키기

Deep Learning Toolbox를 사용하면 분류, 회귀, 특징 추출 및 전이 학습을 위해 컨벌루션 신경망으로 심층 학습을 수행할 수 있습니다. 이 툴박스는 심층 신경망의 계층을 만들고 상호 연결하기 위한 간단한 MATLAB 명령을 제공합니다. 다양한 예제와 사전 훈련된 네트워크가 제공되기 때문에 고급 컴퓨터 비전 알고리즘이나 신경망에 대한 깊이 있는 사전 지식이 없어도 쉽게 MATLAB을 심층 학습에 사용할 수 있습니다.

자세한 내용은 MATLAB의 심층 학습 (Deep Learning Toolbox) 항목을 참조하십시오.

관련 항목