0817 ML 공부
목표?! - 새로운 샘플에 잘 작동하는 모델
==============================================
기존 솔루션으로는 많은 수동 조정과 규칙이 필요한 문제: 하나의 머신러닝 모델이 코드를 간단하게 만들고, 전통적인 방법보다 더 잘 수행되도록 할 수 있다.
전통적인 방식으로는 너무 복잡하거나 알려진 알고리즘이 없는 문제
유동적인 환경==> 머신러닝 시스템은 새로운 데이터에 적응 할 수 있음
복잡한 문제와 대량의 데이터에서 통찰 얻기
==============================================
1-1) 지도학습 => 훈련 데이터에 레이블이라는 값도 포함
ex) 분류(classification), 회귀(regression)
회귀: 예측 변수(predictor vars), 즉 특성(feature)을 사용해 target 수치를 예측 하는 것.
대표적인 알고리즘: k-최근접 이웃(K-nearest neightbor), 선형회귀(linear regression), 로지스틱 회귀(logistic regression), 서포트 벡터 머신(SVM),
결정 트리(decision tree)와 랜덤 포레스트(random forest), 신경망(neural networks)
1-2) 비지도학습 => 훈련 데이터에 레이블값이 없음
ex) 군집, 이상치 탐지 & 특이치 탐지, 시각화와 & 차원축소 , 연관규칙 학습
1-3) 준지도학습 => 일부만 레이블이 있는 데이터 (지도 학습 + 비지도 학습 조합)
1-4) 강화학습 => 학습하는 시스템을 agent라고 부르며 환경을 관찰해서 행동을 실행하고 그 결과로 보상 또는 벌점을 받는다.
==============================================
2.입력 데이터의 스트림으로부터, 즉, 실시간으로 점진적인 학습을 하는지 아닌지(온라인 학습, 배치학습)
2-1) 배치학습 =>
2-2) 온라인학습 => 데이터를 순차적으로 한 개씩 또는 미니배치(mini batch)라 부르는 작은 묶음 단위로 주입하여 시스템을 훈련. 새로운 데이터가 들어오면 계속 학습
변화하는 데이터에 얼마나 빠르게 적응할 것인지? (학습률)
학습률을 높게하면? 낮게 하면?!
==============================================
3-1. 사례기반 학습 => 시스템이 훈련 샘플을 기억함으로써 학습, 그리고 유사도 측정을 사용해 새로운 데이터 데이터와 학습한 샘플을 비교하는 시으로 일반화
3-2. 모델기반 학습 => 샘플들의 모델을 만들어 예측에 사용하는 것
=============================================================================
=> 알맞은 알고리즘을 사용하여 알맞은 데이터를 훈련시키는 것. 따라서 나쁜 알고리즘과 나쁜 데이터를 be careful 해야 한다
1-2) 대표성 없는 훈련 데이터
1-3) 낮음 품질의 데이터
1-4) 관련 없는 특성 (garbage in, garbage out)
==> 훈련 데이터에 관련없는 특성이 적고, 관련이 있는 특성이 충분해야 한다.
==> 특성 선택(feature selection): 가지고 있는 특성 중에서 훈련에 가장 유용한 특성을 선택
==> 특성 추출(feature extraction): 특성을 결합하여 더 유용한 특성을 만든다.
1-5) 훈련 데이터 과대 적합
==> 모델이 훈련 데이터에 너무 잘 맞으면 일반성이 떨어질 수 있다.
==> 과대 적합의 위험을 감소시키기 위해 모델에 제약을 가하는 것을 규제(regulzation)이라고 한다.
==> 학습하는 동안 규제의 양은 하이퍼파라미터(hyperparameter)가 결정한다.
cf. 하이퍼파라미터란?!
1-6) 훈련 데이터 과소 적합
cf. how to solve it?!
============================================================================
1) 새로운 데이터에 얼마나 잘 일반화될지는 실제로 적용해 보는 것이다.
2) 또는 훈련 데이터를 훈련 세트와 테스트 세트 두 개로 나누어, 훈련 데이터로 training을 하고 테스트 데이터로 test를 한다..
cf. How to solve it?!
LETS'S START THE PROJECT
비즈니스의 목적이 정확히 무엇인가요?
(모델을 어떻게 사용해 이익을 얻으려고 할까?!)
솔루션이 있다면, 현재 솔루션은 어떻게 구성되어 있나요?!
cf. 파이프라인?!
ex) 레이블이 된 훈련 샘플(지도학습), 값을 예측(회귀문제), 예측에 사용할 특성이 여러개 (다중회귀, multiple regression), 각 구역마다 하나의 값을 예측(단변량 회귀, univarie regression), 만약 각 구역마다 여러개의 갮을 예측(다변량 회귀, multivariate regression)