1_머신러닝_시작하기 - WWTKT/ML GitHub Wiki

CHAPTER 1

머신러닝 시작하기

tony@kakaobank


1.1 머신러닝 소개

데이터를 이용해서 명시적으로 정의되지 않은 패턴을
컴퓨터로 학습하여 결과를 만들어내는 학문 분야
  • 데이터, 패턴인식, 컴퓨터

직접적으로 프로그래밍하지 않아도 컴퓨터가 스스로 학습할 수 있는 능력을 주는 학문 분야 1959 - Arthur Lee Samuel


pic_1_1 center 80%

데이터

  • 머신러닝은 항상 데이터를 기반
  • 여러 규칙을 단순 조합하는 '고전적인 인공지능 시스템'과는 다름
  • 사용자가 어떻게 동작할지 완전히 정의하는 컴퓨터 알고리즘과도 다름
  • 머신러닝은 알고리즘이 아닌 데이터 학습을 통해 실행 동작이 바뀜
  • 데이터를 기반으로 한다는 점에서 통계학과 가깝다고 볼수 있음

패턴인식

  • 머신러닝은 통계학을 비롯해 딥러닝을 이용하여 데이터의 패턴을 유추하는 방법이 주축
  • 사용자가 일일이 정해놓은 패턴으로 데이터를 분석하는 것이 아니라 데이터를 보고 패턴을 추리는 것이 머신러닝의 핵심
  • 통계학이야 말로 데이터에서 패턴을 찾아내는 학문이므로 여전히 머신러닝의 가장 기본적이며 핵심적인 개념

딥러닝도 통계학에서 사용하는 전통적인 방법과는 다른 방법을 사용하지만 '패턴을 찾아내려고 학습한다'는 점에서 그 목표는 동일


컴퓨터를 이용한 계산

  • 머신러닝은 데이터를 처리하고 패턴을 학습하고 계산하는데 컴퓨터를 사용
  • 응용수학이나 통계학과 달리 머신러닝은 단순히 수학적인 모델의 구축이나 증명에만 그치는 것이 아니라 실제 데이터에 대해 계산해서 결과를 만들어낸다는 점에서 머신러닝은 전산학의 한 분야

1.1 머신러닝을 이해하는 데 필요한 배경지식

1.2.1 수학 (선형대수, 미분, 통계, 확률)

  • 행렬: 행렬 연산(특히 행렬곱)과 역행렬 선형대수, 특히 행렬 분해
  • 미분: 최솟값/최댓갑 개념과 1차 미분함수 미적분학과 최적화
  • 통계학: 분포, 정상분포, 가우스분포, 상관관계, 회귀
  • 확률: 확률의 정의, 조건부 확률

1.2.2 프로그래밍

  • 파이썬: 파이썬 문법, 함수 사용, 파일 사용

1.3 머신러닝 발전사

1.3.1 머신러닝의 역사와 현재 트랜드

center

고전적 인공지능 시대

  • 튜링 테스트 앨런 튜링
  • 컴퓨터의 가능성에 대해 다양한 논의

신경망 시대

  • 퍼셉트론perceptron 기초적인 신경망
  • 구할 수 있는 데이터가 굉장히 한정적이라 신경망 성능이 생각보다 신통치 않았음
  • 인공지능의 겨울

통계학적 머신러닝 시대

  • 데이터에 훨씬 더 중요한 비중
  • 머신러닝이라는 용어가 등장
  • 차후에 딥러닝이 나온 이후 이런 통계학에 중심을 둔 기법들을 통계학적 머신러닝이라고 부름

빅데이터 시대

  • 데이터, 대용량 저장장치, 분산 처리 기술과 결합하여 엄청난 시너지
  • 빅데이터라는 용어가 2010년대부터 유행

딥러닝 시대

  • 연산능력이 증가하면서 머신러닝 연구자들은 예전 신경망 이론에 다시 관심을 가짐
  • 기존의 신경망보다 훨씬 더 복잡한, 즉 깊이가 깊은 신경망을 사용

현재 트랜드

  • 성격이 다른 데이터를 연관시켜서 데이터를 더 효율적으로 사용하는 딥러닝 구조 개발
  • 통계학적 머신러닝의 기법을 조합해 데이터를 더 효율적으로 사용하는 딥러닝(원샷, 제로샷 러닝) 기술의 발전
  • 머신러닝, 특히 딥러닝을 거대 규모로 빠르게 연산할 수 있는 시스템(하드웨어와 소프트웨어 모두)의 발전
  • 딥러닝의 더 효율적인 학습을 위한 기술(드롭아웃, 비동기 SGD 등)의 발전
  • 데이터에 대한 더 큰 관심으로 인해 양적, 질적으로 크게 성장한 데이터 수집 기술의 발전

1.3.2 머신러닝의 3가지 관점

center


위치 추구하고자 하는 방향 시작점 결과 기법
통찰력, 통찰력 있는 모델 데이터에 대한 지식 데이터에 대한 믿음prior 베이지언 기법
오른쪽 데이터 적합성, 데이터 자체에 얼마나 가까운 모델을 만들수 있는지 많은 데이터 데이터에 잘 맞는 모델 딥러닝, 랜덤 포레스트
왼쪽 이론적 엄정성, 기법을 분석하기 쉬운지, 계산이 쉽게 가능한지 증명이 가능한 수학 이론 잘 정의되고 보장된 성능 스펙트럴 러닝, 서프트 벡터 머신SVM, 블록 최적화

1.4 머신러닝의 분류

center


1.4.1 지도학습, 비지도학습, 강화학습

center 80%

  • 지도학습: 주어진 데이터와 레이블(정답)을 이용해서 미지의 상태나 값을 예측하는 학습 방법 ex) 예전의 주식 시장 변화를 보고 내일의 주식 시장 변화 예측하기
  • 비지도학습: 데이터 자체에서 유요한 패턴을 찾아내는 학습 방법 ex) 군집화, 이상검출, 데이터 분포 추측
  • 강화학습: 기계(에이전트)가 환경과 상호작용(선택과 피드백의 반복)을 통해 장기적으로 얻는 이득을 최대화하도록 하는 학습 방법
    • exploitation, exploration

1.4.2 지도학습의 세부 분류