머신 러닝이란 무엇인가?

머신 러닝 정의

머신 러닝(ML)은 인간이 학습하는 방식을 모방하기 위한 데이터와 알고리즘의 사용에 초점을 맞춘 인공 지능(AI)의 한 분야로서, 시간이 지남에 따라 점차 정확도를 향상시킵니다. 1950년대에 컴퓨터 과학자이자 AI 혁신가인 Arthur Samuel에 의해 "명시적으로 프로그래밍되지 않고 컴퓨터가 학습할 수 있는 능력을 주는 연구 분야"로 처음 정의되었습니다.

머신 러닝은 컴퓨터 알고리즘에 많은 양의 데이터를 제공하여 데이터 세트 내에서 패턴과 관계를 식별하는 방법을 배울 수 있도록 합니다. 그런 다음, 알고리즘은 분석을 기반으로 자신만의 예측 또는 결정을 내리기 시작합니다. 알고리즘이 새로운 데이터를 수신하면, 알고리즘은 사람이 연습을 통해 어떤 활동을 더 잘 하게 되는 것과 같은 방식으로 자신의 선택을 계속 개선하고 그 성과를 향상시킵니다.

머신 러닝의 네 가지 유형

머신 러닝의 네 가지 유형은 지도 머신 러닝, 비지도 머신 러닝, 준지도 러닝,강화 러닝입니다.

지도 머신 러닝은 가장 일반적인 유형의 머신 러닝입니다. 지도 러닝 모델에서 알고리즘은 레이블이 지정된 교육 데이터 세트에서 학습하고 시간이 지남에 따라 정확도를 향상시킵니다. 대상 변수가 이전에 보지 못한 새로운 데이터를 수신할 때 정확하게 예측할 수 있는 모델을 구축하도록 설계되었습니다. 예를 들어, 사람들이 장미와 다른 꽃들의 이미지에 레이블을 붙이고 그 속성을 지정하면, 알고리즘은 레이블이 부착되지 않은 새로운 장미 이미지를 받을 때 장미를 정확하게 식별할 수 있습니다.

비지도 머신 러닝은 레이블이 지정되지 않고 대상 변수가 없는 데이터에서 알고리즘이 패턴을 검색하는 경우입니다. 목표는 로그, 추적 및 메트릭에서 이상 징후를 탐지하여 시스템 문제 및 보안 위협을 탐지하는 것과 같이 인간이 아직 식별하지 못한 패턴과 관계를 데이터에서 찾는 것입니다.

준지도 러닝은 지도 및 비지도 머신 러닝을 혼합한 것입니다. 준지도 러닝에서 알고리즘은 레이블이 지정된 데이터와 레이블이 지정되지 않은 데이터 양쪽 모두에 대해 교육합니다. 먼저 레이블이 지정된 작은 데이터 집합에서 학습하여 사용 가능한 정보를 기반으로 예측 또는 결정을 내립니다. 그런 다음, 레이블이 지정되지 않은 더 큰 데이터 집합을 사용하여 데이터에서 패턴과 관계를 찾아 예측 또는 결정을 세분화합니다.

강화 러닝은 알고리즘이 자신의 행동에 대한 보상이나 벌칙의 형태로 피드백을 받아 시행착오를 통해 학습하는 것입니다. 몇 가지 예를 들면, AI 에이전트가 비디오 게임을 하도록 교육시키면서 레벨 향상에 대한 긍정적인 보상과 실패에 대한 페널티를 받는 것, 공급 체인을 최적화하면서 에이전트가 비용을 최소화하고 배송 속도를 최대화하는 것, 또는 추천 시스템을 통해 에이전트가 제품 또는 콘텐츠를 제안하고 구매 및 클릭으로 보상을 받는 경우 등이 있습니다.

머신 러닝의 작동 방식

머신 러닝은 여러 다른 방식으로 작동할 수 있습니다. 교육된 머신 러닝 모델을 새로운 데이터에 적용하거나 새로운 모델을 처음부터 교육할 수 있습니다.

교육된 머신 러닝 모델을 새로운 데이터에 적용하는 것은 일반적으로 더 빠르고 자원 집약적이지 않은 프로세스입니다. 교육을 통해 매개 변수를 개발하는 대신 모델의 매개 변수를 사용하여 입력 데이터에 대한 예측을 수행합니다. 이를 추론이라고 합니다. 또한 교육 단계에서 이미 평가되었기 때문에 성능을 평가할 필요가 없습니다. 그러나 입력 데이터가 모델 교육에 사용된 데이터와 동일한 형식인지 확인하기 위해 신중하게 준비해야 합니다.

새로운 머신 러닝 모델을 교육하려면 다음 단계를 거쳐야 합니다.

데이터 수집

먼저 데이터 세트를 선택합니다. 데이터는 시스템 로그, 메트릭 및 추적과 같은 다양한 소스에서 가져올 수 있습니다. 로그 및 메트릭 외에도,

  • 주가, 금리, 환율과 같은 금융 시장 데이터 등과 같은 몇 가지 다른 유형의 시계열 데이터가 머신 러닝 교육에서 중요합니다. 이 데이터는 종종 거래 및 투자 목적을 위한 예측 모델을 구축하는 데 사용됩니다.
  • 교통량, 속도 및 이동 시간과 같은 교통 시계열 데이터. 이것은 경로를 최적화하고 교통 혼잡을 줄이는 데 사용될 수 있습니다.
  • 웹사이트 트래픽 및 소셜 미디어 참여와 같은 제품 사용 데이터. 이를 통해 기업은 고객의 행동을 이해하고 개선해야 할 부분을 파악할 수 있습니다.

어떤 데이터를 사용하든, 이 데이터는 해결하려는 문제와 관련이 있어야 하며 예측이나 결정을 내리고 싶은 모집단을 대표해야 합니다.

데이터 전처리
데이터를 수집한 후에는, 머신 러닝 알고리즘에서 사용할 수 있도록 이 데이터를 전처리해야 합니다. 여기에는 때때로 데이터에 레이블을 지정하거나 데이터 세트의 각 데이터 요소에 특정 범주 또는 값을 할당하는 작업이 포함되며, 이는 머신 러닝 모델이 패턴을 학습하고 예측할 수 있게 합니다.

또한 빠진 값을 제거하고, 집계를 적용하여, 시계열 데이터를 보다 콤팩트한 형식으로 변환하고, 데이터를 확장하여 모든 기능이 유사한 범위를 갖도록 해야 합니다. 레이블이 지정된 대량의 교육 데이터를 갖는 것은 대규모 언어 모델(LLM)과 같은 심층 신경망을 위한 요건입니다. 일반적인 지도 모델의 경우, 많은 양을 처리할 필요가 없습니다.

기능 선택
일부 접근 방식에서는 모델에서 사용할 기능을 선택해야 합니다. 기본적으로 해결하려는 문제와 가장 관련이 있는 변수 또는 속성을 식별해야 합니다. 상관 관계는 기능을 식별하는 기본적인 방법입니다. 더욱 최적화하기 위해 자동화된 기능 선택 방법을 사용할 수 있으며 많은 머신 러닝 프레임워크에서 지원합니다.

모델 선택
이제 기능을 선택했으므로, 해결하려는 문제에 적합한 머신 러닝 모델을 선택해야 합니다. 몇 가지 옵션에는 회귀 모델, 의사 결정 트리 및 신경망이 포함됩니다. (아래의 "머신 러닝 기술 및 알고리즘"을 참조하세요.)

교육
모델을 선택한 후에는 수집하고 전처리한 데이터를 사용하여 모델을 교육해야 합니다. 교육은 알고리즘이 데이터에서 패턴과 관계를 식별하고 모델 매개 변수에 인코딩하는 방법을 학습하는 것입니다. 최적의 성과를 달성하기 위해 교육은 반복적인 과정입니다. 여기에는 모델 하이퍼파라미터를 조정하고 데이터 처리 및 기능 선택을 개선하는 것이 포함될 수 있습니다.

테스팅
이제 모델이 교육되었으므로, 모델이 이전에 보지 못했던 새로운 데이터에서 모델을 테스트하고 모델의 성능을 다른 모델과 비교해야 합니다. 최상의 성능을 발휘하는 모델을 선택하고 별도의 테스트 데이터에서 모델의 성능을 평가합니다. 이전에 사용하지 않은 데이터만 모델이 배포된 후 수행할 수 있는 성능에 대한 좋은 추정치를 제공합니다.

모델 배포
모델의 성능에 만족하면 실시간으로 예측 또는 의사 결정을 내릴 수 있는 프로덕션 환경에 모델을 배포할 수 있습니다. 여기에는 모델을 다른 시스템 또는 소프트웨어 애플리케이션과 통합해야 할 수 있습니다. 인기 있는 클라우드 컴퓨팅 서비스 제공자와 통합된 머신 러닝 프레임워크를 사용하면 클라우드에 모델을 쉽게 배포할 수 있습니다.

모니터링 및 업데이트
모델을 배포한 후에는 모델의 성능을 모니터링하고 새 데이터를 사용할 수 있게 되거나 해결하려는 문제가 시간이 지남에 따라 발생할 때마다 주기적으로 모델을 업데이트해야 합니다. 이는 새 데이터로 모델을 재교육하거나 매개 변수를 조정하거나 다른 머신 러닝 알고리즘을 선택하는 것을 의미할 수 있습니다.

머신 러닝이 중요한 이유

머신 러닝은 특수한 알고리즘을 프로그래밍하지 않고 예제를 사용하여 복잡한 작업을 수행하는 방법을 학습하기 때문에 중요합니다. 기존의 알고리즘 접근 방식과 비교하여 머신 러닝을 사용하면 더 많은 자동화를 수행하고, 고객 경험을 개선하며, 이전에는 실현 가능하지 않았던 혁신적인 애플리케이션을 만들 수 있습니다. 그리고, 머신 러닝 모델은 사용하는 동안 반복적으로 스스로를 향상시킬 수 있습니다! 예를 들면 다음과 같습니다.

  • 비즈니스 의사 결정을 개선하기 위한 동향 예측
  • 매출 및 고객 만족도를 높이는 개인 맞춤형 추천
  • 복잡한 애플리케이션 및 IT 인프라 모니터링 자동화
  • 스팸 및 보안 위반 탐지 식별

머신 러닝 기술 및 알고리즘

수많은 머신 러닝 기술 및 알고리즘을 이용할 수 있습니다. 선택하는 항목은 해결하려는 문제와 데이터의 특성에 따라 달라집니다. 다음은 일반적인 몇 가지 사항에 대한 간략한 개요입니다. 선형 회귀는 연속형 변수를 예측하는 것이 목적인 경우에 사용됩니다.

선형 회귀에서는 입력 변수와 대상 변수 사이의 선형 관계를 가정합니다. 예를 들어, 평방 피트, 위치, 침실 수 및 기타 특징의 선형 조합으로 집값을 예측할 수 있습니다.

로지스틱 회귀는 결과를 예측하는 것이 목적인 이항 분류 문제에 사용됩니다. 로지스틱 회귀에서는 입력 변수의 선형 모델을 기반으로 대상 변수의 확률을 추정합니다. 신청자의 신용 점수 및 기타 재무 데이터를 기반으로 대출 신청이 승인될 것인지 여부를 예측하는 것이 한 예입니다.

의사 결정 트리는 가능한 결과에 의사 결정을 매핑하기 위해 트리와 같은 모델을 따릅니다. 각 결정(규칙)은 하나의 입력 변수에 대한 검정을 나타내며 트리와 같은 모델에 따라 여러 규칙을 순차적으로 적용할 수 있습니다. 트리의 각 노드에서 가장 중요한 기능을 사용하여 데이터를 하위 집합으로 분할했습니다. 예를 들어, 의사 결정 트리는 인구 통계와 관심사를 기반으로 마케팅 캠페인의 잠재 고객을 식별하는 데 사용될 수 있습니다.

랜덤 포레스트는 여러 의사 결정 트리를 결합하여 예측 정확도를 향상시킵니다. 각 의사 결정 트리는 훈련 데이터의 무작위 하위 집합과 입력 변수의 하위 집합에 대해 훈련됩니다. 랜덤 포레스트는 개별 의사 결정 트리보다 정확하고 복잡한 데이터 세트나 누락된 데이터를 더 잘 처리하지만, 추론에 사용될 때 더 많은 메모리가 필요할 수 있으므로 상당히 커질 수 있습니다.

향상된 의사 결정 트리는 이전 의사 결정 트리보다 개선된 각 의사 결정 트리와 함께 일련의 의사 결정 트리를 훈련시킵니다. 부스팅 절차는 이전에 반복된 의사 결정 트리에 의해 잘못 분류된 데이터 포인트를 사용하고 이전에 잘못 분류된 이러한 포인트에 대한 분류를 개선하기 위해 새로운 의사 결정 트리를 재교육합니다. 인기 있는 XGBoost Python 패키지는 이 알고리즘을 구현합니다.

지원 벡터 머신은 한 클래스의 데이터 포인트와 다른 클래스의 데이터 포인트를 가장 잘 구분하는 하이퍼플레인을 찾는 작업을 합니다. 클래스 간의 "마진"을 최소화함으로써 그렇게 합니다. 지원 벡터는 3개의 점으로 정의되는 분리 초평면의 위치를 식별하는 몇 가지 관측치를 나타냅니다. 표준 SVM 알고리즘은 이진 분류에만 적용됩니다. 다중 클래스 문제는 일련의 이진 문제로 축소됩니다.

신경망은 인간 뇌의 구조와 기능에 의해 영감을 받습니다. 신경망은 상호 연결된 노드 계층으로 구성되어 있으며, 노드 간의 연결 강도를 조정하여 데이터의 패턴을 인식하는 방법을 배울 수 있습니다.

클러스터링 알고리즘은 데이터 포인트를 유사성에 따라 클러스터로 그룹화하는 데 사용됩니다. 고객 세분화 및 이상 징후 탐지와 같은 작업에 사용할 수 있습니다. 특히 영상 분할 및 처리에 유용합니다.

머신 러닝의 이점

머신 러닝의 이점은 다양합니다. 이를 통해 팀은 다음 범주에서 한 차원 높은 성능을 달성할 수 있습니다.

  1. 자동화: 반복성 또는 객관적인 어려움으로 인해 인간에게 어려운 인지 작업은 머신 러닝으로 자동화될 수 있습니다. 예를 들어, 복잡한 네트워크 시스템 모니터링, 복잡한 시스템의 의심스러운 활동 식별, 장비 유지 관리가 필요한 시기 예측 등이 있습니다.
  2. 고객 경험: 머신 러닝 모델이 제공하는 지능은 사용자 경험을 향상시킬 수 있습니다. 검색 기반 애플리케이션의 경우 의도와 선호도를 캡처하면 보다 정확도가 높고 개인에게 맞는 결과를 제공할 수 있습니다. 사용자는 자신이 의미하는 바를 검색하고 찾을 수 있습니다.
  3. 혁신: 머신 러닝은 목적에 맞게 구축된 알고리즘으로는 불가능했던 복잡한 문제를 해결합니다. 예를 들어, 이미지나 소리를 포함한 비정형 데이터를 검색하고, 교통 패턴을 최적화하고, 대중 교통 시스템을 개선하고, 건강 상태를 진단합니다.

머신 러닝을 통해 검색을 한 단계 끌어올리는 방법 알아보기

머신 러닝 사용 사례

다음은 머신 러닝의 몇 가지 하위 범주와 사용 사례입니다.

정서 분석은 자연어 처리를 사용하여 텍스트 데이터를 분석하고 전체적인 정서가 긍정적인지, 부정적인지 또는 중립적인지 확인하는 프로세스입니다. 다양한 데이터 소스(Twitter의 트윗, Facebook 댓글, 제품 리뷰 등)를 분석하여 고객 의견과 만족도를 측정할 수 있기 때문에 고객 피드백을 찾는 기업에 유용합니다.

이상 징후 탐지는 알고리즘을 사용하여 문제를 나타낼 수 있는 데이터의 비정상적인 패턴 또는 이상값을 식별하는 프로세스입니다. 이상 징후 탐지는 IT 인프라, 온라인 애플리케이션 및 네트워크를 모니터링하고 잠재적인 보안 침해를 나타내거나 나중에 네트워크 중단을 초래할 수 있는 활동을 식별하는 데 사용됩니다. 이상 징후 탐지는 또한 부정 은행 거래를 탐지하는 데에도 사용됩니다. AIOps에 대해 자세히 알아보세요.

이미지 인식은 이미지를 분석하고 이미지 내의 개체, 얼굴 또는 기타 특징을 식별합니다. Google 이미지 검색과 같은 일반적으로 사용되는 도구를 넘어 다양한 애플리케이션을 갖추고 있습니다. 예를 들어, 그것은 농작물의 건강을 모니터링하고 해충이나 질병을 식별하는 데 사용될 수 있습니다. 자율주행 자동차, 의료 영상, 감시 시스템 및 증강 현실 게임은 모두 이미지 인식을 사용합니다.

예측 분석은 과거 데이터를 분석하고 미래의 사건이나 동향을 예측하는 데 사용할 수 있는 패턴을 식별합니다. 이를 통해 기업은 운영을 최적화하고, 수요를 예측하며, 잠재적인 위험이나 기회를 파악할 수 있습니다. 예를 들어, 제품 수요 예측, 트래픽 지연, 제조 장비의 안전한 작동 시간 등이 있습니다.

예측 유지 관리에 대해 자세히 알아보기

Elastic machine learning capabilities and its use cases

머신 러닝의 단점

머신 러닝의 단점은 다음과 같습니다.

  • 고품질 교육 데이터에 대한 의존도: 데이터가 치우치거나 불완전하면 모델이 치우치거나 부정확할 수도 있습니다.
  • 비용: 교육 모델 및 데이터 전처리와 관련하여 높은 비용이 발생할 수 있습니다. 즉, 동일한 작업을 수행하기 위해 전문화된 알고리즘을 프로그래밍하는 큰 비용보다 여전히 낮으며, 대부분의 경우 정확하지 않을 것입니다.
  • 설명 가능성 부족: 심층 신경망과 같은 대부분의 머신 러닝 모델은 작동 방식에 대한 투명성이 부족합니다. 일반적으로 "블랙박스" 모델이라고 불리는 이는 모델이 어떻게 의사 결정을 내리는지 이해하기 어렵게 만듭니다.
  • 전문적 기술: 선택할 수 있는 모델에는 여러 가지 유형이 있습니다. 지정된 데이터 과학 팀이 없으면 조직은 최적의 성능을 달성하기 위해 하이퍼파라미터 조정에 어려움을 겪을 수 있습니다. 특히 트랜스포머, 임베딩 및 대형 언어 모델에 대한 훈련의 복잡성도 채택에 장애가 될 수 있습니다.

머신 러닝을 위한 모범 사례

머신 러닝을 위한 몇 가지 모범 사례는 다음과 같습니다.

  • 데이터가 깨끗하고 체계적이며 완전한지 확인합니다.
  • 현재 문제와 데이터에 적합한 적절한 접근 방식을 선택합니다.
  • 모델이 교육 데이터에서는 잘 수행되지만 새 데이터에서는 잘 수행되지 않는 과적합을 방지하는 기법을 사용합니다.
  • 완전히 보이지 않는 데이터에서 모델을 테스트하여 모델의 성능을 평가합니다. 모델을 개발하고 최적화하는 동안 측정한 성능은 모델이 프로덕션에서 어떻게 수행될지에 대한 좋은 예측 변수가 아닙니다.
  • 하이퍼파라미터 튜닝이라고 하는 최상의 성능을 찾도록 모델 설정을 조정합니다.
  • 실제 애플리케이션 및 비즈니스 문제의 맥락에서 모델의 성능을 평가하는 표준 모델 정확도와 더불어 메트릭을 선택할 수 있습니다.
  • 다른 사용자가 사용자의 작업을 이해하고 복제할 수 있도록 상세한 기록을 유지합니다.
  • 모델을 최신 상태로 유지하여 새 데이터에서 계속 잘 수행되도록 합니다.

Elastic 머신 러닝 시작하기

Elastic 머신 러닝은 확장 가능한 Elasticsearch 플랫폼의 이점을 상속합니다. 시작 및 실행에 필요한 교육이 적은 모델을 사용하는 observability, 보안검색 솔루션에 통합되어 즉시 가치를 얻을 수 있습니다. Elastic을 사용하면 새로운 통찰력을 수집하여 규모에 맞는 안정성으로 내부 사용자와 고객에게 혁신적인 경험을 제공할 수 있습니다.

다음을 수행하는 방법에 대해 알아보세요.

수백 개의 소스에서 데이터를 수집하고 내장된 통합 기능을 통해 데이터가 있는 곳에 머신 러닝 및 자연어 처리를 적용할 수 있습니다.

여러분에게 가장 적합한 어떤 방법이든 머신 러닝을 적용하세요. 자동화된 모니터링 및 위협 헌팅을 위한 사전 구성 모델, 정서 분석 또는 질문 응답 상호 작용과 같은 NLP 작업을 구현하기 위한 미리 훈련된 모델 및 트랜스포머, 클릭 한 번으로 시맨틱 검색을 구현하기 위한 Elastic Learned Sparse Encoder™ 등 사용 사례에 따라 미리 구성된 모델로부터 즉시 가치를 얻을 수 있습니다. 또는 최적화된 맞춤형 모델이 필요한 경우 데이터를 사용하여 지도 모델을 교육합니다. Elastic은 사용 사례에 적합하고 전문성 수준에 맞는 접근 방식을 적용할 수 있는 유연성을 제공합니다!

머신 러닝 용어집

  • 인공 지능은 러닝, 추론, 문제 해결 및 의사 결정과 같이 일반적으로 인간의 지능을 필요로 하는 작업을 수행하는 기계의 능력입니다.
  • 신경망은 정보를 처리하고 전송하는 노드의 상호 연결된 계층으로 구성된 머신 러닝 알고리즘의 한 유형입니다. 이는 인간 두뇌의 구조와 기능에 의해 영감을 받았습니다.
  • 딥 러닝은 많은 레이어가 있는 신경망의 하위 분야로, 머신 러닝 학습 알고리즘보다 훨씬 더 복잡한 관계를 학습할 수 있습니다.
  • 자연어 처리(NLP)는 기계가 인간의 언어를 이해하고 해석하고 생성할 수 있도록 하는 데 초점을 맞춘 AI의 하위 분야입니다.
  • 벡터 검색은 벡터 임베딩과 k-최근접 이웃 검색을 사용하여 대규모 데이터 세트에서 관련 정보를 검색하는 검색 알고리즘의 한 유형입니다.