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

3종류의 와인 178개를 Alcohol,Malic.acid,Ash,Acl,Mg,Phenols,Flavanoids,Nonflavanoid.phenols,Proanth,Color.int,Hue,OD,Proline 3종류의 와인 178개을 위의 13가지의 정보에 따라 분류할 수 있도록 한다. csv 파일에는 wine의 종류와 13가지의 정보가 적혀있다. 각 입력 데이터에 가중치와 편향을 통한 계산으로 와인을 판별할 수 있도록 한다. import numpy as np from matplotlib import pyplot as plt import pandas as pd # 현재 스크립트의 디렉토리 가져오기 import os script_dir = os.path.dirname(__file__) file_path =..

순전파 알고리즘을 활용하여 추론을 수행하는 신경망을 구현한다. 신경망은 입력층 뉴런을 784개, 출력층 뉴런을 10개로 구성한다. 입력층 뉴런은 이미지의 크기에 따라 정해졌고 0 ~ 9까지의 숫자를 구분하기 위해 출력층 뉴런을 10으로 지정했다. 은닉층은 두 개이며 첫 번째 은닉층에는 50개의 뉴런을 두고 두 번째 은닉층에는 100개의 뉴런을 둔다. 50과 100은 임의의 수이다. import sys import os import pickle import numpy as np sys.path.append(os.pardir) from dataset.mnist import load_mnist from common.functions import sigmoid, softmax def get_data(): (x_..

순전파 순전파는 입력층으로 들어오는 정보가 마지막 층까지 계산되는 것이다. 출력층 뉴런들의 출력을 사용하여 예측한다. 뉴런의 출력을 계산하는 과정 먼저 전 층 모든 뉴런의 출력과 가중치를 곱한 뒤, 편향과 함께 모두 더한 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..