머신러닝이란, 데이터(Data)를 사용하여, 기계가 스스로 학습하게 하는 방법을 말한다.
유명 머신러닝 연구자인 Tom Mitchell이 제안한 공식적인 정의는 다음과 같다.
Tom Mitchell (1988) :
A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on t, as measured by P, improves with experience E.
"작업 T(Task)에 대한 경험 E(Experience)로부터 학습하고 측정된 성능 P(Performance)을 향상시키는 것."
이라고 요약할 수 있다.
쉽게 말해, 컴퓨터를 학습시켜 성능을 향상 시키는 기술이라고도 할 수 있다.
머신러닝의 목적은 컴퓨터가 직접 수 많은 데이터를 분석하여, 규칙(Pattern)을 스스로 찾아내고 학습하여, 예측을 하기 위함이다.
머신러닝의 성능을 좌우하는 요소 중 하나가 바로 Optimizer인데, 이 Optimizer는 학습 데이터(Train data)셋을 이용하여 모델을 학습 할 때 데이터의 실제 결과와 모델이 예측한 결과를 기반으로 잘 줄일 수 있게 만들어주는 역할을 한다.