머신러닝 (Machine Learning)

일반적으로는 애플리케이션을 수정하지 않고도 데이터를 기반으로 패턴을 학습하고 결과를 예측하는 알고리즘 기법을 통칭 규칙을 사람이 직접 코딩하지 않고, 알고리즘이 학습을 통해 자동으로 찾아냄

  • 머신러닝 알고리즘데이터를 기반으로 통계적인 신뢰도를 강화하고 예측 오류를 최소화하기 위한 다양한 수학적 기법을 적용
    • 데이터 내의 패턴스스로 인지하고 신뢰도 있는 예측 결과를 도출

1. 머신러닝의 분류

Note

일반적으로 머신러닝지도학습(Supervised Learning)과 비지도학습(Un-supervised Learning), 강화학습(Reinforcement Learning)으로 나뉨

  1. 지도학습 (Supervised Learning)
    • 정답(label)이 있는 데이터를 기반으로 학습하며, 목표는 주어진 입력에 대한 출력을 예측하는 것
    • 분류(Classification), 회귀(Regression), 추천 시스템(Recommendation), 시각/음성 감지/인지(Computer Vision, Speech Recognition), 텍스트 분석 및 자연어 처리(NLP)
  2. 비지도학습 (Un-supervised Learning)
    • 정답(label)이 없는 데이터를 기반으로 패턴이나 구조를 학습
    • 클러스터링(Clustering), 차원 축소(Dimensionality Reduction), 연관 규칙 학습(Association Rule Learning), 이상 탐지(Anomaly Detection)
  3. 강화학습 (Reinforcement Learning)
    • 행동에 대한 보상을 받으면서 학습하여, 어떤 환경 안에서 선택 가능한 행동들 중 보상을 최대화하는 행동 또는 행동 순서를 선택하는 방법
    • 게임 플레이(예 : 체스, 바둑), 로봇 제어, 자율 주리

2. 데이터 전쟁

머신러닝에서 데이터머신러닝 알고리즘어느 것이 더 중요한 요소인가?

  • 사실 데이터와 머신러닝 알고리즘 모두 머신러닝에서는 중요한 요소
    • 하지만 일단 머신러닝 세상이 본격적으로 펼쳐진다면 데이터의 중요성이 무엇보다 커짐!
  • 머신러닝의 가장 큰 단점데이터에 매우 의존적
    • Garbage In, Garbage Out → 좋은 품질의 데이터를 갖추지 못한다면 머신러닝의 수행 결과도 좋을 수 없음
  • 따라서, 최적의 머신러닝 알고리즘과 모델 파라미터를 구축하는 능력도 중요하지만 데이터를 이해하고 효율적으로 가공, 처리, 추출해 최적의 데이터를 기반으로 알고리즘을 구동할 수 있도록 준비하는 능력이 더 중요할 수 있음!

3. 파이썬과 R 기반의 머신러닝 비교

  • 머신러닝 프로그램을 작성할 수 있는 대표적인 오픈 소스 프로그램 언어는 파이썬R
  • R은 통계 전용 프로그램 언어이고 파이썬은 다양한 영역에서 사용되는 개발 전문 프로그램 언어