Ssa!
스파르타 내일배움캠프 논리 회귀, 가설, 손실함수 본문
선형 회귀로 풀기 힘든 문제가 등장했는데 그것을 보완하기 위해 논리 회귀를 사용한다.

선형회귀로 하게 된다면 이렇게 되버린다.
이 문제에서 입력값과 출력값이 된다. 이것을 이진클래스로 나눌 수 있다. 0(Fail), 1(Pass)로 이런 경우 이진 논리 회귀로 해결할 수 있다. 논리 회귀 즉 Logistic function(=Sigmoid function)를 사용하면 아래 처럼 만들 수 있다.

논리 함수는 입력값(x)으로 어떤 값이든 받을 수가 있지만 출력 결과(y)는 항상 0에서 1사이 값이 된다
실질 적인 계산은 선형회귀와 같지만 출력에 시그모이드 함수를 붙여 0에서 1사이의 값을 가지도록 한다. 시그모이드 함수는 아래와 같이 생겼다

선형 회귀에서 가설은 H(x) = Wx + b였는데 논리 회귀에서는 시그모이드 함수에 선형 회귀 식을 넣어주면 된다


논리 회귀에서 손실함수는 아래와 같은 식처럼 된다.

손실 함수를 그래프로 보면

라벨 y가 0이어야 하면 예측한 라벨이 0일 경우 확률이 1(100%)이 되도록 해야하고 예측한 라벨이 1일 경우 확률이 0(0%)이 되도록 만들어야 한다. 반대로 라벨 y가 1일 경우에 예측한 라벨 1 일 때 확률이 1(100%)이 되도록 만들어야한다.
위의 그래프를 더욱 실제적으로 그려보면 아래의 그래프가 된다

이렇게 가로축을 라벨로 표시하고 세로축을 확률로 표시한 그래프를 롹률 분포 그래프라고 한다. 확률 분포 그래프의 차이를 비교할 때는 Crossentropy라는 함수를 사용한다.
임의의 입력값에 대해 우리가 원하는 확률 분포 그래프를 만들도록 학습시키는 손실 함수이다.

정답이 0인 경우만 살펴보면, 입력값의 확률 분포가 파란색 그래프처럼 나왔다고 가정하면 crossentropy는 파란색 그래프를 빨간색 그래프처럼 만들어주기 위해 노력하는 함수이다. 선형회귀를 했을 때 정답값을 나타내는 점과 세운 가설 직선의 거리를 최소화하려고 했던 거리함수와 비슷하다.
'CS > 머신러닝' 카테고리의 다른 글
| 스파르타 내일배움캠프 머신러닝에서의 전처리 (0) | 2022.10.11 |
|---|---|
| 스파르타 내일배움캠프 다양한 머신러닝 모델 (0) | 2022.10.11 |
| 스파르타 내일배움캠프 다항 논리 회귀, Softmax 함수와 손실함수 (0) | 2022.10.11 |
| 스파르타 내일배움캠프 선형 회귀/경사 하강법/데이터 셋 분할 (0) | 2022.10.07 |
| 스파르타 내일배움캠프 머신러닝이란? (2) | 2022.10.07 |