머신러닝의 두 갈래인 회귀, 분류모델 중 회귀모델이 끝이 나고 분류모델로 넘어왔다.
기본미션
주차 | 진도 | 기본 미션 |
3주차 | Chapter 04 | Ch.04(04-1) 2번 문제 풀고, 풀이과정 설명하기 |
다음은 ch.04(04-1) p.198 2번 문제입니다.
로지스틱 회귀가 이진 분류에서 확률을 출력하기 위해 사용하는 함수는 무엇인가요?
① 시그모이드 함수
② 소프트맥스 함수
③ 로그 함수
④ 지수 함수
정답은 1번 시그모이드 함수이다. 풀이를 위해 개념을 하나 하나 살펴보면서 정답을 도출해보겠다.
로지스틱 회귀
이 문제를 풀기 위해서 로지스틱 회귀 개념부터 다시 살펴보자.
로지스틱 회귀란 반응변수(종속)가 범주형인 경우 적용할 수 있는 회귀분석 모형이다.
다만 용어에 회귀라는 말이 붙을 뿐 실은 분류 모델이다.
특정 범주에 속할 활률을 0에서 1사이의 값으로 예측하고, 예측된 확률에 따라 가능성이 더 높은 범주로 분류하는 지도학습 알고리즘이다.
이것도 활용하는 입장에서는 이정도만 알고 넘겨도 되지만,
이 문제를 풀기 위해서 좀 더 딥하게 책에 없는 내용까지 정리해본다.
오즈(Odds)
오즈(odds)란 사건의 실패확률에 대한 성공확률의 비를 의미한다.
$Y_{i}=1$ 인 경우가 성공일 때, $log({P(Y_{i}=1)/}{1-P(Y_{i}=1})$의 식으로 나타낼 수 있다.
오즈는 0에서 무한대 사이의 값을 가진다.
예를 들어, 주사위를 던져서 1이 나올 오즈는 구해본다고 하자.
1이 나올 확률 $\frac{1}{6}$과 1이 나오지 않은 확률 $\frac{5}{6}$를 통해 다음과 같이 오즈를 구할 수 있다.
$\frac{\frac{1}{6}}{\frac{5}{6}} = \frac{1}{5}$
로그 오즈(Log-Odds)
로그 오즈란 오즈(odds)에 로그 함수를 적용시킨 것으로 -무한대에서 +무한대사이의 값을 가진다.
따라서 범주형 반응변수를 로그 오즈로 변환하면 선형회귀식으로 $Y$에 대한 로그 오즈 값을 추정할 수 있다.
이러한 변환을 로짓 변환이라고 한다.
이렇듯 로그 함수를 적용하면 0에서 무한대 값을 가진 오즈를 -무한대에서 +무한대 범위로 바꿔줄 수 있는데,
이를 통해 선형적인 관계로 만들어 줄수 있다.
$\log(\frac{\frac{1}{6}}{\frac{5}{6}})$
잠깐, 일반적인 선형회귀식은 다음과 같다.
y = β₀ + β₁x₁ + β₂x₂ + ... + βᵣxᵣ
- y는 종속 변수
- x₁, x₂, ..., xᵣ은 독립 변수들
- β₀, β₁, β₂, ..., βᵣ은 회귀모델에서 추정되는 가중치(계수)
로짓변환을 시킨 로그 오즈를 선형회귀식으로 표현하면 다음과 같다.
L = β₀ + β₁x₁ + β₂x₂ + ... + βᵣxᵣ
- L은 로짓변환을 시킨 로그 오즈
- x₁, x₂, ..., xᵣ은 독립 변수들
- β₀, β₁, β₂, ..., βᵣ은 회귀모델에서 추정되는 가중치(계수)들
여기까지 알고 다음 개념으로 넘어가보자.
시그모이드 함수
로지스틱 회귀분석으로 알고 싶은 것은 로그 오즈 값이 아니라 반응변수 값을 분류하기 위한 성공확률 값이다.
따라서 아래와 같은 형태로 정리하는데 이를 시그모이드 함수라고 한다.
시그모이드 함수 - f(x) = $\frac {1} {1 + exp(-x)}$
로짓변환된 로즈 오즈(L)를 시그모이드 함수에 입력으로 넣어주면, 확률값으로 변환된다.
다음은 로그 오즈값으로 변환된 식이다.
확률값(p) = f(L) = $\frac {1} {1 + exp(-L)}$
보통 시그모이드 함수의 출력이 0.5보다 크면 양성 클래스 0.5보다 작으면 음성클래스로 판단하고, 정확히 0.5일때는 라이브러리마다 다를 수 있지만 사이킷런(scikit learn)에서는 음성 클래스로 판단한다.
이런 과정을 통해 로지스틱 회귀모델은 입력 변수들과 로그 오즈 사이의 선형 관계를 모델링한다.
다시 이를 시그모이드 함수를 사용하여 로그 오즈를 확률값으로 변환한다.
이를 통해 단순 회귀분석으로는 불가능한 입력 변수들과 결과 값 사이의 관계를 확률적으로 해석하여 이진 분류 문제를 해결한다.
선택미션
주차 | 진도 | 선택 미션 |
3주차 | Chapter 04 | Ch.04(04-2) 과대적합/과소적합 손코딩 코랩 화면 캡처하기 |
이번 선택미션은 따로 포스팅을 분리했다.
2023.07.23 - [스터디/혼공학습단 - 머신러닝+딥러닝] - [혼공학습단] 3주차 - 최적의 에포크값, 내 맘대로 찾아보기
References
- https://www.youtube.com/watch?v=paEAF5rRd-s
- 예전에 한번 봤던 영상인데 이번 미션으로 다시 한 번 꺼내봤음, 아주 쉽게 설명한 설명이라 생각합니다.
** 사실과 다른 내용이 있을 수 있습니다. 언제든지 피드백 부탁드립니다!
'스터디 > 혼공학습단 10기 - 자바 & 머신러닝' 카테고리의 다른 글
[혼공학습단] - 혼공자바 3주차(7/17 ~ 7/23) (0) | 2023.07.23 |
---|---|
[혼공학습단] 다른 회귀분석 모델을 써보자 (0) | 2023.07.18 |
[혼공학습단] 객체지향 프로그래밍을 좀 더 쉽게 이해해보자. (0) | 2023.07.16 |
[혼공학습단] - 혼공자바 2주차(7/10 ~ 7/16) (0) | 2023.07.16 |
[혼공학습단] - 혼공머신 2주차(7/10 ~ 7/16) (0) | 2023.07.16 |
댓글