머신러닝

해시넷
218.146.11.79 (토론)님의 2019년 9월 2일 (월) 17:06 판 (기법)
이동: 둘러보기, 검색

머신러닝(machine learning)은 인공 지능(AI)의 한 분야로, 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야를 말한다. 즉, 인간의 학습 능력과 같은 기능을 컴퓨터에서 실현하고자 하는 기술 및 기법을 의미한다.

개요

1959년, 아서 사무엘(Arthur Samuel)이 최초로 머신 러닝 또는 기계 학습을 "기계가 일일이 코드로 명시하지 않은 동작을 데이터로부터 학습하여 실행할 수 있도록 하는 알고리즘을 개발하는 연구 분야"라고 정의하였다. 1986년, 톰 미첼(Tom Mitchell)이 "컴퓨터 프로그램이 어떤 작업 T와 평가 척도 P에 대해서 경험 E로부터 학습한다는 것은, P에 의해 평가되는 작업 T에 있어서의 성능이 경험 E에 의해 개선되는 경우를 말한다."라고 더욱 형식적인 정의를 내렸다. 머신 러닝은 명시적인 알고리즘을 설계하기 어렵거나 프로그래밍하기 어려운 작업들을 해결하기 위해 주로 사용된다. 데이터로부터 유용한 규칙, 지식 표현 또는 판단 기준 등을 추출한다는 점에서 데이터마이닝이나 동계 및 수학적 최적화 문제와 관련이 깊다.

역사

  • 1949년 헵(Hebb)이 헵의 학습 규칙(Hebbian Learning Theory)을 발표.
  • 1952년 IBM에서 근무하던 아서 사무엘(Arthur Samuel)이 최초의 머신러닝 프로그램이라 할 수 있는 체커 프로그램을 개발.
  • 1957년 프랭크 로젠블랫(Frank Rosenblatt)이 퍼셉트론(Perceptron)이라는 개념 발표.
  • 1959년 아서 사무엘의 논문에서 최초로 머신 러닝 정의.
  • 1960년 버나드 위드로우(Bernard Widrow), 테드 호프(Ted Hoff)가 델타 규칙(Delta Learning Rule)을 발표.
  • 1981년 폴 웨어보스(Paul John Werbos)가 다층 퍼셉트론(Multilayer Perceptron)을 역전파(Back Propagation)로 계산하는 방법을 발표.
  • 1986년 로스 퀸란(John Ross Quinlan)이 머신러닝의 주류가 된 의사 결정 나무(Decision Tree)라는 알고리즘 발표.
  • 1995년 블라디미르 바프닉(Vladimir Vapnik)와 코리나 코르테스(Corinna Cortes)가 서포트 벡터 머신(Support Vector Machine, SVM)을 발표.
  • 1995년 IBM에서 근무하던 틴 캄 호(Tin Kam Ho)가 랜덤 의사 결정 포리스트(Random Decision Forests)라는 개념을 최초로 발표.
  • 1997년 요아브 프룬드(Yoav Freund)와 로버트 샤파이어(Robert Schapire)가 부스팅 앙상블 기법을 사용한 에이다부스트(AdaBoost)라는 알고리즘 발표.
  • 1997년 레오 브레이만(Leo Breiman)이 그래디언트 부스팅(Gradient Boosting)이라는 개념 제안.
  • 2001년 레오 브레이만이 랜덤 의사 결정 포리스트를 발전시킨 랜덤 포레스트(Random Forest)라는 알고리즘 발표.

특징

기법

  • 지도 학습(Supervised Learning)

입력과 출력 사이의 매핑을 학습하는 것이며, 입력과 출력 쌍이 데이터로 주어지는 경우에 적용한다. 지난 데이터를 기분으로 앞으로 있을 이벤트를 예측하는 데 보편적으로 사용된다. 예를 들면 신용 카드의 사기성이나 보험 가입자의 보험금 청구 가능성 여부 등을 예측하는 데 효과적이다. 대표적으로 의사 결정 트리(Desicion Tree), KNN(L-nearest neighbor), 신경망(Neural Network), SVM(Support Vector Machine) 등이 있다.

  • 비지도 학습(Unsupervised Learning)

입력만 있고 출력은 없는 경우에 적용하며, 입력 사이의 규칙성 등을 찾아내는 게 목표이다. 이전 레이블이 없는 데이터를 학습하는 데 사용되며, 데이터를 탐색하여 내부 구조를 파악하는 것이 목적으로 사용된다. 트랜잭션 데이터에 특히 효과적이며, 텍스트 주제를 세분화하고 항목을 권장하며 데이터 이상점을 식별하는 데 이용된다. 대표적으로 클러스터링(Clustering, 군집화), FDS 시스템(금융 위험 이상 탐지 시스템)이 있다.

  • 준지도 학습(Semisupervised Learning)

레이블이 지정된 데이터와 레이블이 지정되지 않은 데이터를 모두 사용해 트레이닝한다는 점에서 지도 학습과 차이가 있다. 레이블 지정에 따른 비용이 너무 높아 완전한 레이블 지정 트레이닝이 어려운 경우에 유용하며, 웹 캠을 이용한 안면 인식 기술 등에서 사용된다. 대표적으로 제한된 볼츠만 머신(Restricted Boltzmann Machine, RBM)을 여러 겹으로 쌓은 심층 신뢰 신경망(Deep Belief Network, DBN)이 있다.

  • 강화 학습(Reinforcement Learning)

주어진 입력에 대응하는 행동을 취하는 시스템에 대해 적용하며, 로봇, 게임 및 내비게이션에서 많이 이용된다. 시행착오를 거쳐 보상을 극대화할 수 있는 행동을 찾아내며, 에이전트가 일정한 시간 내에 예상되는 보상을 극대화할 수 있는 동작을 선택하도록 한다. 대표적으로 딥러닝(Deep Learning)이 있다.

  • 배치 학습(Batch Learning)

시스템이 점진적으로 학습할 수 없어 가용한 데이터를 모두 사용해 훈련시켜야 한다. 일반적으로 시간과 자원을 많이 소모하기 때문에 보통 오프라인에서 수행되는 경우가 많다.

  • 오프라인 학습(Offline Learning)

학습한 것을 적용만 하는 훈련 방법.

  • 온라인 학습(Online Learning)

데이터를 순차적으로 한 개씩 또는 미니배치(Mini-batch)라 부르는 작은 묶음 단위로 주입하여 시스템을 훈련시킨다. 컴퓨팅 자원이 제한되거나 연속적으로 데이터를 받고 빠른 변화에 스스로 적응해야 하는 시스템에 적합하다. 점진적 학습(Incremental Learning)이라고도 한다.

  • 사례 기반 학습(Instance-based Learning)

가장 간단한 형태의 학습. 시스템이 단순히 여러 사례를 메모리에 저장하는 것으로 학습한다. 메모리 기반 학습이라고도 한다. 대표적으로 유사도를 분류하여 스팸 메일을 분류함으로써 새로운 데이터에 일반화하는 것을 확인할 수 있다.

  • 모델 기반 학습(Model-based Learning)

여러 샘플 데이터들의 모델을 만들어 사용하는 방식으로 학습한다.

장점

  1. 학습을 위한 지식 표현이 필요 없다.
  2. 충분한 데이터와 적합한 알고리즘을 사용할 경우, 사람이 만든 모델보다 좋은 결과를 보여줄 수 있다.
  3. 고도의 수학적 지식이나 프로그래밍 능력을 요구하지 않는다.
  4. 자동화가 가능하다.
  5. 데이터를 제외한 나머지 과정은 자동화가 가능함으로 저렴하고 유연하다.
  6. 프로그램을 이용해 자신이 원하는 대로 사용이 가능하다.

단점

  1. 실수 : 사례를 통해 학습하는 특성상, 예상치 못한 상황에서 어이없는 판단과 결정을 할 가능성이 있다.
  2. 책임 : 인공지능은 자율적으로 작동하는데, 사고가 발생할 경우 누구에게 피해 책임을 물어야 하는 지 정의되지 않았다.
  3. 데이터 : 방대한 양의 데이터가 축적된 영역에서 빅데이터에 접근할 수 있는 이들만 사용이 가능하다.

활용

머신 러닝은 컴퓨터 과학을 포함한 대부분의 모든 분야에서 활용되고 있다.

  • 금융 서비스

데이터로부터 중요한 인사이트를 확인하고 사기를 방지하여 투자 기회를 활인하거나 투자자가 거래 시기를 정확히 파알할 수 있도록 지원한다. 또한 테이터 마이닝을 이용해 고위험 특징을 보이는 클라이언트를 식별하거나 사이버 감시를 이용해 사기의 전조 징후를 정확하게 발견할 수 있다.

  • 의료 서비스

IoT 기술을 이용해 환자의 건강 상태를 실시간으로 파악할 수 있는 웨어러블 장치와 센서로 머신러닝을 성장시킨다. 의료 전문가가 실시간 데이터를 분석하여 환자의 변화 수이나 적색 경고를 확인하여 진단과 치료 효과 개전에 활용될 수 있다.

  • 석유 및 가스

새로운 에너지원의 발견, 매장된 광물 분석, 정유 시설의 센서 고장 예측, 등의 범위에서 사용되고 있다.

  • 정부

센서 데이터를 분석하여 효율성을 높이고 비용을 절감할 수 있는 방법 발견 및 사기 감지, 개인정보 도용을 최소화할 수 있다.

  • 마케팅 및 영업

과거 구매자의 검색 및 구매 기록을 분석하여 상품 추천 및 홍보에 사용할 수 있다.

  • 운송

데이터 분석으로 패턴과 트렌드를 발견하는 데 사용될 수 있다.

  • 컴퓨터 시각

문자 인식, 물체 인식, 얼굴 인식.

  • 자연어 처리

자동 번역, 대화 분석.

  • 음성 인식 및 필기 인식
  • 정보 검색 및 검색 엔진

텍스트마이닝, 스팸 필터, 추출 및 요약, 추천 시스템.

  • 생물 정보학

유전자 분석, 단백질 분류, 질병 진단.

  • 컴퓨터 그래픽 및 게임

애니메이션, 가상현실.

  • 로보틱스

경로 탐색, 무인 자동차, 물체 인식 및 분류.


문제점과 대안

머신러닝 실패 원인

  1. 비즈니스에 대한 이해 부족
  2. 낮은 데이터 품질
  3. 잘못된 머신러닝 사용
  4. 편견
  5. 부족한 인프라 자원
  6. 부실한 계획과 거버넌스의 부재


참고자료