728x90
반응형
book.naver.com/bookdb/book_detail.nhn?bid=13541863
*해당 글은 학습을 목적으로 위의 도서 내용 중 일부 내용만을 요약하여 작성한 포스팅입니다.
상세한 내용 및 전체 내용 확인을 원하신다면 도서 구매를 추천드립니다.
머신러닝
- 데이터로부터 학습하도록 컴퓨터를 프로그래밍하는 과학
머신러닝을 사용하는 이유?
- 스팸 메일을 예시로 들어 설명한다.
- 기존의 접근 방법은 메일의 패턴을 감지하여 그 패턴을 발견했을 때 해당 메일을 스팸으로 분류한다.
- 하지만 이런 방식은 규칙이 점점 길고 복잡해지므로 유지보수가 힘들다.
- 그에 반해 머신러닝은 스팸 메일을 분류하는 기준을 자동으로 학습한다.
- 이로 인해 프로그램이 훨씬 짧아지고 유지보수가 쉬워지며, 정확도가 높아진다.
- 또한 머신러닝 기술을 적용하면 대용량의 데이터를 분석하여 숨겨진 패턴을 발견할 수 있다.
- 이를 데이터 마이닝이라 한다.
머신러닝 시스템의 종류
1) 사람의 감독의 유무
1-1) 지도 학습
- 알고리즘에 주입하는 훈련 데이터에 레이블이라는 답안이 포함된다.
- 즉, 입력 데이터와 출력해야 할 데이터를 함께 넣어준다.
- 분류, K-최근접 이웃, 선형 회귀, 로지스텍 회귀, SVM, 결정 트리와 랜덤 포레스트 등이 포함된다.
1-2) 비지도 학습
- 레이블이 없는 훈련 데이터를 사용하는 학습이다.
- 즉, 출력 데이터 없이 입력 데이터만을 사용한다.
- 군집, 시각화와 차원 축소, 연관 규칙 학습 등이 포함된다.
1-3) 준지도 학습
- 레이블이 있는 데이터 조금과, 대부분의 레이블이 없는 데이터로 학습한다.
- 즉, 지도 학습과 비지도 학습의 조합이다.
1-4) 강화 학습
- 학습하는 시스템(에이전트)에게 환경을 관찰해서 행동을 실행하게 하고, 그 결과로 보상 또는 벌점을 부여한다.
- 에이전트는 가장 큰 보상을 얻기 위해 정책이라 부르는 최상의 전략을 스스로 학습한다.
2) 실시간으로 점진적인 학습인가
2-1) 배치 학습 (오프라인 학습)
- 가용한 데이터를 모두 사용해 훈련하는 학습
- 일반적으로 시간과 자원을 많이 소모하여 보통 오프라인에서 수행한다. 그래서 오프라인 학습이라고도 부른다.
- 많은 컴퓨팅 자원이 필요하다.
- 새로운 데이터 학습시 원래 데이터를 포함한 전체 데이터를 사용해 시스템의 새로운 버전을 처음부터 학습시켜야 한다.
2-2) 온라인 학습
- 데이터를 순차적으로 한 개 또는 미니배치라 부르는 작은 단위로 주입하여 시스템을 훈련시킨다.
- 매 학습 단계가 빠르고 비용이 적게 들어 데이터가 도착하면 즉시 학습이 가능하다.
- 연속적으로 데이터를 받고 빠른 변화에 적응해야 하는 시스템에 적합하다.
- 온라인 학습의 주요 파라미터는 학습률인데, 높게 하면 예전 데이터를 기억하지 못하고 낮게 하면 학습이 느리다.
- 다만, 학습률이 낮으면 새로운 데이터에 있는 잡음이나 대표성이 없는 데이터에 덜 민감해진다.
3) 단순하게 알고 있는 데이터와 비교하는 것인지 혹은 패턴을 발견하는 것인지
3-1) 사례 기반 학습
- 학습 데이터의 특징을 기억하여, 새로운 데이터에 대해 유사도를 측정하는것.
- 시스템이 사례를 기억함으로써 학습하고, 유사도 측정을 통해 새로운 데이터를 일반화한다.
3-2) 모델 기반 학습
- 샘플들의 모델을 만들어 예측에 사용한다.
머신러닝의 주요 도전 과제
- 충분한 양의 데이터가 필요하다.
- 훈련 데이터가 전체 데이터에 대한 대표성을 가지고 있어야 한다.
- 높은 품질의 데이터가 필요하다.
- 특성 간 관련이 있어야 한다.
- 과대적합과 과소적합을 관리할 수 있어야 한다.
*샘플링 잡음 : 우연에 의한 대표성 없는 데이터
*샘플링 편향 : 표본 추출이 잘못되어 대표성을 띄지 못한 데이터
*과대적합 : 모델이 훈련 데이터에 너무 잘 맞아 일반성이 떨어지는 현상
*과소적합 : 모델이 너무 단순해서 데이터의 내재된 구조를 학습하지 못하는 현상
728x90
반응형