본문 바로가기
카테고리 없음

머신러닝이란 무엇인가?

by 용을 꿈꾸는 미꾸라지 2023. 2. 21.
반응형

1. 머신러닝이란?

 

머신러닝은 데이터에서부터 학습하도록 컴퓨터를 프로그래밍하는 과학 또는 예술입니다. 조금 더 일반적인 정의는 '아서 새뮤얼'의 '머닝러신은 명시적인 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구 분야다.'를 인용할 수 있고 조금 더 공학적인 정의는 '돔 마첼'의 '어떤 작업 T에 대한 컴퓨터 프로그램의 성능을 P로 측정했을 때 경험 E로 인해 성능이 향상됐다면, 이 컴퓨터 프로그램은 작업 T와 성능 측정 P에 대해 경험 E로 학습한 것이다.'를 인용할 수 있습니다. 스팸 필터는 사용자가 스팸이라고 지정한 스팸 메일과 일반 메일의 샘플을 이용해 스팸 메일 구분법을 배울 수 있는 머신러닝 프로그램입니다. 각 훈련 데이터를 훈련 사례 혹은 샘플, 시스템이 학습하는 데 사용하는 샘플을 훈련 세트라고 합니다. 이 경우 경험 E는 훈련 데이터이고, 작업 T는 새로운 메일을 스팸인지 구분하는 것이며, 성능 측정 P는 직접 정의해야 합니다. 예를 들면 정확히 분류된 메일의 비율을 P로 사용할 수 있습니다. 이 성능 측정을 정확도라고 부르며 분류 작업에 자주 사용됩니다.

 

2. 머신러닝을 사용하는 이유?

 

머신러닝은 다음 분야에 뛰어납니다. 첫 번째로 전통적인 방식으로는 해결 방법이 없는 복잡한 문제를 가장 뛰어난 머신러닝 기법으로 해결 방법을 찾을 수 있습니다. 두 번째로 기존 솔루션으로는 많은 수동 조정과 규칙이 필요한 문제를 하나의 머신러닝 모델이 코드를 간단하게 만들고 전통적인 방법보다 더 잘 수행되도록 할 수 있습니다. 세 번째로는 유동적인 환경인데 머신러닝 시스템은 새로운 데이터에 적응할 수 있습니다. 그리고 마지막으로 복잡한 문제와 대량의 데이터에서 통찰을 얻을 수 있습니다.

 

3. 머신러닝 시스템의 종류

 

머신러닝 시스템의 종류는 매우 많으므로 넓은 범주에서 분류하면 도움이 됩니다. 우선 실시간으로 점진적인 학습을 하는지 아닌지를 보고 온라인 학습과 배치학습으로 분류할 수 있고, 다음으로 사람의 감독하에 훈련하는 건인지 그렇지 않은 것인지로 지도 학습, 비지도 학습, 준지도 학습, 강화 학습 등 네 가지 주요 범주가 있습니다. 끝으로 단순하게 알고 있는 데이터 포인트와 새 데이터 포인트를 비교하는 것인지 아니면 과학자들이 하는 것처럼 훈련 데이터 세트에서 패턴을 발견하여 예측 모델을 만드는지로 사례 기반 학습과 모델 기반 학습으로 분류할 수 있습니다. 예를 들어 최첨단 스팸 필터가 심층 신경망 모델을 사용해 스팸과 스팸이 아닌 메일에서부터 실시간으로 학습할지도 모릅니다. 이러한 범주들은 서로 배타적이지 않으며 원하는 대로 연결할 수 있습니다. 지도 학습에는 알고리즘에 주입하는 훈련 데이터에 레이블이라는 원하는 답이 포함됩니다. 분류가 전형적인 지도 학습이며, 스팸 필터가 좋은 예입니다. 스팸 필터는 많은 메일 샘플과 소속 정보로 훈련되어야 하며 어떻게 새 레일을 분류할지 학습해야 합니다. 또 다른 전형적인 작업은 예측 변수라 부르는 특성을 사용해 중고차 가격 같은 타깃 수치를 예측하는 것입니다. 이런 종류의 작업을 회귀라고 부릅니다. 시스템을 훈련하려면 예측 변수와 레이블이 포함된 중고차 데이터가 많이 필요합니다. 비지도 학습에는 말 그대로 훈련 데이터에 레이블이 없습니다. 시스템이 아무런 도움 없이 학습해야 합니다. 시각화 알고리즘도 비지도 학습 알고리즘의 좋은 예입니다. 레이블이 없는 대규모의 고차원 데이터를 넣으면 도식화가 가능한 2D나 3D 표현을 만들어줍니다. 또 하나의 중요한 비지도 학습은 이상치 탐지입니다. 예를 들어 제조 결함을 잡아내고, 부정 거래를 막기 위해 이상한 신용카드 거래를 감지하고, 학습 알고리즘에 주입하기 전에 데이터셋에서 이상한 값을 자동으로 제거하는 것 등입니다. 데이터에 레이블을 다는 것은 일반적으로 시간과 비용이 많이 들기 때문에 레이블이 없는 샘플이 많고 레이블 된 샘플은 적은 경우가 많습니다. 어떤 알고리즘은 일부만 레이블이 있는 데이터를 다룰 수 있는데 이를 준지도 학습이라고 합니다. 강화 학습은 매우 다른 종류의 알고리즘으로 여기서는 학습하는 환경을 관찰해서 행동을 실행하고 그 결과로 보상처럼 부정적인 보상에 해당하는 벌점을 받으며 학습하는 시스템을 에이전트라고 부릅니다.

반응형

댓글


.container_postbtn {display:none;}