기계학습의 구성요소
- 경험 사례
- 모델
- 평가 기준
기계 학습이란?
계산/추론(computation/inference) : 함수를 주고, Output이 나오도록 계산 (F = ma, V = IR)
최적화(Optimization) : 한 세트의 (input,output)을 주고, 관계를 가장 잘 설명하는 f(함수)를 찾는 것.
이 2가지는 input과 output 두가지와 에러만 없으면 되지만, 우리가 모든 데이터를 사용할 수 없다. 즉, 우리가 모르는 데이터를 입력 하였을 때 제대로된 출력이 나오게 만들어야한다.
이는 일반화(Generalization)을 통해 수행되어진다.
일반화(Generalization) : 최적화를 통해 학습된 함수를 통해 학습된 적 없는 입력을 가지고 정확한 출력을 나오도록 하는 것.
가장 좋은 모델(f)은 어떻게 찾을 것인가?
정답과의 오차를 통해 찾는 방법
$min||Label - f(data)||$
Label : 정답, f : 함수, data : 입력값
이렇게 오차를 줄여가면서 좋은 모델을 찾는다.
이러한 과정을 최적화라고 한다.
즉, parameter를 학습하는 과정이 최적화 과정
EX) 공부 시간과 시험 점수와의 관계
공부시간 -> model(f) -> 시험점수
Data : 과거의 결과들
model : 모델은 다양한 모델이 있음 (선형, 이차 방정식, 뉴럴넷 등등)
이 모델을 선택하는 것은 데이터를 보고 판단하거나 테스트를 통해 좋은 모델을 선정하는 등 경험을 통해 배우거나 감이라고 할 수 있음
loss(평가, cost) : 다양한 평가 방법이 존재. loss = cost
$cost([W,b]) = \frac{1}{m} \sum_{i=1}^m (f(x^i) - y^i)^2$
이 와같은 오차의 제곱의 평균을 loss function으로 선정
이제 이 f 가 얼마 만큼 틀렸는지 측정은 값을 넣어보고 loss 값을 구해본다.
처음에는 loss 값을 클 것이다. 이를 줄이기 위해서 경사하강법을 사용.
local minimum, global minimum
$∇W = \frac{\partial cost}{\partial W} = \frac{2}{m} \sum_{i=1}^m (Wx^i - y^i)x^i$
$W : = W - \alpha ∇W$
$ \alpha $: Learning rate - Gradient 방향으로 얼마나 갈 것인가? (step size) 하이퍼 파라미터,
$ ∇W $: Gradient - 현재 위치에서 이동 방향
무조건 멀리 간다고 좋은 것은 아니다. 이를 조절하기 위한 것이 Learning rate
이것이 최적화 과정.
epoch : train dataset 전체를 한번 다 이용하면 1씩 상승
이렇게 학습을 하면 잠재적 문제는?
본 적이 없는 데이터가 들어 왔을 때 잘못 판단하는 경우가 생김 (너무 가지고 있는 데이터에 모델을 맞췄던가, 모델 선정을 잘못했던가의 문제)
underfitting - 학습을 잘 못한 것
overfitting - 너무 데이터에 맞춰 학습이 된 것
overfitting을 해결하는 방법
- 충분히 많은 양의 데이터
- 모델 복잡도 줄이기
- 가중치의 Regularization 적용하기
- 드롭아웃(Drop out) - Regularization 방법
Regularization - 복잡한 모델의 능력을 억제시키는 것
머신 러닝과 딥러닝의 차이
머신 러닝
입력 -> 특징 추출 -> 분류(모델사용) -> 출력
딥러닝
입력 -> 특징 추출&분류(모델사용) -> 출력
universal approximator 이기 때문에 이를 가능하다고 믿을 수 있음(모델이 충분히 크다면 I,O의 관계를 모두 학습 할 수 있음)
'@@@ 인공지능 > 이론' 카테고리의 다른 글
Attention (0) | 2022.02.22 |
---|---|
Multi-Model Learning (0) | 2022.02.22 |
영상 처리(CNN) (0) | 2022.02.21 |