Logistic Regression: 분류 기법의 일종
Binary Classification: 0 또는 1의 결과값
Logistic and Linear
Logistic | Linear |
셀 수 있고 데이터의 값들이 흩어져있음 예) 신발사이즈 |
연속적으로 이어져있음. 예) 몸무게 |
Hyphothesis Representation
↓
-g(x)를 통해 Logistic function 으로: y의 범위를 0과 1 사이에 정의할 수 있도록 함.
따라서, x가 커질 수록 분모는 1에 가까워지기 때문에 결국 함수값은 1로, x가 작아질수록 분모가 무한대로 가기 때문에 결국 0으로 수렴하게 됨.
결론: 함수로 치면 y축에 있는 값이 0과 1 사이에 있게 됨.
Cost Function
: 랜덤 w를 최적의 파라미터로 만드는 것
def loss_fn(hypothesis, labels):
cost = -tf.reduce_mean(labels * tf.log(hypothesis) + (1 - labels) * tf.log(1 - hypothesis))
return cost
cost = -tf.reduce_mean(labels * tf.log(hypothesis) + (1 - labels) * tf.log(1 - hypothesis))
Optimization : cost 최소화
경사값을 0에 가깝게 함으로써 cost 값을 줄일 수 있음.
이를 3차원 공간에 표현하면 아래와 같은 그림이 나옴.
↓
- running rate, gradient, cost 값을 반복하면서 최소의 cost값을 찾게 됨.
이를 코드에 표현해보면,
def grad(hypothesis, labels):
with tf.GradientTape() as tape:
loss_value = loss_fn(hypothesis, labels)
return tape.gradient(loss_value, [W,b])
optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01)
optimizer.apply_gradients(grads_and_vars=zip(grads,[W,b]))
출처: 모두를 위한 딥러닝 시즌2 유튜브
'Deep learning' 카테고리의 다른 글
[Article] GRU & LSTM (0) | 2023.08.16 |
---|---|
04 Multi-variable linear regression (0) | 2021.03.30 |
02 Simple Linear Regression (0) | 2021.03.23 |
01 ML (0) | 2021.03.23 |