1. 학습 (Learning)
ㅇ [일반] 지속적인 경험이나 훈련의 결과로 생기는 행동 변화
- 학습을 통해, 자기의 지식 기반을 확장시킬 수 있음
ㅇ [생물]
- 생명체가 변하는 주위 환경에 대해 생존을 위해 쉼없이 수행하는 기본 인지 기능
※ [참고] `경험(Experience)`,`학습(Learing)`,`훈련(Training)`의 비교
- 경험은, 실제 겪어보고 단편 지식들을 얻게 하는 것
- 학습은, 알고 깨달아 지식의 확장이 가능하게 하는 것
- 훈련은, 반복을 통해 동작/행동을 할 수 있게 하는 것
2. 기계 학습 (Machine Learning) 이란?
ㅇ 일반 정의
- 경험적 학습으로, 지식과 성능을 향상시키는, 알고리즘 및 시스템의 구축
. 데이터로부터 학습할 수 있는 시스템을 만드는 것
.. 경험 또는 학습을 통해 결과를 개선해 나가게 함
ㅇ 결국, 인간의 학습 능력을, 기계를 통해, 구현하는 것
- 외부 환경 정보를 이용하여, 시스템 내부에 지식을 저장하고 형성시키는 과정
. 기계 스스로 학습을 통해 지식의 체계적인 수집,축적,구조화시키는 과정
ㅇ 주요 응용
- 언어 처리, 영상 처리 등
3. 기계학습의 구현
ㅇ 구현 목표
- 데이터들로부터, 규칙,지식,알고리즘,프로그램 등을 자동으로 추출
ㅇ 구현 핵심
- 데이터를 보고, 미리 정해지지 않은 패턴을 추리해내도록 하는 것
ㅇ 구현을 위한 수학적 기초
- 선형 대수, 확률/통계, 최적화 등
4. 기계학습의 시스템 구현 (문제 해결) 과정
ㅇ 모델 정하기 (모델링)
- 데이터에 대한 관점과 기대되는 바에 대한 수학적 모델링
. 데이터 패턴을 추출하여, 이로부터 굳어진 가정(믿음)에 의해,
. 생성 가능한 함수들의 집합을 나타내는 꼴을 정하는 것
. 어떤 모델을 쓸 것인지를 정하는 것
ㅇ 모델 수식화 (손실함수 산정)
- 데이터를 얼마나 바르게 표현했는지를 수학적으로 표현해내는 것
. 例) 손실함수 or 비용함수/목적함수 (벗어나는 정도), 우도 (들어맞는 정도) 등
ㅇ 모델 학습하기 (최적화)
- 정해진 모델이 표현하는 함수 집합 중 가장 데이터에 적합한 함수를 고르는 과정
. 손실함수의 결과값을 최소화하려고 하는 등
.. 즉, 모델의 정교화(예측 정확성 제고)를 위해, 오차에 기초해, 매개변수 값을 조정
. 例) 경사하강법 등
ㅇ 모델 평가 (일반화)
- 과적합 방지 등
5. 기계학습의 종류/구분
※ ☞ 기계학습 종류 참조
- (지도 학습, 비 지도 학습, 강화 학습)
- (사례 기반 학습, 모델 기반 학습)
- (통계 기반 학습, 인공 신경망/딥러닝, 유전 알고리즘 등)