[딥러닝에 필요한 라이브러리]
tensorflow :
pandas
numpy
[퍼셉트론]
[문제, 답 데이터 정의]
Xdata =
[tensorflow 에서 random seed 설정]
실행할 때 마다 동일한 결과가 나오게 하기 위해서
모델을 생성할 때마다 다른 파라미터를 얻게 되는 것입니다.
신경망 생성 : Sequential()
파라미터 : w, b
파라미터 수 : 입력개수 * 출력개수 + 출력개수
그래서 우리가 좀더 많은 퍼셉트론을 쓴겁니다.
퍼셉트론은 입력이 두개들어오는 퍼셉트론 인데
입력 A, B units=퍼셉트론 입력 개수

오차가 0이되면 학습모델은 굉장히 잘 맞추지만 조금이라도 다른 모델이 들어오면 과적합이 된다.
[def fitFunc2]
오차가 나오게 되면 미분을 해준다.

그래서 y값을 구하는데 y가 두개이죠.

퍼셉트론 옆에가 항상 활성화 함수가 붙어 있다.


[은닉층]
입력층 : 입력을 받아들이는 층
- 입력데이터의 크기를 설정
출력층 : 결과를 출력하는 층

은닉층 : 특성을 추출하는 층

문제를 많이 풀면 패턴을 알게 되서 문제를 쉽게 풀 수 있다.

신경망 : 노드들을 연결해 만든 네트워크 (노드들을 어떻게 연결하느냐에 따라 다양한 형태의 신경망을 만들 수 있음)
* 가장 많이 쓰이는 형태 : 노드들을 계층적으로 배치해 만든 형태의 신경망
입력층 : 들어온 신호를 그대로 다음 노드에 전달하는 창구 역할 (가중합, 활성함수 계산을 하지 않음)
- 시스템 외부로부터 입력자료를 받아들여 시스템으로 이들을 전송
출력층 : 노드을의 출력이 신경망의 최종 결과값이 된다.
- 입력 값과 현재 시스템 상태에 기준하여 시스템 출력 값을 산출
은닉층 : 입력층과 출력층 사이에 있는 계층들. 신경망의 외부에서는 이 계층의 노드들에 직접 접근할 수 없다.
- 시스템 안쪽에 자리잡고 있으며 입력 값을 넘겨받아 그것들을 처리한 뒤 결과 산출
단층 신경망 : 입력층 - 출력층 으로만 구성된 신경망
다층 신경망 : 단층 신경망에 은닉층이 추가된 신경망
심층 신경망 : 다층 신경망중에서 은닉층이 2개 이상인 신경망


특성데이터는 여러개 있다.
x 는 여러개 있다는 의미에서 X 대문자 쓰는 거고
y 는 하나니까 y 소문자로 쓰는 것이다.
집합개념으로!
왜 특성 데이터와 라벨 데이터로 분리할까요??
- x0, x1, x2 : 입력되는 뉴런의 축삭돌기로부터 전달되는 신호의 양
- w0, w1, w2 : 시냅스의 강도, 즉 입력되는 뉴런의 영향력을 나타냅니다.
- w0x0 + w1x1 + w2*x2 : 입력되는 신호의 양과 해당 신호의 시냅스 강도가 곱해진 값의 합계
- f : 최종 합계가 다른 뉴런에게 전달되는 신호의 양을 결정짓는 규칙, 이를 활성화 함수라고 부릅니다.
다중분류할 때 쓰는 활성함수는 softmax 이다.
활성화 함수 : 신경망의 output 을 결정하는 식이다. 각 뉴런은 가중치를 가지고 있으며 이것은 input number와 곱해져 다음 레이어로 전달하게 된다. 이때 활성화 함수는 현재 뉴런의 input을 feeding 하여 생성된 output이 다음 레이어로 전해지는 과정 중 역할을 수행하는 수학적인 게이트라고 할 수 있다.
