반응형
머신러닝(machine learning)
- 데이터로부터 학습하도록 컴퓨터를 프로그래밍 하는 과학
- 명시적 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구 분야
훈련 세트(training set)
- 시스템이 학습하는 데 사용하는 샘플
훈련 사례(training instance), 샘플(sample)
- 각 훈련 데이터
왜 머신러닝을 사용하는가?
전통적 접근 방법 보다 프로그램이 짧아지고 유지 보수하기 쉬우며 대부분 정확도가 더 높음(ex 스팸 분류)
데이터 마이닝(data mining)
- 대용량의 데이터를 분석하여 겉으로 보이지 않던 패턴을 발견하는 기술
차원 축소(dimensionality reduction)
- 정보를 잃지 않으면서 데이터를 간소화
특성 추출(feature extraction)
- 원시 데이터로 부터 머신러닝에 적합한 데이터(모델을 학습 시킬 예)로 정제하는 것
- 특성을 결합하여 유용한 특성을 만듦
지도 학습(supervised learning)
- 알고리즘에 주입하는 훈련 데이터에 label(답)이 포함된 학습
- (분류, 회귀)
비지도 학습(unsupervised learning)
- 훈련 데이터에 레이블(답)이 없는 학습
- 군집(clustering), 차원축소(dimensionality reduction), 이상치 탐지(anomaly detection), 연관 규칙 학습(association rule learning)
이상치 탐지(anomaly detection)
- 비지도 학습
- 학습 알고리즘에 주입되기 전 데이터셋에서 이상한 값을 자동으로 제거하는 작업
연관 규칙 학습(association rule learning)
- 비지도 학습
- 대량의 데이터에서 특성 간 흥미로운 관계를 찾는 작업
준지도 학습(semisupervised learning)
- 레이블이 일부만 있는 데이터를 학습
강화 학습(reinforcement learning)
- 환경(environment)을 관찰하여 행동(action)을 실행, 그 결과로 보상(reward)을 받는 알고리즘
- 시간이 지나면서 가장 큰 보상을 얻기 위해 정책(policy)라고 부르는 최상의 전략을 스스로 학습하는 알고리즘
- 학습하는 시스템 - 에이전트(agent)
배치 학습(batch learning), 오프라인 학습(offline learning)
- 점진적으로 학습 불가, 데이터를 모두 사용해 훈련
- 시스템을 훈련시키고 제품 시스템에 적용하여 더 이상의 학습 없이 실행하여 적용만 시키는 알고리즘
- 시간, 자원을 많이 소모
- 시스템이 입력 데이터의 스트림으로부터 점진적으로 학습할 수 없음
온라인 학습(online learning)
- 데이터를 순차적으로 한개씩 또는 미니배치(작은 묶음 단위로 주입)로 시스템을 훈련시키는 알고리즘
- 매 학습 단계가 빠르고 비용이 적게 듦
- 데이터의 도착 즉시 학습 가능
- 연속적으로 데이터를 받고 빠른 변화에 스스로 적응해야 하는 시스템에 적합
- 컴퓨팅 자원이 제한된 경우 적합
학습률(learning rate)
- 시스템이 변화하는 데이터에 얼마나 빠르게 적응하는지에 대한 파라미터
- 모델이 얼마나 세세하게 학습을 할지
- 한번 학습할때 얼만큼 변화를 주는지에 대한 상수
사례 기반 학습
- 시스템이 사례를 기억함으로써 학습
- 이미 알고 있는 데이터와 새로운 데이터 간의 유사도를 통해 예측하는 방법
모델 기반 학습
- 샘플들의 모델을 만들어 예측에 사용하도록 하는 학습
- 학습 데이터로부터 일반화 할 수 있도록 모델을 만들어 예측
머신러닝의 주요 도전 과제
- 머신러닝 알고리즘이 잘 작동하도록 하기 위해선 많은 양의 데이터가 필요
- 일반화(학습데이터가 아닌 새로운 데이터를 예측하는데 전반적으로 잘 예측할 수 있도록 하는 것)가 잘 되도록 새로운 데이터를 학습 데이터가 잘 대표하도록 해야함
- 학습 데이터 정제
- 에러, 이상치, 노이즈 제거 등
- 학습에 필요한 특성을 잘 찾아야 함
- 특성 선택
- 특성 추출
- 과대적합(overfitting) - 훈련 데이터에 너무 잘 맞지만 일반성이 떨어지는 경우
- 파라미터 수가 적은 모델 선택 해결
- 데이터의 특성 수를 줄이거나, 모델에 제약을 걸어(규제 regularization) 해결
- 훈련 데이터를 더 모아 해결
- 훈련 데이터의 노이즈를 줄여 해결
- 과소 적합(underfitting) - 모델이 너무 단순하여 데이터의 내재된 구조를 학습하지 못하는 경우
- 파라미터가 더 많은 모델을 선택하여 해결
- 도 좋은 특성을 추가하여 해결
- 모델의 제약을 줄여 해결
# 본 게시물은 "Hands_On Machine Learning with Scikit-Learn & TensorFlow" 를 읽고 작성하였습니다. #
반응형
'핸즈온 머신러닝' 카테고리의 다른 글
Chapter 5 서포트 벡터 머신(svm) (0) | 2020.09.18 |
---|---|
Chapter4 모델 훈련 (0) | 2020.09.17 |
Chapter3 분류 (0) | 2020.04.11 |
CHAPTER 2 머신러닝 프로젝트 처음부터 끝까지 (0) | 2020.03.26 |
댓글