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?