Main Content

patternnet

패턴 인식 신경망 생성

설명

예제

net = patternnet(hiddenSizes,trainFcn,performFcn)은 크기가 hiddenSizes인 은닉 계층, trainFcn으로 지정되는 훈련 함수, performFcn으로 지정되는 성능 함수를 갖는 패턴 인식 신경망을 반환합니다.

패턴 인식 신경망은 목표 클래스에 따라 입력값을 분류하도록 훈련시킬 수 있는 피드포워드 신경망입니다. 패턴 인식 신경망의 목표 데이터는 요소 i에만 1이 있고 나머지는 모두 0인 벡터로 구성되어야 합니다. 여기서 i는 목표 데이터가 나타내는 클래스입니다.

예제

모두 축소

이 예제에서는 붓꽃을 분류하는 패턴 인식 신경망을 설계하는 방법을 보여줍니다.

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

[x,t] = iris_dataset;

은닉 계층 크기가 10인 패턴 신경망을 생성합니다.

net = patternnet(10);

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

net = train(net,x,t);

{"String":"Figure Neural Network Training (24-Jul-2022 21:30:50) contains an object of type uigridlayout.","Tex":[],"LaTex":[]}

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

view(net)

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

y = net(x);

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

perf = perform(net,t,y)
perf = 0.0302
classes = vec2ind(y);

입력 인수

모두 축소

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

예: 예를 들어, 첫 번째 은닉 계층의 크기가 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

성능 함수. 디폴트 값은 'crossentropy'입니다.

이 인수는 신경망의 성능을 측정하는 데 사용할 함수를 정의합니다. 성능 함수는 훈련 중에 신경망 성능을 계산하는 데 사용됩니다.

함수 목록을 보려면 MATLAB 명령 창에 help nnperformance를 입력하십시오.

출력 인수

모두 축소

패턴 인식 신경망으로, network 객체로 반환됩니다.

버전 내역

R2010b에 개발됨