본 포스팅은 Ian Goodfellow 등 2인이 저술한 심층학습(Deep Learning Adaptive Computation and Machine Learning)을 기반으로 작성합니다.
자 기계학습을 이해하기 전에는 학습(Learning)의 정의를 이해할 필요가 있습니다. [Mitchell, 1997]의 정의에 따르면,
한 컴퓨터 프로그램이, 경험(Experience) 을 통해 어떤 과제(Task)를 수행했을 때, 성과 측도(Performance Measure)가 개선되는 경우
를 의미합니다. 과제에는 여러 종류가 있을 것입니다. 분류 문제부터 회귀, 전사, 번역 등등 컴퓨터가 특정 업무를 수행해내는 과정은 무궁무진하니까요. 기초적으로 회귀는 연속적(Continuous)인 정답을 찾아내는것, 분류는 이산적(Discrete)인 정답을 찾아내는 과정입니다. 그 이외에는 나중에 살펴보도록 하죠.
경험은 다른 말로 "데이터"가 될 것입니다. 학습 과정에서 허용되는 데이터의 형태에 따라서, 기계 학습을 위한 알고리즘은 달라질 것인데, 크게 지도학습(Supervised Learning)과 비지도학습(Unsupervised Learning)으로 나누어집니다. 만약 X를 Input했을 때의 결과 Y(label, target)를 추출해내는 함수를 찾아내는 과제가 있다고 가정해봅시다. 지도학습은 이 X와 Y가 모두 주어진 경우일 것입니다. 비지도학습은 결이 좀 다릅니다. Input값 X는 주어지지만, 정답값 Y는 따로 주어지지 않는 경우입니다. 그래서 비지도학습에서는 특징을 시각화해 표현하는 수준으로 마무리되기도 합니다.
그외에도 Label이 붙은 데이터와 붙지 않은 데이터를 활용해 학습을 진행하는 준지도학습(Semi-Supervised Learning), 기계가 행동(Action)을 수행하고, 그 결과를 바탕으로 보상을 주면서, 전체 보상(Reward)를 최대화하는 방향으로 학습 지속하는 강화학습(Reinforcement Learning)도 존재합니다.
데이터를 표현할 때에는 설계행렬(Design Matrix)을 이용할 수 있습니다.
다음과 같이 Iris Dataset이 존재할 때, 각 행에는 Case를, 각 열에는 Iris Data의 특징들, 예를 들어 꽃받침의 길이, 너비 등등의 특징들을 기록합니다. 그런데 데이터를 보면, 데이터의 곳곳에 빈 칸으로 온전치 않은 부분이 보이네요. 이런 데이터들을 처리하는 방법에 대해서는 추후에 알아보도록 하죠.
다음 포스팅에서는 선형회귀에 대해서 알아보도록 합시다.
'심층학습 > Deep Learning' 카테고리의 다른 글
6장 심층 순방향 신경망 - 6.0 퍼셉트론의 이해 (0) | 2022.01.24 |
---|---|
5장 기계학습의 기초 - 5.3 초매개변수와 검증집합 (0) | 2022.01.18 |
5장 기계학습의 기초 - 5.2 수용력, 과대 및 과소적합 (0) | 2022.01.17 |
5장 기계학습의 기초 - 5.1.4 선형회귀 (0) | 2022.01.17 |