신경망 초기화 하기
입력계층의 노드, 은닉 계층의 노드, 출력 계층의 노드의 수를 정해야 한다.
이를 통해 신경망의 형태와 크기를 정의하게 되는 것이다.
신경망 내에 직접 정의하기보다는 신경망의 객체가 생성될 때 매개변수를 이용해 정의한다.
그래야 다른 크기를 가지는 새로운 신경망도 때에 따라 손쉽게 생성할 수 있기 때문이다.
초기화에서 또 한가지 잊지 말아야 할 것은 학습률이다.
학습률은 새로운 신경망을 만들 때 매우 중요한 매개변수이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | # 신경망 클래스의 정의 class neuralNetwork: # 신경망 초기화 def __init__(self, inputnodes, hiddennodes, outputnodes, learningrate): # 입력, 은닉, 출력 계층의 노드 개수 설정 self.inodes = inputnodes self.hnodes = hiddennodes self.onodes = outputnodes # 학습률 self.lr = learningrate # 신경망 학습 def train(): pass # 신경망에 질의 def query(): pass | cs |
신경망 객체 생성
1 2 3 4 5 6 7 8 9 10 | # 입력, 은닉, 출력 노드의 수 input_nodes = 3 hidden_nodes = 3 output_nodes = 3 # 학습률 0.3 learning_rate = 0.3 # 인스턴스 생성 n = neuralNetwork(input_nodes, hidden_nodes, output_nodes, learning_rate) | cs |
'
다음 순서는 신경망 객체에 입력, 은닉, 출력 계층의 노드 수를 알려줬으나 어떠한 답을 얻지 못하였으니
어떠한 답을 얻는게 다음 포스트에서 할 일
'기타 > 기타 잡다한 것들' 카테고리의 다른 글
[신경망] 파이썬으로 인공 신경망 만들기 4 (0) | 2018.09.28 |
---|---|
[신경망] 파이썬으로 인공 신경망 만들기 3 (0) | 2018.09.28 |
[신경망] 파이썬으로 인공 신경망 만들기 1 (0) | 2018.09.27 |
[파이썬기초] 클래스와 객체 (0) | 2018.09.27 |
[파이썬기초] 배열 시각화 (Jupyter Notebook) (0) | 2018.09.27 |