티스토리 뷰
1. 참고 싸이트 |
글을 작성하기 전 참고 했던 소스코드다.
2. Multilayer Perceptron
MLP를 공부하기 전 다들 단일 Perceptron을 공부하였을 것이라 생각한다. 코드를 한번 보면 쉽게 알 수 있듯이 하나의 결과를 얻기 위해 Perceptron을 중복으로 수행한것이다. 즉 Input이 x이고 output을 y일때 단일 Perceptron은 f(x) = y, Multilater Perceptron은 f(g(x)) = y라고 표현할 수 있다. 다만 g(x)의 결과값이 활성함수로 인해 f(x)의 계산에 사용될지 사용되지 않을 지 정해진다. 그리고 Hidden Layer가 증가할수록 f(g(h(k(x)))=y와 같이 적용되는 함수가 늘어난다고 생각하면 된다.
위 그림은 Hidden Layer가 1개인 MLP라고 볼 수 있다. Y를 구하기 위한 수식이 단순 Matrix 계산일 때 Hidden Layer의 Node인 Y1([1:3])은 X([1:5])와 W1([5:3])의 계산([1:5] * [5:3] = [1:3])으로 구해진다. 이후 Y1의 값들은 활성함수를 통해 1 또는 0으로 변경되는데 W2값과 계산([1:3] * [3:1] = [1]) 시 0인 Node들은 계산에 적용되지 않는다.
3. Source Code(1-Hidden Layer) |
아래 소스 코드는 Tensorflow 기초프로그래밍(청구문화사)의 예제이다.
1. x_square.txt
2. mlp.py
4. Source Code(Multi-Hidden Layer) |
아래 코드는 Layer의 개수를 동적으로 설정할 수 있도록 변형한 소스코드이다. 아래 코드를 여러 data에 적용해본 결과 Layer만 늘어난다고 성능이 좋아지지 않는 것을 알 수 있었다. 문제는 Cost에 따른 Weight 수정에 있다고 갱각하며 해결책으로는 역전파 알고리즘을 생각하고 있다.
1. mlp_multi.py
'SoftWare > 머신러닝' 카테고리의 다른 글
수식과 코드로 보는 경사하강법(SGD,Momentum,NAG,Adagrad,RMSprop,Adam,AdaDelta) (3) | 2018.05.29 |
---|---|
학습 속도 조절 - Decaying the learning rate 사용법 (0) | 2018.02.26 |
Logistic Regression(Classification) (0) | 2018.02.12 |
Regression 종류 및 특징 (0) | 2018.02.09 |
연예인 얼굴 인식 서비스 데이터 수집 (2) | 2017.03.16 |
- Total
- Today
- Yesterday
- 유전
- 알고리즘
- Res
- android
- 5582
- vim 설치
- java url
- 포켓몬 고
- 포켓몬 Go
- Service
- 자바 입출력
- 유전 알고리즘
- vim
- 아두이노
- php
- 파일 입출력
- 파일입출력
- java
- Java Decompiler
- 인텐트
- 서버
- LISTVIEW
- java 파일 입출력
- counter
- 카운터
- 테라펀딩 #투게더펀딩 #P2P투자 #부동산 소액 투자 #카카오 #토스
- 안드로이드
- Notification
- c언어
- jad
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |