[기계 학습 알고리즘] 논리 회귀를 바탕으로 하는 모델 구축

논리 회귀는 무엇입니까?


기계 학습에서 각양각색의 알고리즘을 사용했는데 이번에 소개한 논리 회귀도 기계 학습 알고리즘 중의 하나이다.
논리 회귀는 회귀라고 하지만 2치 분류에 사용되는 학습 알고리즘이다.
선형 모델(예를 들어 포프트론)에서 출력은 0 또는 1류로 확정되지만 논리 회귀는 출력을 확률로 출력한다.
그리고 그 확률의 값에 따라 2값을 분류한다.
인상으로 내일 날씨를 고려할 때 강수확률 80%면 비가 올 것 같다.만약 강수 확률이 20%라면 아마 맑은 날씨일 것이다.
논리 회귀에서 이것과 같은 일을 하고 있다.

손해율 및 논리 함수


공식적으로 논리 회귀를 이해하기 위해 먼저 옥스포드비와 논리 함수라는 개념에 대해 설명한다.

오즈비


오즈비는 예측하고 싶은 이벤트 발생 확률을 p로 설정할 때 $\frac {p} {(1-p)}$로 표시합니다.
분모의(1-p)는 예측하고 싶은 현상이 일어나지 않는 확률을 가리키기 때문에 위에서 제시한 배상률은 예측하고 싶은 현상의 발생성을 나타낸다.

논리 함수


오즈비에 대해 설명했지만 이 오즈비에 대해 자연 대수를 취하는 것을 논리 함수라고 한다.
$${\rm logit}(p) =\log{\frac{p}{(1-p)}}$$
논리 함수는 0보다 크고 1보다 작은 입력 값을 받아들여 전체 실수 범위의 값으로 변환합니다.

논리 명령 함수


여기서 위의 설명에 따라 논리 회귀에 사용되는 활성화 함수에 대해 설명한다.

시그모드 함수의 성질


위에서 소개한 논리 함수의 역함수를 고려해 보세요.
논리 함수를 z로 설정합니다.
$$z =\log{\frac{p}{(1-p)}}
\\\mathrm{e}^{z} =\frac{p}{(1-p)}
\\p =\frac{\mathrm{e}^{z}}{\mathrm{e}^{z} + 1}
\\p =\frac{1}{1 + \mathrm{e}^{-z}}$$
위에서 내보낸 함수를 논리적 명령 함수 또는 명령 함수라고 부른다.
현재 시그모드 함수를 $\phi(z) =\frac {1} {1+\mathrm {e}^ {-z} $로 설정하고 도표를 아래와 같이 그립니다.

위의 도표를 통해 알 수 있듯이 시그모드 함수는 실수 z를 입력으로 받아들여 0에서 1의 범위 내에서 출력한다.
즉, 확률로 출력되는 논리 회귀 알고리즘에서 시그모드 함수를 활성화 함수로 사용하는 것이 가장 적합하다는 것이다.

신호 함수로 2치 분류


이제 시그모드 함수의 입력 z가 어떻게 표시되는지 봅시다.
z는 다음 공식으로 표시합니다.
$$z=b+\sum^n_{i=1}w_ix_i$$
여기 w는 권중이고 b는 편차항입니다.
즉, z는 권중과 특징량의 선형 조합에 편차를 더한 값이다.
이를 입력 입력으로 신호 함수에 넣으면 0에서 1의 값(확률)으로 출력됩니다.
논리 회귀는 2치 분류의 알고리즘이기 때문에 0.5를 경계로 0과 1류로 나뉜다.
$$\hat{y} =\begin{cases}
1 & (\phi(z)\geq0.5)\\
0 & (\phi(z)<0.5)
\end{cases}$$

위의 도표를 보면 알 수 있으니 아래와 같이 고쳐 쓸 수 있다.
$$\hat{y} =\begin{cases}
1 & (z\geq0)\\
0 & (z<0)
\end{cases}$$

논리 함수의 권중을 배우다


앞에서 설명한 바와 같이 권중과 특징량의 선형 조합을 총 입력으로 시그모드 함수에 넣으면 0~1의 값을 확률로 얻을 수 있다고 했지만 0~1의 값을 출력했다고 해서 예측하고 싶은 사건의 확률을 출력할 수는 없다.
여기서 우리는 유사한 개념을 도입할 것이다.
유사한 최대화를 고려함으로써 예측하고 싶은 사건의 확률을 더욱 정확하게 출력할 수 있다.
L은 다음과 같이 쓸 수 있다.
$$L(w)=\prod_{i=1}^n P(y^{(i)}|x^{(i)};w)=\prod_{i=1}^n (\phi(z^{(i)}))^{y^{(i)}}(1-\phi(z^{(i)}))^{1-y^{(i)}}$$
적의 형식에서 화의 형식으로 바뀌면 최대화하기 쉽다.
$$l(w)=\log{L(w)}=\sum_{i=1}^n [y^{(i)}\log(\phi(z^{(i)}))+(1-y^{(i)})\log(1-\phi(z^{(i)}))]$$
이것은 대수 유사 함수라고 한다.
이 유사함수를 최대화함으로써 가장 좋은 권중을 찾다.

참고 문헌


Python 머신러닝 프로그래밍 - 달인 데이터 과학자의 이론과 실현을 바탕으로

기계 학습의 문장을 이해하는 것을 추천하다


고양이도 기계학습을 이해할 수 있다는 것을 설명해 보았다.

좋은 웹페이지 즐겨찾기