-
한눈에 보는 머신러닝전공 서적/핸즈온 머신러닝 2018. 8. 16. 22:32
- 왜 머신러닝을 사용하는가?
- 전통적인 접근 방법
- 문제가 단순하지 않을 경우 길고 복잡한 규칙으로 인해 유지보수의 난이도가 높아진다.
- 머신러닝 기반 접근 방법
- 패턴을 감지하여 좋은 기준을 자동으로 학습한다.
프로그램이 짧아지고 유지 보수하기 쉬우며 정확도가 더 높다. - 머신러닝 기반 시스템은 변화를 자동으로 인식하고 업데이트 한다.
- 전통적인 방식으로는 너무 복잡하거나 알려진 알고리즘이 없는 문제를 해결할 수 있다.
- 머신러닝 알고리즘이 학습한 것을 조사하여 예상치 못한 연관 관계나 새로운 추세를 발견할 수도 있다.
- 데이터마이닝
- 머신러닝 기술을 적용하여 대용량의 데이터를 분석할 경우 겉으로 보이지 않던 패턴을 발견할 수 있다.
- 머신러닝 시스템의 종류
- 지도 학습과 비지도 학습
- 지도 학습
- 알고리즘에 주입하는 훈련 데이터에 레이블이 포함된다.
- 분류
- 주어진 데이터들로 학습한 후 새롭게 들어온 데이터를 분류 한다.
- 회귀
- 주어진 데이터들로 학습한 후 새로운 특성들로 타깃 수치를 예측한다.
- 비지도 학습
- 훈련 데이터에 레이블이 없다.
- 시스템이 아무런 도움 없이 학습해야 한다.
- 군집
- 알고리즘이 데이터 사이의 연결고리를 찾는다.
- 시각화
- 레이블이 없는 대규모의 고차원 데이터를 입력하면 도식화가 가능한 2D, 3D 표현을 만들어준다.
- 데이터의 조직과 예상치 못한 패턴을 발견할 수 있다.
- 차원 축소
- 상관 관계가 있는 여러 특성을 하나로 합치는 것
- 이상치 탐지
- 시스템은 정상 샘플로 훈련되고, 새로운 샘플이 정상 데이터인지 판단한다.
- 연관 규칙 학습
- 훈련 데이터 중 서로 연관이 있는 데이터를 찾아낸다.
- 준지도 학습
- 레이블이 없는 데이터가 많고 레이블이 있는 데이터가 아주 조금일 때 사용된다.
- 강화 학습
- 학습하는 시스템을 에이전트라고 하며 환경을 관찰해 행동을 실행하고 그 결과 보상 또는 벌점을 받는다.
시간이 지나면서 가장 큰 보상을 얻기 위해 정책이라고 부르는 최상의 전략을 스스로 학습한다. - 배치 학습과 온라인 학습
- 배치 학습
- 시스템이 점진적으로 학습할 수 없다.
가용한 데이터를 모두 사용해서 훈련시켜야 한다. - 시간과 자원을 많이 소모하므로 오프라인에서 수행된다.
- 먼저 시스템을 훈련시킨 후 제품에 적용하면 더이상의 학습 없이 실행된다.
- 새로운 데이터에 대해 학습하려면 전체 데이터를 사용하여 처음부터 다시 훈련해야 한다.
- 온라인 학습
- 데이터를 순차적으로 한 개씩 또는 미니 배치라고 부르는 작은 묶음 단위로 주입하여 시스템을 훈련시킨다.
- 매 학습 단계가 빠르고 비용이 적게 들어 시스템은 데이터가 도착하는 대로 즉시 학습할 수 있다.
- 컴퓨터 한 대의 메인 메모리에 들어갈 수 없는 아주 큰 데이터셋을 학습하는 시스템에도
온라인 학습 알고리즘을 사용할 수 있다.
이를 외부메모리 학습이라고 한다. - 온라인 학습 시스템에서 중요한 파라미터 중 하나는
변화하는 데이터에 얼마나 빠르게 적응할 것인지를 결정하는 학습률 이다.
학습률을 높게 하면 시스템이 데이터에 빠르게 적응하지만 예전 데이터를 금방 잊어버린다. - 온라인 학습에서 가장 큰 문제점은 시스템에 잘못된 데이터가 주입되었을 때
시스템 성능이 점진적으로 감소한다는 것이다. - 사례 기반 학습과 모델 기반 학습
- 머신러닝 시스템은 어떻게 일반화 되는가에 따라 분류할 수도 있다.
일반화를 위한 접근법에는 사례 기반 학습과 모델 기반 학습이 있다. - 사례 기반 학습
- 기존 데이터와 새로운 데이터의 유사도 를 측정하여 판단.
- 모델 기반 학습
- 샘플들의 모델을 만들어 예측에 사용하는 것
- 머신러닝의 주요 도전 과제
- 충분하지 않은 양의 훈련 데이터
- 머신러닝 알고리즘이 잘 작동하려면 데이터가 많아야 한다.
- 대표성 없는 훈련 데이터
- 일반화하려는 사례를 대표하는 훈련 세트를 사용하는 것이 매우 중요하지만 어려울 때가 많다.
샘플이 작을 경우 샘플링 잡음이 생기고
매우 큰 샘플도 표본 추출 방법이 잘못될 경우 대표성을 띄지 못할 수 있다.
이를 샘플링 편향이라고 한다.- 낮은 품질의 데이터
- 훈련 데이터에 에러, 이상치, 잡음이 많을 경우 시스템이 잘 작동하지 않는다.
때문에 훈련 데이터 정제는 중요하다.
- 관련 없는 특성
- 훈련에 사용할 좋을 특성을 찾는 것은 중요하다.
이 과정을 특성 공학이라고 한다. - 특성 공학
- 특성 선택
- 가지고 있는 특성 중에서 훈련에 가장 유용한 특성을 선택한다.
- 특성 추출
- 특성을 결합하여 더 유용한 특성을 만든다.
- 훈련 데이터 과대적합
- 훈련 세트에 잡음이 많거나 데이터셋이 너무 작으면 잡음이 섞인 패턴을 감지하게 된다.
이런 패턴들은 새로운 샘플에 잘 일반화 되지 못한다.
- 모델을 단순하게 하고 과대 적합의 위험을 감소시키기 위해 모델에 제약을 가하는 것을 규제라고 한다.
- 훈련 데이터 과소적합
- 모델이 너무 단순해서 데이터의 내제된 구조를 학습하지 못할 때 일어난다.
- 테스트와 검증
- 모델이 새로운 샘플에 얼마나 잘 일반화될지 알기 위한 방법
- 훈련 데이터를 훈련 세트와 테스트 세트 두 개로 나누는 방법
훈련 세트를 사용해 모델을 훈련시키고 테스트 세트를 사용해 모델을 테스트 한다. - 최적의 하이퍼파라미터를 찾을 때는 훈련 세트를 사용하여 다양한 하이퍼파라미터로 여러 모델을 훈련 시키고
검증 세트에서 최상의 성능을 내는 모델, 하이퍼파라미터를 선택한다.
좋은 모델을 찾을 경우 테스트 세트로 단 한번의 최종 테스트를 한다. - 훈련 데이터에서 검증 세트에 너무 많은 데이터를 할당하지 않기 위해 교차검증 기법을 사용한다.
훈련 세트를 여러 서브셋으로 나누고 각 모델을 서브셋의 조합으로 훈련시키고 나머지 부분으로 검증한다.
모델과 하이퍼파라미터가 선택되면 전체 훈련 데이터를 사용하여 선택한 하이퍼파라미터로 최종 모델을 훈련시키고
테스트 세트에서 일반화 오차를 측정한다.댓글