[46일차]머신러닝 기초 개념

김준석·2024년 1월 29일

머신러닝이란?

  • 데이터에서 지식을 추출하는 작업
  • 즉, 머신 스스로가 데이터를 바탕으로 그 안에 있는 특징과 패턴을 찾아냄
    • 패턴을 찾아내는 일 : 학습
  • 특징과 패턴을 바탕으로 새로운 데이터에 대한 추론을 진행
  • 과거 머신러닝 정의
    • “머신 러닝은 명시적인 프로그래밍(x가 들어오면 y를 출력하게 명시.) 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구 분야”
      Atrhur Samuel (1959)
    • “어떤 작업 T에 대한 컴퓨터 프로그램의 성능을 P로 측정했을 때 경험 E로 인해 성능이 향상됐다면,
      이 컴퓨터 프로그램은 작업 T와 성능 측정 P에 대해 경험 E로 학습한 것이다”
      Tom Mitchell (1997)

인공지능>머신러닝>딥러닝

인공지능을 만들 때에 머신에 학습을 주입하는 과정을 머신러닝이라고 한다.


명시적 프로그램과 머신러닝의 차이

명시적 프로그램 : 규칙 기반 전문가 시스템

  • 머신 러닝 이전의 문제 해결 방법론
  • 문제를 해결하기 위한 규칙을 수동으로 사전에 정의
    • 규칙 : 하드 코딩 된 if-else 명령어 집합
  • e.g. 스팸메일을 구분하는 과정
    • 특정 단어(Sale, Win, Free 등)의 유무로 스팸을 분류

장점!

  • 처리 과정을 사람이 이해하기 쉬움
  • 작은 데이터에서 효과적

단점ㅠㅠ

  • 특정 규칙은 한 분야나 작업에 국한
  • 변경에 대응이 어려움
  • 규칙 설계 시 해당 분야의 전문가가 필요

머신 러닝

  • 명시적 프로그램의 한계를 극복할 수 있는 기법
  • 데이터 내부에서 자주 발생하는 특징과 패턴을 감지
    • 그러한 특징과 패턴을 feature 라고 함
  • 문제를 해결하기 위한 판단 기준을 시스템 스스로 찾아냄
  • 구체적으로 명시할 수 없는 규칙을 찾을 수 없다면 머신 스스로가 그것을 찾아내게 하는 방법이 좋은 솔루션

장점!

  • 예상치 못한 상관 관계를 파악하는데 탁월함
  • 특정 도메인에서 전문가가 필수로 필요하지 않음

단점 ㅠㅠ

  • 머신이 패턴을 파악할 수 있도록 다양한 데이터가 필요
  • 기계가 결정 및 판단하기 때문에
    결과 분석 과정에서 사람이 이해할 수 없는 포인트가 존재할 수 있음

머신러닝 사례

머신 러닝과 딥러닝의 다양한 사례

  • 머신 러닝은 다양한 어플리케이션과 연구 분야에서 활용
  • 최근 딥러닝의 발전으로 매우 다양한 분야에서 다양한 목적으로 사용


머신 러닝 프로젝트의 흐름

실무에서 머신 러닝 프로젝트가 어떤 흐름으로 진행되는지 알아보자

머신 러닝 프로젝트 로드맵

  1. 문제정의
    1. 어떤 목적으로 프로젝트를 진행하는지 문제를 정의해야 된다.
  2. 데이터 확인
    1. 문제를 확인하기 위해 데이터를 파악한다.
  3. 데이터 분할
    1. 학습 / 검증 / 테스트에 사용할 데이터를 각 각 미리 나눠줘야 된다.
      이때 사용할 수 없는 아웃라이어 데이터는 제거
  4. 알고리즘 탐색
    1. 어떤 알고리즘을 이용할지 파악
  5. 데이터 전처리
    1. 선택한 알고리즘을 고려해서 데이터 전처리를 진행.
  6. 학습과 검증
    1. 학습 및 검증을 하며 최적의 모델을 찾는다.
  7. 최종 테스트
    1. 테스트 데이터를 종합하여 최고의 머신 러닝을 찾는다.
      여기서 통과를 못하면 이전 단계들로 다시 하강
  8. 시스템 런칭~!

0개의 댓글