딥러닝은 머신러닝의 한 분야이기에 딥러닝을 잘 이해하기 위해서는 머신러닝의 기본 원리를 잘 이해해야 한다. 딥러닝 알고리즘의 개발에 큰 영향을 미친 전통적인 머신 러닝 기술에 대한 몇가지 관점을 다룬다.

훈련 데이터를 맞추는 문제가 새 데이터로 일반화되는 패턴을 찾는 문제와 어떻게 다른지 설명하며, 기계학습 알고리즘에서 사용자가 설정하는 하이퍼 파라미터를 추가 데이터를 이용해 설정하는 방법에 대해 설명한다.

머신러닝 알고리즘을 지도학습, 비지도 학습으로 나누고 이를 카테고리 별로 간단한 학습 알고리즘과 함께 설명하며 최적화 알고리즘, 비용 함수, 모델, 데이터셋 등 다양한 알고리즘 구성요소를 결합하여 머신러닝 알고리즘을 구축하는 방법 또한 설명한다.

마지막으로 기존 머신러닝의 일반화 능력을 제한한 몇몇 factor를 설명한다.

Learning Algorithm

머신러닝 알고리즘은 데이터로부터 학습할 수 있는 알고리즘이다.

Mitchell학습에 대해 다음과 같이 정의하였다.

“A computer program is said to learn from experience $E$ with respect to some class of tasks $T$ and performance measure $P$, if its performance at tasks in $T$, as measured by $P$, improves with experience $E$.”

간단히 말해 프로그램의 학습은 $T$라는 작업을 하고, 그것을 성능지표 $P$가 경험 $E$로부터 향상하는 방향으로 학습해 나간다는 의미인듯 하다.

Task, $T$

여기서의 Task는 일반적인 Task의 의미로 학습 자체는 Task가 아니다. 예를 들어 로봇이 걷게 만들고 싶을 경우 걷는다가 Task이다.

머신러닝 Task는 보통 기계학습 시스템이 example을 처리하는 방식으로 설명된다. 이때 example은 feature의 collection이며 이 feature는 기계학습 시스템이 처리하기를 원하는 상황을 정량적으로 측정한 것이다. 예를 들어 이미지의 feature는 픽셀들의 값이다.

다음은 기계학습 Task의 카테고리들이다.