
이 관계를 정확하게 이해해야 한다.
Linear regression -> Logistic regression -> Binary classification -> multi class classification
다시 한번 linear regression에서 필요한 것이 뭐라고?
1. hypothesis 가설이 필요하고
2. 에러율을 측정할 cost function이 필요하고
3. 마지막으로 문제를 해결할 수 있는 optimizer GD가 필요하지!
범주형 데이터(카테고리 데이터): 종류를 표시하는 데이터
범주형 데이터들은 숫자형 데이터처럼 특정 값이 아니기 때문에 이를 숫자로 바꿔주는 인코딩 과정이 반드시 있어야 한다!
예를 들어 다음과 같은 문제가 있다고 하자. 2,3,4시간 공부한 학생은 fail(0)이고 6,7,8시간 공부한 합생은 합격(1)하였다는 데이터
=> 이제 여기서 우리는 예측하고 싶은고지... 그러면 10시간 공부하면 합격합니까!!!
이를 linear regression으로 해결하면 어떻게 될까?
이렇게 설정해보자.
: 불합격
: 합격
이런 문제점이 발생할 수 있어.
만약 50시간을 공부해서 합격한 사람이 있다고 해보자.
그러면 합격을 했는데도 불합격한걸로 예상이 되는 데이터들이 생긴단 말이지 ㅠ.ㅠ
흐음.... linear regression 만을 이용해서 binary classification을 해결하기 어렵겠는걸....
또 다른 문제는 뭐가 있을까.
우리는 1인지 아닌지를 판별하고 있는데 예상값이 0보다 작아지거나 1보다 커질 수도 있단 말이지..? ㅠ.ㅠ
=> 이렇게, 0과 1 사이에서만 값이 되도록 우리가 바꿔줘야하지 않을까?
그렇게 찾아낸 것이 바로 이 'logistic hypothesis' !!! 0과 1사이로 모든 값을 bounding할 수 있따 :)
그래서 원래 linear regression에서 H(X) = WX + b로 했던 이 가설을 다음과 같이 바뀌게 된 것이다.
기존 cost function 이용 못하겠고만..... 새로 만들어야겠다!
오케이. 가설설정 새로 만든 것처럼 우리가 cost function도 다시 설계하자!
(1) 왜 log를 이용했을까? e-z에서 구불거림을 없애기 위해!
(2) 왜 다음과 같이 설계했을까? 실제 값을 넣어보면 됨!

위에서 y = 1 or y = 0으로 나눴던 cost function을 합쳐서 다음과 같이 표현할 수 있음 :)


꼭 class가 2개라는 법 없잖아 만약에 그 이상이면 이제 어떻게 할 수 있을까?

이제는 시험 P/F 2가지가 아니라 A/B/C 이렇게 성적을 매긴다고 생각해보자.
binary classification 3개를 이용하면 이렇게 multinomial classification을 할 수 있겠지 :)
이를 그림으로 나타내면, 분류기 3개를 이용한다는거. (A분류기, B분류기, C분류기
분류기 3개를 쓰지 말고 어차피 중복되니까 합칠 수는 없을까?
이렇게 합칠 수 있다는 사실!
위의 그림을 보자. , , 결과를 sigmoid함수로 넣었을 때 그 값은 1, 1, 0이 나온다. 하나의 값만 1이 나와야 하는데 이게 무슨 상황
어떻게 하면 하나의 class에만 1이 뜨게 할 수 있을까?
이렇게 해결하면 되지. sigmoid에 대입하지 말고 확률로 만들어서 다음과 같이 계산할 수 있음.


가장 큰 한가지의 숫자만 1로 바꾼다:
one-hot encoding

👩🏻🏫 이 과정을 반드시 기억하라.
softmax를 통과하여 확률로 만들고 그 다음에one-hot encoding을 적용하자!
cross entropy를 활용하자!
오른쪽이 실제값이고 왼쪽은 예측값
직접 구체적인 예시로 구해봐도 cost function을 잘 설계한 것을 알 수 있지
식을 보면 이렇게 되는거지.
먼저 예측값()을 softmax에 넣고 그리고 와의 cross entropy를 구하는 것이 바로 loss function!
눈치 챘나 사실 둘은 같은 것이다!
👩🏻🏫 linear regression도 logistic regression도 다 GD를 이용할 수 있다는거 증명할 수 있어야함 (https://studyfield.tistory.com/512)
본 게시물은 세종대학교 최유경 교수님의 인공지능 수업 내용을 정리하였습니다 :)