지도학습, Supervised Learning
Labeling된 데이터를 가지고 모델을 통해 학습.
예를 들어 사람들의 사진에 각각 해당 사람의 인종 정보가 레이블링된 학습 데이터셋이 존재하는 경우의 학습이다.
학습 데이터셋
모델을 수학적 함수의 형태로 표현할 수 있다.
y = f(x)에서 x는 데이터의 픽처 벡터라고 하고, x와 연관되는 레이블을 f(x)라고 한다. 즉, x가 입력되었을 때의 정답 값은 f(x)이다.
어떤 y는 단 하나의 값만을 가질 수 있는데, 그런 경우 이 모델을 분류자라고 한다. Classifier
이와 달리 y가 여러 개의 순서가 있는 값들을 가질 수 있는 경우, 그 모델을 회귀자 혹은 복귀자라고 한다. Regressor
모델에 대한 예측(Estimation)을 g(x)라고 하자.
모델의 예측이 성공적인지를 판단할 때에 정답인 레이블 y와 얼마나 일치하느냐를 가지고 판단한다.
이 방법은 대부분 L2 Norm을 사용하여 유클리드 거리를 측정하는데, 이 거리를 정답과 예측 간의 Cost(비용)라고 한다.
지도학습은 정답지가 존재하기 때문에 정답과 예측이 가장 가까운, 즉 정답과 예측간 비용이 가장 적은 모델의 파라미터 값을 찾아내는 것이 핵심이다.
g(x|theta)로 예측을 표현해보자. 이는 "g가 주어졌을 때 x의 theta"라고 읽는다. theta는 parameter이다. 즉, parameter를 특정했을 때의 x에 대한 예측인 것이다.
지도학습의 최종 목표를 수학적으로 표현하자면, 모든 x에 대해 비용을 최소화하는 최적은 theta인 theta star를 찾는 것이다.
주의할 점은 모델을 평가할 때에 학습에 사용한 데이터를 평가에 사용하면 안된다. 이미 학습한 문제로 시험보면 100점이다. 예를들어 레이블된 데이터가 100개면 학습에 70개 쓰고, 나머지 30개를 평가에 쓰는 것이 좋다.
비지도학습
레이블링된 데이터가 주어지지 않은 경우에 데이터들 사이에 공통된 패턴이나 구조를 찾아서 머신러닝하는 것.
가장 크게 사용하는 도구는 '군집'(clustering)과 '차원축소'(dimentionality reduction)이 있다.
1. 군집
군집이란 데이터를 유사한 특징을 기준으로 분류하는 것이다.
이때, 데이터의 피쳐가 중요하지는 않다.
많이 사용되는 알고리즘은 E-M알고리즘의 한 중류인 K-means(K평균)이 있다.
2. 차원축소
차원축소란 데이터를 조작하여 데이터를 단순화하는 것이다.
예를 들어 데이터들이 중복된 피쳐를 가진다면 그 피쳐는 의미 없는 것으로 보고 삭제한다.
강화학습
강화학습은 여러번의 시행착오를 통해 계속해서 더 나은 결과를 찾는 과정이다.
시스템의 다른 이름인 Agent가 어떤 행위를 하면, 그것에 따라 State가 변화한다.
State는 각 행위에 상응하는 보상(Reward)를 제공한다.
에이전트는 궁극적으로 각 상태에서 기대되는 최대의 보상을 알아내게 된다.
'Tensorflow' 카테고리의 다른 글
머신러닝의 기초 (0) | 2021.01.19 |
---|---|
[Tensorflow] Linear Regression (0) | 2021.01.09 |
[Tensorflow] 텐서플로우의 기초 (0) | 2021.01.09 |