참고: https://youtu.be/ZKHw95q4ZOA?si=4QpayxroTsjco-Zf
바로 전 글은 선형 회귀를 주제로 하였다. 이는 데이터를 입력하였을 때 추론하는 결과값이 어떤 숫자로 나타나게 된다.
반면에 그 값이 의미하는 바가 무엇인지만 알고 싶은 경우에 사용하는 것이 분류하는 논리 회귀이다.
"그래서 합격이야? 불합격이야?"
(물론, 이것만이 분류에 해당하지 않는다. 강아지냐, 고양이냐, 송아지냐 등을 나누는 것도 분류이지만 여기서는 논리회귀만 보자.)
논리 회귀는 위와 같은 방법을 적용해서 판단한다. 선형 회귀처럼 테스트 데이터로 판별 근거를 학습하면서 선형 회귀선을 구한다.
그리고 이 회귀선의 위/아래, 오른쪽/왼쪽 등으로 나누어 참/거짓으로 분류하는 방식이다.
이론적인 면을 좀더 살펴보자. (이론은 싫다하시면 넘어가도 전혀 상관없다.)
딥러닝에 적용하기위해서는 하나 더 고려해야 할 것은 손실함수(loss function)이다.
오차 e = 정답 t - 추론 결과 y 이고 e가 최소가 되는 값들을 찾아야 하기 때문이다.
sigmoid 함수는 지수 함수이므로 손실함수는 log 함수가 되고 위와 같은 로그함수를 cross-entropy 라고 부른다.
그냥 그런가부다 하고 넘어가자. 똑똑한 분들이 이미 다 증명한 것이니, 우리까지 하나하나 증명할 필요없다. 맨 아래 참고로 붙임.
손실함수의 최소값을 찾기 위해서 변수 W, b에 대해서 편미분하는 것은 선형 회귀에서 다루었다.
(미분 -> 기울기, 기울기 > 0 -> 변수가 커지면 결과값 증가, 기울기 < 0 -> 변수가 커지면 결과값 감소 따라서 기울기가 0이 되는 변수 찾기 게임이 된다.)
위 slide는 학습하는 순서를 나타낸다.
손실함수는 cross entropy를 사용하고, 손실함수가 최소가 아닐 경우, 경사하강법을 사용하여 다음 계산을 시작한다.
다음 글에서는 이를 바탕으로 한 실습 예제를 해보자.
-- cross entropy 유도식
'AI > TensorFlow 학습' 카테고리의 다른 글
6. TensorFlow 2.x - Deep Learning 소개 (0) | 2024.07.31 |
---|---|
5. TensorFlow 2.x - Logistic Regression 예제 (0) | 2024.07.30 |
3. TensorFlow 2.x - Linear Regression 예제 (0) | 2024.07.29 |
2. TensorFlow 2.x - Linear Regression 이론 (0) | 2024.07.29 |
1. TensorFlow 2.x - Eager Execution, Keras 시작 (0) | 2024.07.29 |