1. Linear Regression vs Logistic Regression
linear regression
입력과 출력 간의 관계를 함수로 modeling하는 방법
y=Wx+b
-> 출력값이 continuous한 값
logistic regression
출력 값을 true/false 또는 0/1로 회기를 통해 알아낸다.
출력 값은 연속적인 값이 아니지만 함수를 modeling할 때는 연속적인 함수를 사용한다.
2. Logistic Regression
Logistic Regression은 이진 분류를 위한 알고리즘이다.
지도 학습에서 출력될 레이블 y가 0이나 1일 경우 사용한다.


linear regression에 sigmoid함수를 적용한 것이다.
출력 결과는 항상 0에서 1 사이의 확률 값이다.
3. Logistic Regression cost Function
loss function은 실제 데이터 y와 세운 가설 y^의 차이 값을 표현하는 함수이다.
(y - y^)의 값을 최소화시키는 것이 학습의 목표이다.
전통적인 loss function은 제곱을 통해 차이가 크면 페널티를 더 부여하는 방법이다.
수식은 다음과 같다.

전통적인 loss function은 매개 변수들을 학습하기 위해 풀어야 할 최적화 함수가 볼록하지 않아서 여러 개의 local minima를 가지고 있게 되어 문제가 발생한다. 이럴 경우 경사 하강법(Gradient descent)이 global optima를 못 찾을 수도 있다.
따라서 logistic regression에서는 잘 사용하지 않는다.
대신 cross entropy loss를 사용한다.
수식은 다음과 같다.

loss function은 하나의 training 데이터에서의 적합한 weight와 bias를 찾는 것이었다면
cost function은 전체 training 데이터셋에서 적합한 weight와 bias를 찾는 것이다.
즉, 각각 training data의 loss function의 평균값이라고 생각하면 된다.
수식은 다음과 같다.

cost function 값을 최소화하는 weight와 bias를 찾는 것이 학습의 목표이다.
cost function 값을 구할 때 gradient descent를 사용한다.
weight에 대한 편미분과 b에 대한 편미분을 조금씩 빼주면 최솟값의 위치를 알 수 있다.

gradient를 구하기 위해서는 backward propagation을 해야 한다.
참고: DeepLearningAI, www.youtube.com/watch?v=hjrYrynGWGA&list=PLkDaE6sCZn6Ec-XTbcX1uRg2_u4xOEky0&index=8
'🤖AI > 딥러닝' 카테고리의 다른 글
| [딥러닝] Bias와 Variance (0) | 2021.04.13 |
|---|---|
| [딥러닝] 활성화 함수 (Activation function) (0) | 2021.04.13 |
| End-to-end deep learning (0) | 2021.04.13 |
| [딥러닝] train/dev/test sets (0) | 2021.04.13 |
| [딥러닝] 파라미터(Parameter)와 하이퍼 파라미터(Hyper parameter) (0) | 2021.04.12 |