더북(TheBook)

하지만 뭔가 놓쳤다. 그림 2-12의 로지스틱함수에서 확률은 0 근처에서만 변하지만, 그림 2-11의 챌린저호 데이터에서 확률은 화씨 65~70도 근처에서 변한다. 로지스틱함수에 편향(bias)을 추가해야 한다.

80m-1

그림 2-13은 여러 α 값을 가진 로지스틱함수를 보여준다.

 


def logistic(x, beta, alpha=0):
    return 1.0 / (1.0 + np.exp(np.dot(beta, x) + alpha))
 
x = np.linspace(-4, 4, 100)
 
plt.plot(x, logistic(x, 1), label=r"$\beta = 1$", ls="--", lw=1)
plt.plot(x, logistic(x, 3), label=r"$\beta = 3$", ls="--", lw=1)
plt.plot(x, logistic(x, -5), label=r"$\beta = -5$", ls="--", lw=1)
 
plt.plot(x, logistic(x, 1, 1), label=r"$\beta = 1, \alpha = 1$", color="#348ABD")
plt.plot(x, logistic(x, 3, -2), label=r"$\beta = 3, \alpha = -2$", color="#A60628")
plt.plot(x, logistic(x, -5, 7), label=r"$\beta = -5, \alpha = 7$", color="#7A68A6")
 
plt.title("여러 $\\alpha$와 $\\beta$ 값의 로지스틱함수", fontsize=14)
plt.xlabel("$x$")
plt.ylabel("$x$에서의 로지스틱함수")
plt.legend(loc="lower left");

 

080

▲ 그림 2-13 여러 α와 β 값의 로지스틱함수

 

상수항 α를 추가하여 곡선을 왼쪽 또는 오른쪽으로 이동시킨다(그래서 편향이라고 한다).

PyMC에서 이를 모델링하자. β, α 모수들은 양수이거나, 구간이 있거나, 상대적으로 클 필요는 없으므로 다음에 소개할 정규확률변수로 모델링하기 좋다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.