본문 바로가기
  • 조금 느려도, 꾸준히
Artificial Intelligence/Machine Learning

핸즈온 머신러닝(1) - 머신러닝 시스템의 종류

by chan 2020. 1. 20.
반응형

1. 학습하는 동안의 감독 형태나 정보량에 따라

 

 - 지도학습: 알고리즘에 주입하는 훈련 데이터에 label 이라는 원하는 답이 포함됨

 예시: k-Nearest Neighbors, Linear Regression, Logistic Regression, SVM(support vector machines), Decision Tree, Random Forests, Neural networks

 

 - 비지도학습: 훈련 데이터에 레이블이 없음. 시스템이 스스로 학습해야 함

 예시: 군집) k-Means, HCA(hierarchical cluster analysis), 기댓값 최대화

        시각화와 차원축소) PCA(principal component analysis), Kernel PCA, LLE(locally-linear embedding), t-SNE

        연관 규칙 학습) Apriori, Eclat

 

  비지도-군집 알고리즘: 분석하고자 하는 타깃의 데이터가 많이 있을때, 알고리즘은 스스로 타깃 사의의 연결고리를 찾아 각 그룹을 더 작은 그룹으로 세분화함. 

 

  비지도-시각화 알고리즘: 레이블이 없는 대규모의 고차원 데이터를 넣으면 도식화가 가능한 2차원, 3차원 표현을 만들어줌. 최대한 데이터 거리 보존, 따라서 데이터가 어떻게 조직되는지 이해해 도움, 예상치 못한 패턴 발견 가능.

 

  비지도-차원축소 알고리즘: 상관관계가 있는 여러 특성을 하나로 합침 -> 특성 추출

   * 머신러닝 알고리즘에 데이터를 주입하기 전에 차원 축소 알고리즘을 사용하여 훈련 데이터의 차원을 줄이는 것이 유용할 때가 많음. 

 

  비지도-이상치 탐지: 시스템은 정상 샘플로 훈련되며 새로운 샘플이 정상 데이터인지 이상치인지 판단함

 

  비지도-연관규칙학습: 대량의 데이터에서 특성 간의 흥미로운 관계를 찾는 알고리즘. 

 

-준지도 학습: 레이블이 일부만 있는 데이터를 다룸. 보통 레이블이 없는 데이터가 다량, 레이블이 있는 데이터는 소수.

 ex) google hosting service (사진 들에서 특정한 사람이 어떤 사진에 있는지 인식(군집/비지도), 사람마다 누구인지 레이블이 주어짐(지도))

 ex) 심층 신뢰 신경망(deep belief network, DBN): 여러 겹으로 쌓은 제한된 볼츠만 머신(RBM)이라 불리는 비지도 학습에 기초, RBM 이 비지도 학습 방식으로 순차적으로 훈련된 후 전체 시스템이 지도 학습 방식으로 파인-튜닝 됨

 

-강화학습: 학습하는 시스템[에이전트] 가 환경(environment)을 관찰해서 행동(action)을 실행하고 그 결과로 보상(reward)혹은 벌점(penalty)를 받음. 시간이 지나며 가장 큰 보상을 얻기 위해 정책(policy, 최상의 전략)을 스스로 학습.

 

2. 입력 데이터의 스트림(stream)으로부터 점진적으로 학습할 수 있는지 여부에 따라

 

 -배치학습: 시스템이 점진적으로 학습할 수 없음. 시간과 자원을 많이 소모, 보통 오프라인에서 수행됨. 시스템을 훈련시킨 후 제품 시스템에 적용하면 더 이상의 학습 없이 실행. -> offline learning

 새로운 데이터에 대해 학습하려면 전체 데이터를 사용하여 시스템의 새로운 버전을 처음부터 다시 훈련해야 함.

 

-온라인 학습: 데이터를 순차적으로 한 개씩 또는 미니배치(mini-batch)라 부르는 작은 묶음 단위로 주입하여 시스템을 훈련시킴. 매 학습 단계 빠름, 비용이 적게 듦. 시스템은 데이터가 도착하는 대로 즉시 학습 가능. 

빠른 변화에 스스로 적응해야 하는 시스템에 적합. 컴퓨팅 자원이 제한된 경우에도 좋음. 이미 학습이 끝난 데이터는 더 이상 필요하지 않음.

* 컴퓨터 한 대의 메인 메모리에 들어갈 수 없는 방대한 양의 데이터셋을 학습하는 시스템에도 적용. (외부 메모리 학습, out-of-core) 알고리즘이 데이터 일부를 읽어 들이고 훈련 단계를 수행. 전체 데이터가 모두 적용될 때까지 이 과정을 반복(이 경우 전체 프로세스는 오프라인으로 실행되므로, 혼란 방지를 위해 '점진적 학습'이라고 생각하자.)

 

 --온라인 학습 주의사항: 학습률(learning rate) 딜레마 > 학습률 높게 하면 예전 데이터를 금방 잊어버림

                                                                         학습률 낮게 하면 시스템의 관성이 커져 학습이 느려짐

                                시스템 성능 감소 > 시스템에 나쁜 데이터가 주입되었을 때 시스템 성능이 점진적으로 감소. 이때 학습을 중지시키거나, 입력 데이터를 모니터링해서 비정상 데이터를 잡아내야 함(이상치 탐지 알고리즘 등) 

 

3. 시스템이 어떻게 일반화 되는가에 따라

 

 - 사례 기반 학습: 시스템이 사례를 기억함으로써 학습, 기존 사례와 유사도 측정을 사용해 새로운 데이터에 일반화함.

 

 - 모델 기반 학습: 샘플들의 모델을 만들어 예측에 사용함. 

   선형 모델: 데이터가 선형적인 관계를 가질 때 모델 파라미터 b,w 를 가지고 y = w*x + b 와 같은 선형 모델을 얻음.

   

 

 

 

 

 

반응형

댓글