A Step by Step Backpropagation Example

참조 : https://mattmazur.com/2015/03/17/a-step-by-step-backpropagation-example/


1. Backpropagation의 배경

Backpropagation은 뉴럴 네트워크를 학습시키기 위한 가장 일반적인 방법이다.

이 글에서는 이것이 어떻게 작동되어지는지 Backpropagation이 정확히 이해해보자.

2. Backpropagation Python Code
Python Script를 다운로드 받고 어떻게 구현하였는지에대해 설명이 적혀있다.

3. Backpropagation 시각화
Backpropagation이 어떠한 원리로 작동하는지에 대해 시각화를 제공한다. Neral Network visualization
각 논리 게이트의 종류에 따른 학습의 진행을 확인 가능하다.

4. 추가 정보
이 예제에서 유용한점을 찾게된다면 계속해서 뉴럴 네트워크 학습을 너희들의 어플리케이션에 사용가능하고, Adrian Rosebrock의 Deep Learning 과 python을 추천한다는데.. 어려워보이내

5.미리 보기
이번 튜토리얼에서는 2개 입력값, 2개 hidden layor, 2개 출력값.
추가적으로 hidden layor와 output은 bias 추가하여 계산한다. 

Here’s the basic structure:

neural_network (7)

6. 


Posted by MIDDLE
,

CS231n : Neural Networks Part 2: Setting up the Data and the Loss (한국어 번역)

http://ishuca.tistory.com/382


fundamental of Machine Learning

https://www.youtube.com/watch?v=j3za7nv7RfI 



gaussian process regression 찾아보기


머신러닝은 두가지종류

parametic (1차함수일거야 2차함수일거야 예측)

nonparametic(모형 예측 없이)

parametic하다보면 너무 복잡해짐을 줄이기 위해 regularization 한다.

팁은 데이터를 한번에 학습 시키는것이 아니라 일부를 떼서 먼저 학습시키고지속적으로 valid체크후 계속 학습


Nonparametic 에서는 SVM(Support Vector Machine)2차함수에서는 도저히 이데이터가 왜 이형태인지알수없지만 몇가지 Feature가 추가될때그함수가 이해가 될수 있다. 와 GPR(Gaussian process regression)에 대해 배웠다.


그리고 최종적으로는 demension reduction에 대해 배웠다.


PCA(principal component analysis)

여러 디멘션의 값들을 가장 빈도가높은 쪽으로 모아서 나타내 1차원형태로라도 보여준다는데 모르겠다.



칸아카데미의 선형대수 강의

https://www.khanacademy.org/math/linear-algebra/vectors_and_spaces

Posted by MIDDLE
,

Coursera Stanford University Professor Andrew Ng's Course

시작으로는 Linear Algebra에대 배우게 되는데


크게 3단계로 Hypothesis Function, Cost Function, Gradient Descent에 대해 배우게 된다.


Hypothesis Function

h세타(x) = 세타0 | 세타1*x 의 형태로


x(input) y(output)

0        4

1        7

2        7

3        8

형태를 가지고 있을 경우

세타0는 2, 세타1은 2 그러므로 hypothesis function은 h0(x) = 2 +2x 가 되어진다.


Cost Function

우리는 hypothesis function의 정확성을 알기 위해 x와 y의 hypothesis function을 통한 결과들의 평균을 구하는 방법


예측값 에서 y를 뺀값을 2곱의 평균을 구한다. 앞의 1/2은 미분을 하였을시 편하게 풀어내기 위해서 적은 1/2이고 결과값에는 크게 영향을 미치지 못한다.


이것으로 우리는 정확한 예측한 function이 정확한 결과를 가져오는지 가져오지 못하는지에 대해 알 수 있게 되었다.



Gradient Descent

그래서 우리는 이제 hypothesis function 의 정확도를 측량 가능하다. 그래서 이것을 이요하여 자동적으로 hypothesis function의 정확도를 늘려주는 방법을 gradient descent라 한다.


위의 식을 j=0 이 되거나 1에 도달할때 까지 반복하면 된다.



Posted by MIDDLE
,