2 Wed

현업 실무자에게 배우는 Kaggle 머신러닝 입문

강의 소개

완전 입문자 용이다! 내가 들어도 되는 것인가!

머신러닝의 개념

머신러닝이란

  • 머신러닝이란 명시적인 프로그래밍 없이 데이터를 이용해서 예측을 수행하는 알고리즘 기법

  • 데이터로부터 컴퓨터가 패턴을 학습하는 알고리즘

  • 머신러닝과 기계 학습은 같은 말

머신러닝이 필요한 이유

  • 인간이 정확히 로직을 정해주기 어려운 복잡한 문제를 데이터에 기반한 학습을 통해서 해결할 수 있다

    • 사용자에게 맞는 광고를 추천하기 => 명시적으로 노출대상을 잡는 로직을 구성하기가 어렵다

예측 모델의 필요성

  • 데이터 분석을 통해 정교한 예측 모델을 구성하면 중요한 결정을 할 때 안정적이면서 계획적으로 수행할 수 있다

    • 다음 달 공급량을 늘릴지

분류 문제 VS 회귀 문제

  • 분류 문제 : 예측하는 결과값이 이산값

  • 회귀 문제 : 예측하는 결과값이 연속값

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

지도 학습

  • 정답 데이터가 존재하는 상황에서의 알고리즘

  • 입력데이터 X와 정답 레이블 Y의 쌍으로 구성

  • 현재의 문제 95%는 지도학습을 사용한다

    • 이 때 주로 RNN과 CNN을 사용한다

비지도 학습

  • 정답 레이블 Y없이 입력 데이터 X만을 이용해서 학습하는 알고리즘

  • 데이터의 숨겨진 특징을 찾아내는 것에 목적이 있다

    • 클러스터링 알고리즘을 이용하면 데이터의 특징이 비슷한 데이터끼리 그룹으로 묶을 수 있다

  • 단독으로 사용하기 보다는 지도 학습의 인풋데이터로 활용해서 지도 학습의 성능을 더욱 끌어올리는 용도로 많이 활용

    • 비지도 학습의 방법론은 주성분 분석이 있도 딥러닝에서는 오토인코더 라는 구조로 사용한다

강화 학습

  • 앞서 살펴본 알고리즘은 데이터가 이미 주어진 정적인 상태에서 학습하지만 강화 학습은 에이전트가 주어진 환경에서 어떤 행동을 취하고 이에 대한 보상을 얻으면서 학습을 진행한다

  • 에이전트는 보상을 최대화 하도록 학습한다

  • 강화 학습은 동적인 상태에서 데이터를 수집한다

  • 대표적인 알고리즘은 Q-Learning이 있고 최근에는 딥러닝과 결합한 DQN(Deep-Q-Network) 기법을 사용

    • 알파고도 이를 사용

트레이닝 데이터, 테스트 데이터

  • 일반적으로 지도학습 방법론을 사용

  • 트레이닝 데이터로 학습하면 트레이닝 데이터에 대한 성능이 높게 나오기 때문에 트레인 되지 않은 데이터, 즉 테스트 데이터로 성능을 측정하게 된다.

  • 일반적으로 80%는 트레이닝, 20%는 테스트

검증용 데이터, 오버피팅

검증용 데이터

  • 모델이 학습을 하면서 오버피팅에 빠지지 않았는지를 확인하는 데이터

  • 트레인 70, 검증 15, 테스트 15 등으로 사용하곤 한다

오버피팅

  • 동일한 데이터에 대해서 너무 많은 학습을 반복할 경우 새로운 데이터가 등장할 때 성능이 잘 나오지 않는다. 적당한 학습을 해야함.

  • 이렇게 적당한 학습을 하기 위해 중간에 학습을 멈추는 것을 얼리 스탑이라고 한다.

  • 오버피팅은 트레인 데이터 에러는 매우 작지만 검증이나 테스트 데이터에 대한 에러는 높을 때 발생했다고 한다.

  • 오버 피팅을 제거하기 위해서 규제화 기법을 이용한다.

  • 학습이 너무 안되면 언더피팅이라고 한다.

Colab

  • Google Colaboratory를 줄여서 Colab 이라고 부른다.

  • 데이터 과학자와 연구자를 위해 공개한 서비스

  • 장점

    • 구성이 필요하지 않음

      • 머신러닝을 위한 라이브러리들을 설치할 필요가 없음

      • 기본 세팅에서 이미 다 설치되있기 때문

    • GPU 무료 액세스

    • 간편한 공유

Last updated

Was this helpful?