일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- verilogHDL
- numpy
- LED켜기
- 인공신경망
- FPGA
- 자료구조
- bjt
- 데이터분석
- atmega
- DataFrame
- C언어
- 가설 함수
- 하인슈타인
- 히스토그램매칭
- SPI
- Verilog
- keil uvision5
- quatus
- Matlab
- 곱셈기
- 파이썬
- 데이터 분석
- Atmega128A
- pandas
- Python
- loc()
- FND
- 행렬
- array
- 딥러닝
- Today
- Total
목록Python (23)
Keep-H's Hardware Design Study Notes

주어진 입력 변수에 대한 목표 변수를 잘 예측할 수 있는 가중치와 편향을 찾는 방법을 배웠다. 현재 가중치와 편향을 가지고 입력 변수에 대해 예측 가능한가예측이 얼마나 효과가 있는지 판단해야 한다. 이러한 역할을 하는 가설 함수와 손실 함수를 정리한다. 가설 함수 가설 함수는 가중치와 편향에 따라 마지막 층 뉴런들의 출력을 계산하는 함수이다. 앞서 순전파를 이용하여 값을 출력했던 방식으로 가장 활성화가 잘 된, 즉 1에 가장 가까운 값을 가지는 뉴런이 나타내는 숫자로 예측한다. 2023.08.19 - [Python/딥러닝] - 순전파 순전파 순전파 순전파는 입력층으로 들어오는 정보가 마지막 층까지 계산되는 것이다. 출력층 뉴런들의 출력을 사용하여 예측한다. 뉴런의 출력을 계산하는 과정 먼저 전 층 모든 ..

순전파 순전파는 입력층으로 들어오는 정보가 마지막 층까지 계산되는 것이다. 출력층 뉴런들의 출력을 사용하여 예측한다. 뉴런의 출력을 계산하는 과정 먼저 전 층 모든 뉴런의 출력과 가중치를 곱한 뒤, 편향과 함께 모두 더한 z값을 계산한다. 계산한 z값을 시그모이드 활성 함수에 넣어서 계산한다. 전 층의 뉴런을 바탕으로 다음 뉴런에 계산된 값을 넘겨주게 되면 매우 많은 계산식들이 생긴다. 따라서 행렬과 벡터로 묶은 계산을 통해 간략화한다. 시그모이드 함수 def sigmoid(x): return 1/(1 + np.exp(-x)) 순전파 구현 z값과 a값을 저장하기 위해 또 다른 딕셔너리를 사용했다. cache라는 변수를 사용했다. 순전파를 feed_forward 함수로 구현했다. 함수의 피라미터로 입력 변..
가중치와 편향을 임의의 값으로 초기화 한 후 앞으로 값을 개선해나가려고 한다. 신경망 가중치와 편향은 층별로 묶여 행렬과 벡터로 표현된다. 코드로 구현할 때는 2차원 numpy배열을 사용하며, 편향은 1차원 numpy배열을 사용하여 나타낸다. 사용할 신경망이 몇 개의 층으로 구성되어 있는지 알 수 없기 때문에 신경망의 각 요소를 따로 저장할 수 없다. 따라서 모든 층의 가중치와 편향을 하나의 파이썬 딕셔너리에 저장한다. 변수 이름을 key로, value를 가중치와 편향으로 저장한다. 예를들어 parameters라는 딕셔너리를 생성한 뒤, parameters['W1']에는 첫 번째 가중치를 입력하고 parameters['b3']에는 세 번째 층 편향을 저장한다. def initialize_parameter..

MNIST 데이터를 학습시키는 과정을 배웠다. 이때 로지스틱 회귀를 통해 값을 분류해서 찾아낸다. 주어진 학습 데이터에 대해서 가장 잘 맞는 시그모이드 곡선을 찾아가는 알고리즘으로 항상 0 ~ 1의 값을 리턴한다. 입력 변수를 x라고 했을 때 주어진 데이터에 대해 theta값을 바꿔가며 정답에 가깝게 찾아낸다. 입력 데이터를 받아 종합적으로 처리한 뒤 시그모이드 함수를 통해 처리한 내용을 0 ~ 1 사이의 값으로 받아온다. 1에 가까울수록 정답에 가까워진다. MNIST에서 입력 변수는 약 784 + 1개로 더 복잡하지만 w(가중치)와 b(편향)에 따라 다음과 같이 함수를 정의할 수 있다. 예를 들어 9를 나타내는 이미지의 픽셀 데이터를 넣어주었을 때 9에 해당하는 뉴런의 출력이 1에 가까워지도록 w와..