Main Content

lvqnet

학습 벡터 양자화 신경망

구문

lvqnet(hiddenSize,lvqLR,lvqLF)

설명

LVQ(학습 벡터 양자화) 신경망은 2개의 계층으로 이루어져 있습니다. 첫 번째 계층은 입력 벡터를 훈련 중에 신경망이 찾은 클러스터로 매핑합니다. 두 번째 계층은 첫 번째 계층의 클러스터 그룹을 목표 데이터로 정의되는 클래스로 병합합니다.

첫 번째 계층 클러스터의 총 개수는 은닉 뉴런의 개수에 따라 결정됩니다. 은닉 계층이 클수록 첫 번째 계층이 학습할 수 있는 클러스터의 개수가 늘어나고 입력값에서 목표 클래스로 더 복잡한 매핑이 이루어질 수 있습니다. 각 목표 클래스에 할당된 첫 번째 계층 클러스터의 상대적 개수는 신경망 초기화 시점에 목표 클래스의 분포에 따라 결정됩니다. 이는 train이 처음으로 호출될 때 신경망이 자동으로 구성되거나 함수 configure를 사용하여 신경망이 수동으로 구성되거나 함수 init을 사용하여 신경망이 수동으로 초기화될 때 이루어집니다.

lvqnet(hiddenSize,lvqLR,lvqLF)는 다음과 같은 인수를 받습니다.

hiddenSize

은닉 계층의 크기(디폴트 값 = 10)

lvqLR

LVQ 학습률(디폴트 값 = 0.01)

lvqLF

LVQ 학습 함수(디폴트 값 = 'learnlv1')

그런 다음 LVQ 신경망을 반환합니다.

lvq 학습 함수의 다른 옵션은 learnlv2입니다.

예제

모두 축소

이 예제에서는 붓꽃을 분류하도록 LVQ 신경망을 훈련시키는 방법을 보여줍니다.

[x,t] = iris_dataset;
net = lvqnet(10);
net.trainParam.epochs = 50;
net = train(net,x,t);

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

view(net)

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

버전 내역

R2010b에 개발됨