로지스틱 회귀는 이름은 회귀이지만 분류 모델이다. 선형 회귀와 마찬가지로 선형 방정식을 학습한다.
z = a*x1 + b*x2 + c*x3 + d*x4 + e*x5 + f 와 같은 형태이다.
이 때 방정식의 a,b,c,d,e는 가중치 혹은 계수이고 x1~5는 특성이다. 다중 회귀와 비슷한 형태이다.
z의 값은 어떤 값이든 가능하지만 확률로 나타내기 위해서는 0~1 사이 값이 되어야 한다.
z의 값을 0~1 사이의 값으로 변환하기 위해서는 변환 함수가 필요하다.
일반적으로는 시그모이드 함수를 많이 쓴다. 아주 큰 음수일 때 0이 되고 아주 큰 양수일 때 1이 되도록 한다.
아래 그림처럼 S형 곡선의 형태를 띄게 된다. 함수 식은 자연 상수 e의 -z제곱에 +1을 한 다음 역수를 취한다.
로지스틱 회귀로 이진 분류와 다중 분류 모두 수행할 수 있다.
다중 분류일 때는 클래스의 개수만큼 방정식을 훈련해 z 값을 여러 개 얻게 된다.
위의 시그모이드 함수는 하나의 선형 방정식 출력값을 0~1 사이로 변환하기 때문에 이진 분류에 적합하다.
따라서 다중 분류 결과로 얻은 여러 개의 z를 확률로 변환하기 위해 소프트맥스 함수를 사용한다.
소프트맥스 함수는 여러 개의 선형 방정식 출력값을 0~1 사이로 압축한 후 전체 합이 1이 되도록 만든다.
지수 함수를 사용하기 때문에 정규화된 지수 함수라고도 한다.
이처럼 로지스틱 회귀는 얼핏 보면 선형 회귀와 같아 보이지만 변환 함수를 이용해 확률을 구할 수 있다.
'스터디 > ML, DL' 카테고리의 다른 글
[LLM] LangChain이란? (0) | 2025.01.27 |
---|---|
[ML] 회귀 알고리즘 : 선형 회귀 (2) - 다중 회귀 (0) | 2022.03.14 |
[ML] 회귀 알고리즘 : 선형 회귀 (1) (0) | 2022.03.03 |
[CV] CNN, 합성곱 연산, 패딩, 풀링 (0) | 2020.02.01 |
[CV] 퍼셉트론, 신경망 (0) | 2020.01.11 |