이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
network
사용자 지정 얕은 신경망 만들기
구문
net = network
net = network(numInputs,numLayers,biasConnect,inputConnect,layerConnect,outputConnect)
설명
network
는 새 사용자 지정 신경망을 만듭니다. 이 함수는 feedforwardnet
, narxnet
와 같은 함수에 의해 사용자 지정되는 신경망을 만드는 데 사용됩니다.
net = network
와 같이 인수 없이 사용하면 입력값, 계층, 출력값이 없는 새 신경망이 반환됩니다.
net = network(numInputs,numLayers,biasConnect,inputConnect,layerConnect,outputConnect)
는 다음 선택적 인수를 받습니다(디폴트 값과 함께 표시됨).
numInputs | 입력값의 개수, 0 |
numLayers | 계층의 개수, 0 |
biasConnect |
|
inputConnect |
|
layerConnect |
|
outputConnect | 1× |
그런 후 다음을 반환합니다.
net | 속성값이 주어진 새 신경망 |
속성
아키텍처 속성
net.numInputs | 0 또는 양의 정수 | 입력값의 개수입니다. |
net.numLayers | 0 또는 양의 정수 | 계층의 개수입니다. |
net.biasConnect |
|
|
net.inputConnect |
|
|
net.layerConnect |
|
|
net.outputConnect | 1× |
|
net.numOutputs | 0 또는 양의 정수(읽기 전용) |
|
net.numInputDelays | 0 또는 양의 정수(읽기 전용) | 모든 |
net.numLayerDelays | 0 또는 양수(읽기 전용) | 모든 |
하위객체 구조체 속성
net.inputs |
|
|
net.layers |
|
|
net.biases |
|
|
net.inputWeights |
|
|
net.layerWeights |
|
|
net.outputs | 1× |
|
함수 속성
net.adaptFcn | 신경망 적응 함수의 이름 또는 |
net.initFcn | 신경망 초기화 함수의 이름 또는 |
net.performFcn | 신경망 성능 함수의 이름 또는 |
net.trainFcn | 신경망 훈련 함수의 이름 또는 |
파라미터 속성
net.adaptParam | 신경망 적응 파라미터 |
net.initParam | 신경망 초기화 파라미터 |
net.performParam | 신경망 성능 파라미터 |
net.trainParam | 신경망 훈련 파라미터 |
가중치 및 편향 값 속성
net.IW | 입력 가중치 값으로 구성된 |
net.LW | 계층 가중치 값으로 구성된 |
net.b | 편향 값으로 구성된 |
기타 속성
net.userdata | 유용한 값을 저장하는 데 사용할 수 있는 구조체 |
예제
1개의 입력값과 2개의 계층을 갖는 신경망 만들기
이 예제에서는 입력값과 계층 없는 신경망을 만든 다음 입력값의 개수와 계층의 개수를 각각 1과 2로 설정하는 방법을 보여줍니다.
net = network net.numInputs = 1 net.numLayers = 2
또는 코드 한 줄을 사용하여 이와 동일한 신경망을 만들 수도 있습니다.
net = network(1,2)
피드포워드 신경망을 만들고 속성 보기
이 예제에서는 입력값이 1개이고 계층이 2개인 피드포워드 신경망을 만드는 방법을 보여줍니다. 첫 번째 계층만 편향을 갖습니다. 첫 번째 입력값에서 첫 번째 계층으로 입력 가중치가 연결됩니다. 첫 번째 계층에서 두 번째 계층으로 계층 가중치가 연결됩니다. 두 번째 계층은 신경망 출력값으로, 목표값을 갖습니다.
net = network(1,2,[1;0],[1; 0],[0 0; 1 0],[0 1])
다음 코드를 사용하여 신경망의 하위객체를 볼 수 있습니다.
net.inputs{1} net.layers{1}, net.layers{2} net.biases{1} net.inputWeights{1,1}, net.layerWeights{2,1} net.outputs{2}
신경망 내 아무 하위객체 속성이나 변경할 수 있습니다. 이 코드는 두 계층 모두의 전달 함수를 변경합니다.
net.layers{1}.transferFcn = 'tansig'; net.layers{2}.transferFcn = 'logsig';
첫 번째 입력에서 첫 번째 계층으로의 연결에 대한 가중치를 다음과 같이 볼 수 있습니다. 입력값에서 계층으로의 연결에 대한 가중치는 net.IW
에 저장되어 있습니다. 값이 아직 설정되지 않은 경우 빈 결과 값이 반환됩니다.
net.IW{1,1}
첫 번째 계층에서 두 번째 계층으로의 연결에 대한 가중치는 다음과 같이 볼 수 있습니다. 계층에서 계층으로의 연결에 대한 가중치는 net.LW
에 저장되어 있습니다. 마찬가지로, 값이 아직 설정되지 않은 경우 빈 결과 값이 반환됩니다.
net.LW{2,1}
첫 번째 계층에 대한 편향은 다음과 같이 볼 수 있습니다.
net.b{1}
첫 번째 입력값의 요소 개수를 2로 변경하려면 다음과 같이 각 요소의 범위를 설정하십시오.
net.inputs{1}.range = [0 1; -1 1];
요소를 2개 가진 입력 벡터에 대해 신경망을 시뮬레이션하려면 다음과 같은 코드를 사용할 수 있습니다.
p = [0.5; -0.1]; y = sim(net,p)
버전 내역
R2006a 이전에 개발됨