1. 학습 (Learning)
ㅇ 지속적인 경험이나 훈련의 결과로 생기는 행동 변화
- 자기의 지식 기반을 확장시킬 수 있음
※ `경험(Experience)`,`훈련(Training)`,`학습(Learing)`의 비교
- 경험은, 실제 겪어보고 단편 지식들을 얻게되는 것
- 훈련은, 반복을 통해 동작/행동을 할 수 있게되는 것
- 학습은, 알고 깨달아 지식의 확장이 가능하게되는 것
2. 기계 학습 (Machine Learning) 이란?
ㅇ 인간의 학습 능력을, 기계를 통해, 구현하는 것
- 외부 환경 정보를 이용하여, 시스템 내부에 지식을 저장하고 형성시키는 과정
. 기계 스스로 학습을 통해 지식의 체계적인 수집,축적,구조화시키는 과정
ㅇ 일반 정의
- 경험적 학습으로 지식과 성능을 향상시키는 알고리즘 및 시스템
. 데이터로부터 학습할 수 있는 시스템을 만드는 것
ㅇ 주요 응용
- 언어 처리, 영상 처리 등
3. 기계학습의 구현 관점
ㅇ 구현 목표
- 데이터(training data)들로부터 규칙,지식,알고리즘,프로그램 등을 자동으로 추출
ㅇ 구현 핵심
- 데이터를 보고, 미리 정해지지 않은 패턴을 추리해내도록 하는 것
. 어떤 변수를 다른 변수로부터 예측하기 위해,
. 여러 특징/속성들을 지닌 데이터로부터,
. 수학적 모델을 구축하는 과정
※ 기계학습에 의한 문제 해결 방식
- 대량의 데이터(빅데이터)로부터,
- 자동으로 특징 및 패턴을 추출하고,
- 식별,분류,예측/추정 모델을 찾아내어,
- 문제를 해결
4. 기계학습에서, `학습법 (학습 시나리오)`의 구분
※ (학습을 위한 `입력 데이터 제공` 및 `피드백 제공` 유무에 따른 구분)
ㅇ 지도 학습 (Supervised Learning)
- 문제 및 정답의 쌍을 주고, 이를 통해 일반화 능력을 키우는 방식
. 입력 및 이에 대해 기대되는 출력을 학습 데이터로 제시하고, (입출력 데이터 쌍 필요)
. 기대되는 출력과 같아지도록 (예측토록),
. 시스템을 변화시키는 과정
- 문제 유형
. (연속적) : 회귀 문제
. (이산적) : 분류, 랭킹/추천 문제
- 학습 알고리즘 例
. 선형 회귀, 로지스틱 회귀, 정규화, SVM 등
* 단, 과적합 방지 필요 (일반화 성능 고려)
. 학습 데이터에서 만 과적합(Overfitting) 됨을 방지하기 위해,
. 학습 데이터(학습용)와 테스트 데이터(검증용)를 구분하여, 추정과 검증을 구분토록 됨
ㅇ 비 지도 학습/자율 학습 (Unsupervised Learning)
- 정답이 없는 상태에서 모델을 구축하는 것
- 입력 데이터 집합에 내재하는 숨은 구조/성질을 찾는 과정 (패턴 추출)
- 문제 유형
. 군집화, 이상 검출, 토픽 모델링, 밀도(데이터 분포) 추정, 차원 축소 등
- 학습 알고리즘 例
. 주성분 분석 등
ㅇ 강화 학습 (Reinforcement Learning)
- 평가 후 보상을 통해 학습
. 환경과의 상호작용(선택과 피드백의 반복)을 통해 장기적인 이득을 최대화시킴
- 일련의 시행착오를 통함
5. 기계학습에서, `접근법 (학습 모델)`의 구분
ㅇ 통계 기반 기계학습
- 통계학적으로 대규모 데이터에 내재된 패턴을 찾아내는 학습 모델
* 크게, 빈도주의 통계법(기존)과 베이즈 통계법으로 구분 가능
ㅇ 인공 신경망 (Artificial Neutral Network,ANN)
- 인간의 뇌 구조에 착안하여 만든 학습 모델
. 적응적 학습과 병렬 처리 등이 가능함
* 딥러닝 (Deep Learning)
. 기존의 신경망 보다 훨씬 복잡하고 깊이가 깊은 심층/다층 신경망을 사용
. 매우 다양한 패턴이 존재하고, 경우에 따라 유연한 대응 구조가 필요할 때 유용
. (빅데이터 등)
ㅇ 유전 알고리즘 (Genetic Algorithm) 등