TIL_1(1) : 머신러닝 개념

Mark·2021년 1월 28일
0
post-thumbnail

어제 오늘 동안 핸즈온 머신러닝의 첫 예제인 머신러닝 프로젝트 처음부터 끝까지를 공부했다. 이 책을 공부하며 가장 놀랐던 것은 머신러닝 책임에도 불구하고 프로젝트의 밑바닥부터 차근차근 설명한다는 점이다. 다른 서적을 많이 읽어보진 않았지만, 기존의 데이터 정제나 변환과 같은 부분을 자세히 다뤄준다는 점에서 매우 좋은 책이다. 그러나 머신러닝의 기초를 배우는 입장에서 모델의 튜닝과 관련한 부분은 이해가 안가는 부분이 꽤 있었다. 하이퍼파라미터의 종류가 꽤나 많았고, 모두 이해하기 위해서는 뒷장까지 공부해야 한다.

1. 머신러닝의 종류

(1) 지도학습

지도학습은 훈련 데이터에 레이블이라는 원하는 답을 넣어 모델을 훈련시킨다는 특징을 지녔다. 쉽게 말해서, 개와 고양이를 분류하는 머신러닝 모델을 다룬다고 할 때, 개와 고양이 사진에 각각 개와 고양이라는 표시를 해준 데이터를 훈련시킨다는 것이다. 따라서 분류작업이 주를 이루며, 회귀분석이나 분류에 쓰이는 로지스틱 회귀가 지도학습에 해당한다.
EX) KNN, 선형회귀, 로지스틱 회귀, SVM, 결정트리, 랜덤 포레스트, 신경망

(2) 비지도학습

비지도학습은 앞서 말한 지도학습에서 레이블을 빼면 된다. 즉 아무 답이 없는 데이터들을 갖고 학습하는 것이다. 계층군집, PCA, 특성 추출, 이상치 탐지, 연관규칙학습 등 다양한 분야가 존재한다.
EX) K-means, DBSCAN, 계층군집분석,이상치탐지, PCA, APRIORI

(3) 준지도학습

준지도학습은 지도학습과 비지도학습의 중간에 해당한다. 레이블이 있는 데이터와 없는 데이터가 섞여 존재하는 경우이다. 이 경우, 심층신뢰 신경망(제한된 볼츠만 머신에 기반한)가 해당한다.

(4) 강화학습

강화학습은 파블로프의 개처럼, 데이터를 학습 시에 보상 혹은 벌점을 부여해 최상의 전략(정책)을 학습시키는 것이다.
EX) 보행 로봇, 알파고

(A) 배치학습
배치학습은 점진적으로 데이터를 학습시킬 수 없다. 즉 자주 변하는 데이터에 대응하는 모델을 만들기 위해서는 배치학습이 아닌 온라인 학습이 되어야 한다.
(B) 온라인학습
온라인학습은 미니배치라 부르는 작은 단위로 데이터를 주입해 시스템을 훈련시킨다. 빠른 변화에 스스로 적응해야하는 시스템에 적합하다. 또한 컴퓨팅 자원이 제한된 경우에도 좋은 선택이다.

Cf) 학습률이란?
학습률이란 변화하는 데이터에 얼마나 빠르게 적응할 것인가이다. 이를 학습률이라고 하는데, 학습률이 너무 높으면 전의 데이터를 금방 잊는다. 따라서 너무 높으면 부작용이 생긴다.

사례기반 학습 vs 모델 기반 학습

학습은 사례 혹은 모델을 기반으로 진행된다.

사례기반 학습의 경우, 훈련 샘플을 기억해 학습한다. 그리고 유사도 측정을 사용해 새로운 데이터와 학습한 샘플을 비교하는 식으로 일반화한다.

모델기반 학습의 경우,샘플들의 모델을 만들어 예측에 사용하는 것이다.(linear regression)

과대적합

과대적합이란, 머신러닝 모델이 훈련 데이터에 대해서는 훌륭하게 예측하지만, 새로운 데이터에 관해 완전 꽝일 때 나타내는 말이다. 즉, 훈련 데이터에 있는 잡음의 양에 비해 모델이 너무 복잡할 때 일어난다. 이를 해결하기 위해서는 파라미터 수를 줄인 모델을 선택하거나, 훈련 데이터의 특성을 줄이거나 데이터 크기를 늘리거나, 정제를 통해 노이즈를 잡으면 된다.

하이퍼파라미터

모델에는 모델의 모양을 결정하는 파라미터가 존재한다. 이들을 규제할 경우, 모델의 변화가 생기는데 이 규제의 양을 하이퍼파라미터가 결정한다. 즉 하이퍼파라미터의 튜닝에 따라서 모델의 성능이 좌우된다.

과소적합

과소적합은 과대적합과는 반대로 모델이 너무 단순한 경우 발생한다. 따라서 모델 파라미터를 늘리거나, 더 나은 특성 추가, 규제 하이퍼파라미터 감소 등이 해결 방법이 된다.

0개의 댓글