tak's data blog
머신러닝이란? 본문
스스로도 머신러닝에대해 공부하면서 자주 까먹고 헷갈리는 부분이 많아 BOAZ에서 머신러닝 스터디를 계기로 복습할겸 내용을 정리해보도록 하겠습니다.
1. 머신러닝의 기본 개념
- 데이터에서부터 학습할 수 있는 시스템을 만드는 것!
- 자동화
- 사용 분야 : 복잡한 문제와 대량의 데이터에서 인사이트 도출, 많은 수동 조정과 규칙이 필요한 경우 (모델링을 통한 과정 간소화)
- 데이터 마이닝 : 겉으로 보이지 않는 패턴을 발견하는 것
머신러닝의 종류
1) 학습하는 동안의 감독 형태나 정보량에 따른 분류
1. 지도 학습 : 정답을 알려주며 학습을 시키는 방법. 예를 들어 자동차 사진을 주고(input data) 이 사진을 자동차(label data)라고 지칭하는 학습법이다.
크게 회귀(regression)와 분류(classification)로 나뉜다.
- 회귀(Linear Regression, SVR, Neural Networks...)
- 분류(KNN, Logistic Regression, SVM, Decision Tree...)
2. 비지도 학습 : 정답을 알려주지 않는다.(label data가 없다.) 비슷한 데이터를 군집화. 예를 들어 자동차, 비행기, 배 등의 사진을 주고 비지도학습을 시키고 비슷하다고 생각되는 것들을 군집화 시켜주는 학습법이다.
- 군집화(Kmeans, EM ...)
- visualization & dimensionality reduction(PCA, Kernel PCA ...)
- association rule learning(Apriori ...)
2) 어떻게 일반화 되는가에 따라 분류
일반화 : 학습데이터가 아닌 새로운 데이터를 예측하는데 전반적으로 잘 예측하도록 하는 것
- 사례 기반 학습 (Instance-based learning): nonparametic
1. 이미 알고있는 데이터와 새로운 데이터 간의 유사도로 예측하는 법
2. k-NN
3. 학습 데이터를 기억하고 새로운 데이터를 일반화 하기위해 유사도 측정을 사용.
- 모델 기반 학습 (Model-based learning)
1.학습 데이터로부터 일반화 할 수 있는 모델을 만들어 예측
2.훈련 세트에 모델을 맞추기 위해 파라미터 조정
(주요 과제)
데이터
- 일반화를 위해 새로운 데이터를 학습 데이터가 대표하는것이 중요
- 데이터 전처리 : 학습 데이터에 outlier, noise 등이 많으면 제대로 학습이 불가능
- feature engineering 중요
특성 선택(feature selection): 가지고 있는 특성 중에서 유용한 특성을 선택
특성 추출(feature extraction): 특성을 결합하여 유용한 특성을 만듦
알고리즘
- overfitting : 많은 공통특성 외에 지엽적인 특성까지 반영하여, high variance하게 train되어 새로운 데이터에 대해서는 예측하지 못하는 모델, 지나치게 데이터에 잘 맞는 경우
파라미터 수가 적은 모델 선택 (고차원 다항 모델 보다는 선형모델)
학습 데이터에서 특성수를 줄이거나, 모델에 제약을 가함
학습 데이터를 더 많이 모으기
학습 데이터의 노이즈를 줄임
cross validation 사용
- underfitting : 많은 공통특성 중 일부 특성만 반영하여, high bias하게 train되어 새로운 데이터도 막 예측해버리는 모델
파라미터가 더 좋은 모델 선택
더 좋은 특성 추가, variance 높이기
모델의 제약을 줄임
Data Set
- training : learning에 활용
- testing : model 판단시 사용
- validation : training의 일부를 validation으로 지정, learning에 관여, hyperparameter 등 조정하면서 best parameter 찾기
2. Random sampling method
cv(cross validation)
: train data에서 test data로 너무 많은 양의 데이터를 뺏기지 않기 위해 사용하는 기법
전체 데이터셋을 k개의 subset으로 나누고 k번의 평가를 실행.(이때 test set의 중복 없이 바꿔가며 평가함.)
장점 : 1. train에 들어가는 데이터셋이 계속 바뀌기 때문에 overfitting 방지 가능
2. validation set으로 계속 적합도를 확인할 수 있어서 overfitting 방지 가능
단점 : 1. 모델 훈련/ 평가 시간이 오래 걸린다.
여기까지 머신러닝에 대한 간단한 설명을 마치겠습니다.
다음엔 다른 내용으로 더 자세히 준비해보겠습니다.
다음 포스팅에서 뵐게요 감사합니다!!
'머신러닝' 카테고리의 다른 글
추천시스템(Recommendation system) 유사도(similarity) (0) | 2021.03.26 |
---|---|
추천시스템(Recommendation system) (1) | 2021.03.26 |
Decision Tree(의사결정나무) (0) | 2021.03.02 |
Model training(모델 훈련) (0) | 2021.02.10 |
classification(분류) (0) | 2021.02.02 |