Model Parameters (Learnable) vs Hyperparemeters (User-defined)
차이점 서술하기
Linear Regression
1) Supervised Learning
2) 주어지는 인풋 x에 대해서 target y를 구한다.
- Training
Data points n개의 (x,y)를 Input으로 넣으면, 학습 이후 이에 해당하는 Model parameter가 나온다.
- Testing
실제 x와 Model Parameter를 입력했을 때 Predictor(
Parameteric Approach
파라미터 기반으로 작동
non-Parameteric Approach
Optimization
가우시안 함수의 파라미터는 mean, variance이다.
1) Data points x를 가지고 Model Parameter 세타를 조합해 Model 수식에 맞춰 y 추정값을 구할 수 있다.
2) growth truth인 실제 y값과 추정 y값을 비교해 Loss Function을 구한다.
3) 이 Loss Function에 따라 세타를 조절하는 것을 Optimization이라고 한다.
model parameter은 weights와 bias로 나누어진다.
weights는 실제로 input x값과 결합되어 y의 추정값을 구하는데 사용되며,
bias를 두어 input이 없을 경우에 기본적으로 존재하는 y의 값을 알 수 있다.
Linear Classifier
Image X를 넣으면, 각 X에 해당하는 weight를 가지고 있는 Linear Classifer가 이를 받아서
클래스 개수 당 점수를 산출한다.
ex) ax + b = 0의 a, b가 weights라고 보면 됨
Feed-Forward란?
순방향이라는 뜻으로, 여러 노드로 이루어진 한 계층의 결괏값들이 다음 계층으로 전달되어 예측을 실행
즉, 실행 후 받는 피드백이 아니라, 실행 전에 결함을 예측하고 행하는 피드백 과정의 제어이다.
즉 Target Score과 미리 비교하면서 Weight 값을 갱신하는 것을 의미한다고 생각한다.
Linear Regression의 경우 Loss Function은 다음과 같다.
1부터 N까지 총 N개의 데이터가 주어지면,
각각의 데이터에 대해 Loss 값을 구한다음 더하고, 갯수만큼 나눠서 평균을 구하면
전체 데이터에 대한 Loss Function이 된다.
SVM classifier
위의 예시와 비슷하지만 Loss Function을 구하는 방식에서 차이가 있다.
각 데이터에 대해 전치 연산을 한 가중치를 곱한 값, 즉 '추정값'을 이용해서 Loss Function을 구한다.
정답에 해당하는 클래스는 제외하고 오답인 클래스의 추정값과 정답 클래스의 추정값을 빼서 Delta만큼 더하면 된다.
Hinge loss, 아래 처럼 예측값과 실제값 사이의 Loss를 구하는 방법론을 사용해 Loss를 구한다!
General하게 이렇게 많이 사용한다고 한다.
Delta 값은 정답 값과 오답 값의 최소한의 차이이며, 1 만큼의 차이가 보장되어야 max함수의 리턴값은 0이 되면서
Loss function의 값이 작아지게 되는 것이다.
(오답 클래스의 추정값 - 정답 클래스의 추정값 + 1) 임을 잊지 말기 !
Softmax Classifier
입력받은 값을 출력으로, 0 ~ 1사이의 값으로 모두 정규화하며 출력 값들의 총합은 항상 1이 되는 특성을 가졌다.
Linear Regression의 경우
Linear Classifier은 Weight가 Randomly하게 부여된다.
따라서 Class간 Score의 차이가 왜곡될 수 있기 때문에 정규화과정을 통해 일관된 답을 도출할 필요가 있다.
1) EXP : 모든 값을 양수로 변환하기 위해, 도출된 Y Estimation 값에 exp를 취한다.
2) Normalized : 양수로 변환된 값을 모두 더한 총합을 각 Class Score에 나눈다.
이렇게 나온 예측값을 원-핫 벡터와 비교해 Loss 값을 구한다.
강의에서는 Cross Entropy, 추정값과 결괏값의 차이를 측정하는 Measure를 통해 손실 값을 구하게 된다.
즉 실제 확률과 추정 값에 log를 취한 값을 차례로 더하고 음의 부호를 붙여주면 Cross Entropy를 계산한다.
곱해지는 정답 Prob의 값이 One-hot이므로 사실상 정답 부분에 해당하는 Estimation Prob값에 log를 취하여
음의 부호를 곱해주면 끝이다 !
Linear Classifier, SVM Classifier, Softmax Classifier의 Loss function외우고 값 구하는 예제 풀기
Gradient Descent(경사 하강법)
1) Initial weight에 대해서 임의의 초기값을 잡는다.
2) Loss 결괏값이 최소가 될 때까지 weight값을 갱신하며 최솟값에 도달했을 때 weight를 찾아낸다.
델타 w에서 Loss function 앞에서 곱해지는 상수 값은 learing rate(학습 속도)이다.
갱신되는 weight 값의 속도를 결정한다. 즉 보폭의 크기라고 이해하면 됨!
learning rate 뒤에서 곱해지는 J의 미분값은 해당 지점에서의 기울기를 의미한다.
weight값에서 현재 weight값의 Loss function의 기울기만큼 값을 빼고 있으므로 weight값은 점차 최솟값을 향해간다.
'Major Study > Artificial Intelligence Application' 카테고리의 다른 글
인공지능 응용 실습) KNN (0) | 2022.04.18 |
---|---|
Numpy 기초) Numpy 사용하기 & Data Split (0) | 2022.04.18 |
Python 기본 문법 정리 (0) | 2022.04.15 |
선형 회귀(Linear Regression)의 개념과 Prediction (0) | 2022.04.03 |
Supervised Learning(지도 학습)의 개념 (0) | 2022.04.03 |