Main Content

newrb

방사형 기저 신경망 설계

설명

예제

net = newrb(P,T,goal,spread,MN,DF)는 다음 인수 중 2개를 받습니다.

  • PQ 입력 벡터로 구성된 R×Q 행렬

  • TQ 목표 클래스 벡터로 구성된 S×Q 행렬

  • goal — 평균제곱오차 목표

  • spread — 방사형 기저 함수의 산포

  • MN — 최대 뉴런 개수

  • DF — 다음 표시까지 추가할 뉴런의 개수

방사형 기저 신경망은 함수를 근사하는 데 사용할 수 있습니다. newrb는 방사형 기저 신경망이 지정된 평균제곱오차 목표에 도달할 때까지 이 신경망의 은닉 계층에 뉴런을 추가합니다.

spread가 클수록 함수 근삿값이 매끄러워집니다. 산포가 너무 크면 빠르게 변하는 함수를 피팅하는 데 다량의 뉴런이 필요하다는 의미입니다. 산포가 너무 작으면 평활화 함수를 피팅하는 데 다량의 뉴런이 필요하게 되며, 신경망이 제대로 일반화되지 않을 수 있습니다. 여러 개의 산포 값으로 newrb를 호출하여 주어진 문제에 가장 적합한 값을 찾으십시오.

예제

모두 축소

이 예제에서는 방사형 기저 신경망을 설계하는 방법을 보여줍니다.

입력값 P와 목표값 T로 방사형 기저 신경망을 설계합니다.

P = [1 2 3];
T = [2.0 4.1 5.9];
net = newrb(P,T);

새 입력값에 대해 신경망을 시뮬레이션합니다.

P = 1.5;
Y = sim(net,P)

입력 인수

모두 축소

입력 벡터로, R×Q 행렬로 지정됩니다.

목표 클래스 벡터로, S×Q 행렬로 지정됩니다.

평균제곱오차 목표로, 스칼라로 지정됩니다.

방사형 기저 함수의 산포로, 스칼라로 지정됩니다.

뉴런의 최대 개수로, 스칼라로 지정됩니다.

다음 표시까지 추가할 뉴런의 개수로, 스칼라로 지정됩니다.

출력 인수

모두 축소

새 방사형 기저 신경망으로, network 객체로 반환됩니다.

알고리즘

newrb는 2계층 신경망을 만듭니다. 첫 번째 계층은 radbas 뉴런을 가지며, dist를 사용하여 가중 입력값을, netprod를 사용하여 순 입력값을 계산합니다. 두 번째 계층은 purelin 뉴런을 가지며, dotprod를 사용하여 가중 입력값을, netsum을 사용하여 순 입력값을 계산합니다. 두 계층 모두 편향을 갖습니다.

초기에는 radbas 계층에 뉴런이 없습니다. 신경망의 평균제곱오차가 goal 아래로 떨어질 때까지 다음 단계가 반복됩니다.

  1. 신경망을 시뮬레이션합니다.

  2. 오차가 가장 큰 입력 벡터를 찾습니다.

  3. 이 벡터와 가중치가 같은 radbas 뉴런을 추가합니다.

  4. 오차가 최소화되도록 purelin 계층 가중치를 다시 설계합니다.

버전 내역

R2006a 이전에 개발됨

참고 항목

| | |