종양 크기로부터 암 발병 확률을 추정하는 $h_\theta(x)$ 를 Gradient Descent를 사용하여 찾아봅니다.
- 필요한 package들을 import합니다.
- 종양 data를 얻어오는 함수를 정의합니다.
- 종양 크기로 암 발병 확률을 추정하는
$h_\theta(x)=\frac{1}{1+e^{-(\theta_0+\theta_1x)}}$ 함수를 정의합니다.
- cost를 계산하는 함수를 정의합니다.
$J(\theta_0,\theta_1)=-\frac{1}{m}\sum^m_{i=1}[y^{(i)}ln(h_\theta(x^{(i)}))+(1-y^{(i)})ln(1-h_\theta(x^{(i)}))]$
- x_data, y_data로 그래프를 그리고,
$h_\theta(x)=\frac{1}{1+e^{-(\theta_0+\theta_1x)}}$ 그래프를 그리는 함수를 정의합니다.- 그래프에 cost의 contour map도 표시합니다.
- 그래프에 cost정보도 표시합니다.
$\theta_0$ 와$\theta_1$ 를 Cost가 약간 작아지는 방향으로 변경해서 return하는 함수를 정의합니다.$temp0 := \theta_0-\alpha\frac{\partial }{\partial \theta_0}J(\theta_0,\theta_1)$
$temp1 := \theta_1-\alpha\frac{\partial }{\partial \theta_1}J(\theta_0,\theta_1)$
$\theta_0 := temp0$
$\theta_1 := temp1$ $\frac{\partial }{\partial \theta_0}J(\theta_0,\theta_1)=\lim_{h \to 0}\frac{J(\theta_0+h,\theta_1)-J(\theta_0,\theta_1)}{h}$
$\frac{\partial }{\partial \theta_1}J(\theta_0,\theta_1)=\lim_{h \to 0}\frac{J(\theta_0,\theta_1+h)-J(\theta_0,\theta_1)}{h}$
- Gradient Descent를 사용하여 cost가 가장 작아지는
$\theta_0$ 와$\theta_1$ 을 찾습니다.- theta0, theta1, learning_rate를 다양하게 설정해 보며 Gradient Descent가 어떻게 작동하는지 살펴봅니다.
- 종양 크기, 암 발병 확률, 추정된 암 발병 확률 print합니다.
토론이 없습니다