network
R2026b(제거될 예정임) 사용자 지정 얕은 신경망 만들기
network 함수는 향후 릴리스에서 제거될 예정입니다. 자세한 내용은 레거시 신경망 코드를 dlnetwork 워크플로로 전환하기 항목을 참조하십시오.
코드 업데이트에 대한 자세한 지침은 버전 내역 항목을 참조하십시오.
설명
network는 새 사용자 지정 신경망을 만듭니다. 이 함수는 feedforwardnet, narxnet와 같은 함수에 의해 사용자 지정되는 신경망을 만드는 데 사용됩니다.
생성
구문
설명
는 입력값, 계층 또는 출력값이 없는 새 신경망을 반환합니다.net = network
net = network(는 추가 신경망 옵션을 지정합니다.numInputs,numLayers,biasConnect,inputConnect,layerConnect,outputConnect)
입력 인수
입력값의 개수로, 양의 정수로 지정됩니다.
계층 개수로, 양의 정수로 지정됩니다.
편향 연결로, numLayers×1 논리형 벡터로 지정됩니다.
입력 연결로, numLayers×numInputs 논리형 행렬로 지정됩니다.
입력 연결로, numLayers×numLayers 논리형 행렬로 지정됩니다.
출력 연결로, 1×numLayers 논리형 벡터로 지정됩니다.
속성
일반
신경망 이름으로, string형으로 지정됩니다. feedforwardnet과 같은 신경망 생성 함수는 이 속성을 적절하게 정의합니다. 그러나 원하는 어떤 문자열로도 설정할 수 있습니다.
사용자 데이터로, 구조체로 지정됩니다.
사용자가 network 객체에 사용자 지정 정보를 추가할 수 있는 장소입니다. 하나의 필드만 미리 정의되어 있습니다. 이 필드는 모든 Deep Learning Toolbox™ 사용자를 대상으로 하는 비밀 메시지를 포함합니다.
net.userdata.note
아키텍처
입력값의 개수로, 음이 아닌 정수로 지정됩니다.
신경망 입력값의 개수와 신경망 입력값의 크기는 같지 않습니다. 입력값의 개수는 신경망이 입력값으로서 몇 개의 벡터 세트를 받는지 정의합니다. 각 입력값의 크기(즉, 각 입력 벡터의 요소 개수)는 입력 크기(net.inputs{i}.size)로 결정됩니다.
대부분의 신경망은 하나의 입력값만 가지며, 입력값의 크기는 문제에 의해 결정됩니다.
이 속성을 변경하면 입력값에서 계층으로의 연결(net.inputConnect)을 정의하는 행렬의 크기와 입력 하위객체(net.inputs)로 구성된 셀형 배열의 크기가 변경됩니다.
계층 개수로, 음이 아닌 정수로 지정됩니다.
이 속성을 변경하면 계층과의 연결을 정의하는 다음과 같은 각 부울 행렬의 크기가 변경됩니다.
net.biasConnect net.inputConnect net.layerConnect net.outputConnect
또한, 계층의 개수에 따라 크기가 결정되는 하위객체 구조체로 구성된 각 셀형 배열의 크기도 변경됩니다.
또한, 계층의 개수에 따라 크기가 결정되는 하위객체 구조체로 구성된 각 셀형 배열의 크기도 변경됩니다.
또한, 신경망의 조정 가능한 파라미터의 각 속성의 크기도 변경됩니다.
net.IW net.LW net.b
편향 연결로, numLayers×1 논리형 벡터로 지정됩니다.
net.biasConnect(i)가 1인 경우, 계층 i는 편향을 갖고 net.biases{i}는 이 편향을 설명하는 구조체입니다.
이 속성을 변경하면 편향(net.biases)으로 구성된 셀형 배열에서 구조체의 존재 또는 부재 여부가 변경되고, 편향 벡터(net.b)로 구성된 셀형 배열에서 벡터의 존재 또는 부재 여부가 변경됩니다.
입력 연결로, numLayers×numInputs 논리형 행렬로 지정됩니다.
net.inputConnect(i,j)가 1인 경우, 계층 i는 입력값 j에서 오는 가중치를 갖고 net.inputWeights{i,j}는 이 가중치를 설명하는 구조체입니다.
이 속성을 변경하면 입력 가중치 하위객체(net.inputWeights)로 구성된 셀형 배열에서 구조체의 존재 또는 부재 여부가 변경되고, 입력 가중치 행렬(net.IW)로 구성된 셀형 배열에서 행렬의 존재 또는 부재 여부가 변경됩니다.
계층 연결로, numLayer×numLayers 논리형 벡터로 지정됩니다.
net.layerConnect(i,j)가 1인 경우, 계층 i는 계층 j에서 오는 가중치를 갖고 net.layerWeights{i,j}는 이 가중치를 설명하는 구조체입니다.
이 속성을 변경하면 계층 가중치 하위객체(net.layerWeights)로 구성된 셀형 배열에서 구조체의 존재 또는 부재 여부가 변경되고, 계층 가중치 행렬(net.LW)로 구성된 셀형 배열에서 행렬의 존재 또는 부재 여부가 변경됩니다.
출력 연결로, 1×numLayers 논리형 벡터로 지정됩니다.
net.outputConnect(i)가 1인 경우, 신경망은 계층 i에서 오는 출력값을 갖고 net.outputs{i}는 이 출력값을 설명하는 구조체입니다.
이 속성을 변경하면 신경망 출력값의 개수(net.numOutputs)와 출력 하위객체(net.outputs)로 구성된 셀형 배열에서 구조체의 존재 또는 부재 여부가 변경됩니다.
읽기 전용 속성입니다.
net.outputConnect에 따른 신경망 출력값의 개수로, 음이 아닌 정수로 지정됩니다.
읽기 전용 속성입니다.
모든 net.layerWeights{i,j}.delays에 따른 최대 계층 지연으로, 음이 아닌 정수로 지정됩니다.
이 속성은 신경망을 시뮬레이션하기 위해 입력해야 하는 지난 계층 출력값의 시간 스텝 개수를 나타냅니다. 이 속성은 항상 신경망 계층 가중치와 연관된 최대 지연값으로 설정됩니다.
numLayerDelays = 0;
for i=1:net.numLayers
for j=1:net.numLayers
if net.layerConnect(i,j)
numLayerDelays = max( ...
[numLayerDelays net.layerWeights{i,j}.delays]);
end
end
end
읽기 전용 속성입니다.
신경망에 있는 가중치 및 편향 값의 개수로, 음이 아닌 정수로 지정됩니다. 이 속성은 다음과 같은 2개의 셀형 배열에 저장된 행렬의 요소 개수의 합입니다.
net.IW new.b
하위객체 구조체
입력값으로, numInputs×1 셀형 배열로 지정됩니다.
net.inputs{i}는 입력값 i를 정의하는 구조체입니다.
신경망에 입력값이 1개만 있는 경우 다음과 같이 셀형 배열 표기법을 사용하지 않고도 net.inputs{1}에 액세스할 수 있습니다.
net.input
입력 객체는 다음과 같은 속성을 갖습니다.
| 속성 | 설명 |
|---|---|
net.inputs{i}.name | 입력값 이름을 정의하는 문자열입니다. |
net.inputs{i}.feedbackInput(읽기 전용) | 이 신경망에 개루프 피드백 출력값이 연결된 경우 이 속성은 해당 출력값의 인덱스를 나타냅니다. 그렇지 않은 경우 이 속성은 빈 행렬이 됩니다. |
net.inputs{i}.processFcns | i번째 신경망 입력값이 사용할 처리 함수 이름으로 구성된 행 셀형 배열입니다. 처리 함수는 신경망이 사용하기 전의 입력값에 적용됩니다. 이 속성이 변경될 때마다 입력값 처리 함수 목록을 보려면 |
net.inputs{i}.processParams | i번째 신경망 입력값이 사용할 처리 함수 파라미터로 구성된 행 셀형 배열입니다. 처리 파라미터는 처리 함수에 의해 신경망이 사용하기 전의 입력값에 적용됩니다. 이 속성이 변경될 때마다 입력값 |
net.inputs{i}.processSettings (읽기 전용) | i번째 신경망 입력값이 사용할 처리 함수 설정으로 구성된 행 셀형 배열입니다. 처리 설정은 |
net.inputs{i}.processedRange(읽기 전용) |
|
net.inputs{i}.processedSize(읽기 전용) |
|
net.inputs{i}.range | i번째 신경망 입력값의 각 요소의 범위입니다. 이 속성은 임의의 Ri×2 행렬로 설정할 수 있습니다. 여기서 Ri는 입력값의 요소 개수( 각 j번째 행은 j번째 입력 요소의 최솟값과 최댓값을 순서대로 정의합니다. net.inputs{i}(j,:)
일부 초기화 함수는 입력값 범위를 사용하여 입력 가중치 행렬의 적절한 초기값을 구합니다. 이 속성의 행 개수가 변경될 때마다 입력값 |
net.inputs{i}.size | i번째 신경망 입력값의 요소 개수입니다. 이 속성은 0 또는 양의 정수로 설정할 수 있습니다. 이 속성이 변경될 때마다 입력값 |
net.inputs{i}.userdata | 사용자가 i번째 신경망 입력값에 사용자 지정 정보를 추가할 수 있는 장소입니다. |
계층으로, numLayers×1 셀형 배열로 지정됩니다.
net.layers{i}는 계층 i를 정의하는 구조체입니다.
계층 객체는 다음과 같은 속성을 갖습니다.
| 속성 | 설명 |
|---|---|
net.layers{i}.name | 계층 이름을 정의하는 문자열입니다. |
net.layers{i}.dimensions | i번째 계층의 뉴런의 물리적 차원입니다. 자기 조직화 맵에서는 다차원 방식으로 계층의 뉴런을 배열하는 능력이 중요합니다. 이 속성은 0 또는 양의 정수 요소로 구성된 임의의 행 벡터로 설정할 수 있습니다. 여기서 모든 요소의 곱은 계층에 있는 뉴런 개수( 계층 차원은 계층의 위상 함수( 이 속성이 변경될 때마다 계층의 크기( |
net.layers{i}.distanceFcn | 뉴런 함수 목록을 보려면 이 속성이 변경될 때마다 계층의 뉴런 간 거리( |
net.layers{i}.distances(읽기 전용) | i번째 계층에 있는 뉴런 간 거리입니다. 이러한 거리는 자기 조직화 맵에서 사용합니다. 이 속성은 항상 계층의 거리 함수( |
net.layers{i}.initFcn | 신경망 초기화 함수( |
net.layers{i}.netInputFcn | 시뮬레이션 및 훈련 과정에서 계층의 가중 입력값과 편향이 주어졌을 때 i번째 계층의 순 입력값을 계산하는 데 사용할 순 입력 함수입니다. 함수 목록을 보려면 |
net.layers{i}.netInputParam | 계층의 순 입력 함수의 파라미터입니다. 각 필드에 대한 설명을 보려면 현재 순 입력 함수에 대해 help(net.layers{i}.netInputFcn)
|
net.layers{i}.positions(읽기 전용) | i번째 계층에 있는 뉴런의 위치입니다. 이러한 위치는 자기 조직화 맵에서 사용합니다. 이 속성은 항상 계층의 위상 함수(
예를 들어, 신경망의 첫 번째 계층의 뉴런이 차원( plotsom(net.layers{1}.positions)
|
net.layers{i}.range(읽기 전용) | i번째 계층의 각 뉴런의 출력 범위입니다. 이 속성은 Si×2 행렬로 설정됩니다. 여기서 Si는 계층의 뉴런 개수( 각 j번째 행은 계층의 전달 함수 |
net.layers{i}.size | i번째 계층에 있는 뉴런의 개수입니다. 이 속성은 0 또는 양의 정수로 설정할 수 있습니다. 이 속성을 변경할 때마다 해당 계층으로 가는 입력 가중치의 크기( 대응되는 가중치 행렬( 이 속성을 변경하면 계층의 출력값과 목표값이 존재하는 경우 계층의 출력값 크기( 마지막으로, 이 속성을 변경하면 계층의 뉴런의 차원( |
net.layers{i}.topologyFcn | 계층의 차원( 함수 목록을 보려면 이 속성이 변경될 때마다 계층의 뉴런의 위치(
plotsom(net.layers{1}.positions)
|
net.layers{i}.transferFcn | 시뮬레이션 및 훈련 과정에서 계층의 순 입력값이 주어졌을 때 i번째 계층의 출력값을 계산하는 데 사용할 전달 함수입니다. 함수 목록을 보려면 |
net.layers{i}.transferParam | 계층의 전달 함수의 파라미터입니다. 각 필드의 의미에 대한 설명을 보려면 현재 전달 함수에 대해 help(net.layers{i}.transferFcn)
|
net.layers{i}.userdata | 이 속성은 사용자가 i번째 신경망 계층에 사용자 지정 정보를 추가할 수 있는 장소를 제공합니다. |
편향으로, numLayers×1 셀형 배열로 지정됩니다.
net.biasConnect(i)가 1인 경우, net.biases{i}는 계층 i의 편향을 정의하는 구조체입니다.
편향 객체는 다음과 같은 속성을 갖습니다.
| 속성 | 설명 |
|---|---|
net.biases{i}.initFcn | 신경망 초기화 함수가 |
net.biases{i}.learn | 훈련 및 적응 중에 i번째 편향 벡터를 변경해야 할지 여부입니다. 이 속성은 0 또는 1로 설정할 수 있습니다. 이 속성은 |
net.biases{i}.learnFcn | 신경망 훈련 함수가 함수 목록을 보려면 이 속성이 변경될 때마다 편향 학습 파라미터( |
net.biases{i}.learnParam | i번째 계층의 편향의 현재 학습 함수에 대한 학습 파라미터와 값입니다. 이 속성의 필드는 현재 학습 함수에 따라 달라집니다. 각 필드의 의미에 대한 설명을 보려면 현재 학습 함수에 대해 |
net.biases{i}.size(읽기 전용) | i번째 계층의 편향 벡터의 크기입니다. 이 속성은 항상 i번째 계층의 크기( |
net.biases{i}.userdata | 이 속성은 사용자가 i번째 계층의 편향에 사용자 지정 정보를 추가할 수 있는 장소를 제공합니다. |
입력 가중치로, numLayers×numLayers 셀형 배열로 지정됩니다.
net.inputConnect(i,j)가 1인 경우, net.inputWeights{i,j}는 입력값 j에서 계층 i로 전달되는 가중치를 정의하는 구조체입니다.
입력 가중치 객체는 다음과 같은 속성을 갖습니다.
| 속성 | 설명 |
|---|---|
net.inputWeights{i,j}.delays | j번째 입력값과 그 입력값에서 i번째 계층으로 가는 가중치 사이의 탭 지연선입니다. 이 속성은 증가하는 값으로 구성된 행 벡터로 설정되어야 합니다. 요소는 0 또는 양의 정수여야 합니다. 이 속성이 변경될 때마다 가중치의 크기( |
net.inputWeights{i,j}.initFcn | 신경망 초기화 함수가 |
net.inputWeights{i,j}.initSettings(읽기 전용) | 신경망이 처음 훈련될 때 또는 신경망에서 함수 |
net.inputWeights{i,j}.learn | 훈련 및 적응 중에 j번째 입력값에서 i번째 계층으로 가는 가중치 행렬을 변경해야 할지 여부입니다. 이 속성은 0 또는 1로 설정할 수 있습니다. |
net.inputWeights{i,j}.learnFcn | 신경망 훈련 함수가 함수 목록을 보려면 |
net.inputWeights{i,j}.learnParam | j번째 입력값에서 오는 i번째 계층의 가중치의 현재 학습 함수에 대한 학습 파라미터와 값입니다. 이 속성의 필드는 현재 학습 함수( 각 필드의 의미에 대한 설명을 보려면 현재 학습 함수에 대해 |
net.inputWeights{i,j}.size(읽기 전용) | j번째 신경망 입력값에서 오는 i번째 계층의 가중치 행렬의 차원입니다. 이 속성은 항상 요소를 2개 가진 행 벡터로 설정됩니다. 이는 연관된 가중치 행렬( length(net.inputWeights{i,j}.delays) * net.inputs{j}.size
|
net.inputWeights{i,j}.userdata | 사용자가 (i,j)번째 입력 가중치에 사용자 지정 정보를 추가할 수 있는 장소입니다. |
net.inputWeights{i,j}.weightFcn | j번째 입력값에 이 입력값에서 오는 i번째 계층의 가중치를 적용할 때 사용할 가중치 함수입니다. 이 속성은 임의의 가중치 함수의 이름으로 설정할 수 있습니다. 가중치 함수는 시뮬레이션과 훈련 중에 계층 입력값을 변환하는 데 사용됩니다. 함수 목록을 보려면 |
net.inputWeights{i,j}.weightParam | 계층의 순 입력 함수의 파라미터입니다. 각 필드에 대한 설명을 보려면 현재 순 입력 함수에 대해 |
계층 가중치로, numLayers×numLayers 셀형 배열로 지정됩니다.
net.layerConnect(i,j)가 1인 경우, net.layerWeights{i,j}는 계층 j에서 계층 i로 전달되는 가중치를 정의하는 구조체입니다.
계층 가중치 객체는 다음과 같은 속성을 갖습니다.
| 속성 | 설명 |
|---|---|
net.layerWeights{i,j}.delays | j번째 계층과 그 계층에서 i번째 계층으로 가는 가중치 사이의 탭 지연선입니다. 이 속성은 증가하는 값으로 구성된 행 벡터로 설정되어야 합니다. 요소는 0 또는 양의 정수여야 합니다. |
net.layerWeights{i,j}.initFcn | 신경망 초기화 함수가 |
net.layerWeights{i,j}.initSettings(읽기 전용) | 신경망이 처음 훈련될 때 또는 신경망에서 함수 |
net.layerWeights{i,j}.learn | 훈련 및 적응 중에 j번째 계층에서 i번째 계층으로 가는 가중치 행렬을 변경해야 할지 여부입니다. 이 속성은 0 또는 1로 설정할 수 있습니다. |
net.layerWeights{i,j}.learnFcn | 신경망 훈련 함수가 함수 목록을 보려면 |
net.layerWeights{i,j}.learnParam | j번째 계층에서 오는 i번째 계층의 가중치의 현재 학습 함수에 대한 학습 파라미터 필드와 값입니다. 이 속성의 필드는 현재 학습 함수에 따라 달라집니다. 각 필드에 대한 설명을 보려면 현재 순 입력 함수에 대해 |
net.layerWeights{i,j}.size(읽기 전용) | j번째 계층에서 오는 i번째 계층의 가중치 행렬의 차원입니다. 이 속성은 항상 요소를 2개 가진 행 벡터로 설정됩니다. 이는 연관된 가중치 행렬( |
net.layerWeights{i,j}.userdata | 사용자가 (i,j)번째 계층 가중치에 사용자 지정 정보를 추가할 수 있는 장소입니다. |
net.layerWeights{i,j}.weightFcn | j번째 계층의 출력값에 이 계층에서 오는 i번째 계층의 가중치를 적용할 때 사용할 가중치 함수입니다. 이 속성은 임의의 가중치 함수의 이름으로 설정할 수 있습니다. 가중치 함수는 신경망이 시뮬레이션될 때 계층 입력값을 변환하는 데 사용됩니다. 함수 목록을 보려면 |
net.layerWeights{i,j}.weightParam | 계층의 순 입력 함수의 파라미터입니다. 각 필드에 대한 설명을 보려면 현재 순 입력 함수에 대해 |
출력값으로, 1×numLayers 셀형 배열로 지정됩니다.
net.outputConnect(i)가 1인 경우, net.outputs{i}는 계층 i에서 전달되는 신경망 출력값을 정의하는 구조체입니다.
신경망에 출력값이 계층 i에 하나만 있는 경우 다음과 같이 셀형 배열 표기법을 사용하지 않고도 net.outputs{i}에 액세스할 수 있습니다.
net.output
출력 객체는 다음과 같은 속성을 갖습니다.
| 속성 | 설명 |
|---|---|
net.outputs{i}.name | 출력값 이름을 정의하는 문자열입니다. |
net.outputs{i}.feedbackInput | 출력값이 개루프 피드백( |
net.outputs{i}.feedbackDelay | 이 출력값과 신경망 입력값 사이의 시간 스텝 차이입니다. 입력-출력 신경망 지연은 |
net.outputs{i}.feedbackMode | 피드백이 아닌 출력값에 대한 문자열 |
net.outputs{i}.processFcns | i번째 신경망 출력값이 사용할 처리 함수 이름으로 구성된 행 셀형 배열입니다. 처리 함수는 신경망이 사용하기 전의 목표값에 적용되고, 역으로 신경망 출력값으로 반환되기 전의 계층 출력값에 적용됩니다. 이 속성을 변경하면 다음과 같은 설정에도 영향을 주게 됩니다. 출력 파라미터 함수 목록을 보려면 |
net.outputs{i}.processParams | i번째 신경망 출력값이 목표값에 대해 사용할 처리 함수 파라미터로 구성된 행 셀형 배열입니다. 처리 파라미터는 처리 함수에 의해 신경망이 사용하기 전의 입력값에 적용됩니다. 이 속성이 변경될 때마다 출력값 |
net.outputs{i}.processSettings(읽기 전용) | i번째 신경망 출력값이 사용할 처리 함수 설정으로 구성된 행 셀형 배열입니다. 처리 설정은 |
net.outputs{i}.processedRange(읽기 전용) |
|
net.outputs{i}.processedSize(읽기 전용) |
|
net.outputs{i}.size(읽기 전용) | i번째 계층의 출력값의 요소 개수입니다. 이 속성은 항상 i번째 계층의 크기( |
net.outputs{i}.userdata | 사용자가 i번째 계층의 출력값에 사용자 지정 정보를 추가할 수 있는 장소입니다. |
함수
신경망 적응 함수로, string형으로 지정됩니다.
신경망 적응 함수의 이름 또는 ''
신경망 적응 함수는 adapt가 호출될 때마다 적응을 수행하는 데 사용됩니다.
[net,Y,E,Pf,Af] = adapt(NET,P,T,Pi,Ai)
함수 목록을 보려면 help nntrain을 입력하십시오.
이 속성이 변경될 때마다 신경망의 적응 파라미터(net.adaptParam)가 새 함수의 파라미터와 디폴트 값을 포함하도록 설정됩니다.
도함수로, string형으로 지정됩니다.
이 속성은 신경망이 역전파와 같은 지도 학습 알고리즘을 사용하여 훈련될 때 오차 기울기와 야코비 행렬을 계산하는 데 사용할 도함수를 정의합니다. 이 속성은 임의의 도함수의 이름으로 설정할 수 있습니다.
함수 목록을 보려면 help nnderivative를 입력하십시오.
데이터 분할 함수로, string형으로 지정됩니다.
이 속성은 신경망이 역전파와 같은 지도 학습 알고리즘을 사용하여 훈련될 때 사용할 데이터 분할 함수를 정의합니다. 이 속성은 분할 함수의 이름으로 설정할 수 있습니다.
함수 목록을 보려면 help nndivision을 입력하십시오.
이 속성이 변경될 때마다 신경망의 적응 파라미터(net.divideParam)가 새 함수의 파라미터와 디폴트 값을 포함하도록 설정됩니다.
신경망 초기화 함수로, string형으로 지정됩니다.
이 속성은 신경망의 가중치 행렬과 편향 벡터를 초기화하는 데 사용할 함수를 정의합니다. 초기화 함수는 init가 호출될 때마다 신경망을 초기화하는 데 사용됩니다.
net = init(net)
이 속성이 변경될 때마다 신경망의 초기화 파라미터(net.initParam)가 새 함수의 파라미터와 디폴트 값을 포함하도록 설정됩니다.
신경망 성능 함수로, string형으로 지정됩니다.
이 속성은 신경망의 성능을 측정하는 데 사용할 함수를 정의합니다. 성능 함수는 훈련 중에 train이 호출될 때마다 신경망 성능을 계산하는 데 사용됩니다.
[net,tr] = train(NET,P,T,Pi,Ai)
함수 목록을 보려면 help nnperformance를 입력하십시오.
이 속성이 변경될 때마다 신경망의 성능 파라미터(net.performParam)가 새 함수의 파라미터와 디폴트 값을 포함하도록 설정됩니다.
플롯 함수로, 셀형 배열로 지정됩니다.
이 속성은 신경망과 연관된 플롯 함수를 정의하는 문자열로 구성된 행 셀형 배열로 이루어져 있습니다. train 함수에 의해 열리는 신경망 훈련 창에는 각 플로팅 함수에 대한 버튼이 표시됩니다. 훈련 중에 또는 훈련 후에 버튼을 클릭하여 원하는 플롯을 엽니다.
신경망 훈련 함수로, string형으로 지정됩니다.
이 속성은 신경망을 훈련시키는 데 사용할 함수를 정의합니다. 이 속성은 임의의 훈련 함수의 이름으로 설정할 수 있습니다. 훈련 함수는 train이 호출될 때마다 신경망을 훈련시키는 데 사용됩니다.
[net,tr] = train(NET,P,T,Pi,Ai)
함수 목록을 보려면 help nntrain을 입력하십시오.
파라미터
신경망 적응 파라미터로, parameter 객체로 지정됩니다.
각 필드의 의미에 대한 설명을 보려면 현재 적응 함수에 대해 help를 호출하십시오.
help(net.adaptFcn)
신경망 데이터 분할 파라미터로, parameter 객체로 지정됩니다.
이 속성은 현재 데이터 분할 함수의 파라미터와 값을 정의합니다. 각 필드의 의미에 대한 설명을 보려면 다음 명령을 입력하십시오.
help(net.divideFcn)
데이터 분할 모드로, string형으로 지정됩니다.
이 속성은 데이터 분할 함수가 호출됐을 때 분할할 목표 데이터의 차원을 정의합니다. 이 함수의 디폴트 값은 정적 신경망의 경우 'sample'이고 동적 신경망의 경우 'time'입니다. 또한 목표 데이터를 샘플과 시간 스텝으로 분할하려면 'sampletime'으로 설정할 수 있고, 목표 데이터를 모든 스칼라 값으로 분할하려면 'all'로 설정할 수 있고, 데이터를 분할하지 않으려면 'none'으로 설정할 수 있습니다(이 경우 모든 데이터가 훈련용으로 사용되고 검증 또는 테스트용으로는 하나도 사용되지 않음).
신경망 초기화 파라미터로, parameter 객체로 지정됩니다.
이 속성은 현재 초기화 함수의 파라미터와 값을 정의합니다. 각 필드의 의미에 대한 설명을 보려면 현재 초기화 함수에 대해 help를 호출하십시오.
help(net.initFcn)
신경망 초기화 파라미터로, parameter 객체로 구성된 셀형 배열로 지정됩니다.
이 속성은 net.plotFcns의 각 플롯 함수의 파라미터와 값을 정의하는, parameter 객체로 구성된 행 셀형 배열로 이루어져 있습니다. 각 필드의 의미에 대한 설명을 보려면 각 플롯 함수에 대해 help를 호출하십시오.
help(net.plotFcns{i})
훈련 함수 파라미터로, parameter 객체로 지정됩니다.
이 속성은 현재 훈련 함수의 파라미터와 값을 정의합니다. 각 필드의 의미에 대한 설명을 보려면 현재 훈련 함수에 대해 help를 호출하십시오.
help(net.trainFcn)
가중치 및 편향 값
입력 가중치 값으로, 입력 가중치 값으로 구성된 numLayers×numInputs 셀형 배열로 지정됩니다.
net.inputConnect(i,j)가 1(또는 0)이면 j번째 입력값(또는 null 행렬 [])에서 i번째 계층으로 가는 가중치에 대한 가중치 행렬은 net.IW{i,j}에 있습니다.
가중치 행렬에는 가중치가 가는 계층의 크기(net.layers{i}.size)와 같은 개수의 행이 있습니다. 가중치 행렬에는 가중치와 연관된 지연의 개수에 입력 크기를 곱한 것과 같은 개수의 열이 있습니다.
net.inputs{j}.size * length(net.inputWeights{i,j}.delays)
전처리 함수 net.inputs{i}.processFcns는 일부 신경망에서 기본적으로 'removeconstantrows'로 지정됩니다. 이 경우 신경망 입력값 X에 모든 행 요소가 동일한 값을 갖는 m개의 행이 포함되어 있으면 가중치 행렬의 열은 위의 곱보다 m개 적습니다. 신경망 입력값 X에 대한 자세한 내용은 train을 참조하십시오.
이러한 차원은 입력 가중치 속성에서 얻을 수 있습니다.
net.inputWeights{i,j}.size
계층 가중치 값으로, 계층 가중치 값으로 구성된 numLayers×numLayers 셀형 배열로 지정됩니다.
net.layerConnect(i,j)가 1(또는 0)이면 j번째 계층(또는 null 행렬 [])에서 i번째 계층으로 가는 가중치에 대한 가중치 행렬은 net.LW{i,j}에 있습니다.
가중치 행렬에는 가중치가 가는 계층의 크기(net.layers{i}.size)와 같은 개수의 행이 있습니다. 가중치 행렬에는 가중치와 연관된 지연의 개수에 가중치가 온 계층의 크기를 곱한 것과 같은 개수의 열이 있습니다.
net.layers{j}.size * length(net.layerWeights{i,j}.delays)
이러한 차원은 계층 가중치 속성에서 얻을 수 있습니다.
net.layerWeights{i,j}.size
편향 값으로, 편향 값으로 구성된 numLayers×1 셀형 배열로 지정됩니다.
net.biasConnect(i)가 1(또는 0)이면 i번째 계층(또는 null 행렬 [])의 편향 벡터는 net.b{i}에 있습니다.
편향 벡터의 요소 개수는 항상 편향 벡터와 연관된 계층의 크기(net.layers{i}.size)와 같습니다.
이 차원은 편향 속성에서 얻을 수 있습니다.
net.biases{i}.size
예제
1개의 입력값과 2개의 계층을 갖는 신경망 만들기
이 예제에서는 입력값과 계층 없는 신경망을 만든 다음 입력값의 개수와 계층의 개수를 각각 1과 2로 설정하는 방법을 보여줍니다.
net = network net.numInputs = 1 net.numLayers = 2
또는 코드 한 줄을 사용하여 이와 동일한 신경망을 만들 수도 있습니다.
net = network(1,2)
버전 내역
R2006a 이전에 개발됨network 함수는 향후 릴리스에서 제거될 예정입니다.
테이블 형식 데이터를 사용하여 신경망을 훈련시키려면 다음 함수 중 하나를 사용하십시오.
시계열 데이터를 사용하여 신경망을 훈련시키려면 다음 옵션 중 하나를 사용하십시오.
이러한 워크플로에 맞게 고유한 신경망을 설계하고 사용자 지정하려면 딥러닝 계층으로 구성된 배열이나 dlnetwork 객체를 사용하여 신경망을 만들면 됩니다. 신경망을 대화형 방식으로 생성 및 편집하고 코드를 생성하려면 심층 신경망 디자이너 앱을 사용하십시오. 신경망 구축 워크플로에 대해 자세히 알아보려면 다음 예제와 항목을 참조하십시오.
자세한 내용은 레거시 신경망 코드를 dlnetwork 워크플로로 전환하기 항목을 참조하십시오.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)

