파이썬 분류기 그래프를 그리려고 합니다.
조회수 933회
아래 코드에 어떤 코드를 추가하면 밑에 있는 그래프와 같은 그래프가 나올수 있을까요? 참고로 분류기 학습입니다.
# simple_classification_machine_book.py
import numpy as np
def p(uu):
return 1/(1+np.exp(-uu))
def Dp(uu):
return (np.exp(-uu)/(1+np.exp(-uu)))**2
def E(yy,tt):
return np.sum(0.5*(yy-tt)**2)/5
x=np.array([[-2],[-1],[0],[1],[2]]);
t=np.array([[0],[0],[1],[1],[1]])
w=np.random.random();w0=np.random.random()
Tol=1.0e-5;Resid=2*Tol;eta=0.1;MaxIter=1.0e6;n=1
u=w0+w*x;y=p(u);E1=E(y,t)
print('y(0)=(%f,%f,%f,%f,%f)'%tuple(y))
print('E(y,t)=%f'%(E1))
while Resid>=Tol and n<MaxIter:
for i in range(0,len(x)):
u[i]=w0+w*x[i]
y[i]=p(u[i])
dEdw0=(y[i]-t[i])*Dp(u[i])
dEdw=(y[i]-t[i])*Dp(u[i])*x[i]
w0=w0-eta*dEdw0
w=w-eta*dEdw
u=w0+w*x; y=p(u)
E2=E(y,t)
Resid=abs(E2-E1)
E1=E2; n=n+1
if np.mod(n,100)==0:
print('y(%d)='%(n),'(%f,%f,%f,%f,%f)'%tuple(y))
print('E(y,t)=%f'%(E1))
print('y(%d)='%(n),'(%f,%f,%f,%f,%f)'%tuple(y))
print('E(y,t)=%f'%(E1))
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력