기계학습 또는 머신러닝은 인공 지능의 한 분야로, 컴퓨터가 학습할 수 있도록하는 알고리즘과 기술을 개발하는 분야.
Y=F(X)으로, y는 출력변수(종속변수) x는 입력변수(독립변수)
-주어진 데이터를 통해서 입력변수와 출력변수 간의 관계를 만드는 함수 f를 만드는 것
-주어진 데이터 속에서 데이터의 특징을 찾아내는 함수 f를 만드는 것
지도학습(supervised learning)
: y=f(x)에 대해, 입력변수 X와 출력변수 Y의 관계에 대해 모델링 하는 것
ex) 회귀(regression), 분류(classificaton) 등
비지도학습(unsupervised learning)
: 출력변수(종속변수) Y가 존재하지 않고, 입력변수(X)간의 관계에 대해 모델링하는 것
ex) 군집분석, PCA
강화학습
: 수 많은 시뮬레이션을 통해 현재의 선택이 먼 미래에 보상이 최대가 되도록 학습
1) 선형 회귀분석(Linear Regression)
-독립변수와 종속변수가 선형적인 관계가 있다는 가정
-직선을 통해 종속변수 예측하므로 독립변수의 중요도와 영향력 파악 가능
2) 의사결정나무(Decision Tree)
-독립변수의 조건에 따라 종속변수를 분리
-과적합 발생 가능성 높음
3) KNN(k-Nearest Neighbor)
-새로 들어온 데이터의 주변 k개의 데이터의 class로 분류하는 기법
4) Neural Network
-입력,은닉,출력층으로 구성된 모형으로서 각 층을 연결하는 노드의 가중치를 업데이트하면서 학습
5) SVM(Support Vector Machine)
-Class간의 거리가 최대가 되도록 decision boundary를 만드는 방법
6) Ensemble Learning
-여러 개의 모델을 결합하여 사용하는 모델
-배깅,부스팅,랜덤포레스트
7) K-means clustering
-Label없이 데이터의 군집으로 k개 생성
데이터 분할
(1) 데이터 분할
-전체 데이터를 학습데이터,검증데이터,테스트데이터로 나눔
(2) 모형 학습
-학습 데이터를 사용하여 각 모형을 학습함
(3) 모형 선택
-검증 데이터를 사용하여 각 모형의 성능을 비교하고 모형 선택
(4) 최종 성능 지표 도출
-테스트 데이터를 사용하여 검증 데이터로 도출한 최종 모델의 성능 지표를 계산함
* K-Fold 교차검증(k-Fold Cross Validation)
-모형의 적합성을 보다 객관적으로 평가하기 위한 방법
-데이터를 K개 부분으로 나눈 뒤, 그 중 하나를 검증집합, 나머지를 학습 집합으로 분류
-위 과정을 K번 반복하고 K개 성능 지표를 평균하여 모형의 적합성을 평가
* LOOCV(Leave-One-Out Cross Validation)
-데이터 수가 적을 때 사용하는 교차검증 방법
-총 n개의 모델을 만드는데, 각 모델은 하나의 샘플만 제외하면서 모델을 만들고 제외한 샘플로 성능 지표를 계산함. 이렇게 도출된 n개의 성능 지표를 평균 내어 최종 성능 지표 도출
raw데이터 > 전처리 된 데이터 > 실험설계 > Model