머신러닝 시스템의 종류
머신러닝 시스템의 종류
머신러닝 범주 분류
- 사람의 감독하에 훈련하는 것인지 그렇지 않은 것인지
- 지도
- 비지도
- 준 지도
- 강화학습
- 지도
- 실시간으로 점진적인 학습을 하는지 아닌지
- 온라인 학습
- 배치 학습
- 온라인 학습
- 단순하게 알고 있는 데이터 포인트와 새 데이터 포인트를 비교하는 것인지 아니면 과학자들이 하는 것처럼 훈련 데이터 세트에서 패턴을 발견하여 예측 모델을 만드는지
- 사례 기반 학습
- 모델 기반 학습
- 사례 기반 학습
각 범주가 섞여서 연결될 수 있다. 심층 신경망 모델을 사용해(모델 기반 학습) 스팸과 스팸이 아닌 메일(지도 학습) 데이터로부터 실시간 학습(온라인 학습)이 가능하다.
지도 학습과 비지도 학습
학습하는 동안의 감독 형태나 정보량에 따라 분류
지도학습supervised learning
지도학습은 라벨링된 데이터를 학습시키는 것을 의미한다. 알고리즘에 주입되는 훈련 데이터에 레이블이라는 정답이 포함되어 있다. 이 정답 부분을 타깃 데이터라고 한다. 타깃 데이터의 형태에 따라 두 가지 범주로 나뉜다. 그래서 학습 이전에 타깃 데이터의 형태를 파악하고 내가 풀고자 하는 문제가 분류 문제인지 회귀 문제인지 파악하는 것도 중요하다. 나중에 데이터의 형태를 정리해야겠다.
- 회귀regression : 연속형 숫자
- 분류classification : 범주형
지도학습 종류 | 예시 |
---|---|
분류 | 스팸 필터, 과일 분류 |
회귀 | 중고차 가격 예측 |
각 알고리즘을 다른 문제에 사용할 수 있다. 회귀 알고리즘을 분류에, 분류 알고리즘을 회귀에 사용할 수도 있다.
- k-최근접 이웃
- 선형 회귀
- 로지스틱 회귀
- 서포트 벡터 머신
- 결정 트리와 랜덤 포레스트
- 신경망
제한된 볼츠만 머신같이 일부 신경망 구조는 비지도 학습일 수 있다. 신경망은 심층 신뢰 신경망이나 비지도 사전훈련처럼 준 지도 학습일 수도 있다. 다음에 공부해보자!
비지도 학습unsupervised learning
훈련 데이터에 레이블이 없다. 그래서 시스템이 아무런 도움 없이 학습해야 한다. 실제 데이터를 다루다 보면 라벨링 되어 있지 않은 경우도 많이 접한다. 지도학습의 분류는 비지도 학습에서 군집clustering이라고 한다.
- 군집
- k-평균
- DBSCAN
- 계층 군집 분석(HCA)
- 이상치 탐지와 특이치 탐지
- 원-클래스
- 아이솔레이션 포레스트
- 시각화와 차원 축소
- 주성분 분석(PCA)
- 커널 PCA
- 지역적 선형 임베딩
- t-SNE
- 연관 규칙 학습
- 어프라이어리
- 이클렛
비지도 학습 종류 | 예시 |
---|---|
군집 | 블로그 방문자를 비슷한 그룹으로 묶는다 |
군집-계층 군집 | 블로그 방문자를 더 작은 그룹으로 세분화한다. |
시각화 | 레이블이 없는 대규모의 고차원 데이터를 넣으면 도식화가 가능한 2D,3D 표현을 만들어준다 시각화된 그래프를 보고 데이터가 어떻게 조직되어 있는지 이해할 수 있고, 예상하지 못한 패턴을 발견할 수도 있다. |
차원 축소 | 차의 주행거리와 연식, 두 특성을 차의 마모 정도를 나타내는 하나의 특성으로 합칠 수 있다. 너무 많은 정보를 잃지 않으면서 데이터를 간소화한다. 그래서 상관관계가 있는 여러 특성을 하나의 특성으로 합칠 수 있는 것이다. |
이상치 탐지 | 신용 카드 부정 거래 방지 이상한 신용 카드 거래를 감지하고, 제조 결함을 잡아내고, 학습 알고리즘에 주입하기 전에 데이터 세트에서 이상한 값을 자동으로 제거한다. |
특이치 탐지 | 이상치 탐지와 비슷한 작업이지만 감지하고 싶은 모든 샘플을 제거한 깨끗한 훈련 세트가 필요하다. |
연관 규칙 학습 | 슈퍼마켓 판매 기록에 적용 바비큐 소스와 감자를 구매한 사람이 스테이크도 구매하는 경향이 있다 를 발견할 수 있다 |
정보보안기사에서 네트워크 침임 탐지가 제시된다. 트래픽 모델을 기반으로 하는 비정상 행위 탐지 방식을 사용한다. 악성코드 분석 시 악성코드 행위 정보를 수집해 악성코드의 특성을 파악하여 그룹화하고 분류할 때도 머신러닝을 사용한다. 정보보안에서 머신러닝
준지도학습semisuperrvised learning
레이블이 일부만 있는 데이터를 다루는 알고리즘
예 : 구글 포토 호스팅 서비스 대부분 준 지도 학습 알고리즘은 지도 학습과 비지도 학습의 조합으로 이루어져 있다. 심층 신뢰 신경망deep belief network은 제한된 볼츠만 머신restricted Boltzmann machine이라 불리는 비지도 학습에 기초한다. RBM이 비지도 학습 방식으로 차례대로 훈련된 다음 전체 시스템이 지도학습 방식으로 세밀하게 조정된다.
강화학습reinforcement learning
환경을 관찰해서 행동을 실행하고 그 결과로 보상을 받는다. 시간이 지나면서 가장 큰 보상을 얻기 위해 정책이라고 부르는 최상의 전략을 스스로 학습한다.
예 : 보행 로봇
배치 학습과 온라인 학습
입력 데이터의 흐름으로부터 점진적으로 학습할 수 있는지
배치 학습
장정보다는 단점이 많은 학습 방법이라고 느껴졌다. 훈련 데이터로 사용할 수 있는 전체 데이터를 모두 사용해 훈련하는 방식이다. 시간과 자원이 많이 소모될 테니 오프라인에서 수행된다. 시스템을 훈련하고 제품 시스템에 적용하면 더 이상의 학습이 없다. 학습한 것을 단지 적용만 하여 실행한다. 이를 오프라인 학습 이라고 한다.
장점
- 방식이 간단하고 잘 작동한다.
단점
- 훈련 시간이 길다. 전체 데이터 세트를 사용해 훈련하는 데 몇 시간이 소요될 수 있다. 보통 24시간마다 또는 매주 시스템을 훈련한다.. 생각해보면 시스템이 빠르게 변하는 데이터에 적응해야 하는 방식이면 적합하지 않다.
- 많은 컴퓨팅 자원이 필요하다. (CPU, 메모리 공간, 디스크 공간, 디스크 IO, 네트워크 IO 등) 대량의 데이터를 가지고 훈련 시켜야 하는데 오프라인 학습 방법으로는 매일 혹은 매주 처음부터 시스템을 새로 훈련해야 한다. 이를 자동화한다면 큰 비용이 발생하는 건 당연하다. 데이터양이 아주 많다면 이 알고리즘을 사용하는 게 불가능할 수도 있다.
- 자원이 제한된 시스템이 사용하기에 적합하지 않다. 스마트폰이나 화성 탐사 로버 같은 경우 많은 양의 훈련 데이터를 매번 나르고 학습을 위해 몇 시간씩 많은 자원을 사용한다면 심각한 문제를 일으킬 것이다.
온라인 학습
배치 학습과는 달리 전체 훈련 데이터를 차례대로 한 개씩 또는 미니 배치 단위로 주입하여 시스템을 훈련하는 방식이다.
장점
- 매 학습 단계가 빠르고 비용이 적게 든다. 시스템은 데이터가 도착하는 대로 즉시 학습이 가능하다.
- 많은 공간을 절약할 수 있다. 온라인 학습으로 학습이 끝난 데이터는 버리면 된다.
단점
- 시스템에 나쁜 데이터가 주입되면 시스템 성능이 점진적으로 감소한다. 이런 위험을 줄이기 위해 시스템을 자세히 모니터링하고 성능 감소가 감지되면 즉각 학습을 멈춰야 한다. 이상치 알고리즘 같은 방식으로 데이터를 모니터링 해서 비정상 데이터를 잡아낼 수도 있다.
적합한 시스템
- 연속적으로 데이터를 받고 빠른 변화에 스스로 적응해야 하는 시스템에 적합하다.
- 컴퓨팅 자원이 제한된 경우
- 컴퓨터 한 대의 메인 메모리에 들어갈 수 없는 아주 큰 데이터 세트를 학습하는 시스템(외부 메모리 학습)
Q 외부 메모리 학습 오프라인으로 실행된다. 실시간으로 처리되는 게 아니다. 왜냐? 데이터가 크니까. 그렇지만 온라인 학습 방식으로 전체 데이터가 모두 적용될 때까지 데이터 일부를 읽어 들이고 훈련할 수 있다는 말이다.
사례 기반 학습과 모델 기반 학습
어떻게 일반화되는가에 따라 분류. 머신러닝의 목표! 새로운 샘플에도 좋은 예측을 만들어야(잘 작동해야) 한다. 좋은 예측을 만들기 위한 방식으로 분류된다.
사례 기반 학습
시스템이 훈련 샘플을 기억함으로써 학습하는 방법이다. 유사도 측정 방법이 이에 포함된다.
모델 기반 학습
샘플들의 모델을 만들어 예측에 사용하는 방법이다. 모델의 성능이 얼마나 좋은지(나쁜지)를 측정하는 방법은 다음과 같다.
- 효용 함수
- 비용 함수
모델 기반 학습에서 좋은 예측이 나오지 않는다면,
- 더 많은 특성(고용률, 건강, 대기오염)을 사용하거나
- 좋은 훈련 데이터를 더 많이 모으거나
- 더 강력한 모델(다항 회귀)을 선택
모델 훈련은 훈련 데이터에 가장 잘 맞는 그리고 새로운 데이터에 좋은 예측을 만드는 모델 파라미터를 찾기 위해 알고리즘을 실행하는 것이다.
돈이 사람을 행복하게 만드는가 데이터 : oecd 웹사이트 더 나은 삶의 지표(행복), imf 웹사이트 1인당 GDP 통계(돈) 모델 기반 : 선형 모델 사례 기반 : K-최근접 이웃 회귀를 이용해 찾고자 하는 나라와 비슷한 GDP를 가진 나라를 찾아 세 값을 평균 낸다.