지도 머신 러닝이란?

지도 머신 러닝의 정의

지도 머신 러닝 또는 지도 학습은 인공 지능(AI) 애플리케이션에서 레이블이 지정된 데이터 세트를 사용하여 알고리즘을 학습하는 데 사용되는 머신 러닝(ML)의 한 유형입니다. 지도 머신 러닝은 레이블이 지정된 대규모 데이터 세트를 알고리즘에 공급함으로써 알고리즘이 결과를 정확하게 예측하도록 '학습'시킵니다. 가장 일반적으로 사용되는 머신 러닝 유형입니다.

다른 머신 러닝과 마찬가지로 지도 머신 러닝은 패턴 인식을 통해 작동합니다. 알고리즘은 레이블이 지정된 특정 데이터 세트를 분석하여 패턴을 감지하고 쿼리할 때 파생된 패턴을 기반으로 예측을 생성합니다. 정확한 예측 단계에 도달하려면 지도 머신 러닝 프로세스에서 데이터를 수집한 다음 레이블을 지정해야 합니다. 그런 다음 알고리즘이 레이블이 지정된 데이터에 대해 학습하여 데이터를 분류하거나 결과를 정확하게 예측합니다. 결과물의 품질은 데이터의 품질과 직접적으로 관련이 있습니다. 즉, 데이터 품질이 우수할수록 예측 결과가 우수합니다.

지도 머신 러닝의 예는 이미지 및 객체 인식부터 고객 감정 분석, 스팸 탐지, 예측 분석에 이르기까지 다양합니다. 따라서 의료, 금융, 전자 상거래 등 여러 산업 분야에서 지도 머신 러닝을 사용해 의사 결정을 최적화하고 혁신을 추진하고 있습니다.

지도 머신 러닝은 어떻게 작동하나요?

지도 머신 러닝은 데이터를 수집하고 레이블을 지정한 다음 모델을 학습시키고, 이 프로세스를 새로운 데이터 세트로 반복하는 방식으로 작동합니다. 모델이 해결하려는 문제를 정의한 다음 데이터를 수집하는 2단계 프로세스를 거칩니다:

  • 1단계: 모델이 해결하려는 문제 정의 모델이 비즈니스 관련 예측을 수행하거나, 스팸 감지를 자동화하거나, 고객 감정을 분석하거나, 이미지를 식별하는 데 사용되고 있나요? 이 단계에서 필요한 데이터가 결정되면 워크플로우의 다음 단계로 이어집니다.
  • 2단계: 데이터 수집 데이터에 레이블이 지정되면 이를 알고리즘에 입력하여 학습시킵니다. 그런 다음 모델을 테스트하고, 구체화하고, 배포하여 분류 또는 회귀 작업을 수행합니다.

데이터 수집 및 레이블 지정

데이터 수집은 지도 머신 러닝의 첫 번째 단계입니다. 데이터는 데이터베이스, 센서 또는 사용자 상호 작용 등과 같은 다양한 소스에서 가져올 수 있습니다. 일관성과 관련성을 보장하기 위해 전처리를 거칩니다. 수집이 완료되면 이 대규모 데이터 세트에 레이블이 지정됩니다. 입력 데이터의 각 요소는 상응하는 레이블을 할당받습니다. 데이터 분류는 시간과 비용이 많이 들 수 있지만, 모델이 예측을 생성할 수 있도록 패턴을 학습시키는 데 반드시 필요합니다. 레이블의 품질과 정확성은 모델의 학습 및 관련 예측 능력에 직접적인 영향을 미칩니다. 출력 품질은 입력 품질보다 좋을 수 없습니다.

모델 학습

학습 중에 알고리즘은 입력 데이터를 분석하고 올바른 출력 레이블에 매핑하는 방법을 학습합니다. 이 프로세스에는 예측된 결과와 실제 레이블 간의 차이를 최소화하기 위해 모델의 매개변수를 조정하는 작업이 포함됩니다. 모델은 학습 중에 발생하는 오류를 학습하여 정확도를 개선합니다. 모델 학습이 완료되면 평가를 거칩니다. 검증 데이터는 모델의 정확도를 결정하는 데 사용됩니다. 그런 다음 결과에 따라 필요한 경우 미세 조정을 거칩니다.

모델이 더 많은 데이터를 흡수할수록 더 많은 패턴을 학습하고, 이론적으로 예측이 더 정확해집니다. 지속적인 학습은 머신 러닝의 초석입니다. 레이블이 지정된 데이터 세트에서 계속 학습할수록 모델 성능이 향상됩니다.

일단 배포된 후에는 지도 머신 러닝은 분류와 회귀라는 두 가지 유형의 작업을 수행할 수 있습니다.

분류는 알고리즘을 사용하여 주어진 불연속형 데이터 요소 또는 집합에 클래스를 할당하는 작업입니다. 즉, 데이터 카테고리를 구분하는 것입니다. 분류 문제에서 결정 경계는 클래스를 설정합니다.

회귀는 알고리즘을 활용해 연속형 종속 데이터 변수와 독립 데이터 변수 간의 관계를 이해합니다. 회귀 문제에서 결정 경계는 최적선 또는 확률적 근접성을 설정합니다.

지도 머신 러닝 알고리즘

텍스트 분류부터 통계적 예측에 이르기까지 분류 및 회귀 작업을 위한 지도 머신 러닝에는 다양한 알고리즘과 기법이 사용됩니다.

의사 결정 트리

의사 결정 트리 알고리즘은 루트 노드, 분기, 내부 노드 및 리프 노드로 구성된 비모수적 지도 학습 알고리즘입니다. 입력은 루트 노드에서 분기를 거쳐 내부 노드로 이동하여 알고리즘이 입력을 처리하고 결정을 내리고 리프 노드를 출력합니다. 의사 결정 트리는 분류 및 회귀 작업에 모두 사용할 수 있습니다. 이는 사용자가 어떤 결과물이 생성된 이유나 결정이 내려진 이유를 추적할 수 있게 해주는 유용한 데이터 마이닝 및 지식 검색 도구입니다. 그러나 의사 결정 트리는 과적합이 발생하기 쉽고, 더 복잡한 문제를 처리하는 데 어려움이 있습니다. 따라서 의사 결정 트리는 작을수록 더 효과적입니다.

선형 회귀

선형 회귀 알고리즘은 한 변수(종속 변수)의 값을 다른 변수(독립 변수)의 값에 따라 예측하는 것입니다. 예측은 변수 사이에 선형 관계가 있거나, 급여, 가격 또는 연령과 같은 연속형 변수 간에 '직선' 연결이 존재한다는 원칙에 기반합니다. 선형 회귀 모델은 생물학, 사회, 환경 및 행동 과학, 비즈니스 분야에서 예측을 하는 데 사용됩니다.

신경망

신경망은 입력, 가중치, 임계값(편향이라고도 함), 출력으로 구성된 노드를 사용합니다. 이러한 노드는 입력, 숨김, 출력 계층 구조로 계층화되어 있어 인간의 뇌와 유사하며, 그래서 신경망이라고 불립니다. 딥 러닝 알고리즘으로 간주되는 신경망은 레이블이 지정된 학습 데이터로부터 지식 베이스를 구축합니다. 따라서 데이터 내의 복잡한 패턴과 관계를 파악할 수 있습니다. 지속적인 개선을 위해 실수로부터 '학습'할 수 있는 적응력이 뛰어난 시스템입니다. 신경망은 이미지 인식 및 언어 처리 애플리케이션에 사용할 수 있습니다.

랜덤 포레스트

랜덤 포레스트 알고리즘은 여러 출력에서 하나의 결과를 생성하도록 프로그래밍된 상호 연관성이 없는 의사 결정 트리 알고리즘의 모음(또는 포레스트)입니다. 랜덤 포레스트 알고리즘 매개변수에는 노드 크기, 트리 수, 특징의 수가 포함됩니다. 이와 같은 하이퍼매개변수는 학습 전에 설정됩니다. 배깅 및 특징 무작위성 방식을 활용하기 때문에 의사 결정 과정에서 데이터 가변성을 보장하고 궁극적으로 더 정확한 예측을 생성합니다. 여기에 의사 결정 트리와 랜덤 포레스트의 주요 차이점이 있습니다. 결과적으로 랜덤 포레스트 알고리즘은 더 높은 유연성을 제공합니다. 특징 배깅은 누락값을 추정하는 데 도움이 되므로 특정 데이터 포인트가 누락된 경우에도 정확성을 보장합니다.

서포트 벡터 머신(SVM)

서포트 벡터 머신(SVM)은 데이터 분류에 가장 일반적으로 사용되며 가끔 데이터 회귀에도 사용됩니다. 분류 애플리케이션에서 SVM은 과일과 채소 또는 포유류와 파충류와 같은 데이터 포인트를 구별하거나 분류하는 데 도움이 되는 결정 경계를 구성합니다. SVM은 이미지 인식이나 텍스트 분류에 사용될 수 있습니다.

나이브 베이즈

나이브 베이즈는 베이즈 정리에 기반한 확률적 분류 알고리즘입니다. 데이터 세트의 특징이 독립적이며, 각 특징 또는 예측 변수가 결과에서 균등한 가중치를 갖는다고 가정합니다. 이러한 가정을 '순진하다'라고 하는 이유는 실제 시나리오에서는 종종 반박될 수 있기 때문입니다. 예를 들어 문장의 다음 단어는 그 앞에 오는 단어에 따라 달라집니다. 그럼에도 각 변수의 단일 확률로 인해 나이브 베이즈 알고리즘은 특히 텍스트 분류 및 스팸 필터링 작업에서 계산 효율성이 매우 높습니다.

K-최근접 이웃(kNN)

KNN이라고도 하는 K-최근접 이웃은 변수의 근접성을 사용하여 출력값을 예측하는 지도 학습 알고리즘입니다. 즉, 유사한 데이터 포인트가 서로 가까이 존재한다는 가정을 바탕으로 합니다. 레이블이 지정된 데이터로 학습된 알고리즘은 쿼리와 기억된 데이터(지식 기반) 사이의 거리를 계산하여 예측을 공식화합니다. KNN은 맨해튼, 유클리드, 밍코프스키, 해밍과 같은 다양한 거리 계산 방법을 사용하여 예측의 기반이 되는 결정 경계를 설정할 수 있습니다. KNN은 관련성 순위, 유사도 검색, 패턴 인식, 상품 추천 엔진 등 분류 및 회귀 작업에 사용됩니다.

지도 머신 러닝의 과제와 한계

지도 머신 러닝은 높은 수준의 예측 정확도를 제공하지만 리소스 집약적인 머신 러닝 기법입니다. 비용이 많이 드는 데이터 레이블 지정 프로세스를 사용하고 대규모 데이터 세트가 필요하며, 결과적으로 과적합에 취약합니다.

  • 데이터 레이블 지정 비용: 지도 학습의 주요 과제 중 하나는 레이블이 정확하게 지정된 대규모 데이터 세트가 필요하다는 점입니다. 이러한 레이블의 정확도는 모델의 정확도에 정비례하므로 품질이 무척 중요합니다. 레이블 지정은 시간이 많이 걸리는 작업이며, 데이터와 모델의 용도에 따라 전문 지식이 필요한 경우가 있으므로 비용이 많이 들 수 있습니다. 의료나 금융과 같이 데이터가 민감하고 복잡한 분야에서는 레이블이 지정된 고품질 데이터 세트를 확보하기가 특히 어려울 수 있습니다.
  • 대용량 데이터 세트의 필요성: 지도 학습 모델이 대규모 데이터 세트에 의존하는 것은 대량의 고품질 데이터를 수집하고 레이블을 지정하는 데 리소스가 많이 들고, 너무 많은 데이터와 충분한 양질의 데이터 사이에서 적절한 균형을 찾는 것이 까다롭다는 두 가지 이유로 인해 심각한 문제가 될 수 있습니다. 효과적인 학습을 위해서는 대규모 데이터 세트가 필요하지만, 데이터 세트가 너무 광범위하면 과적합이 발생합니다.
  • 과적합: 과적합은 지도 학습에서 흔히 발생하는 문제입니다. 모델이 너무 많은 학습 데이터에 노출되어 노이즈나 관련 없는 세부 정보를 포착하는 경우, 즉 데이터가 너무 많을 때 발생합니다. 이는 예측 품질에 영향을 미치고 보이지 않는 새로운 데이터에 대한 성능 저하로 이어집니다. 엔지니어는 과적합에 대응하거나 이를 방지하기 위해 교차 검증, 정규화 또는 가지치기 기법을 사용합니다.

데이터 전처리가 이러한 과제의 핵심입니다. 시간과 비용이 많이 들 수 있지만 올바른 도구를 사용하면 비용, 품질 및 과적합 문제를 완화할 수 있습니다.

Elastic을 사용한 머신 러닝 소개

지도 머신 러닝과 비지도 머신 러닝 비교

머신 러닝은 지도, 비지도, 반지도로 구분할 수 있습니다. 각 데이터 학습 방법은 서로 다른 결과를 달성하며 서로 다른 컨텍스트에서 사용됩니다. 지도 머신 러닝은 데이터를 학습하기 위해 레이블이 지정된 데이터 세트가 필요하지만, 고품질의 대규모 데이터 세트 덕분에 정확도가 향상됩니다.

반면, 비지도 머신 러닝은 레이블이 지정되지 않은 데이터 세트를 사용하여 예측 모델을 학습시킵니다. 레이블이 지정되지 않은 데이터 요소 간의 패턴을 모델이 자체적으로 식별하므로 정확도가 떨어지는 경우가 있습니다. 비지도 학습은 클러스터링, 연관성 또는 차원 축소 작업에 자주 사용됩니다.

반지도 머신 러닝

반지도 머신 러닝은 지도 학습과 비지도 학습 기술을 결합한 것입니다. 반지도 학습 알고리즘은 레이블이 지정된 적은 양의 데이터와 레이블이 지정되지 않은 많은 양의 데이터를 통해 학습됩니다. 이렇게 하면 레이블이 지정된 예시가 적은 비지도 학습 모델보다 더 나은 결과를 얻을 수 있습니다. 반지도 락습은 대규모 데이터 세트에 레이블을 지정하는 것이 현실적이지 않거나 비용이 많이 드는 경우에 특히 유용할 수 있는 하이브리드 방법입니다.

머신 러닝 기술 – 이상 징후 탐색, 분류 회귀, 벡터 검색 및 NLP

머신 러닝 방법의 차이점을 이해하는 것은 당면한 작업에 적합한 솔루션을 선택하는 데 매우 중요합니다.

Elastic으로 더욱 쉬워진 머신 러닝

머신 러닝은 데이터에서 시작되며, 바로 여기에서 Elastic이 도와드릴 수 있습니다.

Elastic 머신 러닝을 사용하면 데이터를 분석하여 이상 징후를 찾고, 데이터 프레임 분석을 수행하고, 자연어 데이터를 분석할 수 있습니다. Elastic 머신 러닝을 사용하면 데이터 과학 팀이 시스템 아키텍처를 처음부터 설계하거나 모델 학습을 위해 데이터를 타사 프레임워크로 옮길 필요가 없습니다. 검색 AI 플랫폼인 Elastic을 활용하면 데이터를 수집, 이해, 모델을 구축하거나 즉시 사용 가능한 비지도 모델을 사용해 이상 징후 및 이상값을 탐지할 수 있습니다.

Elastic이 머신 러닝을 통해 데이터 과제를 해결하는 데 어떻게 도움을 줄 수 있는지 자세히 알아보세요.