implement_differential
역전파 계산을 할 때, 가중치에 변화량에 대한 오차 함수의 변화량을 구하기 위해 미분이 사용, 오차 함수, 활성화 함수의 차이에 따른 그 식이 바뀌고, 이를 적용하기 위해서는 각 함수의 미분값을 구해야 한다. 우선 가장 대표적인 오차 제곱합, 시그모이드 활성화 함수 예제를 통한 확인 오차 제곱합의 비용 함수 행렬을 통한 일반화 각 벡터 성분에 미분을 수행, 먼저 각 행렬에 대한 미분을 위한 심볼화 Y = sympy.Symbol('Y') T = sympy.Symbol('T') 오차 함수 C의 정의 C = 1/2*(Y-T)**2 오차 함수의 미분 계산 d_C = sympy.diff(C, Y) d_C.subs([(Y,1),(T,2)]) >>> -1.0 Y, T 에 값을 대입하여 예측값과 출력값의 오차 함수에 ..
implement_multiLayerPerceptron
다층 퍼셉트론은 퍼셉트론의 층이 여러 개인 것, 함수 형태로 표현하면, 위와 같은 체인 구조가 많이 쓰인다. 오차 역전파 다층 퍼셉트론에서 최적값을 찾아가는 과정은 오차 역전파 방법을 사용 input = np.array([[1,2,3]]) target = np.array([[0.5,0.1]]) (1) 가중치 초기화 임의의 가중치 지정 ( 이러한 초기 가중치를 설정하는 방법도 존재 ) w1 = np.array([[0.1,0.3,0.5],[0.2,0.4,0.6]]) w2 = np.array([[0.7,0.9],[0.8,0.1]]) b1 = np.array([[0.5],[0.5]]) b2 = np.array([[0.3],[0.3]]) wl는 각 층 l 에 대한 가중치고 w의 각 행 값은 다음 노드의 입력에 대..