주요 콘텐츠

feedforwardnet

(제거될 예정임) 피드포워드 신경망 생성

feedforwardnet 함수는 향후 릴리스에서 제거될 예정입니다. 자세한 내용은 Transition Legacy Neural Network Code to dlnetwork Workflows 항목을 참조하십시오.

코드 업데이트에 대한 자세한 지침은 버전 내역 항목을 참조하십시오.

설명

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

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

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

특화된 피드포워드 신경망에는 피팅 신경망과 패턴 인식 신경망이 있습니다.

캐스케이드 포워드 신경망은 피드포워드 신경망의 변형으로, 입력값에서 매 계층까지, 그리고 각 계층에서 이후에 오는 모든 계층까지의 추가적 연결을 가집니다.

예제

예제

모두 축소

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

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

[x,t] = simplefit_dataset;

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

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

net = feedforwardnet(10);

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

net = train(net,x,t);

Figure Neural Network Training (24-Jan-2026 18:27:25) 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에 개발됨

모두 축소