Machine Learning
Linear Regression (선형 회귀)
한 개의 독립변수(independent variable) \(x\)와 한 개의 종속변수(dependent variable) \(y\)의 선형 관계를 모델링하는 방법
→ \(x\)의 값이 바뀌면 \(y\)의 값이 바뀐다.
e.g.) 키\(x\)에 따라서 몸무게\(y\)가 변화함
▶ 독립변수 (Independent variable) : 연구자가 의도적으로 변화시키는 변수
▶ 종속변수 (Dependent variable) : 독립변수에 영향을 받아서 변화하는 변수
▶ 선형 (Linear) : 직선
- 가산성(Additivity) : \(f(x+y) = f(x) +f(y)\)
- 동차성(Homogeneity) : \(f(cx) = cf(x)\)
→ 이 두 식을 만족하는 것을 선형성이라고 함
* Linear Regression은 동차성(Homogeneity)를 만족하지 못함
가설 (Hypothesis)
\[y = wx + b\]
\(w\) : 가중치(weight)
\(b\) : 편향(bias)
→ parameter (매개변수) 라고 함
※ 학습(Learning) : 독립변수 \(x\)와 종속변수 \(y\)의 관계를 가장 잘 표현하는 직선을 찾는 것
→ 가설함수의 가장 적절한 weight, bias를 찾는 과정
Multiple Linear Regression (다중 선형 회귀)
한 개 이상의 독립변수 \(x\)와 종속변수 \(y\)의 선형관계를 모델링(모델을 학습시키는)하는 방법
→ 2개 이상의 특성을 가짐 : 초평면을 찾음
* 초평면 : 평면을 뛰어넘은 평면, 3차원 공간 속의 평면을 일반화하여 얻는 개
e.g.) 키\(x\)와 나이\(x\)에 의해 몸무게\(y\)가 변화함
가설 (Hypothesis)
\[y = w_1x_1 + w_2x_2 + ... + w_nx_n + b\]
Logistic Regression
Hypothesis (가설)
독립변수 \(x\)와 종속변수 \(y\) 의 관계를 유추하기 위해서 수학적으로 만든 식
<Hypothesis 로 알 수 있는 것>
- 머신러닝 알고리즘
- 필요한 변수의 수 / 특성의 수
e.g )
\(H_1(x)= wx + b\)
\(H_2(x)= w_1x_1 + w_2x_2 + ... + w_nx_n + b\)
▷ \(H_1(x)\) : Linear Regression의 Hypothesis이며 직선 모양의 함수
▷ \(H_2(x)\) : Multiple Linear Regression의 Hypothesis이며 초평면 모양의 함수
입력 데이터 ↑ → 다중 선형 회귀가 필요한 변수의 수가 더 많음을 알 수 있음
선행예시)
\(H_1(x)= wx + b\)
$(x) = \frac{1}{1 + e^-x}$ → Logistic Regression
▷가설의 한 단계 : 어떤 알고리즘이 적합할 것인지 모델을 만들어 두는 것
Loss function (손실 함수)
= Objective function (목적 함수) , Cost function (비용 함수)
오차를 계산하여 그 함수(value of function)을 최대화(maximize) 혹은 최소화(minimized)하는 것
→ 어떤 알고리즘을 사용하느냐에 따라 목적이 달라짐
▷ 이 중 어떤 함수가 가장 좋은 모델인지 수학적으로 측정할 수 있는 함수
*최대화 : 최대우도추정(maximum likelihood)방식 → 해당 함수값이 낮을수록 좋지 않은 것
벡터(vector)을 이용한 가설 함수(Hypothesis function) 정의
$$\vec{x}_{i}=\left[\begin{array}{c} x_{1} \\ x_{2} \\ \vdots \\ x_{n} \end{array}\right], W=\left[\begin{array}{c} w_{1} \\ w_{2} \\ \vdots \\ w_{n} \end{array}\right], b$$
$$H(x) = X^T×W+b = W^T×X+b= w_1x_1 + w_2x_2 + ... + w_nx_n +b$$
- MSE(Mean Squared Error)
$$J(\hat{\theta}) = MSE(\hat{\theta}) = \frac{1}{N}\sum_{i=1}^{N}\left(h_{\hat\theta}\left(x^{(i)}\right) - {y}_{i}\right)^{2}$$
$\frac{1}{N}$ : 개수를 나눠줌
$\left(h_{\hat\theta}\left(x^{(i)}\right) - {y}_{i}\right)^{2}$ : (squared error) 떨어진 거리의 제곱
▶error↑ → 비중↑
+) Mean Absolute Error : MSE에 절댓값을 씌운 것 → 기울기가 0인 지점에서 미분 X - RMSE(ROOT Mean Squared Error) : MSE에 루트를 씌운 것
* 루트 연산량 때문에 주로 사용하지 않음
$$J(\hat{\theta}) = \operatorname{RMSE}(\hat{\theta})=\sqrt{\operatorname{MSE}(\hat{\theta})} = \sqrt{\sum_{i=1}^{n}\frac{\left(h_{\hat\theta}\left(x^{(i)}\right)-y_{i}\right)^{2}}{N}}$$
▶error : 비중 같음
minimized 관점 → Loss Function : model의 오차(Error)를 판단, 가설 (Hypothesis)을 판단하는 함수
$$w, b \rightarrow \text { minimize } \operatorname{Loss}(w, b)$$
Optimizer (최적화 알고리즘)
손실함수를 최적화 하는 $w$, $b$를 찾는 과정, 손실함수를 최적화 하는 과정
→ 학습(learning) 혹은 훈련(training)
*반복 학습 시킴 => 최적화
- Gradient Descent (GD)
- Stochastic Gradient Descent (SGD)
- Adaptive Gradient Descent
- Root Mean Square Propagation Optimizer
- Adaptive Momentum Optimizer
Gradient Descent (경사 하강법)
$$J(\hat{\theta}) = MSE(\hat{\theta}) = \frac{1}{N}\sum_{i=1}^{N}\left(h_{\hat\theta}\left(x^{(i)}\right) - {y}_{i}\right)^{2}$$
▷ 2차 함수 형태 / Convexity(볼록함수)
Cost function
$$cost(w,b) = \frac{1}{n}\sum_{i=1}^{N}\left(h_{\hat\theta}\left(x^{(i)}\right) - {y}_{i}\right)^{2}$$
Gradient Descent
$$w_t : w_t - \alpha \frac{\partial}{\partial w_t} \operatorname {cost}(w_t) $$
$w_t$ : 현재 위치
$-$ : 반대 반향 - 기울기와 반대 방향으로 다음 위치가 설정되어야하기 때문
$\alpha$ : 더 큰 값으로 갈 수도 있는 모순을 방지함 → 0 ≤ $\alpha$ ≤ 1 → 0.05을 주로 사용
▶ 미분값이 음수일 때 : 기울기가 줄어드는 방향으로 옮김 → $+$방향으로 이동
▶ 미분값이 양수일 때 : 기울기가 줄어드는 방향으로 옮김 → $-$방향으로 이동
등고선 : 같은 높이를 연결한 선
→ 독립변수($x$)를 평면위에 표시하여 같은 종속변수를 가지는 선을 연결함
*모멘트(관성) : 극솟값(local minimum)이 아닌 최솟값(absolute minimum)을 찾기 위해 가속을 받아 극솟값을 넘어감
학습률 (Learning rate) - $\alpha or \eta$
경사 하강법 같은 기법에서 기울기를 얼마만큼 반영할지 판단하는 변수
▷hyperparamete : 사용자가 직접 정해줘야 하는 변수 → 0 ≤ $\alpha$ ≤ 1 → 0.05을 주로 사용
- 학습률 (Learning rate)이 적당한 경우 : 적당한 속도로 기울기가 0인 지점으로 $w$값이 수렴
- 학습률 (Learning rate)이 작은 경우 : 0인 지점으로 $w$값이 수렴하지만, 연산을 많이 진행해야함
- 학습률 (Learning rate)이 큰 경우 : 기울기가 0인 지점을 찾지 못하고 발산(Divergence)함
▶ $\alpha$를 어떻게 설정하느냐에 따라 수렴(convergence)시간이 달라짐 / 수렴하는 위치가 달라짐
영어 | 뜻 |
independent variable | 독립변수 |
dependent variable | 종속변수 |
linear | 선형 |
additivity | 가산성 |
homogeneity | 동차성 |
hypothesis | 가설 |
weight | 가중치 |
bias | 편향 |
learning | 학습 |
algorithm | 알고리즘 |
linear regression | 선형 회귀 |
multiple linear regression | 다중 선형 회귀 |
loss function = objective function = cost function | 손실함수, 목적함수, 비용함수 |
value of function | 함수값 |
maximize | 최대화 |
minimize | 최소화 |
maximum likelihood estimation | 최대우도추정 |
error minimization | 오차 최소화 |
Mean Squared Error | 평균제곱오차 |
Optimizer | 최적화 알고리즘 |
convexity | 볼록함수 |
hyperparameter | 하이퍼 파라미터 : 사용자 지정 변수 |
convergence | 수렴 |
divergence | 발산 |
learning rate | 학습률 |
gradient descent | 경사하강법 |
reference
- Khan Academy
'AI > DeepLearning' 카테고리의 다른 글
Deep Learning (0) (0) | 2023.08.04 |
---|