Main Content

feedforwardnet

피드포워드 신경망 생성

설명

예제

net = feedforwardnet(hiddenSizes,trainFcn)trainFcn으로 지정되는 훈련 함수를 가지며 은닉 계층 크기가 hiddenSizes인 피드포워드 신경망을 반환합니다.

피드포워드 신경망은 일련의 계층으로 이루어져 있습니다. 첫 번째 계층은 신경망의 입력값에서 시작하는 연결을 갖습니다. 뒤에 오는 각 계층은 직전 계층에서 시작하는 연결을 갖습니다. 마지막 계층은 신경망의 출력값을 생성합니다.

피드포워드 신경망은 어떠한 입력-출력 매핑에 대해서도 사용할 수 있습니다. 은닉 계층이 1개이고 은닉 계층에 충분한 뉴런이 주어진 피드포워드 신경망은 어떠한 유한한 입력-출력 매핑 문제도 피팅할 수 있습니다.

특화된 피드포워드 신경망에는 피팅 신경망과 패턴 인식 신경망이 있습니다. 자세한 내용은 fitnet 함수와 patternnet 함수를 참조하십시오.

캐스케이드 포워드 신경망은 피드포워드 신경망의 변형으로, 입력값에서 매 계층까지, 그리고 각 계층에서 이후에 오는 모든 계층까지의 추가적 연결을 가집니다. 케스케이드 포워드 신경망에 대한 자세한 내용은 cascadeforwardnet 함수를 참조하십시오.

예제

모두 축소

이 예제에서는 피드포워드 신경망을 사용하여 간단한 문제를 푸는 방법을 보여줍니다.

훈련 데이터를 불러옵니다.

[x,t] = simplefit_dataset;

1×94 행렬 x는 입력값을 포함하고, 1×94 행렬 t는 그에 대한 목표 출력값을 포함합니다.

은닉 계층 크기가 10인 피드포워드 신경망을 생성합니다.

net = feedforwardnet(10);

훈련 데이터를 사용하여 신경망 net을 훈련시킵니다.

net = train(net,x,t);

Figure Neural Network Training (25-Jan-2024 15:39:52) contains an object of type uigridlayout.

훈련된 신경망을 표시합니다.

view(net)

훈련된 신경망을 사용하여 목표값을 추정합니다.

y = net(x);

훈련된 신경망의 성능을 평가합니다. 디폴트 성능 함수는 평균제곱오차입니다.

perf = perform(net,y,t)
perf = 1.4639e-04

입력 인수

모두 축소

신경망의 은닉 계층의 크기로, 행 벡터로 지정됩니다. 벡터의 길이는 신경망의 은닉 계층의 개수를 결정합니다.

예: 예를 들어, 첫 번째 은닉 계층의 크기가 10이고 두 번째 은닉 계층의 크기가 8이고 세 번째 은닉 계층의 크기가 5인, 은닉 계층을 3개 갖는 신경망을 [10,8,5]와 같이 지정할 수 있습니다.

입력 크기와 출력 크기는 0으로 설정됩니다. 입력 크기와 출력 크기는 훈련 데이터에 따라 소프트웨어에 의해 훈련 중에 조정됩니다.

데이터형: single | double

훈련 함수 이름으로, 다음 중 하나로 지정됩니다.

훈련 함수알고리즘
'trainlm'

Levenberg-Marquardt

'trainbr'

베이즈 정규화

'trainbfg'

BFGS 준뉴턴

'trainrp'

탄력적 역전파

'trainscg'

스케일링된 켤레 기울기

'traincgb'

Powell/Beale 재시작 알고리즘을 사용한 켤레 기울기

'traincgf'

Fletcher-Powell 켤레 기울기

'traincgp'

Polak-Ribiére 켤레 기울기

'trainoss'

1스텝 할선법

'traingdx'

가변 학습률 경사하강법

'traingdm'

모멘텀을 사용한 경사하강법

'traingd'

경사하강법

예: 예를 들어, 'traingdx'와 같이 훈련 알고리즘으로 가변 학습률 경사하강법 알고리즘을 지정할 수 있습니다.

훈련 함수에 대한 자세한 내용은 얕은 다층 신경망 훈련시키고 적용하기다층 신경망 훈련 함수 선택하기 항목을 참조하십시오.

데이터형: char

출력 인수

모두 축소

피드포워드 신경망으로, network 객체로 반환됩니다.

버전 내역

R2010b에 개발됨