기계 학습 파이썬 - 로지스틱 회귀 분석

로지스틱 회귀 분석 - 우리는 인식이 데이터 분할을위한 완전히 선형 알고리즘 아닌 다른 매우 효과적인 두 가지 수준의 모델을 소개합니다이 하나의 힘이 알고있다. 분류 작업에서는 널리 사용된다

로지스틱 회귀는 우리가 먼저 몇 가지 개념을 소개하기 전에 구현에 분류 모델입니다 :

확률 (위험도) \
[\ FRAC {} {(.-P 1) p} \]
P는 물론, 양의 샘플 실시의 확률을 나타내며, 우리는 양 케이스 어떤 정의하는, 우리는 이러한 질병을 예측해야 발생 확률이, 우리가 양 예로서 기록 샘플 병 것 아니라 병이 샘플은 음의 예로서 기록. 로지스틱 회귀 분석의 원리를 설명하기 위해, 우리는 먼저 몇 가지 개념을 소개합니다.

우리는 대수 확률 함수 (로짓 기능)를 정의
\ [로짓 (p)를 = \ FRAC {} {P (1-P를.)} \ 기록]
, p는 0-1 범위의 확률 함수의 인수의 수 실수의 전체 범위로 변환하여 기능, 우리는 확률의 수 사이의 선형 관계에 대한 특징 값을 정의하는 데 사용
\ [로짓. (P (Y = 1 | X)) = w_0x_0 w_1x_1 + ... + w_mx_m + = \ sum_i ^ = nw_ix_i
송신 \]가 ^ w 여기서, P (Y = 1 | x는 ) 1 종에 속하는 샘플의 조건부 확률이다. 우리의 관심사는 샘플 바로 역함수의 확률 함수, 로그 카테고리에 포함되는 확률이며,이 역함수 때때로 시그 모이 드 함수로서 약칭 논리 함수 (로지스틱 방정식) 인 호출
\ [\ 피 (z) = \ FRAC {1} {1
+ E ^ {- Z}} \] z는 w 가중치 벡터와 입력 벡터 (X)는 선형 조합이다 :
\ [Z = w ^ Tx는 = W 0 + w_1x_1 + ... + w_mx_m \]
지금 우리는 함수 이미지를 그릴 :

import matplotlib.pyplot as plt
import numpy as np
def sigmoid(z):
    return 1.0 / (1.0 + np.exp(-z))
z = np.arange(-7, 7, 0.1)
phi_z = sigmoid(z)
plt.plot(z, phi_z)
plt.axvline(0.0, color='k')
plt.axhspan(0.0, 1.0, facecolor='1.0', alpha=1.0, ls='dotted')
plt.yticks([0.0, 0.5, 1.0])
plt.ylim(-0.1, 1.1)
plt.xlabel('z')
plt.ylabel('$\phi (z)$')
plt.show()

Z는 근접 무한대로 될 때 볼 수 있고, Z는 마이너스 무한대 0으로 함수 값에 가까운 부근에도 1 함수 값 부근. 그래서 우리는 시그 모이 드 함수를 입력 0-1의 출력 범위의 실수로 변환됩니다 것을 알고있다.

우리는 우리가 Adaline가 Adaline에 연결 배운 전에 로직 기능, 우리는 입력 값의 함수가 같은 함수 값 및 로직 기능이다 활성화 한 것, 활성화 기능은 시그 모이 드 함수입니다.

출력 시그 모이 드 함수가 클래스 1 샘플에 속하는 확률로 해석 식으로 :
\ [\ 모자 Y가 = \ 케이스 선두 {1} \ 쿼드 \ 피 (Z) \ GE 0.5 \\\\ 0 \ 쿼드 그렇지 \ 단부 {케이스}
\] 함수 값이 0.5보다 클 때 그 시료 1 카테고리 0이 카테고리 달리 예측 그렇다고, 샘플의 확률이 0.5보다 큰 카테고리 (1)에 속한다는 것을 나타낸다. 우리는, 상기 시그 모이 드 함수 그래프를 조사 또한 화학식 동등하다 :
\ [\ 모자 Y가 = \ 케이스 선두 {} 1 \ 쿼드 Z \ GE 0.0 \\\\ 0 \ 쿼드 그렇지 \ 케이스 끝 {} \. ]
인기있는 장소 물류 회귀는이 일이 발생 여부를 예측하기보다는, 뭔가의 발생 확률을 예측할 수 있다는 것입니다.

우리는 확률의 범주를 예측하는 방법 로지스틱 회귀 다루었, 우리는 로지스틱 회귀 분석을 보면 어떻게 w 가중치 매개 변수를 업데이트하는 .

Adaline 우리 손실 함수 :
\ [J (W) = \ sum_i \ frac12 (\ 피 (Z ^ {(I)}) - Y ^ {(I)}) ^ 2 \]
우리는이 최소화 기능의 손실은 w 가중치를 업데이트합니다. 우리가 할 로지스틱 회귀 모델의 구조에서, 회귀 손실 함수를 구하는 방법을 설명하기 위해 우도 L 최대화 \ (데이터 세트의 모든 샘플들을 가정하면, 서로 독립적이다)
| X [L (W) = P (Y을 = \ 자극 ^ N_) w w) = \ 자극 ^ N_ {I = 1} (\ 피 (Z ^ {, X ^ {(I)} | {I = 1} P (Y ^ {(I)} (I)})) ^ {
Y는 ^ {(ⅰ)}} (1- \ 피가 (Z는 ^ {(ⅰ)})) ^ {1-Y ^ {(I)}} \] 우리는 일반적으로 최대화 우리가 호출 로그 L 형태, 로그 우도 함수 : \
. [L (W) = L 로그 (W) = \ sum_ 1} ^ {N-I는 = \ 왼쪽 [^ {Y (I)} 로그 (\ 피 (Z ^ {(I)}
) + (1-γ ^ {(I)}) 로그 (1- \ 피 (Z ^ {(I)})) \ 오른쪽] \] 이 두 가지 장점을 갖는다 번 가능성이 작은 경우,보다 쉽게 기능을 얻을 수 있고, 언더 대수 수의 가능성이, 제 승산을 추가 대수 변환 후의 도함수를 취한다 줄일 수있다. 우리가 기울기 하강 방법을 사용하여 우리는 손실 함수 J의 최소화로 위 함수는 로그 우도 함수 우도 로그 최대화 :
\ [J (W) = \ sum_ 1} ^는 {N-I는 = \ 왼쪽 [{^ -Y한다. (I)} 로그 (\ 피 (Z ^ {(I)})) - (1-Y ^ {(I)}) 로그 (1- \ 피 (Z ^ {(I)})) \ 오른쪽] \ ]
식의보다 명확한 이해를 위해, 우리는이 샘플 손실 함수 계산한다고 가정 :
\ [J (\ 피 (Z
), Y, w) = - ylog (\ 피 (z)) - (1-y)는 로그 (1- \ 피가 (Z))는 \] 알 수 Y = 0 인 때 y는 1, 방정식의 0 번째 부분 = 때, 식의 제 1 부분은 즉, 0 :
\ [J (\ 피 (Z), Y, W)가 = \ {케이스}는 시작 -log (\ 피 (z)) \ 쿼드 경우 \ \\\\ Y = 1 - 로그 (1- \ 피 (z)) \ 쿼드 경우 \ Y = 0 \ {단부 경우} \]

우리가 예측 카테고리가 손실을 0에 가까울, 실제 클래스의 더 큰 확률 샘플 인 경우 카테고리 샘플이 속하는 예측하고, 예측 카테고리의 실제 확률은 시간의 범주 인 경우, 더 많은 손실이 무한대에 접근 할 때와는 볼 수 있습니다.

먼저 우리는이 성분의 편미분을 찾을 컴 예로서, 여기서 가중 벡터의 성분으로 갱신된다 :
\ [\ FRAC {\ 부분} {\ 부분 w_j} L (w) = \ 좌측 (Y \ FRAC { {1} \ 피 (z)
} - (1-Y) \ FRAC {1} {1- \ 피 (z)} \ 오른쪽) \ {FRAC \ 부분 {} \ 부분 w_j} \ 피 (z) \] 전에 계속 먼저 시그 모이 드 함수의 편미분을 계산 :
\ [\ FRAC {\ 부분} {\ 부분 Z} \ 피 (Z) = \ FRAC {\ 부분} {\ 부분 Z} \ FRAC를 {1.} {1 + E ^ {- Z }} = \ FRAC {1} {(1 + E ^ {- Z}) ^ 2} E ^ {- (Z)} = \ FRAC {1} {1 + E ^ {- Z }} (1- \ FRAC {1
} {1 + E ^ {- Z}}) = \\ \ 피 (z) (1- \ 피가 (z)) \] 이제 계속 :
\ [\ 좌측 (Y \ FRAC {1} {\ 피 (z)} - (1-Y) \ FRAC {1} {1- \ 피 (z)} \ 오른쪽) \ {FRAC \ 부분 {} \ 부분 w_j} \ 피 (Z \\) = \ 좌측 (Y \ FRAC {1} {\ 피 (z)} - (1-Y) \ FRAC {1} {1- \ 피 (z)} \ 오른쪽) \ 피 (z)가 (1 - \ 피 (z)) \ FRAC {\ 부분 {} \ 부분 w_j} Z = \\ \ 좌측 (Y (1- \ 피 (z)) - (1-Y) \ 피 (z) \ 오른쪽) x_j \\ = (Y- \ 피 (Z
)) x_j \] 우리 업데이트 규칙은 :
\ [w_j = w_j + \ ETA \ {. N_의 I SUM ^ 1} = \ 좌측 ({^ Y (I)} - \ 피 (Z ^ {(I )}) \ 오른쪽) x_j ^ {(I)} \]
우리가 룰을 업데이트 할 수 있도록 동시에 w 가중치 벡터의 모든 요소를 업데이트 할 때문에 (여기서, w 인 벡터) : \
[= w + \ \\\ 델타 델타 \ (w) 블라 L \ \ ETA w = w w]
버젼 함수 J의 최대화 로그 우도 함수는 다음 그래디언트 디센트 업데이트 규칙은 그것의 손실을 최소화하는 것과 동일 :
\ [\ w_j 델타 = - \ ETA \ FRAC {\ 부분 {J} \} 부분 w_j = \ ETA \ 합 ^ N_ {I = 1} \ 좌측 (Y ^ {(I)} - \ 피 (Z ^ {(I)}) \ 오른쪽) X ^ {(I)} _ J \\ w = + \ 델타 w w, \ 델타 = w - \ ETA \ 블라 J (w) \]

추천

출처www.cnblogs.com/Dzha/p/11880614.html